@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
@@ -13,7 +13,7 @@ import { ESCAPE } from '@angular/cdk/keycodes';
13
13
  import { Platform, PlatformModule } from '@angular/cdk/platform';
14
14
  import { CdkScrollable, ScrollDispatcher, ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';
15
15
  import { DOCUMENT, CommonModule } from '@angular/common';
16
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, forwardRef, Inject, InjectionToken, Input, NgZone, Optional, Output, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
16
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, forwardRef, Inject, InjectionToken, Input, NgZone, Optional, Output, ViewChild, ViewEncapsulation, HostListener, HostBinding, NgModule } from '@angular/core';
17
17
  import { fromEvent, merge, Subject } from 'rxjs';
18
18
  import { debounceTime, filter, map, startWith, take, takeUntil, distinctUntilChanged } from 'rxjs/operators';
19
19
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
@@ -21,7 +21,7 @@ import { MatCommonModule } from '@angular/material/core';
21
21
 
22
22
  /**
23
23
  * @fileoverview added by tsickle
24
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
24
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
25
25
  */
26
26
  /**
27
27
  * Animations used by the Material drawers.
@@ -53,7 +53,7 @@ const matDrawerAnimations = {
53
53
 
54
54
  /**
55
55
  * @fileoverview added by tsickle
56
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
56
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
57
57
  */
58
58
  /**
59
59
  * Throws an exception when two MatDrawer are matching the same position.
@@ -96,9 +96,12 @@ class MatDrawerContent extends CdkScrollable {
96
96
  * @return {?}
97
97
  */
98
98
  ngAfterContentInit() {
99
- this._container._contentMarginChanges.subscribe(() => {
99
+ this._container._contentMarginChanges.subscribe((/**
100
+ * @return {?}
101
+ */
102
+ () => {
100
103
  this._changeDetectorRef.markForCheck();
101
- });
104
+ }));
102
105
  }
103
106
  }
