@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
@@ -23,7 +23,7 @@ import { Subscription, defer, fromEvent, merge, of, Subject } from 'rxjs';
23
23
 
24
24
  /**
25
25
  * @fileoverview added by tsickle
26
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
26
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
27
27
  */
28
28
  /**
29
29
  * Autocomplete IDs need to be unique across components, so this counter exists outside of
@@ -48,7 +48,7 @@ MatAutocompleteSelectedEvent = /** @class */ (function () {
48
48
  /**
49
49
  * \@docs-private
50
50
  */
51
- var
51
+ var
52
52
  // Boilerplate for applying mixins to MatAutocomplete.
53
53
  /**
54
54
  * \@docs-private
@@ -154,10 +154,15 @@ var MatAutocomplete = /** @class */ (function (_super) {
154
154
  */
155
155
  function (value) {
156
156
  if (value && value.length) {
157
- this._classList = value.split(' ').reduce(function (classList, className) {
157
+ this._classList = value.split(' ').reduce((/**
158
+ * @param {?} classList
159
+ * @param {?} className
160
+ * @return {?}
161
+ */
162
+ function (classList, className) {
158
163
  classList[className.trim()] = true;
159
164
  return classList;
160
- }, (/** @type {?} */ ({})));
165
+ }), (/** @type {?} */ ({})));
161
166
  }
162
167
  else {
163
168
  this._classList = {};
@@ -282,8 +287,8 @@ var MatAutocomplete = /** @class */ (function (_super) {
282
287
  { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }
283
288
  ]; };
284
289
  MatAutocomplete.propDecorators = {
285
- template: [{ type: ViewChild, args: [TemplateRef,] }],
286
- panel: [{ type: ViewChild, args: ['panel',] }],
290
+ template: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],
291
+ panel: [{ type: ViewChild, args: ['panel', { static: false },] }],
287
292
  options: [{ type: ContentChildren, args: [MatOption, { descendants: true },] }],
288
293
  optionGroups: [{ type: ContentChildren, args: [MatOptgroup,] }],
289
294
  displayWith: [{ type: Input }],
@@ -299,7 +304,7 @@ var MatAutocomplete = /** @class */ (function (_super) {
299
304
 
300
305
  /**
301
306
  * @fileoverview added by tsickle
302
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
307
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
303
308
  */
304
309
  /**
305
310
  * Directive applied to an element to make it usable
@@ -324,7 +329,7 @@ var MatAutocompleteOrigin = /** @class */ (function () {
324
329
 
325
330
  /**
326
331
  * @fileoverview added by tsickle
327
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
332
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
328
333
  */
329
334
  /**
330
335
  * The height of each autocomplete option.
@@ -347,7 +352,10 @@ var MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scro
347
352
  * @return {?}
348
353
  */
349
354
  function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {
350
- return function () { return overlay.scrollStrategies.reposition(); };
355
+ return (/**
356
+ * @return {?}
357
+ */
358
+ function () { return overlay.scrollStrategies.reposition(); });
351
359
  }
352
360
  /**
353
361
  * \@docs-private
@@ -365,7 +373,10 @@ var MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {
365
373
  */
366
374
  var MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {
367
375
  provide: NG_VALUE_ACCESSOR,
368
- useExisting: forwardRef(function () { return MatAutocompleteTrigger; }),
376
+ useExisting: forwardRef((/**
377
+ * @return {?}
378
+ */
379
+ function () { return MatAutocompleteTrigger; })),
369
380
  multi: true
370
381
  };
371
382
  /**
@@ -414,21 +425,38 @@ var MatAutocompleteTrigger = /** @class */ (function () {
414
425
  * Event handler for when the window is blurred. Needs to be an
415
426
  * arrow function in order to preserve the context.
416
427
  */
417
- this._windowBlurHandler = function () {
428
+ this._windowBlurHandler = (/**
429
+ * @return {?}
430
+ */
431
+ function () {
418
432
  // If the user blurred the window while the autocomplete is focused, it means that it'll be
419
433
  // refocused when they come back. In this case we want to skip the first focus event, if the
420
434
  // pane was closed, in order to avoid reopening it unintentionally.
421
435
  _this._canOpenOnNextFocus =
422
- document.activeElement !== _this._element.nativeElement || _this.panelOpen;
423
- };
436
+ _this._document.activeElement !== _this._element.nativeElement || _this.panelOpen;
437
+ });
424
438
  /**
425
439
  * `View -> model callback called when value changes`
426
440
  */
427
- this._onChange = function () { };
441
+ this._onChange = (/**
442
+ * @return {?}
443
+ */
444
+ function () { });
428
445
  /**
429
446
  * `View -> model callback called when autocomplete has been touched`
430
447
  */
431
- this._onTouched = function () { };
448
+ this._onTouched = (/**
449
+ * @return {?}
450
+ */
451
+ function () { });
452
+ /**
453
+ * Position of the autocomplete panel relative to the trigger element. A position of `auto`
454
+ * will render the panel underneath the trigger if there is enough space for it to fit in
455
+ * the viewport, otherwise the panel will be shown above it. If the position is set to
456
+ * `above` or `below`, the panel will always be shown above or below the trigger. no matter
457
+ * whether it fits completely in the viewport.
458
+ */
459
+ this.position = 'auto';
432
460
  /**
433
461
  * `autocomplete` attribute to be set on the input element.
434
462
  * \@docs-private
@@ -438,20 +466,33 @@ var MatAutocompleteTrigger = /** @class */ (function () {
438
466
  /**
439
467
  * Stream of autocomplete option selections.
440
468
  */
441
- this.optionSelections = (/** @type {?} */ (defer(function () {
469
+ this.optionSelections = (/** @type {?} */ (defer((/**
470
+ * @return {?}
471
+ */
472
+ function () {
442
473
  if (_this.autocomplete && _this.autocomplete.options) {
443
- return merge.apply(void 0, _this.autocomplete.options.map(function (option) { return option.onSelectionChange; }));
474
+ return merge.apply(void 0, _this.autocomplete.options.map((/**
475
+ * @param {?} option
476
+ * @return {?}
477
+ */
478
+ function (option) { return option.onSelectionChange; })));
444
479
  }
445
480
  // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.
446
481
  // Return a stream that we'll replace with the real one once everything is in place.
447
482
  return _this._zone.onStable
448
483
  .asObservable()
449
- .pipe(take(1), switchMap(function () { return _this.optionSelections; }));
450
- })));
484
+ .pipe(take(1), switchMap((/**
485
+ * @return {?}
486
+ */
487
+ function () { return _this.optionSelections; })));
488
+ }))));
451
489
  if (typeof window !== 'undefined') {
452
- _zone.runOutsideAngular(function () {
490
+ _zone.runOutsideAngular((/**
491
+ * @return {?}
492
+ */
493
+ function () {
453
494
  window.addEventListener('blur', _this._windowBlurHandler);
454
- });
495
+ }));
455
496
  }
456
497
  this._scrollStrategy = scrollStrategy;
457
498
  }
@@ -476,6 +517,22 @@ var MatAutocompleteTrigger = /** @class */ (function () {
476
517
  enumerable: true,
477
518
  configurable: true
478
519
  });
520
+ /**
521
+ * @param {?} changes
522
+ * @return {?}
523
+ */
524
+ MatAutocompleteTrigger.prototype.ngOnChanges = /**
525
+ * @param {?} changes
526
+ * @return {?}
527
+ */
528
+ function (changes) {
529
+ if (changes['position'] && this._positionStrategy) {
530
+ this._setStrategyPositions(this._positionStrategy);
531
+ if (this.panelOpen) {
532
+ (/** @type {?} */ (this._overlayRef)).updatePosition();
533
+ }
534
+ }
535
+ };
479
536
  /**
480
537
  * @return {?}
481
538
  */
@@ -580,11 +637,21 @@ var MatAutocompleteTrigger = /** @class */ (function () {
580
637
  */
581
638
  function () {
582
639
  var _this = this;
583
- return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(function () { return _this._overlayAttached; })), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
584
- this._overlayRef.detachments().pipe(filter(function () { return _this._overlayAttached; })) :
640
+ return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter((/**
641
+ * @return {?}
642
+ */
643
+ function () { return _this._overlayAttached; }))), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
644
+ this._overlayRef.detachments().pipe(filter((/**
645
+ * @return {?}
646
+ */
647
+ function () { return _this._overlayAttached; }))) :
585
648
  of()).pipe(
586
649
  // Normalize the output so we return a consistent type.
587
- map(function (event) { return event instanceof MatOptionSelectionChange ? event : null; }));
650
+ map((/**
651
+ * @param {?} event
652
+ * @return {?}
653
+ */
654
+ function (event) { return event instanceof MatOptionSelectionChange ? event : null; })));
588
655
  },
589
656
  enumerable: true,
590
657
  configurable: true
@@ -617,11 +684,12 @@ var MatAutocompleteTrigger = /** @class */ (function () {
617
684
  */
618
685
  function () {
619
686
  var _this = this;
620
- if (!this._document) {
621
- return of(null);
622
- }
623
687
  return merge((/** @type {?} */ (fromEvent(this._document, 'click'))), (/** @type {?} */ (fromEvent(this._document, 'touchend'))))
624
- .pipe(filter(function (event) {
688
+ .pipe(filter((/**
689
+ * @param {?} event
690
+ * @return {?}
691
+ */
692
+ function (event) {
625
693
  /** @type {?} */
626
694
  var clickTarget = (/** @type {?} */ (event.target));
627
695
  /** @type {?} */
@@ -631,7 +699,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
631
699
  clickTarget !== _this._element.nativeElement &&
632
700
  (!formField || !formField.contains(clickTarget)) &&
633
701
  (!!_this._overlayRef && !_this._overlayRef.overlayElement.contains(clickTarget));
634
- }));
702
+ })));
635
703
  };
636
704
  // Implemented as part of ControlValueAccessor.
637
705
  // Implemented as part of ControlValueAccessor.
@@ -647,7 +715,10 @@ var MatAutocompleteTrigger = /** @class */ (function () {
647
715
  */
648
716
  function (value) {
649
717
  var _this = this;
650
- Promise.resolve(null).then(function () { return _this._setTriggerValue(value); });
718
+ Promise.resolve(null).then((/**
719
+ * @return {?}
720
+ */
721
+ function () { return _this._setTriggerValue(value); }));
651
722
  };
652
723
  // Implemented as part of ControlValueAccessor.
653
724
  // Implemented as part of ControlValueAccessor.
@@ -758,7 +829,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
758
829
  if (this._previousValue !== value) {
759
830
  this._previousValue = value;
760
831
  this._onChange(value);
761
- if (this._canOpen() && document.activeElement === event.target) {
832
+ if (this._canOpen() && this._document.activeElement === event.target) {
762
833
  this.openPanel();
763
834
  }
764
835
  }
@@ -891,7 +962,10 @@ var MatAutocompleteTrigger = /** @class */ (function () {
891
962
  /** @type {?} */
892
963
  var firstStable = this._zone.onStable.asObservable().pipe(take(1));
893
964
  /** @type {?} */
894
- var optionChanges = this.autocomplete.options.changes.pipe(tap(function () { return _this._positionStrategy.reapplyLastPosition(); }),
965
+ var optionChanges = this.autocomplete.options.changes.pipe(tap((/**
966
+ * @return {?}
967
+ */
968
+ function () { return _this._positionStrategy.reapplyLastPosition(); })),
895
969
  // Defer emitting to the stream until the next tick, because changing
896
970
  // bindings in here will cause "changed after checked" errors.
897
971
  delay(0));
@@ -900,18 +974,34 @@ var MatAutocompleteTrigger = /** @class */ (function () {
900
974
  .pipe(
901
975
  // create a new stream of panelClosingActions, replacing any previous streams
902
976
  // that were created, and flatten it so our stream only emits closing events...
903
- switchMap(function () {
977
+ switchMap((/**
978
+ * @return {?}
979
+ */
980
+ function () {
981
+ /** @type {?} */
982
+ var wasOpen = _this.panelOpen;
904
983
  _this._resetActiveItem();
905
984
  _this.autocomplete._setVisibility();
906
985
  if (_this.panelOpen) {
907
986
  (/** @type {?} */ (_this._overlayRef)).updatePosition();
987
+ // If the `panelOpen` state changed, we need to make sure to emit the `opened`
988
+ // event, because we may not have emitted it when the panel was attached. This
989
+ // can happen if the users opens the panel and there are no options, but the
990
+ // options come in slightly later or as a result of the value changing.
991
+ if (wasOpen !== _this.panelOpen) {
992
+ _this.autocomplete.opened.emit();
993
+ }
908
994
  }
909
995
  return _this.panelClosingActions;
910
- }),
996
+ })),
911
997
  // when the first closing event occurs...
912
998
  take(1))
913
999
  // set the value, close the panel, and complete.
914
- .subscribe(function (event) { return _this._setValueAndClose(event); });
1000
+ .subscribe((/**
1001
+ * @param {?} event
1002
+ * @return {?}
1003
+ */
1004
+ function (event) { return _this._setValueAndClose(event); }));
915
1005
  };
916
1006
  /** Destroys the autocomplete suggestion panel. */
917
1007
  /**
@@ -1007,11 +1097,15 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1007
1097
  * @return {?}
1008
1098
  */
1009
1099
  function (skip) {
1010
- this.autocomplete.options.forEach(function (option) {
1100
+ this.autocomplete.options.forEach((/**
1101
+ * @param {?} option
1102
+ * @return {?}
1103
+ */
1104
+ function (option) {
1011
1105
  if (option != skip && option.selected) {
1012
1106
  option.deselect();
1013
1107
  }
1014
- });
1108
+ }));
1015
1109
  };
1016
1110
  /**
1017
1111
  * @private
@@ -1034,27 +1128,32 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1034
1128
  this._overlayRef = overlayRef;
1035
1129
  // Use the `keydownEvents` in order to take advantage of
1036
1130
  // the overlay event targeting provided by the CDK overlay.
1037
- overlayRef.keydownEvents().subscribe(function (event) {
1131
+ overlayRef.keydownEvents().subscribe((/**
1132
+ * @param {?} event
1133
+ * @return {?}
1134
+ */
1135
+ function (event) {
1038
1136
  // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.
1039
1137
  // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction
1040
1138
  if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {
1041
1139
  _this._resetActiveItem();
1042
1140
  _this._closeKeyEventStream.next();
1043
1141
  }
1044
- });
1142
+ }));
1045
1143
  if (this._viewportRuler) {
1046
- this._viewportSubscription = this._viewportRuler.change().subscribe(function () {
1144
+ this._viewportSubscription = this._viewportRuler.change().subscribe((/**
1145
+ * @return {?}
1146
+ */
1147
+ function () {
1047
1148
  if (_this.panelOpen && overlayRef) {
1048
1149
  overlayRef.updateSize({ width: _this._getPanelWidth() });
1049
1150
  }
1050
- });
1151
+ }));
1051
1152
  }
1052
1153
  }
1053
1154
  else {
1054
- /** @type {?} */
1055
- var position = (/** @type {?} */ (overlayRef.getConfig().positionStrategy));
1056
1155
  // Update the trigger, panel width and direction, in case anything has changed.
1057
- position.setOrigin(this._getConnectedElement());
1156
+ this._positionStrategy.setOrigin(this._getConnectedElement());
1058
1157
  overlayRef.updateSize({ width: this._getPanelWidth() });
1059
1158
  }
1060
1159
  if (overlayRef && !overlayRef.hasAttached()) {
@@ -1096,29 +1195,59 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1096
1195
  * @return {?}
1097
1196
  */
1098
1197
  function () {
1099
- this._positionStrategy = this._overlay.position()
1198
+ /** @type {?} */
1199
+ var strategy = this._overlay.position()
1100
1200
  .flexibleConnectedTo(this._getConnectedElement())
1101
1201
  .withFlexibleDimensions(false)
1102
- .withPush(false)
1103
- .withPositions([
1104
- {
1105
- originX: 'start',
1106
- originY: 'bottom',
1107
- overlayX: 'start',
1108
- overlayY: 'top'
1109
- },
1110
- {
1111
- originX: 'start',
1112
- originY: 'top',
1113
- overlayX: 'start',
1114
- overlayY: 'bottom',
1115
- // The overlay edge connected to the trigger should have squared corners, while
1116
- // the opposite end has rounded corners. We apply a CSS class to swap the
1117
- // border-radius based on the overlay position.
1118
- panelClass: 'mat-autocomplete-panel-above'
1119
- }
1120
- ]);
1121
- return this._positionStrategy;
1202
+ .withPush(false);
1203
+ this._setStrategyPositions(strategy);
1204
+ this._positionStrategy = strategy;
1205
+ return strategy;
1206
+ };
1207
+ /** Sets the positions on a position strategy based on the directive's input state. */
1208
+ /**
1209
+ * Sets the positions on a position strategy based on the directive's input state.
1210
+ * @private
1211
+ * @param {?} positionStrategy
1212
+ * @return {?}
1213
+ */
1214
+ MatAutocompleteTrigger.prototype._setStrategyPositions = /**
1215
+ * Sets the positions on a position strategy based on the directive's input state.
1216
+ * @private
1217
+ * @param {?} positionStrategy
1218
+ * @return {?}
1219
+ */
1220
+ function (positionStrategy) {
1221
+ /** @type {?} */
1222
+ var belowPosition = {
1223
+ originX: 'start',
1224
+ originY: 'bottom',
1225
+ overlayX: 'start',
1226
+ overlayY: 'top'
1227
+ };
1228
+ /** @type {?} */
1229
+ var abovePosition = {
1230
+ originX: 'start',
1231
+ originY: 'top',
1232
+ overlayX: 'start',
1233
+ overlayY: 'bottom',
1234
+ // The overlay edge connected to the trigger should have squared corners, while
1235
+ // the opposite end has rounded corners. We apply a CSS class to swap the
1236
+ // border-radius based on the overlay position.
1237
+ panelClass: 'mat-autocomplete-panel-above'
1238
+ };
1239
+ /** @type {?} */
1240
+ var positions;
1241
+ if (this.position === 'above') {
1242
+ positions = [abovePosition];
1243
+ }
1244
+ else if (this.position === 'below') {
1245
+ positions = [belowPosition];
1246
+ }
1247
+ else {
1248
+ positions = [belowPosition, abovePosition];
1249
+ }
1250
+ positionStrategy.withPositions(positions);
1122
1251
  };
1123
1252
  /**
1124
1253
  * @private
@@ -1231,6 +1360,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1231
1360
  ]; };
1232
1361
  MatAutocompleteTrigger.propDecorators = {
1233
1362
  autocomplete: [{ type: Input, args: ['matAutocomplete',] }],
1363
+ position: [{ type: Input, args: ['matAutocompletePosition',] }],
1234
1364
  connectedTo: [{ type: Input, args: ['matAutocompleteConnectedTo',] }],
1235
1365
  autocompleteAttribute: [{ type: Input, args: ['autocomplete',] }],
1236
1366
  autocompleteDisabled: [{ type: Input, args: ['matAutocompleteDisabled',] }]
@@ -1240,7 +1370,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1240
1370
 
1241
1371
  /**
1242
1372
  * @fileoverview added by tsickle
1243
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1373
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1244
1374
  */
1245
1375
  var MatAutocompleteModule = /** @class */ (function () {
1246
1376
  function MatAutocompleteModule() {
@@ -1264,13 +1394,13 @@ var MatAutocompleteModule = /** @class */ (function () {
1264
1394
 
1265
1395
  /**
1266
1396
  * @fileoverview added by tsickle
1267
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1397
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1268
1398
  */
1269
1399
 
1270
1400
  /**
1271
1401
  * @fileoverview added by tsickle
1272
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1402
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1273
1403
  */
1274
1404
 
1275
- export { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, MatAutocompleteSelectedEvent, MatAutocompleteBase, _MatAutocompleteMixinBase, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MatAutocomplete, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, getMatAutocompleteMissingPanelError, AUTOCOMPLETE_OPTION_HEIGHT, AUTOCOMPLETE_PANEL_HEIGHT, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_AUTOCOMPLETE_VALUE_ACCESSOR, MatAutocompleteTrigger, MatAutocompleteOrigin };
1405
+ export { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, MatAutocompleteSelectedEvent, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MatAutocomplete, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, getMatAutocompleteMissingPanelError, AUTOCOMPLETE_OPTION_HEIGHT, AUTOCOMPLETE_PANEL_HEIGHT, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_AUTOCOMPLETE_VALUE_ACCESSOR, MatAutocompleteTrigger, MatAutocompleteOrigin };
1276
1406
  //# sourceMappingURL=autocomplete.es5.js.map