@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
@@ -22,7 +22,7 @@ import { Subscription, defer, fromEvent, merge, of, Subject } from 'rxjs';
22
22
 
23
23
  /**
24
24
  * @fileoverview added by tsickle
25
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
25
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
26
26
  */
27
27
  /**
28
28
  * Autocomplete IDs need to be unique across components, so this counter exists outside of
@@ -130,10 +130,15 @@ class MatAutocomplete extends _MatAutocompleteMixinBase {
130
130
  */
131
131
  set classList(value) {
132
132
  if (value && value.length) {
133
- this._classList = value.split(' ').reduce((classList, className) => {
133
+ this._classList = value.split(' ').reduce((/**
134
+ * @param {?} classList
135
+ * @param {?} className
136
+ * @return {?}
137
+ */
138
+ (classList, className) => {
134
139
  classList[className.trim()] = true;
135
140
  return classList;
136
- }, (/** @type {?} */ ({})));
141
+ }), (/** @type {?} */ ({})));
137
142
  }
138
143
  else {
139
144
  this._classList = {};
@@ -220,8 +225,8 @@ MatAutocomplete.ctorParameters = () => [
220
225
  { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }
221
226
  ];
222
227
  MatAutocomplete.propDecorators = {
223
- template: [{ type: ViewChild, args: [TemplateRef,] }],
224
- panel: [{ type: ViewChild, args: ['panel',] }],
228
+ template: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],
229
+ panel: [{ type: ViewChild, args: ['panel', { static: false },] }],
225
230
  options: [{ type: ContentChildren, args: [MatOption, { descendants: true },] }],
226
231
  optionGroups: [{ type: ContentChildren, args: [MatOptgroup,] }],
227
232
  displayWith: [{ type: Input }],
@@ -235,7 +240,7 @@ MatAutocomplete.propDecorators = {
235
240
 
236
241
  /**
237
242
  * @fileoverview added by tsickle
238
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
243
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
239
244
  */
240
245
  /**
241
246
  * Directive applied to an element to make it usable
@@ -262,7 +267,7 @@ MatAutocompleteOrigin.ctorParameters = () => [
262
267
 
263
268
  /**
264
269
  * @fileoverview added by tsickle
265
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
270
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
266
271
  */
267
272
  /**
268
273
  * The height of each autocomplete option.
@@ -285,7 +290,10 @@ const MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-sc
285
290
  * @return {?}
286
291
  */
287
292
  function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {
288
- return () => overlay.scrollStrategies.reposition();
293
+ return (/**
294
+ * @return {?}
295
+ */
296
+ () => overlay.scrollStrategies.reposition());
289
297
  }
290
298
  /**
291
299
  * \@docs-private
@@ -303,7 +311,10 @@ const MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {
303
311
  */
304
312
  const MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {
305
313
  provide: NG_VALUE_ACCESSOR,
306
- useExisting: forwardRef(() => MatAutocompleteTrigger),
314
+ useExisting: forwardRef((/**
315
+ * @return {?}
316
+ */
317
+ () => MatAutocompleteTrigger)),
307
318
  multi: true
308
319
  };
309
320
  /**
@@ -363,21 +374,38 @@ class MatAutocompleteTrigger {
363
374
  * Event handler for when the window is blurred. Needs to be an
364
375
  * arrow function in order to preserve the context.
365
376
  */
366
- this._windowBlurHandler = () => {
377
+ this._windowBlurHandler = (/**
378
+ * @return {?}
379
+ */
380
+ () => {
367
381
  // If the user blurred the window while the autocomplete is focused, it means that it'll be
368
382
  // refocused when they come back. In this case we want to skip the first focus event, if the
369
383
  // pane was closed, in order to avoid reopening it unintentionally.
370
384
  this._canOpenOnNextFocus =
371
- document.activeElement !== this._element.nativeElement || this.panelOpen;
372
- };
385
+ this._document.activeElement !== this._element.nativeElement || this.panelOpen;
386
+ });
373
387
  /**
374
388
  * `View -> model callback called when value changes`
375
389
  */
376
- this._onChange = () => { };
390
+ this._onChange = (/**
391
+ * @return {?}
392
+ */
393
+ () => { });
377
394
  /**
378
395
  * `View -> model callback called when autocomplete has been touched`
379
396
  */
380
- this._onTouched = () => { };
397
+ this._onTouched = (/**
398
+ * @return {?}
399
+ */
400
+ () => { });
401
+ /**
402
+ * Position of the autocomplete panel relative to the trigger element. A position of `auto`
403
+ * will render the panel underneath the trigger if there is enough space for it to fit in
404
+ * the viewport, otherwise the panel will be shown above it. If the position is set to
405
+ * `above` or `below`, the panel will always be shown above or below the trigger. no matter
406
+ * whether it fits completely in the viewport.
407
+ */
408
+ this.position = 'auto';
381
409
  /**
382
410
  * `autocomplete` attribute to be set on the input element.
383
411
  * \@docs-private
@@ -387,20 +415,33 @@ class MatAutocompleteTrigger {
387
415
  /**
388
416
  * Stream of autocomplete option selections.
389
417
  */
390
- this.optionSelections = (/** @type {?} */ (defer(() => {
418
+ this.optionSelections = (/** @type {?} */ (defer((/**
419
+ * @return {?}
420
+ */
421
+ () => {
391
422
  if (this.autocomplete && this.autocomplete.options) {
392
- return merge(...this.autocomplete.options.map(option => option.onSelectionChange));
423
+ return merge(...this.autocomplete.options.map((/**
424
+ * @param {?} option
425
+ * @return {?}
426
+ */
427
+ option => option.onSelectionChange)));
393
428
  }
394
429
  // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.
395
430
  // Return a stream that we'll replace with the real one once everything is in place.
396
431
  return this._zone.onStable
397
432
  .asObservable()
398
- .pipe(take(1), switchMap(() => this.optionSelections));
399
- })));
433
+ .pipe(take(1), switchMap((/**
434
+ * @return {?}
435
+ */
436
+ () => this.optionSelections)));
437
+ }))));
400
438
  if (typeof window !== 'undefined') {
401
- _zone.runOutsideAngular(() => {
439
+ _zone.runOutsideAngular((/**
440
+ * @return {?}
441
+ */
442
+ () => {
402
443
  window.addEventListener('blur', this._windowBlurHandler);
403
- });
444
+ }));
404
445
  }
405
446
  this._scrollStrategy = scrollStrategy;
406
447
  }
@@ -417,6 +458,18 @@ class MatAutocompleteTrigger {
417
458
  set autocompleteDisabled(value) {
418
459
  this._autocompleteDisabled = coerceBooleanProperty(value);
419
460
  }
461
+ /**
462
+ * @param {?} changes
463
+ * @return {?}
464
+ */
465
+ ngOnChanges(changes) {
466
+ if (changes['position'] && this._positionStrategy) {
467
+ this._setStrategyPositions(this._positionStrategy);
468
+ if (this.panelOpen) {
469
+ (/** @type {?} */ (this._overlayRef)).updatePosition();
470
+ }
471
+ }
472
+ }
420
473
  /**
421
474
  * @return {?}
422
475
  */
@@ -488,11 +541,21 @@ class MatAutocompleteTrigger {
488
541
  * @return {?}
489
542
  */
490
543
  get panelClosingActions() {
491
- return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(() => this._overlayAttached)), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
492
- this._overlayRef.detachments().pipe(filter(() => this._overlayAttached)) :
544
+ return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter((/**
545
+ * @return {?}
546
+ */
547
+ () => this._overlayAttached))), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
548
+ this._overlayRef.detachments().pipe(filter((/**
549
+ * @return {?}
550
+ */
551
+ () => this._overlayAttached))) :
493
552
  of()).pipe(
494
553
  // Normalize the output so we return a consistent type.
495
- map(event => event instanceof MatOptionSelectionChange ? event : null));
554
+ map((/**
555
+ * @param {?} event
556
+ * @return {?}
557
+ */
558
+ event => event instanceof MatOptionSelectionChange ? event : null)));
496
559
  }