104
107
  MatDrawerContent.decorators = [
@@ -116,7 +119,10 @@ MatDrawerContent.decorators = [
116
119
  /** @nocollapse */
117
120
  MatDrawerContent.ctorParameters = () => [
118
121
  { type: ChangeDetectorRef },
119
- { type: MatDrawerContainer, decorators: [{ type: Inject, args: [forwardRef(() => MatDrawerContainer),] }] },
122
+ { type: MatDrawerContainer, decorators: [{ type: Inject, args: [forwardRef((/**
123
+ * @return {?}
124
+ */
125
+ () => MatDrawerContainer)),] }] },
120
126
  { type: ElementRef },
121
127
  { type: ScrollDispatcher },
122
128
  { type: NgZone }
@@ -160,6 +166,10 @@ class MatDrawer {
160
166
  /**
161
167
  * Current state of the sidenav animation.
162
168
  */
169
+ // @HostBinding is used in the class as it is expected to be extended. Since @Component decorator
170
+ // metadata is not inherited by child classes, instead the host binding data is defined in a way
171
+ // that can be inherited.
172
+ // tslint:disable:no-host-decorator-in-concrete
163
173
  this._animationState = 'void';
164
174
  /**
165
175
  * Event emitted when the drawer open state is changed.
@@ -182,7 +192,11 @@ class MatDrawer {
182
192
  */
183
193
  this._modeChanged = new Subject();
184
194
  this._opened = false;
185
- this.openedChange.subscribe((opened) => {
195
+ this.openedChange.subscribe((/**
196
+ * @param {?} opened
197
+ * @return {?}
198
+ */
199
+ (opened) => {
186
200
  if (opened) {
187
201
  if (this._doc) {
188
202
  this._elementFocusedBeforeDrawerWasOpened = (/** @type {?} */ (this._doc.activeElement));
@@ -194,29 +208,52 @@ class MatDrawer {
194
208
  else {
195
209
  this._restoreFocus();
196
210
  }
197
- });
211
+ }));
198
212
  /**
199
213
  * Listen to `keydown` events outside the zone so that change detection is not run every
200
214
  * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed
201
215
  * and we don't have close disabled.
202
216
  */
203
- this._ngZone.runOutsideAngular(() => {
204
- ((/** @type {?} */ (fromEvent(this._elementRef.nativeElement, 'keydown')))).pipe(filter(event => event.keyCode === ESCAPE && !this.disableClose), takeUntil(this._destroyed)).subscribe(event => this._ngZone.run(() => {
217
+ this._ngZone.runOutsideAngular((/**
218
+ * @return {?}
219
+ */
220
+ () => {
221
+ ((/** @type {?} */ (fromEvent(this._elementRef.nativeElement, 'keydown')))).pipe(filter((/**
222
+ * @param {?} event
223
+ * @return {?}
224
+ */
225
+ event => event.keyCode === ESCAPE && !this.disableClose)), takeUntil(this._destroyed)).subscribe((/**
226
+ * @param {?} event
227
+ * @return {?}
228
+ */
229
+ event => this._ngZone.run((/**
230
+ * @return {?}
231
+ */
232
+ () => {
205
233
  this.close();
206
234
  event.stopPropagation();
207
- }));
208
- });
235
+ }))));
236
+ }));
209
237
  // We need a Subject with distinctUntilChanged, because the `done` event
210
238
  // fires twice on some browsers. See https://github.com/angular/angular/issues/24084
211
- this._animationEnd.pipe(distinctUntilChanged((x, y) => {
239
+ this._animationEnd.pipe(distinctUntilChanged((/**
240
+ * @param {?} x
241
+ * @param {?} y
242
+ * @return {?}
243
+ */
244
+ (x, y) => {
212
245
  return x.fromState === y.fromState && x.toState === y.toState;
213
- })).subscribe((event) => {
246
+ }))).subscribe((/**
247
+ * @param {?} event
248
+ * @return {?}
249
+ */
250
+ (event) => {
214
251
  const { fromState, toState } = event;
215
252
  if ((toState.indexOf('open') === 0 && fromState === 'void') ||
216
253
  (toState === 'void' && fromState.indexOf('open') === 0)) {
217
254
  this.openedChange.emit(this._opened);
218
255
  }
219
- });
256
+ }));
220
257
  }
221
258
  /**
222
259
  * The side that the drawer is attached to.
@@ -273,28 +310,56 @@ class MatDrawer {
273
310
  * @return {?}
274
311
  */
275
312
  get _openedStream() {
276
- return this.openedChange.pipe(filter(o => o), map(() => { }));
313
+ return this.openedChange.pipe(filter((/**
314
+ * @param {?} o
315
+ * @return {?}
316
+ */
317
+ o => o)), map((/**
318
+ * @return {?}
319
+ */
320
+ () => { })));
277
321
  }
278
322
  /**
279
323
  * Event emitted when the drawer has started opening.
280
324
  * @return {?}
281
325
  */
282
326
  get openedStart() {
283
- return this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState.indexOf('open') === 0), map(() => { }));
327
+ return this._animationStarted.pipe(filter((/**
328
+ * @param {?} e
329
+ * @return {?}
330
+ */
331
+ e => e.fromState !== e.toState && e.toState.indexOf('open') === 0)), map((/**
332
+ * @return {?}
333
+ */
334
+ () => { })));
284
335
  }
285
336
  /**
286
337
  * Event emitted when the drawer has been closed.
287
338
  * @return {?}
288
339
  */
289
340
  get _closedStream() {
290
- return this.openedChange.pipe(filter(o => !o), map(() => { }));
341
+ return this.openedChange.pipe(filter((/**
342
+ * @param {?} o
343
+ * @return {?}
344
+ */
345
+ o => !o)), map((/**
346
+ * @return {?}
347
+ */
348
+ () => { })));
291
349
  }
292
350
  /**
293
351
  * Event emitted when the drawer has started closing.
294
352
  * @return {?}
295
353
  */
296
354
  get closedStart() {
297
- return this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState === 'void'), map(() => { }));
355
+ return this._animationStarted.pipe(filter((/**
356
+ * @param {?} e
357
+ * @return {?}
358
+ */
359
+ e => e.fromState !== e.toState && e.toState === 'void')), map((/**
360
+ * @return {?}
361
+ */
362
+ () => { })));
298
363
  }
299
364
  /**
300
365
  * @return {?}
@@ -312,13 +377,17 @@ class MatDrawer {
312
377
  if (!this.autoFocus) {
313
378
  return;
314
379
  }
315
- this._focusTrap.focusInitialElementWhenReady().then(hasMovedFocus => {
380
+ this._focusTrap.focusInitialElementWhenReady().then((/**
381
+ * @param {?} hasMovedFocus
382
+ * @return {?}
383
+ */
384
+ hasMovedFocus => {
316
385
  // If there were no focusable elements, focus the sidenav itself so the keyboard navigation
317
386
  // still works. We need to check that `focus` is a function due to Universal.
318
387
  if (!hasMovedFocus && typeof this._elementRef.nativeElement.focus === 'function') {
319
388
  this._elementRef.nativeElement.focus();
320
389
  }
321
- });
390
+ }));
322
391
  }
