@angular/material 7.0.4 → 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +61 -44
  3. package/autocomplete/typings/index.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/index.metadata.json +1 -1
  6. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +126 -32
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +38 -5
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js +68 -21
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +36 -13
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +21 -14
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +3 -3
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +56 -15
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +124 -34
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +189 -126
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -1
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +231 -53
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +138 -40
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-divider.umd.js +2 -2
  54. package/bundles/material-divider.umd.js.map +1 -1
  55. package/bundles/material-divider.umd.min.js.map +1 -1
  56. package/bundles/material-expansion.umd.js +53 -27
  57. package/bundles/material-expansion.umd.js.map +1 -1
  58. package/bundles/material-expansion.umd.min.js +1 -1
  59. package/bundles/material-expansion.umd.min.js.map +1 -1
  60. package/bundles/material-form-field.umd.js +121 -32
  61. package/bundles/material-form-field.umd.js.map +1 -1
  62. package/bundles/material-form-field.umd.min.js +1 -1
  63. package/bundles/material-form-field.umd.min.js.map +1 -1
  64. package/bundles/material-grid-list.umd.js +66 -15
  65. package/bundles/material-grid-list.umd.js.map +1 -1
  66. package/bundles/material-grid-list.umd.min.js +1 -1
  67. package/bundles/material-grid-list.umd.min.js.map +1 -1
  68. package/bundles/material-icon.umd.js +277 -78
  69. package/bundles/material-icon.umd.js.map +1 -1
  70. package/bundles/material-icon.umd.min.js +1 -1
  71. package/bundles/material-icon.umd.min.js.map +1 -1
  72. package/bundles/material-input.umd.js +50 -22
  73. package/bundles/material-input.umd.js.map +1 -1
  74. package/bundles/material-input.umd.min.js +1 -1
  75. package/bundles/material-input.umd.min.js.map +1 -1
  76. package/bundles/material-list.umd.js +69 -21
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -6
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +171 -66
  81. package/bundles/material-menu.umd.js.map +1 -1
  82. package/bundles/material-menu.umd.min.js +1 -1
  83. package/bundles/material-menu.umd.min.js.map +1 -1
  84. package/bundles/material-paginator.umd.js +52 -10
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js +1 -1
  87. package/bundles/material-paginator.umd.min.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.js +31 -12
  89. package/bundles/material-progress-bar.umd.js.map +1 -1
  90. package/bundles/material-progress-bar.umd.min.js +1 -1
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.js +29 -13
  93. package/bundles/material-progress-spinner.umd.js.map +1 -1
  94. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  95. package/bundles/material-radio.umd.js +38 -40
  96. package/bundles/material-radio.umd.js.map +1 -1
  97. package/bundles/material-radio.umd.min.js +1 -1
  98. package/bundles/material-radio.umd.min.js.map +1 -1
  99. package/bundles/material-select.umd.js +189 -51
  100. package/bundles/material-select.umd.js.map +1 -1
  101. package/bundles/material-select.umd.min.js +1 -1
  102. package/bundles/material-select.umd.min.js.map +1 -1
  103. package/bundles/material-sidenav.umd.js +104 -25
  104. package/bundles/material-sidenav.umd.js.map +1 -1
  105. package/bundles/material-sidenav.umd.min.js +1 -1
  106. package/bundles/material-sidenav.umd.min.js.map +1 -1
  107. package/bundles/material-slide-toggle.umd.js +30 -14
  108. package/bundles/material-slide-toggle.umd.js.map +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js +1 -1
  110. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  111. package/bundles/material-slider.umd.js +91 -21
  112. package/bundles/material-slider.umd.js.map +1 -1
  113. package/bundles/material-slider.umd.min.js +1 -1
  114. package/bundles/material-slider.umd.min.js.map +1 -1
  115. package/bundles/material-snack-bar.umd.js +71 -19
  116. package/bundles/material-snack-bar.umd.js.map +1 -1
  117. package/bundles/material-snack-bar.umd.min.js +1 -1
  118. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  119. package/bundles/material-sort.umd.js +46 -24
  120. package/bundles/material-sort.umd.js.map +1 -1
  121. package/bundles/material-sort.umd.min.js +1 -1
  122. package/bundles/material-sort.umd.min.js.map +1 -1
  123. package/bundles/material-stepper.umd.js +37 -35
  124. package/bundles/material-stepper.umd.js.map +1 -1
  125. package/bundles/material-stepper.umd.min.js +1 -1
  126. package/bundles/material-stepper.umd.min.js.map +1 -1
  127. package/bundles/material-table.umd.js +29 -9
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +170 -68
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +14 -4
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +53 -26
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js +1 -1
  141. package/bundles/material-tooltip.umd.min.js.map +1 -1
  142. package/bundles/material-tree.umd.js +25 -16
  143. package/bundles/material-tree.umd.js.map +1 -1
  144. package/bundles/material-tree.umd.min.js +1 -1
  145. package/bundles/material-tree.umd.min.js.map +1 -1
  146. package/bundles/material.umd.js +2853 -1010
  147. package/bundles/material.umd.js.map +1 -1
  148. package/bundles/material.umd.min.js +19 -21
  149. package/bundles/material.umd.min.js.map +1 -1
  150. package/button/typings/button.d.ts +0 -5
  151. package/button/typings/index.metadata.json +1 -1
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/card/typings/index.metadata.json +1 -1
  154. package/checkbox/typings/index.metadata.json +1 -1
  155. package/chips/typings/chip-list.d.ts +1 -1
  156. package/chips/typings/chip.d.ts +2 -2
  157. package/chips/typings/index.metadata.json +1 -1
  158. package/core/typings/index.metadata.json +1 -1
  159. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  160. package/core/typings/public-api.d.ts +1 -1
  161. package/datepicker/typings/calendar-body.d.ts +21 -5
  162. package/datepicker/typings/calendar.d.ts +4 -1
  163. package/datepicker/typings/datepicker.d.ts +3 -0
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/datepicker/typings/month-view.d.ts +4 -2
  166. package/dialog/typings/index.metadata.json +1 -1
  167. package/esm2015/autocomplete.js +60 -29
  168. package/esm2015/autocomplete.js.map +1 -1
  169. package/esm2015/badge.js +29 -6
  170. package/esm2015/badge.js.map +1 -1
  171. package/esm2015/bottom-sheet.js +45 -22
  172. package/esm2015/bottom-sheet.js.map +1 -1
  173. package/esm2015/button-toggle.js +20 -11
  174. package/esm2015/button-toggle.js.map +1 -1
  175. package/esm2015/button.js +20 -15
  176. package/esm2015/button.js.map +1 -1
  177. package/esm2015/card.js +5 -5
  178. package/esm2015/card.js.map +1 -1
  179. package/esm2015/checkbox.js +30 -12
  180. package/esm2015/checkbox.js.map +1 -1
  181. package/esm2015/chips.js +64 -28
  182. package/esm2015/chips.js.map +1 -1
  183. package/esm2015/core.js +148 -129
  184. package/esm2015/core.js.map +1 -1
  185. package/esm2015/datepicker.js +124 -41
  186. package/esm2015/datepicker.js.map +1 -1
  187. package/esm2015/dialog.js +77 -40
  188. package/esm2015/dialog.js.map +1 -1
  189. package/esm2015/divider.js +4 -4
  190. package/esm2015/divider.js.map +1 -1
  191. package/esm2015/expansion.js +58 -31
  192. package/esm2015/expansion.js.map +1 -1
  193. package/esm2015/form-field.js +94 -34
  194. package/esm2015/form-field.js.map +1 -1
  195. package/esm2015/grid-list.js +45 -17
  196. package/esm2015/grid-list.js.map +1 -1
  197. package/esm2015/icon.js +136 -67
  198. package/esm2015/icon.js.map +1 -1
  199. package/esm2015/input.js +44 -23
  200. package/esm2015/input.js.map +1 -1
  201. package/esm2015/list.js +47 -22
  202. package/esm2015/list.js.map +1 -1
  203. package/esm2015/material.js +13 -12
  204. package/esm2015/material.js.map +1 -1
  205. package/esm2015/menu.js +109 -63
  206. package/esm2015/menu.js.map +1 -1
  207. package/esm2015/paginator.js +35 -12
  208. package/esm2015/paginator.js.map +1 -1
  209. package/esm2015/progress-bar.js +26 -13
  210. package/esm2015/progress-bar.js.map +1 -1
  211. package/esm2015/progress-spinner.js +24 -14
  212. package/esm2015/progress-spinner.js.map +1 -1
  213. package/esm2015/radio.js +22 -21
  214. package/esm2015/radio.js.map +1 -1
  215. package/esm2015/select.js +116 -53
  216. package/esm2015/select.js.map +1 -1
  217. package/esm2015/sidenav.js +75 -28
  218. package/esm2015/sidenav.js.map +1 -1
  219. package/esm2015/slide-toggle.js +23 -15
  220. package/esm2015/slide-toggle.js.map +1 -1
  221. package/esm2015/slider.js +54 -24
  222. package/esm2015/slider.js.map +1 -1
  223. package/esm2015/snack-bar.js +41 -21
  224. package/esm2015/snack-bar.js.map +1 -1
  225. package/esm2015/sort.js +47 -24
  226. package/esm2015/sort.js.map +1 -1
  227. package/esm2015/stepper.js +35 -32
  228. package/esm2015/stepper.js.map +1 -1
  229. package/esm2015/table.js +31 -11
  230. package/esm2015/table.js.map +1 -1
  231. package/esm2015/tabs.js +113 -53
  232. package/esm2015/tabs.js.map +1 -1
  233. package/esm2015/toolbar.js +9 -5
  234. package/esm2015/toolbar.js.map +1 -1
  235. package/esm2015/tooltip.js +43 -28
  236. package/esm2015/tooltip.js.map +1 -1
  237. package/esm2015/tree.js +22 -17
  238. package/esm2015/tree.js.map +1 -1
  239. package/esm5/autocomplete.es5.js +128 -34
  240. package/esm5/autocomplete.es5.js.map +1 -1
  241. package/esm5/badge.es5.js +40 -7
  242. package/esm5/badge.es5.js.map +1 -1
  243. package/esm5/bottom-sheet.es5.js +70 -23
  244. package/esm5/bottom-sheet.es5.js.map +1 -1
  245. package/esm5/button-toggle.es5.js +38 -15
  246. package/esm5/button-toggle.es5.js.map +1 -1
  247. package/esm5/button.es5.js +23 -16
  248. package/esm5/button.es5.js.map +1 -1
  249. package/esm5/card.es5.js +5 -5
  250. package/esm5/card.es5.js.map +1 -1
  251. package/esm5/checkbox.es5.js +58 -17
  252. package/esm5/checkbox.es5.js.map +1 -1
  253. package/esm5/chips.es5.js +127 -37
  254. package/esm5/chips.es5.js.map +1 -1
  255. package/esm5/core.es5.js +192 -129
  256. package/esm5/core.es5.js.map +1 -1
  257. package/esm5/datepicker.es5.js +233 -55
  258. package/esm5/datepicker.es5.js.map +1 -1
  259. package/esm5/dialog.es5.js +140 -42
  260. package/esm5/dialog.es5.js.map +1 -1
  261. package/esm5/divider.es5.js +4 -4
  262. package/esm5/divider.es5.js.map +1 -1
  263. package/esm5/expansion.es5.js +56 -31
  264. package/esm5/expansion.es5.js.map +1 -1
  265. package/esm5/form-field.es5.js +125 -36
  266. package/esm5/form-field.es5.js.map +1 -1
  267. package/esm5/grid-list.es5.js +68 -17
  268. package/esm5/grid-list.es5.js.map +1 -1
  269. package/esm5/icon.es5.js +279 -80
  270. package/esm5/icon.es5.js.map +1 -1
  271. package/esm5/input.es5.js +52 -24
  272. package/esm5/input.es5.js.map +1 -1
  273. package/esm5/list.es5.js +72 -24
  274. package/esm5/list.es5.js.map +1 -1
  275. package/esm5/material.es5.js +13 -12
  276. package/esm5/material.es5.js.map +1 -1
  277. package/esm5/menu.es5.js +170 -65
  278. package/esm5/menu.es5.js.map +1 -1
  279. package/esm5/paginator.es5.js +55 -13
  280. package/esm5/paginator.es5.js.map +1 -1
  281. package/esm5/progress-bar.es5.js +33 -14
  282. package/esm5/progress-bar.es5.js.map +1 -1
  283. package/esm5/progress-spinner.es5.js +31 -15
  284. package/esm5/progress-spinner.es5.js.map +1 -1
  285. package/esm5/radio.es5.js +42 -42
  286. package/esm5/radio.es5.js.map +1 -1
  287. package/esm5/select.es5.js +193 -55
  288. package/esm5/select.es5.js.map +1 -1
  289. package/esm5/sidenav.es5.js +107 -28
  290. package/esm5/sidenav.es5.js.map +1 -1
  291. package/esm5/slide-toggle.es5.js +32 -16
  292. package/esm5/slide-toggle.es5.js.map +1 -1
  293. package/esm5/slider.es5.js +94 -24
  294. package/esm5/slider.es5.js.map +1 -1
  295. package/esm5/snack-bar.es5.js +73 -21
  296. package/esm5/snack-bar.es5.js.map +1 -1
  297. package/esm5/sort.es5.js +53 -26
  298. package/esm5/sort.es5.js.map +1 -1
  299. package/esm5/stepper.es5.js +40 -38
  300. package/esm5/stepper.es5.js.map +1 -1
  301. package/esm5/table.es5.js +31 -11
  302. package/esm5/table.es5.js.map +1 -1
  303. package/esm5/tabs.es5.js +162 -61
  304. package/esm5/tabs.es5.js.map +1 -1
  305. package/esm5/toolbar.es5.js +16 -6
  306. package/esm5/toolbar.es5.js.map +1 -1
  307. package/esm5/tooltip.es5.js +55 -28
  308. package/esm5/tooltip.es5.js.map +1 -1
  309. package/esm5/tree.es5.js +27 -18
  310. package/esm5/tree.es5.js.map +1 -1
  311. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  312. package/expansion/typings/expansion-panel.d.ts +19 -2
  313. package/expansion/typings/index.metadata.json +1 -1
  314. package/form-field/typings/form-field.d.ts +15 -4
  315. package/form-field/typings/index.metadata.json +1 -1
  316. package/grid-list/typings/index.d.ts +1 -1
  317. package/grid-list/typings/index.metadata.json +1 -1
  318. package/icon/typings/index.metadata.json +1 -1
  319. package/list/typings/index.metadata.json +1 -1
  320. package/material.d.ts +1 -1
  321. package/material.metadata.json +3 -3
  322. package/menu/typings/index.d.ts +4 -4
  323. package/menu/typings/index.metadata.json +1 -1
  324. package/menu/typings/menu-directive.d.ts +1 -0
  325. package/menu/typings/menu-item.d.ts +2 -0
  326. package/package.json +5 -5
  327. package/paginator/typings/index.metadata.json +1 -1
  328. package/paginator/typings/paginator.d.ts +7 -3
  329. package/prebuilt-themes/deeppurple-amber.css +1 -1
  330. package/prebuilt-themes/indigo-pink.css +1 -1
  331. package/prebuilt-themes/pink-bluegrey.css +1 -1
  332. package/prebuilt-themes/purple-green.css +1 -1
  333. package/progress-bar/typings/index.metadata.json +1 -1
  334. package/radio/typings/index.metadata.json +1 -1
  335. package/radio/typings/radio.d.ts +2 -6
  336. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  337. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  338. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  339. package/schematics/ng-add/theming/theming.js +35 -19
  340. package/schematics/ng-add/theming/theming.js.map +1 -1
  341. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  342. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  343. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/select/typings/index.metadata.json +1 -1
  347. package/select/typings/select.d.ts +12 -2
  348. package/sidenav/typings/drawer.d.ts +9 -2
  349. package/sidenav/typings/index.metadata.json +1 -1
  350. package/slide-toggle/typings/index.metadata.json +1 -1
  351. package/slider/typings/index.metadata.json +1 -1
  352. package/snack-bar/typings/index.metadata.json +1 -1
  353. package/sort/typings/index.metadata.json +1 -1
  354. package/stepper/typings/index.metadata.json +1 -1
  355. package/stepper/typings/step-header.d.ts +3 -5
  356. package/tabs/typings/index.d.ts +5 -5
  357. package/tabs/typings/index.metadata.json +1 -1
  358. package/tabs/typings/tab-body.d.ts +2 -0
  359. package/tabs/typings/tab-group.d.ts +11 -2
  360. package/tabs/typings/tab-header.d.ts +9 -3
  361. package/toolbar/typings/index.metadata.json +1 -1
  362. package/tooltip/typings/index.metadata.json +1 -1
  363. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  364. package/tree/typings/index.metadata.json +1 -1
  365. package/typings/autocomplete/index.d.ts +1 -1
  366. package/typings/autocomplete/index.metadata.json +1 -1
  367. package/typings/badge/index.metadata.json +1 -1
  368. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  369. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  370. package/typings/bottom-sheet/index.metadata.json +1 -1
  371. package/typings/button/button.d.ts +0 -5
  372. package/typings/button/index.metadata.json +1 -1
  373. package/typings/button-toggle/index.metadata.json +1 -1
  374. package/typings/card/index.metadata.json +1 -1
  375. package/typings/checkbox/index.metadata.json +1 -1
  376. package/typings/chips/chip-list.d.ts +1 -1
  377. package/typings/chips/chip.d.ts +2 -2
  378. package/typings/chips/index.metadata.json +1 -1
  379. package/typings/core/index.metadata.json +1 -1
  380. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  381. package/typings/core/public-api.d.ts +1 -1
  382. package/typings/datepicker/calendar-body.d.ts +21 -5
  383. package/typings/datepicker/calendar.d.ts +4 -1
  384. package/typings/datepicker/datepicker.d.ts +3 -0
  385. package/typings/datepicker/index.metadata.json +1 -1
  386. package/typings/datepicker/month-view.d.ts +4 -2
  387. package/typings/dialog/index.metadata.json +1 -1
  388. package/typings/esm5/autocomplete/index.d.ts +1 -1
  389. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  390. package/typings/esm5/badge/index.metadata.json +1 -1
  391. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  392. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  393. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  394. package/typings/esm5/button/button.d.ts +0 -5
  395. package/typings/esm5/button/index.metadata.json +1 -1
  396. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  397. package/typings/esm5/card/index.metadata.json +1 -1
  398. package/typings/esm5/checkbox/index.metadata.json +1 -1
  399. package/typings/esm5/chips/chip-list.d.ts +1 -1
  400. package/typings/esm5/chips/chip.d.ts +2 -2
  401. package/typings/esm5/chips/index.metadata.json +1 -1
  402. package/typings/esm5/core/index.metadata.json +1 -1
  403. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  404. package/typings/esm5/core/public-api.d.ts +1 -1
  405. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  406. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  407. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  410. package/typings/esm5/dialog/index.metadata.json +1 -1
  411. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  412. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  413. package/typings/esm5/expansion/index.metadata.json +1 -1
  414. package/typings/esm5/form-field/form-field.d.ts +15 -4
  415. package/typings/esm5/form-field/index.metadata.json +1 -1
  416. package/typings/esm5/grid-list/index.d.ts +1 -1
  417. package/typings/esm5/grid-list/index.metadata.json +1 -1
  418. package/typings/esm5/icon/index.metadata.json +1 -1
  419. package/typings/esm5/index.metadata.json +1 -1
  420. package/typings/esm5/list/index.metadata.json +1 -1
  421. package/typings/esm5/menu/index.d.ts +4 -4
  422. package/typings/esm5/menu/index.metadata.json +1 -1
  423. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  424. package/typings/esm5/menu/menu-item.d.ts +2 -0
  425. package/typings/esm5/paginator/index.metadata.json +1 -1
  426. package/typings/esm5/paginator/paginator.d.ts +7 -3
  427. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  428. package/typings/esm5/radio/index.metadata.json +1 -1
  429. package/typings/esm5/radio/radio.d.ts +2 -6
  430. package/typings/esm5/select/index.metadata.json +1 -1
  431. package/typings/esm5/select/select.d.ts +12 -2
  432. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  433. package/typings/esm5/sidenav/index.metadata.json +1 -1
  434. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  435. package/typings/esm5/slider/index.metadata.json +1 -1
  436. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  437. package/typings/esm5/sort/index.metadata.json +1 -1
  438. package/typings/esm5/stepper/index.metadata.json +1 -1
  439. package/typings/esm5/stepper/step-header.d.ts +3 -5
  440. package/typings/esm5/tabs/index.d.ts +5 -5
  441. package/typings/esm5/tabs/index.metadata.json +1 -1
  442. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  443. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  444. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  445. package/typings/esm5/toolbar/index.metadata.json +1 -1
  446. package/typings/esm5/tooltip/index.metadata.json +1 -1
  447. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  448. package/typings/esm5/tree/index.metadata.json +1 -1
  449. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  450. package/typings/expansion/expansion-panel.d.ts +19 -2
  451. package/typings/expansion/index.metadata.json +1 -1
  452. package/typings/form-field/form-field.d.ts +15 -4
  453. package/typings/form-field/index.metadata.json +1 -1
  454. package/typings/grid-list/index.d.ts +1 -1
  455. package/typings/grid-list/index.metadata.json +1 -1
  456. package/typings/icon/index.metadata.json +1 -1
  457. package/typings/index.metadata.json +1 -1
  458. package/typings/list/index.metadata.json +1 -1
  459. package/typings/menu/index.d.ts +4 -4
  460. package/typings/menu/index.metadata.json +1 -1
  461. package/typings/menu/menu-directive.d.ts +1 -0
  462. package/typings/menu/menu-item.d.ts +2 -0
  463. package/typings/paginator/index.metadata.json +1 -1
  464. package/typings/paginator/paginator.d.ts +7 -3
  465. package/typings/progress-bar/index.metadata.json +1 -1
  466. package/typings/radio/index.metadata.json +1 -1
  467. package/typings/radio/radio.d.ts +2 -6
  468. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  469. package/typings/select/index.metadata.json +1 -1
  470. package/typings/select/select.d.ts +12 -2
  471. package/typings/sidenav/drawer.d.ts +9 -2
  472. package/typings/sidenav/index.metadata.json +1 -1
  473. package/typings/slide-toggle/index.metadata.json +1 -1
  474. package/typings/slider/index.metadata.json +1 -1
  475. package/typings/snack-bar/index.metadata.json +1 -1
  476. package/typings/sort/index.metadata.json +1 -1
  477. package/typings/stepper/index.metadata.json +1 -1
  478. package/typings/stepper/step-header.d.ts +3 -5
  479. package/typings/tabs/index.d.ts +5 -5
  480. package/typings/tabs/index.metadata.json +1 -1
  481. package/typings/tabs/tab-body.d.ts +2 -0
  482. package/typings/tabs/tab-group.d.ts +11 -2
  483. package/typings/tabs/tab-header.d.ts +9 -3
  484. package/typings/toolbar/index.metadata.json +1 -1
  485. package/typings/tooltip/index.metadata.json +1 -1
  486. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  487. package/typings/tree/index.metadata.json +1 -1
  488. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -42,7 +42,7 @@ function __extends(d, b) {
42
42
 
43
43
  /**
44
44
  * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
45
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
46
  */
47
47
 
48
48
  /**
@@ -58,7 +58,7 @@ function createMissingDateImplError(provider) {
58
58
 
59
59
  /**
60
60
  * @fileoverview added by tsickle
61
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
61
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
62
62
  */
63
63
  /**
64
64
  * Datepicker data that requires internationalization.
@@ -120,7 +120,7 @@ var MatDatepickerIntl = /** @class */ (function () {
120
120
 
121
121
  /**
122
122
  * @fileoverview added by tsickle
123
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
123
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
124
124
  */
125
125
  /**
126
126
  * An internal class that represents the data corresponding to a single calendar cell.
@@ -131,11 +131,12 @@ var /**
131
131
  * \@docs-private
132
132
  */
133
133
  MatCalendarCell = /** @class */ (function () {
134
- function MatCalendarCell(value, displayValue, ariaLabel, enabled) {
134
+ function MatCalendarCell(value, displayValue, ariaLabel, enabled, cssClasses) {
135
135
  this.value = value;
136
136
  this.displayValue = displayValue;
137
137
  this.ariaLabel = ariaLabel;
138
138
  this.enabled = enabled;
139
+ this.cssClasses = cssClasses;
139
140
  }
140
141
  return MatCalendarCell;
141
142
  }());
@@ -178,19 +179,28 @@ var MatCalendarBody = /** @class */ (function () {
178
179
  this.selectedValueChange.emit(cell.value);
179
180
  }
180
181
  };
181
- Object.defineProperty(MatCalendarBody.prototype, "_firstRowOffset", {
182
- /** The number of blank cells to put at the beginning for the first row. */
183
- get: /**
184
- * The number of blank cells to put at the beginning for the first row.
185
- * @return {?}
186
- */
187
- function () {
188
- return this.rows && this.rows.length && this.rows[0].length ?
189
- this.numCols - this.rows[0].length : 0;
190
- },
191
- enumerable: true,
192
- configurable: true
193
- });
182
+ /**
183
+ * @param {?} changes
184
+ * @return {?}
185
+ */
186
+ MatCalendarBody.prototype.ngOnChanges = /**
187
+ * @param {?} changes
188
+ * @return {?}
189
+ */
190
+ function (changes) {
191
+ /** @type {?} */
192
+ var columnChanges = changes.numCols;
193
+ var _a = this, rows = _a.rows, numCols = _a.numCols;
194
+ if (changes.rows || columnChanges) {
195
+ this._firstRowOffset = rows && rows.length && rows[0].length ? numCols - rows[0].length : 0;
196
+ }
197
+ if (changes.cellAspectRatio || columnChanges || !this._cellPadding) {
198
+ this._cellPadding = 50 * this.cellAspectRatio / numCols + "%";
199
+ }
200
+ if (columnChanges || !this._cellWidth) {
201
+ this._cellWidth = 100 / numCols + "%";
202
+ }
203
+ };
194
204
  /**
195
205
  * @param {?} rowIndex
196
206
  * @param {?} colIndex
@@ -233,8 +243,8 @@ var MatCalendarBody = /** @class */ (function () {
233
243
  };
234
244
  MatCalendarBody.decorators = [
235
245
  { type: core.Component, args: [{selector: '[mat-calendar-body]',
236
- template: "<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\"><td class=\"mat-calendar-body-label\" [attr.colspan]=\"numCols\" [style.paddingTop.%]=\"50 * cellAspectRatio / numCols\" [style.paddingBottom.%]=\"50 * cellAspectRatio / numCols\">{{label}}</td></tr><tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\"><td *ngIf=\"rowIndex === 0 && _firstRowOffset\" aria-hidden=\"true\" class=\"mat-calendar-body-label\" [attr.colspan]=\"_firstRowOffset\" [style.paddingTop.%]=\"50 * cellAspectRatio / numCols\" [style.paddingBottom.%]=\"50 * cellAspectRatio / numCols\">{{_firstRowOffset >= labelMinRequiredCells ? label : ''}}</td><td *ngFor=\"let item of row; let colIndex = index\" role=\"gridcell\" class=\"mat-calendar-body-cell\" [tabindex]=\"_isActiveCell(rowIndex, colIndex) ? 0 : -1\" [class.mat-calendar-body-disabled]=\"!item.enabled\" [class.mat-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\" [attr.aria-label]=\"item.ariaLabel\" [attr.aria-disabled]=\"!item.enabled || null\" [attr.aria-selected]=\"selectedValue === item.value\" (click)=\"_cellClicked(item)\" [style.width.%]=\"100 / numCols\" [style.paddingTop.%]=\"50 * cellAspectRatio / numCols\" [style.paddingBottom.%]=\"50 * cellAspectRatio / numCols\"><div class=\"mat-calendar-body-cell-content\" [class.mat-calendar-body-selected]=\"selectedValue === item.value\" [class.mat-calendar-body-today]=\"todayValue === item.value\">{{item.displayValue}}</div></td></tr>",
237
- styles: [".mat-calendar-body{min-width:224px}.mat-calendar-body-label{height:0;line-height:0;text-align:left;padding-left:4.71429%;padding-right:4.71429%}.mat-calendar-body-cell{position:relative;height:0;line-height:0;text-align:center;outline:0;cursor:pointer}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px}@media screen and (-ms-high-contrast:active){.mat-calendar-body-cell-content{border:none}}@media screen and (-ms-high-contrast:active){.mat-calendar-body-selected,.mat-datepicker-popup:not(:empty){outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}}[dir=rtl] .mat-calendar-body-label{text-align:right}"],
246
+ template: "<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\"><td class=\"mat-calendar-body-label\" [attr.colspan]=\"numCols\" [style.paddingTop]=\"_cellPadding\" [style.paddingBottom]=\"_cellPadding\">{{label}}</td></tr><tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\"><td *ngIf=\"rowIndex === 0 && _firstRowOffset\" aria-hidden=\"true\" class=\"mat-calendar-body-label\" [attr.colspan]=\"_firstRowOffset\" [style.paddingTop]=\"_cellPadding\" [style.paddingBottom]=\"_cellPadding\">{{_firstRowOffset >= labelMinRequiredCells ? label : ''}}</td><td *ngFor=\"let item of row; let colIndex = index\" role=\"gridcell\" class=\"mat-calendar-body-cell\" [ngClass]=\"item.cssClasses\" [tabindex]=\"_isActiveCell(rowIndex, colIndex) ? 0 : -1\" [class.mat-calendar-body-disabled]=\"!item.enabled\" [class.mat-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\" [attr.aria-label]=\"item.ariaLabel\" [attr.aria-disabled]=\"!item.enabled || null\" [attr.aria-selected]=\"selectedValue === item.value\" (click)=\"_cellClicked(item)\" [style.width]=\"_cellWidth\" [style.paddingTop]=\"_cellPadding\" [style.paddingBottom]=\"_cellPadding\"><div class=\"mat-calendar-body-cell-content\" [class.mat-calendar-body-selected]=\"selectedValue === item.value\" [class.mat-calendar-body-today]=\"todayValue === item.value\">{{item.displayValue}}</div></td></tr>",
247
+ styles: [".mat-calendar-body{min-width:224px}.mat-calendar-body-label{height:0;line-height:0;text-align:left;padding-left:4.71429%;padding-right:4.71429%}.mat-calendar-body-cell{position:relative;height:0;line-height:0;text-align:center;outline:0;cursor:pointer}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px}@media (-ms-high-contrast:active){.mat-calendar-body-cell-content{border:none}}@media (-ms-high-contrast:active){.mat-calendar-body-selected,.mat-datepicker-popup:not(:empty){outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}}[dir=rtl] .mat-calendar-body-label{text-align:right}"],
238
248
  host: {
239
249
  'class': 'mat-calendar-body',
240
250
  'role': 'grid',
@@ -266,7 +276,7 @@ var MatCalendarBody = /** @class */ (function () {
266
276
 
267
277
  /**
268
278
  * @fileoverview added by tsickle
269
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
279
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
270
280
  */
271
281
  /** @type {?} */
272
282
  var DAYS_PER_WEEK = 7;
@@ -305,6 +315,7 @@ var MatMonthView = /** @class */ (function () {
305
315
  var narrowWeekdays = this._dateAdapter.getDayOfWeekNames('narrow');
306
316
  /** @type {?} */
307
317
  var longWeekdays = this._dateAdapter.getDayOfWeekNames('long');
318
+ // Rotate the labels for days of the week based on the configured first day of the week.
308
319
  /** @type {?} */
309
320
  var weekdays = longWeekdays.map(function (long, i) {
310
321
  return { long: long, narrow: narrowWeekdays[i] };
@@ -434,6 +445,12 @@ var MatMonthView = /** @class */ (function () {
434
445
  * @return {?}
435
446
  */
436
447
  function (event) {
448
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
449
+ // disabled ones from being selected. This may not be ideal, we should look into whether
450
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
451
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
452
+ // disabled ones from being selected. This may not be ideal, we should look into whether
453
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
437
454
  /** @type {?} */
438
455
  var oldActiveDate = this._activeDate;
439
456
  /** @type {?} */
@@ -523,12 +540,15 @@ var MatMonthView = /** @class */ (function () {
523
540
  function () {
524
541
  this._matCalendarBody._focusActiveCell();
525
542
  };
543
+ /** Creates MatCalendarCells for the dates in this month. */
526
544
  /**
527
545
  * Creates MatCalendarCells for the dates in this month.
546
+ * @private
528
547
  * @return {?}
529
548
  */
530
549
  MatMonthView.prototype._createWeekCells = /**
531
550
  * Creates MatCalendarCells for the dates in this month.
551
+ * @private
532
552
  * @return {?}
533
553
  */
534
554
  function () {
@@ -548,17 +568,22 @@ var MatMonthView = /** @class */ (function () {
548
568
  var enabled = this._shouldEnableDate(date);
549
569
  /** @type {?} */
550
570
  var ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.dateA11yLabel);
571
+ /** @type {?} */
572
+ var cellClasses = this.dateClass ? this.dateClass(date) : undefined;
551
573
  this._weeks[this._weeks.length - 1]
552
- .push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
574
+ .push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled, cellClasses));
553
575
  }
554
576
  };
577
+ /** Date filter for the month */
555
578
  /**
556
579
  * Date filter for the month
580
+ * @private
557
581
  * @param {?} date
558
582
  * @return {?}
559
583
  */
560
584
  MatMonthView.prototype._shouldEnableDate = /**
561
585
  * Date filter for the month
586
+ * @private
562
587
  * @param {?} date
563
588
  * @return {?}
564
589
  */
@@ -571,12 +596,18 @@ var MatMonthView = /** @class */ (function () {
571
596
  /**
572
597
  * Gets the date in this month that the given Date falls on.
573
598
  * Returns null if the given Date is in another month.
599
+ */
600
+ /**
601
+ * Gets the date in this month that the given Date falls on.
602
+ * Returns null if the given Date is in another month.
603
+ * @private
574
604
  * @param {?} date
575
605
  * @return {?}
576
606
  */
577
607
  MatMonthView.prototype._getDateInCurrentMonth = /**
578
608
  * Gets the date in this month that the given Date falls on.
579
609
  * Returns null if the given Date is in another month.
610
+ * @private
580
611
  * @param {?} date
581
612
  * @return {?}
582
613
  */
@@ -584,14 +615,17 @@ var MatMonthView = /** @class */ (function () {
584
615
  return date && this._hasSameMonthAndYear(date, this.activeDate) ?
585
616
  this._dateAdapter.getDate(date) : null;
586
617
  };
618
+ /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */
587
619
  /**
588
620
  * Checks whether the 2 dates are non-null and fall within the same month of the same year.
621
+ * @private
589
622
  * @param {?} d1
590
623
  * @param {?} d2
591
624
  * @return {?}
592
625
  */
593
626
  MatMonthView.prototype._hasSameMonthAndYear = /**
594
627
  * Checks whether the 2 dates are non-null and fall within the same month of the same year.
628
+ * @private
595
629
  * @param {?} d1
596
630
  * @param {?} d2
597
631
  * @return {?}
@@ -601,22 +635,31 @@ var MatMonthView = /** @class */ (function () {
601
635
  this._dateAdapter.getYear(d1) == this._dateAdapter.getYear(d2));
602
636
  };
603
637
  /**
638
+ * @param obj The object to check.
639
+ * @returns The given object if it is both a date instance and valid, otherwise null.
640
+ */
641
+ /**
642
+ * @private
604
643
  * @param {?} obj The object to check.
605
644
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
606
645
  */
607
646
  MatMonthView.prototype._getValidDateOrNull = /**
647
+ * @private
608
648
  * @param {?} obj The object to check.
609
649
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
610
650
  */
611
651
  function (obj) {
612
652
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
613
653
  };
654
+ /** Determines whether the user has the RTL layout direction. */
614
655
  /**
615
656
  * Determines whether the user has the RTL layout direction.
657
+ * @private
616
658
  * @return {?}
617
659
  */
618
660
  MatMonthView.prototype._isRtl = /**
619
661
  * Determines whether the user has the RTL layout direction.
662
+ * @private
620
663
  * @return {?}
621
664
  */
622
665
  function () {
@@ -643,6 +686,7 @@ var MatMonthView = /** @class */ (function () {
643
686
  minDate: [{ type: core.Input }],
644
687
  maxDate: [{ type: core.Input }],
645
688
  dateFilter: [{ type: core.Input }],
689
+ dateClass: [{ type: core.Input }],
646
690
  selectedChange: [{ type: core.Output }],
647
691
  _userSelection: [{ type: core.Output }],
648
692
  activeDateChange: [{ type: core.Output }],
@@ -653,7 +697,7 @@ var MatMonthView = /** @class */ (function () {
653
697
 
654
698
  /**
655
699
  * @fileoverview added by tsickle
656
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
700
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
657
701
  */
658
702
  /** @type {?} */
659
703
  var yearsPerPage = 24;
@@ -829,6 +873,12 @@ var MatMultiYearView = /** @class */ (function () {
829
873
  * @return {?}
830
874
  */
831
875
  function (event) {
876
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
877
+ // disabled ones from being selected. This may not be ideal, we should look into whether
878
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
879
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
880
+ // disabled ones from being selected. This may not be ideal, we should look into whether
881
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
832
882
  /** @type {?} */
833
883
  var oldActiveDate = this._activeDate;
834
884
  /** @type {?} */
@@ -896,13 +946,16 @@ var MatMultiYearView = /** @class */ (function () {
896
946
  function () {
897
947
  this._matCalendarBody._focusActiveCell();
898
948
  };
949
+ /** Creates an MatCalendarCell for the given year. */
899
950
  /**
900
951
  * Creates an MatCalendarCell for the given year.
952
+ * @private
901
953
  * @param {?} year
902
954
  * @return {?}
903
955
  */
904
956
  MatMultiYearView.prototype._createCellForYear = /**
905
957
  * Creates an MatCalendarCell for the given year.
958
+ * @private
906
959
  * @param {?} year
907
960
  * @return {?}
908
961
  */
@@ -911,13 +964,16 @@ var MatMultiYearView = /** @class */ (function () {
911
964
  var yearName = this._dateAdapter.getYearName(this._dateAdapter.createDate(year, 0, 1));
912
965
  return new MatCalendarCell(year, yearName, yearName, this._shouldEnableYear(year));
913
966
  };
967
+ /** Whether the given year is enabled. */
914
968
  /**
915
969
  * Whether the given year is enabled.
970
+ * @private
916
971
  * @param {?} year
917
972
  * @return {?}
918
973
  */
919
974
  MatMultiYearView.prototype._shouldEnableYear = /**
920
975
  * Whether the given year is enabled.
976
+ * @private
921
977
  * @param {?} year
922
978
  * @return {?}
923
979
  */
@@ -943,22 +999,31 @@ var MatMultiYearView = /** @class */ (function () {
943
999
  return false;
944
1000
  };
945
1001
  /**
1002
+ * @param obj The object to check.
1003
+ * @returns The given object if it is both a date instance and valid, otherwise null.
1004
+ */
1005
+ /**
1006
+ * @private
946
1007
  * @param {?} obj The object to check.
947
1008
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
948
1009
  */
949
1010
  MatMultiYearView.prototype._getValidDateOrNull = /**
1011
+ * @private
950
1012
  * @param {?} obj The object to check.
951
1013
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
952
1014
  */
953
1015
  function (obj) {
954
1016
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
955
1017
  };
1018
+ /** Determines whether the user has the RTL layout direction. */
956
1019
  /**
957
1020
  * Determines whether the user has the RTL layout direction.
1021
+ * @private
958
1022
  * @return {?}
959
1023
  */
960
1024
  MatMultiYearView.prototype._isRtl = /**
961
1025
  * Determines whether the user has the RTL layout direction.
1026
+ * @private
962
1027
  * @return {?}
963
1028
  */
964
1029
  function () {
@@ -994,7 +1059,7 @@ var MatMultiYearView = /** @class */ (function () {
994
1059
 
995
1060
  /**
996
1061
  * @fileoverview added by tsickle
997
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1062
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
998
1063
  */
999
1064
  /**
1000
1065
  * An internal component used to display a single year in the datepicker.
@@ -1143,6 +1208,12 @@ var MatYearView = /** @class */ (function () {
1143
1208
  * @return {?}
1144
1209
  */
1145
1210
  function (event) {
1211
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
1212
+ // disabled ones from being selected. This may not be ideal, we should look into whether
1213
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
1214
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
1215
+ // disabled ones from being selected. This may not be ideal, we should look into whether
1216
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
1146
1217
  /** @type {?} */
1147
1218
  var oldActiveDate = this._activeDate;
1148
1219
  /** @type {?} */
@@ -1224,12 +1295,18 @@ var MatYearView = /** @class */ (function () {
1224
1295
  /**
1225
1296
  * Gets the month in this year that the given Date falls on.
1226
1297
  * Returns null if the given Date is in another year.
1298
+ */
1299
+ /**
1300
+ * Gets the month in this year that the given Date falls on.
1301
+ * Returns null if the given Date is in another year.
1302
+ * @private
1227
1303
  * @param {?} date
1228
1304
  * @return {?}
1229
1305
  */
1230
1306
  MatYearView.prototype._getMonthInCurrentYear = /**
1231
1307
  * Gets the month in this year that the given Date falls on.
1232
1308
  * Returns null if the given Date is in another year.
1309
+ * @private
1233
1310
  * @param {?} date
1234
1311
  * @return {?}
1235
1312
  */
@@ -1237,14 +1314,17 @@ var MatYearView = /** @class */ (function () {
1237
1314
  return date && this._dateAdapter.getYear(date) == this._dateAdapter.getYear(this.activeDate) ?
1238
1315
  this._dateAdapter.getMonth(date) : null;
1239
1316
  };
1317
+ /** Creates an MatCalendarCell for the given month. */
1240
1318
  /**
1241
1319
  * Creates an MatCalendarCell for the given month.
1320
+ * @private
1242
1321
  * @param {?} month
1243
1322
  * @param {?} monthName
1244
1323
  * @return {?}
1245
1324
  */
1246
1325
  MatYearView.prototype._createCellForMonth = /**
1247
1326
  * Creates an MatCalendarCell for the given month.
1327
+ * @private
1248
1328
  * @param {?} month
1249
1329
  * @param {?} monthName
1250
1330
  * @return {?}
@@ -1254,13 +1334,16 @@ var MatYearView = /** @class */ (function () {
1254
1334
  var ariaLabel = this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1), this._dateFormats.display.monthYearA11yLabel);
1255
1335
  return new MatCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._shouldEnableMonth(month));
1256
1336
  };
1337
+ /** Whether the given month is enabled. */
1257
1338
  /**
1258
1339
  * Whether the given month is enabled.
1340
+ * @private
1259
1341
  * @param {?} month
1260
1342
  * @return {?}
1261
1343
  */
1262
1344
  MatYearView.prototype._shouldEnableMonth = /**
1263
1345
  * Whether the given month is enabled.
1346
+ * @private
1264
1347
  * @param {?} month
1265
1348
  * @return {?}
1266
1349
  */
@@ -1288,6 +1371,11 @@ var MatYearView = /** @class */ (function () {
1288
1371
  /**
1289
1372
  * Tests whether the combination month/year is after this.maxDate, considering
1290
1373
  * just the month and year of this.maxDate
1374
+ */
1375
+ /**
1376
+ * Tests whether the combination month/year is after this.maxDate, considering
1377
+ * just the month and year of this.maxDate
1378
+ * @private
1291
1379
  * @param {?} year
1292
1380
  * @param {?} month
1293
1381
  * @return {?}
@@ -1295,6 +1383,7 @@ var MatYearView = /** @class */ (function () {
1295
1383
  MatYearView.prototype._isYearAndMonthAfterMaxDate = /**
1296
1384
  * Tests whether the combination month/year is after this.maxDate, considering
1297
1385
  * just the month and year of this.maxDate
1386
+ * @private
1298
1387
  * @param {?} year
1299
1388
  * @param {?} month
1300
1389
  * @return {?}
@@ -1312,6 +1401,11 @@ var MatYearView = /** @class */ (function () {
1312
1401
  /**
1313
1402
  * Tests whether the combination month/year is before this.minDate, considering
1314
1403
  * just the month and year of this.minDate
1404
+ */
1405
+ /**
1406
+ * Tests whether the combination month/year is before this.minDate, considering
1407
+ * just the month and year of this.minDate
1408
+ * @private
1315
1409
  * @param {?} year
1316
1410
  * @param {?} month
1317
1411
  * @return {?}
@@ -1319,6 +1413,7 @@ var MatYearView = /** @class */ (function () {
1319
1413
  MatYearView.prototype._isYearAndMonthBeforeMinDate = /**
1320
1414
  * Tests whether the combination month/year is before this.minDate, considering
1321
1415
  * just the month and year of this.minDate
1416
+ * @private
1322
1417
  * @param {?} year
1323
1418
  * @param {?} month
1324
1419
  * @return {?}
@@ -1334,22 +1429,31 @@ var MatYearView = /** @class */ (function () {
1334
1429
  return false;
1335
1430
  };
1336
1431
  /**
1432
+ * @param obj The object to check.
1433
+ * @returns The given object if it is both a date instance and valid, otherwise null.
1434
+ */
1435
+ /**
1436
+ * @private
1337
1437
  * @param {?} obj The object to check.
1338
1438
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1339
1439
  */
1340
1440
  MatYearView.prototype._getValidDateOrNull = /**
1441
+ * @private
1341
1442
  * @param {?} obj The object to check.
1342
1443
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1343
1444
  */
1344
1445
  function (obj) {
1345
1446
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
1346
1447
  };
1448
+ /** Determines whether the user has the RTL layout direction. */
1347
1449
  /**
1348
1450
  * Determines whether the user has the RTL layout direction.
1451
+ * @private
1349
1452
  * @return {?}
1350
1453
  */
1351
1454
  MatYearView.prototype._isRtl = /**
1352
1455
  * Determines whether the user has the RTL layout direction.
1456
+ * @private
1353
1457
  * @return {?}
1354
1458
  */
1355
1459
  function () {
@@ -1386,7 +1490,7 @@ var MatYearView = /** @class */ (function () {
1386
1490
 
1387
1491
  /**
1388
1492
  * @fileoverview added by tsickle
1389
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1493
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1390
1494
  */
1391
1495
  /**
1392
1496
  * Default header for MatCalendar
@@ -1538,14 +1642,17 @@ var MatCalendarHeader = /** @class */ (function () {
1538
1642
  return !this.calendar.maxDate ||
1539
1643
  !this._isSameView(this.calendar.activeDate, this.calendar.maxDate);
1540
1644
  };
1645
+ /** Whether the two dates represent the same view in the current view mode (month or year). */
1541
1646
  /**
1542
1647
  * Whether the two dates represent the same view in the current view mode (month or year).
1648
+ * @private
1543
1649
  * @param {?} date1
1544
1650
  * @param {?} date2
1545
1651
  * @return {?}
1546
1652
  */
1547
1653
  MatCalendarHeader.prototype._isSameView = /**
1548
1654
  * Whether the two dates represent the same view in the current view mode (month or year).
1655
+ * @private
1549
1656
  * @param {?} date1
1550
1657
  * @param {?} date2
1551
1658
  * @return {?}
@@ -1786,7 +1893,7 @@ var MatCalendar = /** @class */ (function () {
1786
1893
  */
1787
1894
  function (changes) {
1788
1895
  /** @type {?} */
1789
- var change = changes["minDate"] || changes["maxDate"] || changes["dateFilter"];
1896
+ var change = changes.minDate || changes.maxDate || changes.dateFilter;
1790
1897
  if (change && !change.firstChange) {
1791
1898
  /** @type {?} */
1792
1899
  var view = this._getCurrentViewComponent();
@@ -1894,22 +2001,31 @@ var MatCalendar = /** @class */ (function () {
1894
2001
  this.currentView = view;
1895
2002
  };
1896
2003
  /**
2004
+ * @param obj The object to check.
2005
+ * @returns The given object if it is both a date instance and valid, otherwise null.
2006
+ */
2007
+ /**
2008
+ * @private
1897
2009
  * @param {?} obj The object to check.
1898
2010
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1899
2011
  */
1900
2012
  MatCalendar.prototype._getValidDateOrNull = /**
2013
+ * @private
1901
2014
  * @param {?} obj The object to check.
1902
2015
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1903
2016
  */
1904
2017
  function (obj) {
1905
2018
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
1906
2019
  };
2020
+ /** Returns the component instance that corresponds to the current calendar view. */
1907
2021
  /**
1908
2022
  * Returns the component instance that corresponds to the current calendar view.
2023
+ * @private
1909
2024
  * @return {?}
1910
2025
  */
1911
2026
  MatCalendar.prototype._getCurrentViewComponent = /**
1912
2027
  * Returns the component instance that corresponds to the current calendar view.
2028
+ * @private
1913
2029
  * @return {?}
1914
2030
  */
1915
2031
  function () {
@@ -1917,7 +2033,7 @@ var MatCalendar = /** @class */ (function () {
1917
2033
  };
1918
2034
  MatCalendar.decorators = [
1919
2035
  { type: core.Component, args: [{selector: 'mat-calendar',
1920
- template: "<ng-template [cdkPortalOutlet]=\"_calendarHeaderPortal\"></ng-template><div class=\"mat-calendar-content\" [ngSwitch]=\"currentView\" cdkMonitorSubtreeFocus tabindex=\"-1\"><mat-month-view *ngSwitchCase=\"'month'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" (selectedChange)=\"_dateSelected($event)\" (_userSelection)=\"_userSelected()\"></mat-month-view><mat-year-view *ngSwitchCase=\"'year'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" (monthSelected)=\"_monthSelectedInYearView($event)\" (selectedChange)=\"_goToDateInView($event, 'month')\"></mat-year-view><mat-multi-year-view *ngSwitchCase=\"'multi-year'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" (yearSelected)=\"_yearSelectedInMultiYearView($event)\" (selectedChange)=\"_goToDateInView($event, 'year')\"></mat-multi-year-view></div>",
2036
+ template: "<ng-template [cdkPortalOutlet]=\"_calendarHeaderPortal\"></ng-template><div class=\"mat-calendar-content\" [ngSwitch]=\"currentView\" cdkMonitorSubtreeFocus tabindex=\"-1\"><mat-month-view *ngSwitchCase=\"'month'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [dateClass]=\"dateClass\" (selectedChange)=\"_dateSelected($event)\" (_userSelection)=\"_userSelected()\"></mat-month-view><mat-year-view *ngSwitchCase=\"'year'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" (monthSelected)=\"_monthSelectedInYearView($event)\" (selectedChange)=\"_goToDateInView($event, 'month')\"></mat-year-view><mat-multi-year-view *ngSwitchCase=\"'multi-year'\" [(activeDate)]=\"activeDate\" [selected]=\"selected\" [dateFilter]=\"dateFilter\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" (yearSelected)=\"_yearSelectedInMultiYearView($event)\" (selectedChange)=\"_goToDateInView($event, 'year')\"></mat-multi-year-view></div>",
1921
2037
  styles: [".mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:0}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-next-button,.mat-calendar-previous-button{position:relative}.mat-calendar-next-button::after,.mat-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-next-button,[dir=rtl] .mat-calendar-previous-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}"],
1922
2038
  host: {
1923
2039
  'class': 'mat-calendar',
@@ -1942,6 +2058,7 @@ var MatCalendar = /** @class */ (function () {
1942
2058
  minDate: [{ type: core.Input }],
1943
2059
  maxDate: [{ type: core.Input }],
1944
2060
  dateFilter: [{ type: core.Input }],
2061
+ dateClass: [{ type: core.Input }],
1945
2062
  selectedChange: [{ type: core.Output }],
1946
2063
  yearSelected: [{ type: core.Output }],
1947
2064
  monthSelected: [{ type: core.Output }],
@@ -1955,14 +2072,17 @@ var MatCalendar = /** @class */ (function () {
1955
2072
 
1956
2073
  /**
1957
2074
  * @fileoverview added by tsickle
1958
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2075
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1959
2076
  */
1960
- /** *
2077
+ /**
1961
2078
  * Animations used by the Material datepicker.
1962
2079
  * \@docs-private
1963
- @type {?} */
2080
+ * @type {?}
2081
+ */
1964
2082
  var matDatepickerAnimations = {
1965
- /** Transforms the height of the datepicker's calendar. */
2083
+ /**
2084
+ * Transforms the height of the datepicker's calendar.
2085
+ */
1966
2086
  transformPanel: animations.trigger('transformPanel', [
1967
2087
  animations.state('void', animations.style({
1968
2088
  opacity: 0,
@@ -1974,7 +2094,9 @@ var matDatepickerAnimations = {
1974
2094
  }))),
1975
2095
  animations.transition('* => void', animations.animate('100ms linear', animations.style({ opacity: 0 })))
1976
2096
  ]),
1977
- /** Fades in the content of the calendar. */
2097
+ /**
2098
+ * Fades in the content of the calendar.
2099
+ */
1978
2100
  fadeInCalendar: animations.trigger('fadeInCalendar', [
1979
2101
  animations.state('void', animations.style({ opacity: 0 })),
1980
2102
  animations.state('enter', animations.style({ opacity: 1 })),
@@ -1986,15 +2108,17 @@ var matDatepickerAnimations = {
1986
2108
 
1987
2109
  /**
1988
2110
  * @fileoverview added by tsickle
1989
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2111
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1990
2112
  */
1991
- /** *
2113
+ /**
1992
2114
  * Used to generate a unique ID for each datepicker instance.
1993
- @type {?} */
2115
+ * @type {?}
2116
+ */
1994
2117
  var datepickerUid = 0;
1995
- /** *
2118
+ /**
1996
2119
  * Injection token that determines the scroll handling while the calendar is open.
1997
- @type {?} */
2120
+ * @type {?}
2121
+ */
1998
2122
  var MAT_DATEPICKER_SCROLL_STRATEGY = new core.InjectionToken('mat-datepicker-scroll-strategy');
1999
2123
  /**
2000
2124
  * \@docs-private
@@ -2004,18 +2128,22 @@ var MAT_DATEPICKER_SCROLL_STRATEGY = new core.InjectionToken('mat-datepicker-scr
2004
2128
  function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(overlay$$1) {
2005
2129
  return function () { return overlay$$1.scrollStrategies.reposition(); };
2006
2130
  }
2007
- /** *
2131
+ /**
2008
2132
  * \@docs-private
2009
- @type {?} */
2133
+ * @type {?}
2134
+ */
2010
2135
  var MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {
2011
2136
  provide: MAT_DATEPICKER_SCROLL_STRATEGY,
2012
2137
  deps: [overlay.Overlay],
2013
2138
  useFactory: MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY,
2014
2139
  };
2140
+ // Boilerplate for applying mixins to MatDatepickerContent.
2015
2141
  /**
2016
2142
  * \@docs-private
2017
2143
  */
2018
- var /**
2144
+ var
2145
+ // Boilerplate for applying mixins to MatDatepickerContent.
2146
+ /**
2019
2147
  * \@docs-private
2020
2148
  */
2021
2149
  MatDatepickerContentBase = /** @class */ (function () {
@@ -2050,7 +2178,7 @@ var MatDatepickerContent = /** @class */ (function (_super) {
2050
2178
  };
2051
2179
  MatDatepickerContent.decorators = [
2052
2180
  { type: core.Component, args: [{selector: 'mat-datepicker-content',
2053
- template: "<mat-calendar cdkTrapFocus [id]=\"datepicker.id\" [ngClass]=\"datepicker.panelClass\" [startAt]=\"datepicker.startAt\" [startView]=\"datepicker.startView\" [minDate]=\"datepicker._minDate\" [maxDate]=\"datepicker._maxDate\" [dateFilter]=\"datepicker._dateFilter\" [headerComponent]=\"datepicker.calendarHeaderComponent\" [selected]=\"datepicker._selected\" [@fadeInCalendar]=\"'enter'\" (selectedChange)=\"datepicker.select($event)\" (yearSelected)=\"datepicker._selectYear($event)\" (monthSelected)=\"datepicker._selectMonth($event)\" (_userSelection)=\"datepicker.close()\"></mat-calendar>",
2181
+ template: "<mat-calendar cdkTrapFocus [id]=\"datepicker.id\" [ngClass]=\"datepicker.panelClass\" [startAt]=\"datepicker.startAt\" [startView]=\"datepicker.startView\" [minDate]=\"datepicker._minDate\" [maxDate]=\"datepicker._maxDate\" [dateFilter]=\"datepicker._dateFilter\" [headerComponent]=\"datepicker.calendarHeaderComponent\" [selected]=\"datepicker._selected\" [dateClass]=\"datepicker.dateClass\" [@fadeInCalendar]=\"'enter'\" (selectedChange)=\"datepicker.select($event)\" (yearSelected)=\"datepicker._selectYear($event)\" (monthSelected)=\"datepicker._selectMonth($event)\" (_userSelection)=\"datepicker.close()\"></mat-calendar>",
2054
2182
  styles: [".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation:landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation:portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}"],
2055
2183
  host: {
2056
2184
  'class': 'mat-datepicker-content',
@@ -2076,6 +2204,9 @@ var MatDatepickerContent = /** @class */ (function (_super) {
2076
2204
  };
2077
2205
  return MatDatepickerContent;
2078
2206
  }(_MatDatepickerContentMixinBase));
2207
+ // TODO(mmalerba): We use a component instead of a directive here so the user can use implicit
2208
+ // template reference variables (e.g. #d vs #d="matDatepicker"). We can change this to a directive
2209
+ // if angular adds support for `exportAs: '$implicit'` on directives.
2079
2210
  /**
2080
2211
  * Component responsible for managing the datepicker popup/dialog.
2081
2212
  * @template D
@@ -2446,12 +2577,15 @@ var MatDatepicker = /** @class */ (function () {
2446
2577
  completeClose();
2447
2578
  }
2448
2579
  };
2580
+ /** Open the calendar as a dialog. */
2449
2581
  /**
2450
2582
  * Open the calendar as a dialog.
2583
+ * @private
2451
2584
  * @return {?}
2452
2585
  */
2453
2586
  MatDatepicker.prototype._openAsDialog = /**
2454
2587
  * Open the calendar as a dialog.
2588
+ * @private
2455
2589
  * @return {?}
2456
2590
  */
2457
2591
  function () {
@@ -2472,12 +2606,15 @@ var MatDatepicker = /** @class */ (function () {
2472
2606
  this._dialogRef.componentInstance.datepicker = this;
2473
2607
  this._setColor();
2474
2608
  };
2609
+ /** Open the calendar as a popup. */
2475
2610
  /**
2476
2611
  * Open the calendar as a popup.
2612
+ * @private
2477
2613
  * @return {?}
2478
2614
  */
2479
2615
  MatDatepicker.prototype._openAsPopup = /**
2480
2616
  * Open the calendar as a popup.
2617
+ * @private
2481
2618
  * @return {?}
2482
2619
  */
2483
2620
  function () {
@@ -2498,12 +2635,15 @@ var MatDatepicker = /** @class */ (function () {
2498
2635
  });
2499
2636
  }
2500
2637
  };
2638
+ /** Create the popup. */
2501
2639
  /**
2502
2640
  * Create the popup.
2641
+ * @private
2503
2642
  * @return {?}
2504
2643
  */
2505
2644
  MatDatepicker.prototype._createPopup = /**
2506
2645
  * Create the popup.
2646
+ * @private
2507
2647
  * @return {?}
2508
2648
  */
2509
2649
  function () {
@@ -2525,12 +2665,15 @@ var MatDatepicker = /** @class */ (function () {
2525
2665
  (_this._datepickerInput && event.altKey && event.keyCode === keycodes.UP_ARROW);
2526
2666
  }))).subscribe(function () { return _this.close(); });
2527
2667
  };
2668
+ /** Create the popup PositionStrategy. */
2528
2669
  /**
2529
2670
  * Create the popup PositionStrategy.
2671
+ * @private
2530
2672
  * @return {?}
2531
2673
  */
2532
2674
  MatDatepicker.prototype._createPopupPositionStrategy = /**
2533
2675
  * Create the popup PositionStrategy.
2676
+ * @private
2534
2677
  * @return {?}
2535
2678
  */
2536
2679
  function () {
@@ -2568,22 +2711,31 @@ var MatDatepicker = /** @class */ (function () {
2568
2711
  ]);
2569
2712
  };
2570
2713
  /**
2714
+ * @param obj The object to check.
2715
+ * @returns The given object if it is both a date instance and valid, otherwise null.
2716
+ */
2717
+ /**
2718
+ * @private
2571
2719
  * @param {?} obj The object to check.
2572
2720
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
2573
2721
  */
2574
2722
  MatDatepicker.prototype._getValidDateOrNull = /**
2723
+ * @private
2575
2724
  * @param {?} obj The object to check.
2576
2725
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
2577
2726
  */
2578
2727
  function (obj) {
2579
2728
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
2580
2729
  };
2730
+ /** Passes the current theme color along to the calendar overlay. */
2581
2731
  /**
2582
2732
  * Passes the current theme color along to the calendar overlay.
2733
+ * @private
2583
2734
  * @return {?}
2584
2735
  */
2585
2736
  MatDatepicker.prototype._setColor = /**
2586
2737
  * Passes the current theme color along to the calendar overlay.
2738
+ * @private
2587
2739
  * @return {?}
2588
2740
  */
2589
2741
  function () {
@@ -2625,6 +2777,7 @@ var MatDatepicker = /** @class */ (function () {
2625
2777
  yearSelected: [{ type: core.Output }],
2626
2778
  monthSelected: [{ type: core.Output }],
2627
2779
  panelClass: [{ type: core.Input }],
2780
+ dateClass: [{ type: core.Input }],
2628
2781
  openedStream: [{ type: core.Output, args: ['opened',] }],
2629
2782
  closedStream: [{ type: core.Output, args: ['closed',] }],
2630
2783
  opened: [{ type: core.Input }]
@@ -2634,19 +2787,21 @@ var MatDatepicker = /** @class */ (function () {
2634
2787
 
2635
2788
  /**
2636
2789
  * @fileoverview added by tsickle
2637
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2790
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2638
2791
  */
2639
- /** *
2792
+ /**
2640
2793
  * \@docs-private
2641
- @type {?} */
2794
+ * @type {?}
2795
+ */
2642
2796
  var MAT_DATEPICKER_VALUE_ACCESSOR = {
2643
2797
  provide: forms.NG_VALUE_ACCESSOR,
2644
2798
  useExisting: core.forwardRef(function () { return MatDatepickerInput; }),
2645
2799
  multi: true
2646
2800
  };
2647
- /** *
2801
+ /**
2648
2802
  * \@docs-private
2649
- @type {?} */
2803
+ * @type {?}
2804
+ */
2650
2805
  var MAT_DATEPICKER_VALIDATORS = {
2651
2806
  provide: forms.NG_VALIDATORS,
2652
2807
  useExisting: core.forwardRef(function () { return MatDatepickerInput; }),
@@ -2965,11 +3120,14 @@ var MatDatepickerInput = /** @class */ (function () {
2965
3120
  return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
2966
3121
  };
2967
3122
  // Implemented as part of ControlValueAccessor.
3123
+ // Implemented as part of ControlValueAccessor.
2968
3124
  /**
2969
3125
  * @param {?} value
2970
3126
  * @return {?}
2971
3127
  */
2972
- MatDatepickerInput.prototype.writeValue = /**
3128
+ MatDatepickerInput.prototype.writeValue =
3129
+ // Implemented as part of ControlValueAccessor.
3130
+ /**
2973
3131
  * @param {?} value
2974
3132
  * @return {?}
2975
3133
  */
@@ -2977,11 +3135,14 @@ var MatDatepickerInput = /** @class */ (function () {
2977
3135
  this.value = value;
2978
3136
  };
2979
3137
  // Implemented as part of ControlValueAccessor.
3138
+ // Implemented as part of ControlValueAccessor.
2980
3139
  /**
2981
3140
  * @param {?} fn
2982
3141
  * @return {?}
2983
3142
  */
2984
- MatDatepickerInput.prototype.registerOnChange = /**
3143
+ MatDatepickerInput.prototype.registerOnChange =
3144
+ // Implemented as part of ControlValueAccessor.
3145
+ /**
2985
3146
  * @param {?} fn
2986
3147
  * @return {?}
2987
3148
  */
@@ -2989,11 +3150,14 @@ var MatDatepickerInput = /** @class */ (function () {
2989
3150
  this._cvaOnChange = fn;
2990
3151
  };
2991
3152
  // Implemented as part of ControlValueAccessor.
3153
+ // Implemented as part of ControlValueAccessor.
2992
3154
  /**
2993
3155
  * @param {?} fn
2994
3156
  * @return {?}
2995
3157
  */
2996
- MatDatepickerInput.prototype.registerOnTouched = /**
3158
+ MatDatepickerInput.prototype.registerOnTouched =
3159
+ // Implemented as part of ControlValueAccessor.
3160
+ /**
2997
3161
  * @param {?} fn
2998
3162
  * @return {?}
2999
3163
  */
@@ -3001,11 +3165,14 @@ var MatDatepickerInput = /** @class */ (function () {
3001
3165
  this._onTouched = fn;
3002
3166
  };
3003
3167
  // Implemented as part of ControlValueAccessor.
3168
+ // Implemented as part of ControlValueAccessor.
3004
3169
  /**
3005
3170
  * @param {?} isDisabled
3006
3171
  * @return {?}
3007
3172
  */
3008
- MatDatepickerInput.prototype.setDisabledState = /**
3173
+ MatDatepickerInput.prototype.setDisabledState =
3174
+ // Implemented as part of ControlValueAccessor.
3175
+ /**
3009
3176
  * @param {?} isDisabled
3010
3177
  * @return {?}
3011
3178
  */
@@ -3085,13 +3252,16 @@ var MatDatepickerInput = /** @class */ (function () {
3085
3252
  }
3086
3253
  this._onTouched();
3087
3254
  };
3255
+ /** Formats a value and sets it on the input element. */
3088
3256
  /**
3089
3257
  * Formats a value and sets it on the input element.
3258
+ * @private
3090
3259
  * @param {?} value
3091
3260
  * @return {?}
3092
3261
  */
3093
3262
  MatDatepickerInput.prototype._formatValue = /**
3094
3263
  * Formats a value and sets it on the input element.
3264
+ * @private
3095
3265
  * @param {?} value
3096
3266
  * @return {?}
3097
3267
  */
@@ -3100,10 +3270,16 @@ var MatDatepickerInput = /** @class */ (function () {
3100
3270
  value ? this._dateAdapter.format(value, this._dateFormats.display.dateInput) : '';
3101
3271
  };
3102
3272
  /**
3273
+ * @param obj The object to check.
3274
+ * @returns The given object if it is both a date instance and valid, otherwise null.
3275
+ */
3276
+ /**
3277
+ * @private
3103
3278
  * @param {?} obj The object to check.
3104
3279
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
3105
3280
  */
3106
3281
  MatDatepickerInput.prototype._getValidDateOrNull = /**
3282
+ * @private
3107
3283
  * @param {?} obj The object to check.
3108
3284
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
3109
3285
  */
@@ -3154,7 +3330,7 @@ var MatDatepickerInput = /** @class */ (function () {
3154
3330
 
3155
3331
  /**
3156
3332
  * @fileoverview added by tsickle
3157
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3333
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3158
3334
  */
3159
3335
  /**
3160
3336
  * Can be used to override the icon of a `matDatepickerToggle`.
@@ -3209,7 +3385,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3209
3385
  * @return {?}
3210
3386
  */
3211
3387
  function (changes) {
3212
- if (changes["datepicker"]) {
3388
+ if (changes.datepicker) {
3213
3389
  this._watchStateChanges();
3214
3390
  }
3215
3391
  };
@@ -3246,9 +3422,11 @@ var MatDatepickerToggle = /** @class */ (function () {
3246
3422
  }
3247
3423
  };
3248
3424
  /**
3425
+ * @private
3249
3426
  * @return {?}
3250
3427
  */
3251
3428
  MatDatepickerToggle.prototype._watchStateChanges = /**
3429
+ * @private
3252
3430
  * @return {?}
3253
3431
  */
3254
3432
  function () {
@@ -3267,7 +3445,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3267
3445
  };
3268
3446
  MatDatepickerToggle.decorators = [
3269
3447
  { type: core.Component, args: [{selector: 'mat-datepicker-toggle',
3270
- template: "<button #button mat-icon-button type=\"button\" aria-haspopup=\"true\" [attr.aria-label]=\"_intl.openCalendarLabel\" [attr.tabindex]=\"disabled ? -1 : tabIndex\" [disabled]=\"disabled\" [disableRipple]=\"disableRipple\" (click)=\"_open($event)\"><svg *ngIf=\"!_customIcon\" class=\"mat-datepicker-toggle-default-icon\" viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/></svg><ng-content select=\"[matDatepickerToggleIcon]\"></ng-content></button>",
3448
+ template: "<button #button mat-icon-button type=\"button\" aria-haspopup=\"true\" [attr.aria-label]=\"_intl.openCalendarLabel\" [attr.tabindex]=\"disabled ? -1 : tabIndex\" [disabled]=\"disabled\" [disableRipple]=\"disableRipple\" (click)=\"_open($event)\"><svg *ngIf=\"!_customIcon\" class=\"mat-datepicker-toggle-default-icon\" viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\"><path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/></svg><ng-content select=\"[matDatepickerToggleIcon]\"></ng-content></button>",
3271
3449
  styles: [".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}"],
3272
3450
  host: {
3273
3451
  'class': 'mat-datepicker-toggle',
@@ -3303,7 +3481,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3303
3481
 
3304
3482
  /**
3305
3483
  * @fileoverview added by tsickle
3306
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3484
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3307
3485
  */
3308
3486
  var MatDatepickerModule = /** @class */ (function () {
3309
3487
  function MatDatepickerModule() {