497
560
  /**
498
561
  * The currently active option, coerced to MatOption type.
@@ -510,11 +573,12 @@ class MatAutocompleteTrigger {
510
573
  * @return {?}
511
574
  */
512
575
  _getOutsideClickStream() {
513
- if (!this._document) {
514
- return of(null);
515
- }
516
576
  return merge((/** @type {?} */ (fromEvent(this._document, 'click'))), (/** @type {?} */ (fromEvent(this._document, 'touchend'))))
517
- .pipe(filter(event => {
577
+ .pipe(filter((/**
578
+ * @param {?} event
579
+ * @return {?}
580
+ */
581
+ event => {
518
582
  /** @type {?} */
519
583
  const clickTarget = (/** @type {?} */ (event.target));
520
584
  /** @type {?} */
@@ -524,7 +588,7 @@ class MatAutocompleteTrigger {
524
588
  clickTarget !== this._element.nativeElement &&
525
589
  (!formField || !formField.contains(clickTarget)) &&
526
590
  (!!this._overlayRef && !this._overlayRef.overlayElement.contains(clickTarget));
527
- }));
591
+ })));
528
592
  }
529
593
  // Implemented as part of ControlValueAccessor.
530
594
  /**
@@ -532,7 +596,10 @@ class MatAutocompleteTrigger {
532
596
  * @return {?}
533
597
  */
534
598
  writeValue(value) {
535
- Promise.resolve(null).then(() => this._setTriggerValue(value));
599
+ Promise.resolve(null).then((/**
600
+ * @return {?}
601
+ */
602
+ () => this._setTriggerValue(value)));
536
603
  }
537
604
  // Implemented as part of ControlValueAccessor.
538
605
  /**
@@ -614,7 +681,7 @@ class MatAutocompleteTrigger {
614
681
  if (this._previousValue !== value) {
615
682
  this._previousValue = value;
616
683
  this._onChange(value);
617
- if (this._canOpen() && document.activeElement === event.target) {
684
+ if (this._canOpen() && this._document.activeElement === event.target) {
618
685
  this.openPanel();
619
686
  }
620
687
  }
@@ -692,7 +759,10 @@ class MatAutocompleteTrigger {
692
759
  /** @type {?} */
693
760
  const firstStable = this._zone.onStable.asObservable().pipe(take(1));
694
761
  /** @type {?} */
695
- const optionChanges = this.autocomplete.options.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()),
762
+ const optionChanges = this.autocomplete.options.changes.pipe(tap((/**
763
+ * @return {?}
764
+ */
765
+ () => this._positionStrategy.reapplyLastPosition())),
696
766
  // Defer emitting to the stream until the next tick, because changing
697
767
  // bindings in here will cause "changed after checked" errors.
698
768
  delay(0));