323
392
  /**
324
393
  * If focus is currently inside the drawer, restores it to where it was before the drawer
@@ -422,9 +491,17 @@ class MatDrawer {
422
491
  if (this._focusTrap) {
423
492
  this._focusTrap.enabled = this._isFocusTrapEnabled;
424
493
  }
425
- return new Promise(resolve => {
426
- this.openedChange.pipe(take(1)).subscribe(open => resolve(open ? 'open' : 'close'));
427
- });
494
+ return new Promise((/**
495
+ * @param {?} resolve
496
+ * @return {?}
497
+ */
498
+ resolve => {
499
+ this.openedChange.pipe(take(1)).subscribe((/**
500
+ * @param {?} open
501
+ * @return {?}
502
+ */
503
+ open => resolve(open ? 'open' : 'close')));
504
+ }));
428
505
  }
429
506
  /**
430
507
  * @return {?}
@@ -432,6 +509,30 @@ class MatDrawer {
432
509
  get _width() {
433
510
  return this._elementRef.nativeElement ? (this._elementRef.nativeElement.offsetWidth || 0) : 0;
434
511
  }
512
+ // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.
513
+ // In Ivy the `host` bindings will be merged when this class is extended, whereas in
514
+ // ViewEngine they're overwritte.
515
+ // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.
516
+ // tslint:disable-next-line:no-host-decorator-in-concrete
517
+ /**
518
+ * @param {?} event
519
+ * @return {?}
520
+ */
521
+ _animationStartListener(event) {
522
+ this._animationStarted.next(event);
523
+ }
524
+ // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.
525
+ // In Ivy the `host` bindings will be merged when this class is extended, whereas in
526
+ // ViewEngine they're overwritte.
527
+ // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.
528
+ // tslint:disable-next-line:no-host-decorator-in-concrete
529
+ /**
530
+ * @param {?} event
531
+ * @return {?}
532
+ */
533
+ _animationDoneListener(event) {
534
+ this._animationEnd.next(event);
535
+ }
435
536
  }
