@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
@@ -26,7 +26,7 @@ import { A11yModule } from '@angular/cdk/a11y';
26
26
 
27
27
  /**
28
28
  * @fileoverview added by tsickle
29
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
29
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
30
30
  */
31
31
 
32
32
  /**
@@ -42,7 +42,7 @@ function createMissingDateImplError(provider) {
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
  * Datepicker data that requires internationalization.
@@ -104,7 +104,7 @@ var MatDatepickerIntl = /** @class */ (function () {
104
104
 
105
105
  /**
106
106
  * @fileoverview added by tsickle
107
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
107
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
108
108
  */
109
109
  /**
110
110
  * An internal class that represents the data corresponding to a single calendar cell.
@@ -115,11 +115,12 @@ var /**
115
115
  * \@docs-private
116
116
  */
117
117
  MatCalendarCell = /** @class */ (function () {
118
- function MatCalendarCell(value, displayValue, ariaLabel, enabled) {
118
+ function MatCalendarCell(value, displayValue, ariaLabel, enabled, cssClasses) {
119
119
  this.value = value;
120
120
  this.displayValue = displayValue;
121
121
  this.ariaLabel = ariaLabel;
122
122
  this.enabled = enabled;
123
+ this.cssClasses = cssClasses;
123
124
  }
124
125
  return MatCalendarCell;
125
126
  }());
@@ -162,19 +163,28 @@ var MatCalendarBody = /** @class */ (function () {
162
163
  this.selectedValueChange.emit(cell.value);
163
164
  }
164
165
  };
165
- Object.defineProperty(MatCalendarBody.prototype, "_firstRowOffset", {
166
- /** The number of blank cells to put at the beginning for the first row. */
167
- get: /**
168
- * The number of blank cells to put at the beginning for the first row.
169
- * @return {?}
170
- */
171
- function () {
172
- return this.rows && this.rows.length && this.rows[0].length ?
173
- this.numCols - this.rows[0].length : 0;
174
- },
175
- enumerable: true,
176
- configurable: true
177
- });
166
+ /**
167
+ * @param {?} changes
168
+ * @return {?}
169
+ */
170
+ MatCalendarBody.prototype.ngOnChanges = /**
171
+ * @param {?} changes
172
+ * @return {?}
173
+ */
174
+ function (changes) {
175
+ /** @type {?} */
176
+ var columnChanges = changes.numCols;
177
+ var _a = this, rows = _a.rows, numCols = _a.numCols;
178
+ if (changes.rows || columnChanges) {
179
+ this._firstRowOffset = rows && rows.length && rows[0].length ? numCols - rows[0].length : 0;
180
+ }
181
+ if (changes.cellAspectRatio || columnChanges || !this._cellPadding) {
182
+ this._cellPadding = 50 * this.cellAspectRatio / numCols + "%";
183
+ }
184
+ if (columnChanges || !this._cellWidth) {
185
+ this._cellWidth = 100 / numCols + "%";
186
+ }
187
+ };
178
188
  /**
179
189
  * @param {?} rowIndex
180
190
  * @param {?} colIndex
@@ -217,8 +227,8 @@ var MatCalendarBody = /** @class */ (function () {
217
227
  };
218
228
  MatCalendarBody.decorators = [
219
229
  { type: Component, args: [{selector: '[mat-calendar-body]',
220
- 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>",
221
- 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}"],
230
+ 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>",
231
+ 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}"],
222
232
  host: {
223
233
  'class': 'mat-calendar-body',
224
234
  'role': 'grid',
@@ -250,7 +260,7 @@ var MatCalendarBody = /** @class */ (function () {
250
260
 
251
261
  /**
252
262
  * @fileoverview added by tsickle
253
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
263
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
254
264
  */
255
265
  /** @type {?} */
256
266
  var DAYS_PER_WEEK = 7;
@@ -289,6 +299,7 @@ var MatMonthView = /** @class */ (function () {
289
299
  var narrowWeekdays = this._dateAdapter.getDayOfWeekNames('narrow');
290
300
  /** @type {?} */
291
301
  var longWeekdays = this._dateAdapter.getDayOfWeekNames('long');
302
+ // Rotate the labels for days of the week based on the configured first day of the week.
292
303
  /** @type {?} */
293
304
  var weekdays = longWeekdays.map(function (long, i) {
294
305
  return { long: long, narrow: narrowWeekdays[i] };
@@ -418,6 +429,12 @@ var MatMonthView = /** @class */ (function () {
418
429
  * @return {?}
419
430
  */
420
431
  function (event) {
432
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
433
+ // disabled ones from being selected. This may not be ideal, we should look into whether
434
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
435
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
436
+ // disabled ones from being selected. This may not be ideal, we should look into whether
437
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
421
438
  /** @type {?} */
422
439
  var oldActiveDate = this._activeDate;
423
440
  /** @type {?} */
@@ -507,12 +524,15 @@ var MatMonthView = /** @class */ (function () {
507
524
  function () {
508
525
  this._matCalendarBody._focusActiveCell();
509
526
  };
527
+ /** Creates MatCalendarCells for the dates in this month. */
510
528
  /**
511
529
  * Creates MatCalendarCells for the dates in this month.
530
+ * @private
512
531
  * @return {?}
513
532
  */
514
533
  MatMonthView.prototype._createWeekCells = /**
515
534
  * Creates MatCalendarCells for the dates in this month.
535
+ * @private
516
536
  * @return {?}
517
537
  */
518
538
  function () {
@@ -532,17 +552,22 @@ var MatMonthView = /** @class */ (function () {
532
552
  var enabled = this._shouldEnableDate(date);
533
553
  /** @type {?} */
534
554
  var ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.dateA11yLabel);
555
+ /** @type {?} */
556
+ var cellClasses = this.dateClass ? this.dateClass(date) : undefined;
535
557
  this._weeks[this._weeks.length - 1]
536
- .push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
558
+ .push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled, cellClasses));
537
559
  }
538
560
  };
561
+ /** Date filter for the month */
539
562
  /**
540
563
  * Date filter for the month
564
+ * @private
541
565
  * @param {?} date
542
566
  * @return {?}
543
567
  */
544
568
  MatMonthView.prototype._shouldEnableDate = /**
545
569
  * Date filter for the month
570
+ * @private
546
571
  * @param {?} date
547
572
  * @return {?}
548
573
  */
@@ -555,12 +580,18 @@ var MatMonthView = /** @class */ (function () {
555
580
  /**
556
581
  * Gets the date in this month that the given Date falls on.
557
582
  * Returns null if the given Date is in another month.
583
+ */
584
+ /**
585
+ * Gets the date in this month that the given Date falls on.
586
+ * Returns null if the given Date is in another month.
587
+ * @private
558
588
  * @param {?} date
559
589
  * @return {?}
560
590
  */
561
591
  MatMonthView.prototype._getDateInCurrentMonth = /**
562
592
  * Gets the date in this month that the given Date falls on.
563
593
  * Returns null if the given Date is in another month.
594
+ * @private
564
595
  * @param {?} date
565
596
  * @return {?}
566
597
  */
@@ -568,14 +599,17 @@ var MatMonthView = /** @class */ (function () {
568
599
  return date && this._hasSameMonthAndYear(date, this.activeDate) ?
569
600
  this._dateAdapter.getDate(date) : null;
570
601
  };
602
+ /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */
571
603
  /**
572
604
  * Checks whether the 2 dates are non-null and fall within the same month of the same year.
605
+ * @private
573
606
  * @param {?} d1
574
607
  * @param {?} d2
575
608
  * @return {?}
576
609
  */
577
610
  MatMonthView.prototype._hasSameMonthAndYear = /**
578
611
  * Checks whether the 2 dates are non-null and fall within the same month of the same year.
612
+ * @private
579
613
  * @param {?} d1
580
614
  * @param {?} d2
581
615
  * @return {?}
@@ -585,22 +619,31 @@ var MatMonthView = /** @class */ (function () {
585
619
  this._dateAdapter.getYear(d1) == this._dateAdapter.getYear(d2));
586
620
  };
587
621
  /**
622
+ * @param obj The object to check.
623
+ * @returns The given object if it is both a date instance and valid, otherwise null.
624
+ */
625
+ /**
626
+ * @private
588
627
  * @param {?} obj The object to check.
589
628
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
590
629
  */
591
630
  MatMonthView.prototype._getValidDateOrNull = /**
631
+ * @private
592
632
  * @param {?} obj The object to check.
593
633
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
594
634
  */
595
635
  function (obj) {
596
636
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
597
637
  };
638
+ /** Determines whether the user has the RTL layout direction. */
598
639
  /**
599
640
  * Determines whether the user has the RTL layout direction.
641
+ * @private
600
642
  * @return {?}
601
643
  */
602
644
  MatMonthView.prototype._isRtl = /**
603
645
  * Determines whether the user has the RTL layout direction.
646
+ * @private
604
647
  * @return {?}
605
648
  */
606
649
  function () {
@@ -627,6 +670,7 @@ var MatMonthView = /** @class */ (function () {
627
670
  minDate: [{ type: Input }],
628
671
  maxDate: [{ type: Input }],
629
672
  dateFilter: [{ type: Input }],
673
+ dateClass: [{ type: Input }],
630
674
  selectedChange: [{ type: Output }],
631
675
  _userSelection: [{ type: Output }],
632
676
  activeDateChange: [{ type: Output }],
@@ -637,7 +681,7 @@ var MatMonthView = /** @class */ (function () {
637
681
 
638
682
  /**
639
683
  * @fileoverview added by tsickle
640
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
684
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
641
685
  */
642
686
  /** @type {?} */
643
687
  var yearsPerPage = 24;
@@ -813,6 +857,12 @@ var MatMultiYearView = /** @class */ (function () {
813
857
  * @return {?}
814
858
  */
815
859
  function (event) {
860
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
861
+ // disabled ones from being selected. This may not be ideal, we should look into whether
862
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
863
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
864
+ // disabled ones from being selected. This may not be ideal, we should look into whether
865
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
816
866
  /** @type {?} */
817
867
  var oldActiveDate = this._activeDate;
818
868
  /** @type {?} */
@@ -880,13 +930,16 @@ var MatMultiYearView = /** @class */ (function () {
880
930
  function () {
881
931
  this._matCalendarBody._focusActiveCell();
882
932
  };
933
+ /** Creates an MatCalendarCell for the given year. */
883
934
  /**
884
935
  * Creates an MatCalendarCell for the given year.
936
+ * @private
885
937
  * @param {?} year
886
938
  * @return {?}
887
939
  */
888
940
  MatMultiYearView.prototype._createCellForYear = /**
889
941
  * Creates an MatCalendarCell for the given year.
942
+ * @private
890
943
  * @param {?} year
891
944
  * @return {?}
892
945
  */
@@ -895,13 +948,16 @@ var MatMultiYearView = /** @class */ (function () {
895
948
  var yearName = this._dateAdapter.getYearName(this._dateAdapter.createDate(year, 0, 1));
896
949
  return new MatCalendarCell(year, yearName, yearName, this._shouldEnableYear(year));
897
950
  };
951
+ /** Whether the given year is enabled. */
898
952
  /**
899
953
  * Whether the given year is enabled.
954
+ * @private
900
955
  * @param {?} year
901
956
  * @return {?}
902
957
  */
903
958
  MatMultiYearView.prototype._shouldEnableYear = /**
904
959
  * Whether the given year is enabled.
960
+ * @private
905
961
  * @param {?} year
906
962
  * @return {?}
907
963
  */
@@ -927,22 +983,31 @@ var MatMultiYearView = /** @class */ (function () {
927
983
  return false;
928
984
  };
929
985
  /**
986
+ * @param obj The object to check.
987
+ * @returns The given object if it is both a date instance and valid, otherwise null.
988
+ */
989
+ /**
990
+ * @private
930
991
  * @param {?} obj The object to check.
931
992
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
932
993
  */
933
994
  MatMultiYearView.prototype._getValidDateOrNull = /**
995
+ * @private
934
996
  * @param {?} obj The object to check.
935
997
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
936
998
  */
937
999
  function (obj) {
938
1000
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
939
1001
  };
1002
+ /** Determines whether the user has the RTL layout direction. */
940
1003
  /**
941
1004
  * Determines whether the user has the RTL layout direction.
1005
+ * @private
942
1006
  * @return {?}
943
1007
  */
944
1008
  MatMultiYearView.prototype._isRtl = /**
945
1009
  * Determines whether the user has the RTL layout direction.
1010
+ * @private
946
1011
  * @return {?}
947
1012
  */
948
1013
  function () {
@@ -978,7 +1043,7 @@ var MatMultiYearView = /** @class */ (function () {
978
1043
 
979
1044
  /**
980
1045
  * @fileoverview added by tsickle
981
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1046
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
982
1047
  */
983
1048
  /**
984
1049
  * An internal component used to display a single year in the datepicker.
@@ -1127,6 +1192,12 @@ var MatYearView = /** @class */ (function () {
1127
1192
  * @return {?}
1128
1193
  */
1129
1194
  function (event) {
1195
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
1196
+ // disabled ones from being selected. This may not be ideal, we should look into whether
1197
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
1198
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
1199
+ // disabled ones from being selected. This may not be ideal, we should look into whether
1200
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
1130
1201
  /** @type {?} */
1131
1202
  var oldActiveDate = this._activeDate;
1132
1203
  /** @type {?} */
@@ -1208,12 +1279,18 @@ var MatYearView = /** @class */ (function () {
1208
1279
  /**
1209
1280
  * Gets the month in this year that the given Date falls on.
1210
1281
  * Returns null if the given Date is in another year.
1282
+ */
1283
+ /**
1284
+ * Gets the month in this year that the given Date falls on.
1285
+ * Returns null if the given Date is in another year.
1286
+ * @private
1211
1287
  * @param {?} date
1212
1288
  * @return {?}
1213
1289
  */
1214
1290
  MatYearView.prototype._getMonthInCurrentYear = /**
1215
1291
  * Gets the month in this year that the given Date falls on.
1216
1292
  * Returns null if the given Date is in another year.
1293
+ * @private
1217
1294
  * @param {?} date
1218
1295
  * @return {?}
1219
1296
  */
@@ -1221,14 +1298,17 @@ var MatYearView = /** @class */ (function () {
1221
1298
  return date && this._dateAdapter.getYear(date) == this._dateAdapter.getYear(this.activeDate) ?
1222
1299
  this._dateAdapter.getMonth(date) : null;
1223
1300
  };
1301
+ /** Creates an MatCalendarCell for the given month. */
1224
1302
  /**
1225
1303
  * Creates an MatCalendarCell for the given month.
1304
+ * @private
1226
1305
  * @param {?} month
1227
1306
  * @param {?} monthName
1228
1307
  * @return {?}
1229
1308
  */
1230
1309
  MatYearView.prototype._createCellForMonth = /**
1231
1310
  * Creates an MatCalendarCell for the given month.
1311
+ * @private
1232
1312
  * @param {?} month
1233
1313
  * @param {?} monthName
1234
1314
  * @return {?}
@@ -1238,13 +1318,16 @@ var MatYearView = /** @class */ (function () {
1238
1318
  var ariaLabel = this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1), this._dateFormats.display.monthYearA11yLabel);
1239
1319
  return new MatCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._shouldEnableMonth(month));
1240
1320
  };
1321
+ /** Whether the given month is enabled. */
1241
1322
  /**
1242
1323
  * Whether the given month is enabled.
1324
+ * @private
1243
1325
  * @param {?} month
1244
1326
  * @return {?}
1245
1327
  */
1246
1328
  MatYearView.prototype._shouldEnableMonth = /**
1247
1329
  * Whether the given month is enabled.
1330
+ * @private
1248
1331
  * @param {?} month
1249
1332
  * @return {?}
1250
1333
  */
@@ -1272,6 +1355,11 @@ var MatYearView = /** @class */ (function () {
1272
1355
  /**
1273
1356
  * Tests whether the combination month/year is after this.maxDate, considering
1274
1357
  * just the month and year of this.maxDate
1358
+ */
1359
+ /**
1360
+ * Tests whether the combination month/year is after this.maxDate, considering
1361
+ * just the month and year of this.maxDate
1362
+ * @private
1275
1363
  * @param {?} year
1276
1364
  * @param {?} month
1277
1365
  * @return {?}
@@ -1279,6 +1367,7 @@ var MatYearView = /** @class */ (function () {
1279
1367
  MatYearView.prototype._isYearAndMonthAfterMaxDate = /**
1280
1368
  * Tests whether the combination month/year is after this.maxDate, considering
1281
1369
  * just the month and year of this.maxDate
1370
+ * @private
1282
1371
  * @param {?} year
1283
1372
  * @param {?} month
1284
1373
  * @return {?}
@@ -1296,6 +1385,11 @@ var MatYearView = /** @class */ (function () {
1296
1385
  /**
1297
1386
  * Tests whether the combination month/year is before this.minDate, considering
1298
1387
  * just the month and year of this.minDate
1388
+ */
1389
+ /**
1390
+ * Tests whether the combination month/year is before this.minDate, considering
1391
+ * just the month and year of this.minDate
1392
+ * @private
1299
1393
  * @param {?} year
1300
1394
  * @param {?} month
1301
1395
  * @return {?}
@@ -1303,6 +1397,7 @@ var MatYearView = /** @class */ (function () {
1303
1397
  MatYearView.prototype._isYearAndMonthBeforeMinDate = /**
1304
1398
  * Tests whether the combination month/year is before this.minDate, considering
1305
1399
  * just the month and year of this.minDate
1400
+ * @private
1306
1401
  * @param {?} year
1307
1402
  * @param {?} month
1308
1403
  * @return {?}
@@ -1318,22 +1413,31 @@ var MatYearView = /** @class */ (function () {
1318
1413
  return false;
1319
1414
  };
1320
1415
  /**
1416
+ * @param obj The object to check.
1417
+ * @returns The given object if it is both a date instance and valid, otherwise null.
1418
+ */
1419
+ /**
1420
+ * @private
1321
1421
  * @param {?} obj The object to check.
1322
1422
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1323
1423
  */
1324
1424
  MatYearView.prototype._getValidDateOrNull = /**
1425
+ * @private
1325
1426
  * @param {?} obj The object to check.
1326
1427
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1327
1428
  */
1328
1429
  function (obj) {
1329
1430
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
1330
1431
  };
1432
+ /** Determines whether the user has the RTL layout direction. */
1331
1433
  /**
1332
1434
  * Determines whether the user has the RTL layout direction.
1435
+ * @private
1333
1436
  * @return {?}
1334
1437
  */
1335
1438
  MatYearView.prototype._isRtl = /**
1336
1439
  * Determines whether the user has the RTL layout direction.
1440
+ * @private
1337
1441
  * @return {?}
1338
1442
  */
1339
1443
  function () {
@@ -1370,7 +1474,7 @@ var MatYearView = /** @class */ (function () {
1370
1474
 
1371
1475
  /**
1372
1476
  * @fileoverview added by tsickle
1373
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1477
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1374
1478
  */
1375
1479
  /**
1376
1480
  * Default header for MatCalendar
@@ -1522,14 +1626,17 @@ var MatCalendarHeader = /** @class */ (function () {
1522
1626
  return !this.calendar.maxDate ||
1523
1627
  !this._isSameView(this.calendar.activeDate, this.calendar.maxDate);
1524
1628
  };
1629
+ /** Whether the two dates represent the same view in the current view mode (month or year). */
1525
1630
  /**
1526
1631
  * Whether the two dates represent the same view in the current view mode (month or year).
1632
+ * @private
1527
1633
  * @param {?} date1
1528
1634
  * @param {?} date2
1529
1635
  * @return {?}
1530
1636
  */
1531
1637
  MatCalendarHeader.prototype._isSameView = /**
1532
1638
  * Whether the two dates represent the same view in the current view mode (month or year).
1639
+ * @private
1533
1640
  * @param {?} date1
1534
1641
  * @param {?} date2
1535
1642
  * @return {?}
@@ -1770,7 +1877,7 @@ var MatCalendar = /** @class */ (function () {
1770
1877
  */
1771
1878
  function (changes) {
1772
1879
  /** @type {?} */
1773
- var change = changes["minDate"] || changes["maxDate"] || changes["dateFilter"];
1880
+ var change = changes.minDate || changes.maxDate || changes.dateFilter;
1774
1881
  if (change && !change.firstChange) {
1775
1882
  /** @type {?} */
1776
1883
  var view = this._getCurrentViewComponent();
@@ -1878,22 +1985,31 @@ var MatCalendar = /** @class */ (function () {
1878
1985
  this.currentView = view;
1879
1986
  };
1880
1987
  /**
1988
+ * @param obj The object to check.
1989
+ * @returns The given object if it is both a date instance and valid, otherwise null.
1990
+ */
1991
+ /**
1992
+ * @private
1881
1993
  * @param {?} obj The object to check.
1882
1994
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1883
1995
  */
1884
1996
  MatCalendar.prototype._getValidDateOrNull = /**
1997
+ * @private
1885
1998
  * @param {?} obj The object to check.
1886
1999
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
1887
2000
  */
1888
2001
  function (obj) {
1889
2002
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
1890
2003
  };
2004
+ /** Returns the component instance that corresponds to the current calendar view. */
1891
2005
  /**
1892
2006
  * Returns the component instance that corresponds to the current calendar view.
2007
+ * @private
1893
2008
  * @return {?}
1894
2009
  */
1895
2010
  MatCalendar.prototype._getCurrentViewComponent = /**
1896
2011
  * Returns the component instance that corresponds to the current calendar view.
2012
+ * @private
1897
2013
  * @return {?}
1898
2014
  */
1899
2015
  function () {
@@ -1901,7 +2017,7 @@ var MatCalendar = /** @class */ (function () {
1901
2017
  };
1902
2018
  MatCalendar.decorators = [
1903
2019
  { type: Component, args: [{selector: 'mat-calendar',
1904
- 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>",
2020
+ 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>",
1905
2021
  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}"],
1906
2022
  host: {
1907
2023
  'class': 'mat-calendar',
@@ -1926,6 +2042,7 @@ var MatCalendar = /** @class */ (function () {
1926
2042
  minDate: [{ type: Input }],
1927
2043
  maxDate: [{ type: Input }],
1928
2044
  dateFilter: [{ type: Input }],
2045
+ dateClass: [{ type: Input }],
1929
2046
  selectedChange: [{ type: Output }],
1930
2047
  yearSelected: [{ type: Output }],
1931
2048
  monthSelected: [{ type: Output }],
@@ -1939,14 +2056,17 @@ var MatCalendar = /** @class */ (function () {
1939
2056
 
1940
2057
  /**
1941
2058
  * @fileoverview added by tsickle
1942
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2059
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1943
2060
  */
1944
- /** *
2061
+ /**
1945
2062
  * Animations used by the Material datepicker.
1946
2063
  * \@docs-private
1947
- @type {?} */
2064
+ * @type {?}
2065
+ */
1948
2066
  var matDatepickerAnimations = {
1949
- /** Transforms the height of the datepicker's calendar. */
2067
+ /**
2068
+ * Transforms the height of the datepicker's calendar.
2069
+ */
1950
2070
  transformPanel: trigger('transformPanel', [
1951
2071
  state('void', style({
1952
2072
  opacity: 0,
@@ -1958,7 +2078,9 @@ var matDatepickerAnimations = {
1958
2078
  }))),
1959
2079
  transition('* => void', animate('100ms linear', style({ opacity: 0 })))
1960
2080
  ]),
1961
- /** Fades in the content of the calendar. */
2081
+ /**
2082
+ * Fades in the content of the calendar.
2083
+ */
1962
2084
  fadeInCalendar: trigger('fadeInCalendar', [
1963
2085
  state('void', style({ opacity: 0 })),
1964
2086
  state('enter', style({ opacity: 1 })),
@@ -1970,15 +2092,17 @@ var matDatepickerAnimations = {
1970
2092
 
1971
2093
  /**
1972
2094
  * @fileoverview added by tsickle
1973
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2095
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1974
2096
  */
1975
- /** *
2097
+ /**
1976
2098
  * Used to generate a unique ID for each datepicker instance.
1977
- @type {?} */
2099
+ * @type {?}
2100
+ */
1978
2101
  var datepickerUid = 0;
1979
- /** *
2102
+ /**
1980
2103
  * Injection token that determines the scroll handling while the calendar is open.
1981
- @type {?} */
2104
+ * @type {?}
2105
+ */
1982
2106
  var MAT_DATEPICKER_SCROLL_STRATEGY = new InjectionToken('mat-datepicker-scroll-strategy');
1983
2107
  /**
1984
2108
  * \@docs-private
@@ -1988,18 +2112,22 @@ var MAT_DATEPICKER_SCROLL_STRATEGY = new InjectionToken('mat-datepicker-scroll-s
1988
2112
  function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(overlay) {
1989
2113
  return function () { return overlay.scrollStrategies.reposition(); };
1990
2114
  }
1991
- /** *
2115
+ /**
1992
2116
  * \@docs-private
1993
- @type {?} */
2117
+ * @type {?}
2118
+ */
1994
2119
  var MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {
1995
2120
  provide: MAT_DATEPICKER_SCROLL_STRATEGY,
1996
2121
  deps: [Overlay],
1997
2122
  useFactory: MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY,
1998
2123
  };
2124
+ // Boilerplate for applying mixins to MatDatepickerContent.
1999
2125
  /**
2000
2126
  * \@docs-private
2001
2127
  */
2002
- var /**
2128
+ var
2129
+ // Boilerplate for applying mixins to MatDatepickerContent.
2130
+ /**
2003
2131
  * \@docs-private
2004
2132
  */
2005
2133
  MatDatepickerContentBase = /** @class */ (function () {
@@ -2034,7 +2162,7 @@ var MatDatepickerContent = /** @class */ (function (_super) {
2034
2162
  };
2035
2163
  MatDatepickerContent.decorators = [
2036
2164
  { type: Component, args: [{selector: 'mat-datepicker-content',
2037
- 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>",
2165
+ 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>",
2038
2166
  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}}"],
2039
2167
  host: {
2040
2168
  'class': 'mat-datepicker-content',
@@ -2060,6 +2188,9 @@ var MatDatepickerContent = /** @class */ (function (_super) {
2060
2188
  };
2061
2189
  return MatDatepickerContent;
2062
2190
  }(_MatDatepickerContentMixinBase));
2191
+ // TODO(mmalerba): We use a component instead of a directive here so the user can use implicit
2192
+ // template reference variables (e.g. #d vs #d="matDatepicker"). We can change this to a directive
2193
+ // if angular adds support for `exportAs: '$implicit'` on directives.
2063
2194
  /**
2064
2195
  * Component responsible for managing the datepicker popup/dialog.
2065
2196
  * @template D
@@ -2430,12 +2561,15 @@ var MatDatepicker = /** @class */ (function () {
2430
2561
  completeClose();
2431
2562
  }
2432
2563
  };
2564
+ /** Open the calendar as a dialog. */
2433
2565
  /**
2434
2566
  * Open the calendar as a dialog.
2567
+ * @private
2435
2568
  * @return {?}
2436
2569
  */
2437
2570
  MatDatepicker.prototype._openAsDialog = /**
2438
2571
  * Open the calendar as a dialog.
2572
+ * @private
2439
2573
  * @return {?}
2440
2574
  */
2441
2575
  function () {
@@ -2456,12 +2590,15 @@ var MatDatepicker = /** @class */ (function () {
2456
2590
  this._dialogRef.componentInstance.datepicker = this;
2457
2591
  this._setColor();
2458
2592
  };
2593
+ /** Open the calendar as a popup. */
2459
2594
  /**
2460
2595
  * Open the calendar as a popup.
2596
+ * @private
2461
2597
  * @return {?}
2462
2598
  */
2463
2599
  MatDatepicker.prototype._openAsPopup = /**
2464
2600
  * Open the calendar as a popup.
2601
+ * @private
2465
2602
  * @return {?}
2466
2603
  */
2467
2604
  function () {
@@ -2482,12 +2619,15 @@ var MatDatepicker = /** @class */ (function () {
2482
2619
  });
2483
2620
  }
2484
2621
  };
2622
+ /** Create the popup. */
2485
2623
  /**
2486
2624
  * Create the popup.
2625
+ * @private
2487
2626
  * @return {?}
2488
2627
  */
2489
2628
  MatDatepicker.prototype._createPopup = /**
2490
2629
  * Create the popup.
2630
+ * @private
2491
2631
  * @return {?}
2492
2632
  */
2493
2633
  function () {
@@ -2509,12 +2649,15 @@ var MatDatepicker = /** @class */ (function () {
2509
2649
  (_this._datepickerInput && event.altKey && event.keyCode === UP_ARROW);
2510
2650
  }))).subscribe(function () { return _this.close(); });
2511
2651
  };
2652
+ /** Create the popup PositionStrategy. */
2512
2653
  /**
2513
2654
  * Create the popup PositionStrategy.
2655
+ * @private
2514
2656
  * @return {?}
2515
2657
  */
2516
2658
  MatDatepicker.prototype._createPopupPositionStrategy = /**
2517
2659
  * Create the popup PositionStrategy.
2660
+ * @private
2518
2661
  * @return {?}
2519
2662
  */
2520
2663
  function () {
@@ -2552,22 +2695,31 @@ var MatDatepicker = /** @class */ (function () {
2552
2695
  ]);
2553
2696
  };
2554
2697
  /**
2698
+ * @param obj The object to check.
2699
+ * @returns The given object if it is both a date instance and valid, otherwise null.
2700
+ */
2701
+ /**
2702
+ * @private
2555
2703
  * @param {?} obj The object to check.
2556
2704
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
2557
2705
  */
2558
2706
  MatDatepicker.prototype._getValidDateOrNull = /**
2707
+ * @private
2559
2708
  * @param {?} obj The object to check.
2560
2709
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
2561
2710
  */
2562
2711
  function (obj) {
2563
2712
  return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
2564
2713
  };
2714
+ /** Passes the current theme color along to the calendar overlay. */
2565
2715
  /**
2566
2716
  * Passes the current theme color along to the calendar overlay.
2717
+ * @private
2567
2718
  * @return {?}
2568
2719
  */
2569
2720
  MatDatepicker.prototype._setColor = /**
2570
2721
  * Passes the current theme color along to the calendar overlay.
2722
+ * @private
2571
2723
  * @return {?}
2572
2724
  */
2573
2725
  function () {
@@ -2609,6 +2761,7 @@ var MatDatepicker = /** @class */ (function () {
2609
2761
  yearSelected: [{ type: Output }],
2610
2762
  monthSelected: [{ type: Output }],
2611
2763
  panelClass: [{ type: Input }],
2764
+ dateClass: [{ type: Input }],
2612
2765
  openedStream: [{ type: Output, args: ['opened',] }],
2613
2766
  closedStream: [{ type: Output, args: ['closed',] }],
2614
2767
  opened: [{ type: Input }]
@@ -2618,19 +2771,21 @@ var MatDatepicker = /** @class */ (function () {
2618
2771
 
2619
2772
  /**
2620
2773
  * @fileoverview added by tsickle
2621
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2774
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2622
2775
  */
2623
- /** *
2776
+ /**
2624
2777
  * \@docs-private
2625
- @type {?} */
2778
+ * @type {?}
2779
+ */
2626
2780
  var MAT_DATEPICKER_VALUE_ACCESSOR = {
2627
2781
  provide: NG_VALUE_ACCESSOR,
2628
2782
  useExisting: forwardRef(function () { return MatDatepickerInput; }),
2629
2783
  multi: true
2630
2784
  };
2631
- /** *
2785
+ /**
2632
2786
  * \@docs-private
2633
- @type {?} */
2787
+ * @type {?}
2788
+ */
2634
2789
  var MAT_DATEPICKER_VALIDATORS = {
2635
2790
  provide: NG_VALIDATORS,
2636
2791
  useExisting: forwardRef(function () { return MatDatepickerInput; }),
@@ -2949,11 +3104,14 @@ var MatDatepickerInput = /** @class */ (function () {
2949
3104
  return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
2950
3105
  };
2951
3106
  // Implemented as part of ControlValueAccessor.
3107
+ // Implemented as part of ControlValueAccessor.
2952
3108
  /**
2953
3109
  * @param {?} value
2954
3110
  * @return {?}
2955
3111
  */
2956
- MatDatepickerInput.prototype.writeValue = /**
3112
+ MatDatepickerInput.prototype.writeValue =
3113
+ // Implemented as part of ControlValueAccessor.
3114
+ /**
2957
3115
  * @param {?} value
2958
3116
  * @return {?}
2959
3117
  */
@@ -2961,11 +3119,14 @@ var MatDatepickerInput = /** @class */ (function () {
2961
3119
  this.value = value;
2962
3120
  };
2963
3121
  // Implemented as part of ControlValueAccessor.
3122
+ // Implemented as part of ControlValueAccessor.
2964
3123
  /**
2965
3124
  * @param {?} fn
2966
3125
  * @return {?}
2967
3126
  */
2968
- MatDatepickerInput.prototype.registerOnChange = /**
3127
+ MatDatepickerInput.prototype.registerOnChange =
3128
+ // Implemented as part of ControlValueAccessor.
3129
+ /**
2969
3130
  * @param {?} fn
2970
3131
  * @return {?}
2971
3132
  */
@@ -2973,11 +3134,14 @@ var MatDatepickerInput = /** @class */ (function () {
2973
3134
  this._cvaOnChange = fn;
2974
3135
  };
2975
3136
  // Implemented as part of ControlValueAccessor.
3137
+ // Implemented as part of ControlValueAccessor.
2976
3138
  /**
2977
3139
  * @param {?} fn
2978
3140
  * @return {?}
2979
3141
  */
2980
- MatDatepickerInput.prototype.registerOnTouched = /**
3142
+ MatDatepickerInput.prototype.registerOnTouched =
3143
+ // Implemented as part of ControlValueAccessor.
3144
+ /**
2981
3145
  * @param {?} fn
2982
3146
  * @return {?}
2983
3147
  */
@@ -2985,11 +3149,14 @@ var MatDatepickerInput = /** @class */ (function () {
2985
3149
  this._onTouched = fn;
2986
3150
  };
2987
3151
  // Implemented as part of ControlValueAccessor.
3152
+ // Implemented as part of ControlValueAccessor.
2988
3153
  /**
2989
3154
  * @param {?} isDisabled
2990
3155
  * @return {?}
2991
3156
  */
2992
- MatDatepickerInput.prototype.setDisabledState = /**
3157
+ MatDatepickerInput.prototype.setDisabledState =
3158
+ // Implemented as part of ControlValueAccessor.
3159
+ /**
2993
3160
  * @param {?} isDisabled
2994
3161
  * @return {?}
2995
3162
  */
@@ -3069,13 +3236,16 @@ var MatDatepickerInput = /** @class */ (function () {
3069
3236
  }
3070
3237
  this._onTouched();
3071
3238
  };
3239
+ /** Formats a value and sets it on the input element. */
3072
3240
  /**
3073
3241
  * Formats a value and sets it on the input element.
3242
+ * @private
3074
3243
  * @param {?} value
3075
3244
  * @return {?}
3076
3245
  */
3077
3246
  MatDatepickerInput.prototype._formatValue = /**
3078
3247
  * Formats a value and sets it on the input element.
3248
+ * @private
3079
3249
  * @param {?} value
3080
3250
  * @return {?}
3081
3251
  */
@@ -3084,10 +3254,16 @@ var MatDatepickerInput = /** @class */ (function () {
3084
3254
  value ? this._dateAdapter.format(value, this._dateFormats.display.dateInput) : '';
3085
3255
  };
3086
3256
  /**
3257
+ * @param obj The object to check.
3258
+ * @returns The given object if it is both a date instance and valid, otherwise null.
3259
+ */
3260
+ /**
3261
+ * @private
3087
3262
  * @param {?} obj The object to check.
3088
3263
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
3089
3264
  */
3090
3265
  MatDatepickerInput.prototype._getValidDateOrNull = /**
3266
+ * @private
3091
3267
  * @param {?} obj The object to check.
3092
3268
  * @return {?} The given object if it is both a date instance and valid, otherwise null.
3093
3269
  */
@@ -3138,7 +3314,7 @@ var MatDatepickerInput = /** @class */ (function () {
3138
3314
 
3139
3315
  /**
3140
3316
  * @fileoverview added by tsickle
3141
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3317
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3142
3318
  */
3143
3319
  /**
3144
3320
  * Can be used to override the icon of a `matDatepickerToggle`.
@@ -3193,7 +3369,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3193
3369
  * @return {?}
3194
3370
  */
3195
3371
  function (changes) {
3196
- if (changes["datepicker"]) {
3372
+ if (changes.datepicker) {
3197
3373
  this._watchStateChanges();
3198
3374
  }
3199
3375
  };
@@ -3230,9 +3406,11 @@ var MatDatepickerToggle = /** @class */ (function () {
3230
3406
  }
3231
3407
  };
3232
3408
  /**
3409
+ * @private
3233
3410
  * @return {?}
3234
3411
  */
3235
3412
  MatDatepickerToggle.prototype._watchStateChanges = /**
3413
+ * @private
3236
3414
  * @return {?}
3237
3415
  */
3238
3416
  function () {
@@ -3251,7 +3429,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3251
3429
  };
3252
3430
  MatDatepickerToggle.decorators = [
3253
3431
  { type: Component, args: [{selector: 'mat-datepicker-toggle',
3254
- 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>",
3432
+ 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>",
3255
3433
  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}"],
3256
3434
  host: {
3257
3435
  'class': 'mat-datepicker-toggle',
@@ -3287,7 +3465,7 @@ var MatDatepickerToggle = /** @class */ (function () {
3287
3465
 
3288
3466
  /**
3289
3467
  * @fileoverview added by tsickle
3290
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3468
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3291
3469
  */
3292
3470
  var MatDatepickerModule = /** @class */ (function () {
3293
3471
  function MatDatepickerModule() {
@@ -3343,12 +3521,12 @@ var MatDatepickerModule = /** @class */ (function () {
3343
3521
 
3344
3522
  /**
3345
3523
  * @fileoverview added by tsickle
3346
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3524
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3347
3525
  */
3348
3526
 
3349
3527
  /**
3350
3528
  * @fileoverview added by tsickle
3351
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3529
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3352
3530
  */
3353
3531
 
3354
3532
  export { MatDatepickerModule, MatCalendarHeader, MatCalendar, MatCalendarCell, MatCalendarBody, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, MatDatepickerContentBase, _MatDatepickerContentMixinBase, MatDatepickerContent, MatDatepicker, matDatepickerAnimations, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATEPICKER_VALIDATORS, MatDatepickerInputEvent, MatDatepickerInput, MatDatepickerIntl, MatDatepickerToggleIcon, MatDatepickerToggle, MatMonthView, MatYearView, MatMultiYearView as ɵa34 };