@@ -701,18 +771,34 @@ class MatAutocompleteTrigger {
701
771
  .pipe(
702
772
  // create a new stream of panelClosingActions, replacing any previous streams
703
773
  // that were created, and flatten it so our stream only emits closing events...
704
- switchMap(() => {
774
+ switchMap((/**
775
+ * @return {?}
776
+ */
777
+ () => {
778
+ /** @type {?} */
779
+ const wasOpen = this.panelOpen;
705
780
  this._resetActiveItem();
706
781
  this.autocomplete._setVisibility();
707
782
  if (this.panelOpen) {
708
783
  (/** @type {?} */ (this._overlayRef)).updatePosition();
784
+ // If the `panelOpen` state changed, we need to make sure to emit the `opened`
785
+ // event, because we may not have emitted it when the panel was attached. This
786
+ // can happen if the users opens the panel and there are no options, but the
787
+ // options come in slightly later or as a result of the value changing.
788
+ if (wasOpen !== this.panelOpen) {
789
+ this.autocomplete.opened.emit();
790
+ }
709
791
  }
710
792
  return this.panelClosingActions;
711
- }),
793
+ })),
712
794
  // when the first closing event occurs...
713
795
  take(1))
714
796
  // set the value, close the panel, and complete.
715
- .subscribe(event => this._setValueAndClose(event));
797
+ .subscribe((/**
798
+ * @param {?} event
799
+ * @return {?}
800
+ */
801
+ event => this._setValueAndClose(event)));
716
802
  }
717
803
  /**
718
804
  * Destroys the autocomplete suggestion panel.
@@ -775,11 +861,15 @@ class MatAutocompleteTrigger {
775
861
  * @return {?}
776
862
  */
777
863
  _clearPreviousSelectedOption(skip) {
778
- this.autocomplete.options.forEach(option => {
864
+ this.autocomplete.options.forEach((/**
865
+ * @param {?} option
866
+ * @return {?}
867
+ */
868
+ option => {
779
869
  if (option != skip && option.selected) {
780
870
  option.deselect();
781
871
  }
782
- });
872
+ }));
783
873
  }
784
874
  /**
785
875
  * @private
@@ -797,27 +887,32 @@ class MatAutocompleteTrigger {
797
887
  this._overlayRef = overlayRef;
798
888
  // Use the `keydownEvents` in order to take advantage of
799
889
  // the overlay event targeting provided by the CDK overlay.
800
- overlayRef.keydownEvents().subscribe(event => {
890
+ overlayRef.keydownEvents().subscribe((/**
891
+ * @param {?} event
892
+ * @return {?}
893
+ */
894
+ event => {
801
895
  // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.
802
896
  // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction
803
897
  if (event.keyCode === ESCAPE || (event.keyCode === UP_ARROW && event.altKey)) {
804
898
  this._resetActiveItem();
805
899
  this._closeKeyEventStream.next();
806
900
  }
807
- });
901
+ }));
808
902
  if (this._viewportRuler) {
809
- this._viewportSubscription = this._viewportRuler.change().subscribe(() => {
903
+ this._viewportSubscription = this._viewportRuler.change().subscribe((/**
904
+ * @return {?}
905
+ */
906
+ () => {
810
907
  if (this.panelOpen && overlayRef) {
811
908
  overlayRef.updateSize({ width: this._getPanelWidth() });
812
909
  }
813
- });
910
+ }));
814
911
  }