436
537
  MatDrawer.decorators = [
437
538
  { type: Component, args: [{selector: 'mat-drawer',
@@ -440,9 +541,6 @@ MatDrawer.decorators = [
440
541
  animations: [matDrawerAnimations.transformDrawer],
441
542
  host: {
442
543
  'class': 'mat-drawer',
443
- '[@transform]': '_animationState',
444
- '(@transform.start)': '_animationStarted.next($event)',
445
- '(@transform.done)': '_animationEnd.next($event)',
446
544
  // must prevent the browser from aligning text based on value
447
545
  '[attr.align]': 'null',
448
546
  '[class.mat-drawer-end]': 'position === "end"',
@@ -469,13 +567,16 @@ MatDrawer.propDecorators = {
469
567
  mode: [{ type: Input }],
470
568
  disableClose: [{ type: Input }],
471
569
  autoFocus: [{ type: Input }],
570
+ _animationState: [{ type: HostBinding, args: ['@transform',] }],
472
571
  openedChange: [{ type: Output }],
473
572
  _openedStream: [{ type: Output, args: ['opened',] }],
474
573
  openedStart: [{ type: Output }],
475
574
  _closedStream: [{ type: Output, args: ['closed',] }],
476
575
  closedStart: [{ type: Output }],
477
576
  onPositionChanged: [{ type: Output, args: ['positionChanged',] }],
478
- opened: [{ type: Input }]
577
+ opened: [{ type: Input }],
578
+ _animationStartListener: [{ type: HostListener, args: ['@transform.start', ['$event'],] }],
579
+ _animationDoneListener: [{ type: HostListener, args: ['@transform.done', ['$event'],] }]
479
580
  };
480
581
  /**
481
582
  * `<mat-drawer-container>` component.
@@ -489,16 +590,11 @@ class MatDrawerContainer {
489
590
  * @param {?} _element
490
591
  * @param {?} _ngZone
491
592
  * @param {?} _changeDetectorRef
593
+ * @param {?} viewportRuler
492
594
  * @param {?=} defaultAutosize
493
595
  * @param {?=} _animationMode
494
- * @param {?=} viewportRuler
495
- */
496
- constructor(_dir, _element, _ngZone, _changeDetectorRef, defaultAutosize = false, _animationMode,
497
- /**
498
- * @deprecated viewportRuler to become a required parameter.
499
- * @breaking-change 8.0.0
500
596
  */
501
- viewportRuler) {
597
+ constructor(_dir, _element, _ngZone, _changeDetectorRef, viewportRuler, defaultAutosize = false, _animationMode) {
502
598
  this._dir = _dir;
503
599
  this._element = _element;
504
600
  this._ngZone = _ngZone;
@@ -526,18 +622,22 @@ class MatDrawerContainer {
526
622
  // If a `Dir` directive exists up the tree, listen direction changes
527
623
  // and update the left/right properties to point to the proper start/end.
528
624
  if (_dir) {
529
- _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {
625
+ _dir.change.pipe(takeUntil(this._destroyed)).subscribe((/**
626
+ * @return {?}
627
+ */
628
+ () => {
530
629
  this._validateDrawers();
531
- this._updateContentMargins();
532
- });
630
+ this.updateContentMargins();
631
+ }));
533
632
  }
534
633
  // Since the minimum width of the sidenav depends on the viewport width,
535
634
  // we need to recompute the margins if the viewport changes.
536
- if (viewportRuler) {
537
- viewportRuler.change()
538
- .pipe(takeUntil(this._destroyed))
539
- .subscribe(() => this._updateContentMargins());
540
- }
635
+ viewportRuler.change()
636
+ .pipe(takeUntil(this._destroyed))
637
+ .subscribe((/**
638
+ * @return {?}
639
+ */
640
+ () => this.updateContentMargins()));
541
641
  this._autosize = defaultAutosize;
542
642
  }
543
643
  /**
@@ -595,22 +695,32 @@ class MatDrawerContainer {
595
695
  * @return {?}
596
696
  */
597
697
  ngAfterContentInit() {
598
- this._drawers.changes.pipe(startWith(null)).subscribe(() => {
698
+ this._drawers.changes.pipe(startWith(null)).subscribe((/**
699
+ * @return {?}
700
+ */
701
+ () => {
599
702
  this._validateDrawers();
600
- this._drawers.forEach((drawer) => {
703
+ this._drawers.forEach((/**
704
+ * @param {?} drawer
705
+ * @return {?}
706
+ */
707
+ (drawer) => {
601
708
  this._watchDrawerToggle(drawer);
602
709
  this._watchDrawerPosition(drawer);
603
710
  this._watchDrawerMode(drawer);
604
- });
711
+ }));
605
712
  if (!this._drawers.length ||
606
713
  this._isDrawerOpen(this._start) ||
607
714
  this._isDrawerOpen(this._end)) {
608
- this._updateContentMargins();
715
+ this.updateContentMargins();
609
716
  }
610
717
  this._changeDetectorRef.markForCheck();
611
- });
718
+ }));
612
719
  this._doCheckSubject.pipe(debounceTime(10), // Arbitrary debounce time, less than a frame at 60fps
613
- takeUntil(this._destroyed)).subscribe(() => this._updateContentMargins());
720
+ takeUntil(this._destroyed)).subscribe((/**
721
+ * @return {?}
722
+ */
723
+ () => this.updateContentMargins()));
614
724
  }
615
725
  /**
616
726
  * @return {?}
@@ -626,14 +736,76 @@ class MatDrawerContainer {
626
736
  * @return {?}
627
737
  */
628
738
  open() {
629
- this._drawers.forEach(drawer => drawer.open());
739
+ this._drawers.forEach((/**
740
+ * @param {?} drawer
741
+ * @return {?}
742
+ */
743
+ drawer => drawer.open()));
630
744
  }
631
745
  /**
632
746
  * Calls `close` of both start and end drawers
633
747
  * @return {?}
634
748
  */
635
749
  close() {
636
- this._drawers.forEach(drawer => drawer.close());
750
+ this._drawers.forEach((/**
751
+ * @param {?} drawer
752
+ * @return {?}
753
+ */
754
+ drawer => drawer.close()));
755
+ }
756
+ /**
757
+ * Recalculates and updates the inline styles for the content. Note that this should be used
758
+ * sparingly, because it causes a reflow.
759
+ * @return {?}
760
+ */
761
+ updateContentMargins() {
762
+ // 1. For drawers in `over` mode, they don't affect the content.
763
+ // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the
764
+ // left margin (for left drawer) or right margin (for right the drawer).
765
+ // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by
766
+ // adding to the left or right margin and simultaneously subtracting the same amount of
767
+ // margin from the other side.
768
+ /** @type {?} */
769
+ let left = 0;
770
+ /** @type {?} */
771
+ let right = 0;
772
+ if (this._left && this._left.opened) {
773
+ if (this._left.mode == 'side') {
774
+ left += this._left._width;
775
+ }
776
+ else if (this._left.mode == 'push') {
777
+ /** @type {?} */
778
+ const width = this._left._width;
779
+ left += width;
780
+ right -= width;
781
+ }
782
+ }
783
+ if (this._right && this._right.opened) {
784
+ if (this._right.mode == 'side') {
785
+ right += this._right._width;
786
+ }
787
+ else if (this._right.mode == 'push') {
788
+ /** @type {?} */
789
+ const width = this._right._width;
790
+ right += width;
791
+ left -= width;
792
+ }
793
+ }
794
+ // If either `right` or `left` is zero, don't set a style to the element. This
795
+ // allows users to specify a custom size via CSS class in SSR scenarios where the
796
+ // measured widths will always be zero. Note that we reset to `null` here, rather
797
+ // than below, in order to ensure that the types in the `if` below are consistent.
798
+ left = left || (/** @type {?} */ (null));
799
+ right = right || (/** @type {?} */ (null));
800
+ if (left !== this._contentMargins.left || right !== this._contentMargins.right) {
801
+ this._contentMargins = { left, right };
802
+ // Pull back into the NgZone since in some cases we could be outside. We need to be careful
803
+ // to do it only when something changed, otherwise we can end up hitting the zone too often.
804
+ this._ngZone.run((/**
805
+ * @return {?}
806
+ */
807
+ () => this._contentMarginChanges.next(this._contentMargins)));
808
+ }
637
809
  }
638
810
  /**
639
811
  * @return {?}
@@ -642,7 +814,10 @@ class MatDrawerContainer {
642
814
  // If users opted into autosizing, do a check every change detection cycle.
643
815
  if (this._autosize && this._isPushed()) {
644
816
  // Run outside the NgZone, otherwise the debouncer will throw us into an infinite loop.
645
- this._ngZone.runOutsideAngular(() => this._doCheckSubject.next());
817
+ this._ngZone.runOutsideAngular((/**
818
+ * @return {?}
819
+ */
820
+ () => this._doCheckSubject.next()));
646
821
  }
647
822
  }
648
823
  /**
@@ -654,18 +829,29 @@ class MatDrawerContainer {
654
829
  * @return {?}
655
830
  */
656
831
  _watchDrawerToggle(drawer) {
657
- drawer._animationStarted.pipe(filter((event) => event.fromState !== event.toState), takeUntil(this._drawers.changes))
658
- .subscribe((event) => {
832
+ drawer._animationStarted.pipe(filter((/**
833
+ * @param {?} event
834
+ * @return {?}
835
+ */
836
+ (event) => event.fromState !== event.toState)), takeUntil(this._drawers.changes))
837
+ .subscribe((/**
838
+ * @param {?} event
839
+ * @return {?}
840
+ */
841
+ (event) => {
659
842
  // Set the transition class on the container so that the animations occur. This should not
660
843
  // be set initially because animations should only be triggered via a change in state.
661
844
  if (event.toState !== 'open-instant' && this._animationMode !== 'NoopAnimations') {
662
845
  this._element.nativeElement.classList.add('mat-drawer-transition');
663
846
  }
664
- this._updateContentMargins();
847
+ this.updateContentMargins();
665
848
  this._changeDetectorRef.markForCheck();
666
- });
849
+ }));
667
850
  if (drawer.mode !== 'side') {
668
- drawer.openedChange.pipe(takeUntil(this._drawers.changes)).subscribe(() => this._setContainerClass(drawer.opened));
851
+ drawer.openedChange.pipe(takeUntil(this._drawers.changes)).subscribe((/**
852
+ * @return {?}
853
+ */
854
+ () => this._setContainerClass(drawer.opened)));
669
855
  }
670
856
  }
671
857
  /**
@@ -681,11 +867,17 @@ class MatDrawerContainer {
681
867
  }
682
868
  // NOTE: We need to wait for the microtask queue to be empty before validating,
683
869
  // since both drawers may be swapping positions at the same time.
684
- drawer.onPositionChanged.pipe(takeUntil(this._drawers.changes)).subscribe(() => {
685
- this._ngZone.onMicrotaskEmpty.asObservable().pipe(take(1)).subscribe(() => {
870
+ drawer.onPositionChanged.pipe(takeUntil(this._drawers.changes)).subscribe((/**
871
+ * @return {?}
872
+ */
873
+ () => {
874
+ this._ngZone.onMicrotaskEmpty.asObservable().pipe(take(1)).subscribe((/**
875
+ * @return {?}
876
+ */
877
+ () => {
686
878
  this._validateDrawers();
687
- });
688
- });
879
+ }));
880
+ }));
689
881
  }
690
882
  /**
691
883
  * Subscribes to changes in drawer mode so we can run change detection.
@@ -696,10 +888,13 @@ class MatDrawerContainer {
696
888
  _watchDrawerMode(drawer) {
697
889
  if (drawer) {
698
890
  drawer._modeChanged.pipe(takeUntil(merge(this._drawers.changes, this._destroyed)))
699
- .subscribe(() => {
700
- this._updateContentMargins();
891
+ .subscribe((/**
892
+ * @return {?}
893
+ */
894
+ () => {
895
+ this.updateContentMargins();
701
896
  this._changeDetectorRef.markForCheck();
702
- });
897
+ }));
703
898
  }
704
899
  }
705
900
  /**
@@ -724,7 +919,11 @@ class MatDrawerContainer {
724
919
  _validateDrawers() {
725
920
  this._start = this._end = null;
726
921
  // Ensure that we have at most one start and one end drawer.
727
- this._drawers.forEach(drawer => {
922
+ this._drawers.forEach((/**
923
+ * @param {?} drawer
924
+ * @return {?}
925
+ */
926
+ drawer => {
728
927
  if (drawer.position == 'end') {
729
928
  if (this._end != null) {
730
929
  throwMatDuplicatedDrawerError('end');
@@ -737,7 +936,7 @@ class MatDrawerContainer {
737
936
  }
738
937
  this._start = drawer;
739
938
  }
740
- });
939
+ }));
741
940
  this._right = this._left = null;