815
912
  }
816
913
  else {
817
- /** @type {?} */
818
- const position = (/** @type {?} */ (overlayRef.getConfig().positionStrategy));
819
914
  // Update the trigger, panel width and direction, in case anything has changed.
820
- position.setOrigin(this._getConnectedElement());
915
+ this._positionStrategy.setOrigin(this._getConnectedElement());
821
916
  overlayRef.updateSize({ width: this._getPanelWidth() });
822
917
  }
823
918
  if (overlayRef && !overlayRef.hasAttached()) {
@@ -851,29 +946,52 @@ class MatAutocompleteTrigger {
851
946
  * @return {?}
852
947
  */
853
948
  _getOverlayPosition() {
854
- this._positionStrategy = this._overlay.position()
949
+ /** @type {?} */
950
+ const strategy = this._overlay.position()
855
951
  .flexibleConnectedTo(this._getConnectedElement())
856
952
  .withFlexibleDimensions(false)
857
- .withPush(false)
858
- .withPositions([
859
- {
860
- originX: 'start',
861
- originY: 'bottom',
862
- overlayX: 'start',
863
- overlayY: 'top'
864
- },
865
- {
866
- originX: 'start',
867
- originY: 'top',
868
- overlayX: 'start',
869
- overlayY: 'bottom',
870
- // The overlay edge connected to the trigger should have squared corners, while
871
- // the opposite end has rounded corners. We apply a CSS class to swap the
872
- // border-radius based on the overlay position.
873
- panelClass: 'mat-autocomplete-panel-above'
874
- }
875
- ]);
876
- return this._positionStrategy;
953
+ .withPush(false);
954
+ this._setStrategyPositions(strategy);
955
+ this._positionStrategy = strategy;
956
+ return strategy;
957
+ }
958
+ /**
959
+ * Sets the positions on a position strategy based on the directive's input state.
960
+ * @private
961
+ * @param {?} positionStrategy
962
+ * @return {?}
963
+ */
964
+ _setStrategyPositions(positionStrategy) {
965
+ /** @type {?} */
966
+ const belowPosition = {
967
+ originX: 'start',
968
+ originY: 'bottom',
969
+ overlayX: 'start',
970
+ overlayY: 'top'
971
+ };
972
+ /** @type {?} */
973
+ const abovePosition = {
974
+ originX: 'start',
975
+ originY: 'top',
976
+ overlayX: 'start',
977
+ overlayY: 'bottom',
978
+ // The overlay edge connected to the trigger should have squared corners, while
979
+ // the opposite end has rounded corners. We apply a CSS class to swap the
980
+ // border-radius based on the overlay position.
981
+ panelClass: 'mat-autocomplete-panel-above'
982
+ };
983
+ /** @type {?} */
984
+ let positions;
985
+ if (this.position === 'above') {
986
+ positions = [abovePosition];
987
+ }
988
+ else if (this.position === 'below') {
989
+ positions = [belowPosition];
990
+ }
991
+ else {
992
+ positions = [belowPosition, abovePosition];
993
+ }
994
+ positionStrategy.withPositions(positions);
877
995
  }
878
996
  /**
879
997
  * @private
@@ -957,6 +1075,7 @@ MatAutocompleteTrigger.ctorParameters = () => [
957
1075
  ];
958
1076
  MatAutocompleteTrigger.propDecorators = {
959
1077
  autocomplete: [{ type: Input, args: ['matAutocomplete',] }],
1078
+ position: [{ type: Input, args: ['matAutocompletePosition',] }],
960
1079
  connectedTo: [{ type: Input, args: ['matAutocompleteConnectedTo',] }],
961
1080
  autocompleteAttribute: [{ type: Input, args: ['autocomplete',] }],
962
1081
  autocompleteDisabled: [{ type: Input, args: ['matAutocompleteDisabled',] }]
@@ -964,7 +1083,7 @@ MatAutocompleteTrigger.propDecorators = {
964
1083
 
965
1084
  /**
966
1085
  * @fileoverview added by tsickle
967
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1086
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
968
1087
  */
969
1088
  class MatAutocompleteModule {
970
1089
  }
@@ -985,13 +1104,13 @@ MatAutocompleteModule.decorators = [
985
1104
 
986
1105
  /**
987
1106
  * @fileoverview added by tsickle
988
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1107
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
989
1108
  */
990
1109
 
991
1110
  /**
992
1111
  * @fileoverview added by tsickle
993
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1112
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
994
1113
  */
995
1114
 
996
- 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 };
1115
+ 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 };
997
1116
  //# sourceMappingURL=autocomplete.js.map