742
941
  // Detect if we're LTR or RTL.
743
942
  if (this._dir && this._dir.value === 'rtl') {
@@ -771,8 +970,16 @@ class MatDrawerContainer {
771
970
  _closeModalDrawer() {
772
971
  // Close all open drawers where closing is not disabled and the mode is not `side`.
773
972
  [this._start, this._end]
774
- .filter(drawer => drawer && !drawer.disableClose && this._canHaveBackdrop(drawer))
775
- .forEach(drawer => (/** @type {?} */ (drawer)).close());
973
+ .filter((/**
974
+ * @param {?} drawer
975
+ * @return {?}
976
+ */
977
+ drawer => drawer && !drawer.disableClose && this._canHaveBackdrop(drawer)))
978
+ .forEach((/**
979
+ * @param {?} drawer
980
+ * @return {?}
981
+ */
982
+ drawer => (/** @type {?} */ (drawer)).close()));
776
983
  }
777
984
  /**
778
985
  * @return {?}
@@ -797,64 +1004,6 @@ class MatDrawerContainer {
797
1004
  _isDrawerOpen(drawer) {
798
1005
  return drawer != null && drawer.opened;
799
1006
  }
800
- /**
801
- * Recalculates and updates the inline styles for the content. Note that this should be used
802
- * sparingly, because it causes a reflow.
803
- * @private
804
- * @return {?}
805
- */
806
- _updateContentMargins() {
807
- // 1. For drawers in `over` mode, they don't affect the content.
808
- // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the
809
- // left margin (for left drawer) or right margin (for right the drawer).
810
- // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by
811
- // adding to the left or right margin and simultaneously subtracting the same amount of
812
- // margin from the other side.
813
- // 1. For drawers in `over` mode, they don't affect the content.
814
- // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the
815
- // left margin (for left drawer) or right margin (for right the drawer).
816
- // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by
817
- // adding to the left or right margin and simultaneously subtracting the same amount of
818
- // margin from the other side.
819
- /** @type {?} */
820
- let left = 0;
821
- /** @type {?} */
822
- let right = 0;
823
- if (this._left && this._left.opened) {
824
- if (this._left.mode == 'side') {
825
- left += this._left._width;
826
- }
827
- else if (this._left.mode == 'push') {
828
- /** @type {?} */
829
- let width = this._left._width;
830
- left += width;
831
- right -= width;
832
- }
833
- }
834
- if (this._right && this._right.opened) {
835
- if (this._right.mode == 'side') {
836
- right += this._right._width;
837
- }
838
- else if (this._right.mode == 'push') {
839
- /** @type {?} */
840
- let width = this._right._width;
841
- right += width;
842
- left -= width;
843
- }
844
- }
845
- // If either `right` or `left` is zero, don't set a style to the element. This
846
- // allows users to specify a custom size via CSS class in SSR scenarios where the
847
- // measured widths will always be zero. Note that we reset to `null` here, rather
848
- // than below, in order to ensure that the types in the `if` below are consistent.
849
- left = left || (/** @type {?} */ (null));
850
- right = right || (/** @type {?} */ (null));
851
- if (left !== this._contentMargins.left || right !== this._contentMargins.right) {
852
- this._contentMargins = { left, right };
853
- // Pull back into the NgZone since in some cases we could be outside. We need to be careful
854
- // to do it only when something changed, otherwise we can end up hitting the zone too often.
855
- this._ngZone.run(() => this._contentMarginChanges.next(this._contentMargins));
856
- }
857
- }
858
1007
  }
859
1008
  MatDrawerContainer.decorators = [
860
1009
  { type: Component, args: [{selector: 'mat-drawer-container',
@@ -875,9 +1024,9 @@ MatDrawerContainer.ctorParameters = () => [
875
1024
  { type: ElementRef },
876
1025
  { type: NgZone },
877
1026
  { type: ChangeDetectorRef },
1027
+ { type: ViewportRuler },
878
1028
  { type: undefined, decorators: [{ type: Inject, args: [MAT_DRAWER_DEFAULT_AUTOSIZE,] }] },
879
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },
880
- { type: ViewportRuler, decorators: [{ type: Optional }] }
1029
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
881
1030
  ];
882
1031
  MatDrawerContainer.propDecorators = {
883
1032
  _drawers: [{ type: ContentChildren, args: [MatDrawer,] }],
@@ -890,7 +1039,7 @@ MatDrawerContainer.propDecorators = {
890
1039
 
891
1040
  /**
892
1041
  * @fileoverview added by tsickle
893
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1042
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
894
1043
  */
895
1044
  class MatSidenavContent extends MatDrawerContent {
896
1045
  /**
@@ -919,7 +1068,10 @@ MatSidenavContent.decorators = [
919
1068
  /** @nocollapse */
920
1069
  MatSidenavContent.ctorParameters = () => [
921
1070
  { type: ChangeDetectorRef },
922
- { type: MatSidenavContainer, decorators: [{ type: Inject, args: [forwardRef(() => MatSidenavContainer),] }] },
1071
+ { type: MatSidenavContainer, decorators: [{ type: Inject, args: [forwardRef((/**
1072
+ * @return {?}
1073
+ */
1074
+ () => MatSidenavContainer)),] }] },
923
1075
  { type: ElementRef },
924
1076
  { type: ScrollDispatcher },
925
1077
  { type: NgZone }
@@ -972,9 +1124,6 @@ MatSidenav.decorators = [
972
1124
  host: {
973
1125
  'class': 'mat-drawer mat-sidenav',
974
1126
  'tabIndex': '-1',
975
- '[@transform]': '_animationState',
976
- '(@transform.start)': '_animationStarted.next($event)',
977
- '(@transform.done)': '_animationEnd.next($event)',
978
1127
  // must prevent the browser from aligning text based on value
979
1128
  '[attr.align]': 'null',
980
1129
  '[class.mat-drawer-end]': 'position === "end"',
@@ -1016,7 +1165,7 @@ MatSidenavContainer.propDecorators = {
1016
1165
 
1017
1166
  /**
1018
1167
  * @fileoverview added by tsickle
1019
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1168
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1020
1169
  */
1021
1170
  class MatSidenavModule {
1022
1171
  }
@@ -1050,12 +1199,12 @@ MatSidenavModule.decorators = [
1050
1199
 
1051
1200
  /**
1052
1201
  * @fileoverview added by tsickle
1053
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1202
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1054
1203
  */
1055
1204
 
1056
1205
  /**
1057
1206
  * @fileoverview added by tsickle
1058
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1207
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1059
1208
  */
1060
1209
 
1061
1210
  export { MatSidenavModule, throwMatDuplicatedDrawerError, MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY, MAT_DRAWER_DEFAULT_AUTOSIZE, MatDrawerContent, MatDrawer, MatDrawerContainer, MatSidenavContent, MatSidenav, MatSidenavContainer, matDrawerAnimations };