@angular/material 2.0.0-alpha.9-3 → 2.0.0-beta.11

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 (1546) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -145
  3. package/_theming.scss +3872 -0
  4. package/autocomplete/index.d.ts +8 -0
  5. package/autocomplete/index.metadata.json +11 -0
  6. package/autocomplete/package.json +7 -0
  7. package/autocomplete/typings/autocomplete-module.d.ts +2 -0
  8. package/autocomplete/typings/autocomplete-trigger.d.ts +159 -0
  9. package/autocomplete/typings/autocomplete.d.ts +55 -0
  10. package/autocomplete/typings/index.d.ts +4 -0
  11. package/autocomplete/typings/index.metadata.json +1 -0
  12. package/autocomplete/typings/mat-exports.d.ts +17 -0
  13. package/autocomplete/typings/public_api.d.ts +11 -0
  14. package/autocomplete.d.ts +8 -0
  15. package/autocomplete.metadata.json +11 -0
  16. package/bundles/material-autocomplete.umd.js +3293 -0
  17. package/bundles/material-autocomplete.umd.js.map +1 -0
  18. package/bundles/material-autocomplete.umd.min.js +10 -0
  19. package/bundles/material-autocomplete.umd.min.js.map +1 -0
  20. package/bundles/material-button-toggle.umd.js +2689 -0
  21. package/bundles/material-button-toggle.umd.js.map +1 -0
  22. package/bundles/material-button-toggle.umd.min.js +10 -0
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -0
  24. package/bundles/material-button.umd.js +2503 -0
  25. package/bundles/material-button.umd.js.map +1 -0
  26. package/bundles/material-button.umd.min.js +10 -0
  27. package/bundles/material-button.umd.min.js.map +1 -0
  28. package/bundles/material-card.umd.js +2438 -0
  29. package/bundles/material-card.umd.js.map +1 -0
  30. package/bundles/material-card.umd.min.js +10 -0
  31. package/bundles/material-card.umd.min.js.map +1 -0
  32. package/bundles/material-checkbox.umd.js +2692 -0
  33. package/bundles/material-checkbox.umd.js.map +1 -0
  34. package/bundles/material-checkbox.umd.min.js +10 -0
  35. package/bundles/material-checkbox.umd.min.js.map +1 -0
  36. package/bundles/material-chips.umd.js +4121 -0
  37. package/bundles/material-chips.umd.js.map +1 -0
  38. package/bundles/material-chips.umd.min.js +11 -0
  39. package/bundles/material-chips.umd.min.js.map +1 -0
  40. package/bundles/material-core.umd.js +2505 -0
  41. package/bundles/material-core.umd.js.map +1 -0
  42. package/bundles/material-core.umd.min.js +10 -0
  43. package/bundles/material-core.umd.min.js.map +1 -0
  44. package/bundles/material-datepicker.umd.js +6568 -0
  45. package/bundles/material-datepicker.umd.js.map +1 -0
  46. package/bundles/material-datepicker.umd.min.js +12 -0
  47. package/bundles/material-datepicker.umd.min.js.map +1 -0
  48. package/bundles/material-dialog.umd.js +2980 -0
  49. package/bundles/material-dialog.umd.js.map +1 -0
  50. package/bundles/material-dialog.umd.min.js +10 -0
  51. package/bundles/material-dialog.umd.min.js.map +1 -0
  52. package/bundles/material-examples.umd.js +3627 -0
  53. package/bundles/material-examples.umd.js.map +1 -0
  54. package/bundles/material-examples.umd.min.js +12 -0
  55. package/bundles/material-examples.umd.min.js.map +1 -0
  56. package/bundles/material-expansion.umd.js +2678 -0
  57. package/bundles/material-expansion.umd.js.map +1 -0
  58. package/bundles/material-expansion.umd.min.js +10 -0
  59. package/bundles/material-expansion.umd.min.js.map +1 -0
  60. package/bundles/material-form-field.umd.js +2629 -0
  61. package/bundles/material-form-field.umd.js.map +1 -0
  62. package/bundles/material-form-field.umd.min.js +10 -0
  63. package/bundles/material-form-field.umd.min.js.map +1 -0
  64. package/bundles/material-grid-list.umd.js +3000 -0
  65. package/bundles/material-grid-list.umd.js.map +1 -0
  66. package/bundles/material-grid-list.umd.min.js +10 -0
  67. package/bundles/material-grid-list.umd.min.js.map +1 -0
  68. package/bundles/material-icon.umd.js +2862 -0
  69. package/bundles/material-icon.umd.js.map +1 -0
  70. package/bundles/material-icon.umd.min.js +10 -0
  71. package/bundles/material-icon.umd.min.js.map +1 -0
  72. package/bundles/material-input.umd.js +3214 -0
  73. package/bundles/material-input.umd.js.map +1 -0
  74. package/bundles/material-input.umd.min.js +10 -0
  75. package/bundles/material-input.umd.min.js.map +1 -0
  76. package/bundles/material-list.umd.js +2908 -0
  77. package/bundles/material-list.umd.js.map +1 -0
  78. package/bundles/material-list.umd.min.js +11 -0
  79. package/bundles/material-list.umd.min.js.map +1 -0
  80. package/bundles/material-menu.umd.js +3016 -0
  81. package/bundles/material-menu.umd.js.map +1 -0
  82. package/bundles/material-menu.umd.min.js +10 -0
  83. package/bundles/material-menu.umd.min.js.map +1 -0
  84. package/bundles/material-paginator.umd.js +4990 -0
  85. package/bundles/material-paginator.umd.js.map +1 -0
  86. package/bundles/material-paginator.umd.min.js +11 -0
  87. package/bundles/material-paginator.umd.min.js.map +1 -0
  88. package/bundles/material-progress-bar.umd.js +2204 -0
  89. package/bundles/material-progress-bar.umd.js.map +1 -0
  90. package/bundles/material-progress-bar.umd.min.js +10 -0
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -0
  92. package/bundles/material-progress-spinner.umd.js +2594 -0
  93. package/bundles/material-progress-spinner.umd.js.map +1 -0
  94. package/bundles/material-progress-spinner.umd.min.js +10 -0
  95. package/bundles/material-progress-spinner.umd.min.js.map +1 -0
  96. package/bundles/material-radio.umd.js +2936 -0
  97. package/bundles/material-radio.umd.js.map +1 -0
  98. package/bundles/material-radio.umd.min.js +10 -0
  99. package/bundles/material-radio.umd.min.js.map +1 -0
  100. package/bundles/material-select.umd.js +3611 -0
  101. package/bundles/material-select.umd.js.map +1 -0
  102. package/bundles/material-select.umd.min.js +10 -0
  103. package/bundles/material-select.umd.min.js.map +1 -0
  104. package/bundles/material-sidenav.umd.js +2781 -0
  105. package/bundles/material-sidenav.umd.js.map +1 -0
  106. package/bundles/material-sidenav.umd.min.js +10 -0
  107. package/bundles/material-sidenav.umd.min.js.map +1 -0
  108. package/bundles/material-slide-toggle.umd.js +2657 -0
  109. package/bundles/material-slide-toggle.umd.js.map +1 -0
  110. package/bundles/material-slide-toggle.umd.min.js +10 -0
  111. package/bundles/material-slide-toggle.umd.min.js.map +1 -0
  112. package/bundles/material-slider.umd.js +3043 -0
  113. package/bundles/material-slider.umd.js.map +1 -0
  114. package/bundles/material-slider.umd.min.js +10 -0
  115. package/bundles/material-slider.umd.min.js.map +1 -0
  116. package/bundles/material-snack-bar.umd.js +2717 -0
  117. package/bundles/material-snack-bar.umd.js.map +1 -0
  118. package/bundles/material-snack-bar.umd.min.js +10 -0
  119. package/bundles/material-snack-bar.umd.min.js.map +1 -0
  120. package/bundles/material-sort.umd.js +2479 -0
  121. package/bundles/material-sort.umd.js.map +1 -0
  122. package/bundles/material-sort.umd.min.js +10 -0
  123. package/bundles/material-sort.umd.min.js.map +1 -0
  124. package/bundles/material-stepper.umd.js +3598 -0
  125. package/bundles/material-stepper.umd.js.map +1 -0
  126. package/bundles/material-stepper.umd.min.js +11 -0
  127. package/bundles/material-stepper.umd.min.js.map +1 -0
  128. package/bundles/material-table.umd.js +2458 -0
  129. package/bundles/material-table.umd.js.map +1 -0
  130. package/bundles/material-table.umd.min.js +10 -0
  131. package/bundles/material-table.umd.min.js.map +1 -0
  132. package/bundles/material-tabs.umd.js +3742 -0
  133. package/bundles/material-tabs.umd.js.map +1 -0
  134. package/bundles/material-tabs.umd.min.js +10 -0
  135. package/bundles/material-tabs.umd.min.js.map +1 -0
  136. package/bundles/material-toolbar.umd.js +2211 -0
  137. package/bundles/material-toolbar.umd.js.map +1 -0
  138. package/bundles/material-toolbar.umd.min.js +9 -0
  139. package/bundles/material-toolbar.umd.min.js.map +1 -0
  140. package/bundles/material-tooltip.umd.js +2821 -0
  141. package/bundles/material-tooltip.umd.js.map +1 -0
  142. package/bundles/material-tooltip.umd.min.js +10 -0
  143. package/bundles/material-tooltip.umd.min.js.map +1 -0
  144. package/bundles/material.umd.js +23785 -0
  145. package/bundles/material.umd.js.map +1 -0
  146. package/bundles/material.umd.min.js +23 -0
  147. package/bundles/material.umd.min.js.map +1 -0
  148. package/button/index.d.ts +8 -1
  149. package/button/index.metadata.json +11 -1
  150. package/button/package.json +7 -0
  151. package/button/typings/button-module.d.ts +2 -0
  152. package/button/typings/button.d.ts +80 -0
  153. package/button/typings/index.d.ts +4 -0
  154. package/button/typings/index.metadata.json +1 -0
  155. package/button/typings/mat-exports.d.ts +18 -0
  156. package/button/typings/public_api.d.ts +10 -0
  157. package/button-toggle/index.d.ts +8 -1
  158. package/button-toggle/index.metadata.json +11 -1
  159. package/button-toggle/package.json +7 -0
  160. package/button-toggle/typings/button-toggle-module.d.ts +2 -0
  161. package/button-toggle/typings/button-toggle.d.ts +156 -0
  162. package/button-toggle/typings/index.d.ts +4 -0
  163. package/button-toggle/typings/index.metadata.json +1 -0
  164. package/button-toggle/typings/mat-exports.d.ts +16 -0
  165. package/button-toggle/typings/public_api.d.ts +10 -0
  166. package/button-toggle.d.ts +8 -0
  167. package/button-toggle.metadata.json +11 -0
  168. package/button.d.ts +8 -0
  169. package/button.metadata.json +11 -0
  170. package/card/index.d.ts +8 -1
  171. package/card/index.metadata.json +11 -1
  172. package/card/package.json +7 -0
  173. package/card/typings/card-module.d.ts +2 -0
  174. package/card/typings/card.d.ts +95 -0
  175. package/card/typings/index.d.ts +4 -0
  176. package/card/typings/index.metadata.json +1 -0
  177. package/card/typings/mat-exports.d.ts +24 -0
  178. package/card/typings/public_api.d.ts +10 -0
  179. package/card.d.ts +8 -0
  180. package/card.metadata.json +11 -0
  181. package/checkbox/index.d.ts +8 -1
  182. package/checkbox/index.metadata.json +11 -1
  183. package/checkbox/package.json +7 -0
  184. package/checkbox/typings/checkbox-module.d.ts +2 -0
  185. package/checkbox/typings/checkbox-required-validator.d.ts +18 -0
  186. package/checkbox/typings/checkbox.d.ts +159 -0
  187. package/checkbox/typings/index.d.ts +4 -0
  188. package/checkbox/typings/index.metadata.json +1 -0
  189. package/checkbox/typings/mat-exports.d.ts +17 -0
  190. package/checkbox/typings/public_api.d.ts +11 -0
  191. package/checkbox.d.ts +8 -0
  192. package/checkbox.metadata.json +11 -0
  193. package/chips/index.d.ts +8 -0
  194. package/chips/index.metadata.json +11 -0
  195. package/chips/package.json +7 -0
  196. package/chips/typings/chip-input.d.ts +54 -0
  197. package/chips/typings/chip-list.d.ts +219 -0
  198. package/chips/typings/chip.d.ts +123 -0
  199. package/chips/typings/chips-module.d.ts +2 -0
  200. package/chips/typings/index.d.ts +4 -0
  201. package/chips/typings/index.metadata.json +1 -0
  202. package/chips/typings/mat-exports.d.ts +21 -0
  203. package/chips/typings/public_api.d.ts +12 -0
  204. package/chips.d.ts +8 -0
  205. package/chips.metadata.json +11 -0
  206. package/core/index.d.ts +8 -1
  207. package/core/index.metadata.json +11 -1
  208. package/core/package.json +7 -0
  209. package/core/typings/a11y/index.d.ts +8 -0
  210. package/core/typings/animation/animation.d.ts +20 -0
  211. package/core/typings/bidi/index.d.ts +8 -0
  212. package/core/typings/common-behaviors/color.d.ts +22 -0
  213. package/core/typings/common-behaviors/common-module.d.ts +24 -0
  214. package/core/typings/common-behaviors/constructor.d.ts +9 -0
  215. package/core/typings/common-behaviors/disable-ripple.d.ts +7 -0
  216. package/core/typings/common-behaviors/disabled.d.ts +7 -0
  217. package/core/typings/common-behaviors/index.d.ts +12 -0
  218. package/core/typings/common-behaviors/tabindex.d.ts +15 -0
  219. package/core/typings/compatibility/compatibility.d.ts +40 -0
  220. package/core/typings/coordination/unique-selection-dispatcher.d.ts +40 -0
  221. package/core/typings/datetime/date-adapter.d.ts +198 -0
  222. package/core/typings/datetime/date-formats.d.ts +20 -0
  223. package/core/typings/datetime/index.d.ts +8 -0
  224. package/core/typings/datetime/native-date-adapter.d.ts +50 -0
  225. package/core/typings/datetime/native-date-formats.d.ts +9 -0
  226. package/core/typings/error/error-options.d.ts +19 -0
  227. package/core/typings/gestures/gesture-annotations.d.ts +51 -0
  228. package/core/typings/gestures/gesture-config.d.ts +23 -0
  229. package/core/typings/index.d.ts +5 -0
  230. package/core/typings/index.metadata.json +1 -0
  231. package/core/typings/keyboard/keycodes.d.ts +8 -0
  232. package/core/typings/line/line.d.ts +30 -0
  233. package/core/typings/mat-exports.d.ts +36 -0
  234. package/core/typings/option/index.d.ts +4 -0
  235. package/core/typings/option/optgroup.d.ts +14 -0
  236. package/core/typings/option/option.d.ts +97 -0
  237. package/core/typings/overlay/index.d.ts +8 -0
  238. package/core/typings/placeholder/placeholder-options.d.ts +15 -0
  239. package/core/typings/platform/features.d.ts +8 -0
  240. package/core/typings/platform/index.d.ts +10 -0
  241. package/core/typings/platform/platform.d.ts +8 -0
  242. package/core/typings/portal/dom-portal-host.d.ts +8 -0
  243. package/core/typings/portal/portal-directives.d.ts +8 -0
  244. package/core/typings/portal/portal-injector.d.ts +19 -0
  245. package/core/typings/portal/portal.d.ts +8 -0
  246. package/core/typings/public_api.d.ts +34 -0
  247. package/core/typings/ripple/index.d.ts +5 -0
  248. package/core/typings/ripple/ripple-ref.d.ts +28 -0
  249. package/core/typings/ripple/ripple-renderer.d.ts +64 -0
  250. package/core/typings/ripple/ripple.d.ts +73 -0
  251. package/core/typings/rxjs/index.d.ts +9 -0
  252. package/core/typings/rxjs/rx-chain.d.ts +8 -0
  253. package/core/typings/rxjs/rx-operators.d.ts +8 -0
  254. package/core/typings/selection/index.d.ts +3 -0
  255. package/core/typings/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
  256. package/core/typings/style/apply-transform.d.ts +13 -0
  257. package/core/typings/style/index.d.ts +5 -0
  258. package/core/typings/testing/month-constants.d.ts +12 -0
  259. package/core/typings/util/object-extend.d.ts +15 -0
  260. package/core.d.ts +7 -0
  261. package/core.metadata.json +11 -1
  262. package/datepicker/index.d.ts +8 -0
  263. package/datepicker/index.metadata.json +11 -0
  264. package/datepicker/package.json +7 -0
  265. package/datepicker/typings/calendar-body.d.ts +52 -0
  266. package/datepicker/typings/calendar.d.ts +90 -0
  267. package/datepicker/typings/coerce-date-property.d.ts +19 -0
  268. package/datepicker/typings/datepicker-errors.d.ts +9 -0
  269. package/datepicker/typings/datepicker-input.d.ts +94 -0
  270. package/datepicker/typings/datepicker-intl.d.ts +25 -0
  271. package/datepicker/typings/datepicker-module.d.ts +2 -0
  272. package/datepicker/typings/datepicker-toggle.d.ts +24 -0
  273. package/datepicker/typings/datepicker.d.ts +117 -0
  274. package/datepicker/typings/index.d.ts +4 -0
  275. package/datepicker/typings/index.metadata.json +1 -0
  276. package/datepicker/typings/mat-exports.d.ts +33 -0
  277. package/datepicker/typings/month-view.d.ts +65 -0
  278. package/datepicker/typings/public_api.d.ts +18 -0
  279. package/datepicker/typings/year-view.d.ts +54 -0
  280. package/datepicker.d.ts +8 -0
  281. package/datepicker.metadata.json +11 -0
  282. package/dialog/index.d.ts +8 -4
  283. package/dialog/index.metadata.json +11 -1
  284. package/dialog/package.json +7 -0
  285. package/dialog/typings/dialog-config.d.ts +54 -0
  286. package/dialog/typings/dialog-container.d.ts +68 -0
  287. package/dialog/typings/dialog-content-directives.d.ts +45 -0
  288. package/dialog/typings/dialog-module.d.ts +2 -0
  289. package/dialog/typings/dialog-ref.d.ts +68 -0
  290. package/dialog/typings/dialog.d.ts +108 -0
  291. package/dialog/typings/index.d.ts +4 -0
  292. package/dialog/typings/index.metadata.json +1 -0
  293. package/dialog/typings/mat-exports.d.ts +26 -0
  294. package/dialog/typings/public_api.d.ts +14 -0
  295. package/dialog.d.ts +8 -0
  296. package/dialog.metadata.json +11 -0
  297. package/esm2015/autocomplete.js +661 -0
  298. package/esm2015/autocomplete.js.map +1 -0
  299. package/esm2015/button-toggle.js +567 -0
  300. package/esm2015/button-toggle.js.map +1 -0
  301. package/esm2015/button.js +323 -0
  302. package/esm2015/button.js.map +1 -0
  303. package/esm2015/card.js +312 -0
  304. package/esm2015/card.js.map +1 -0
  305. package/esm2015/checkbox.js +504 -0
  306. package/esm2015/checkbox.js.map +1 -0
  307. package/esm2015/chips.js +1332 -0
  308. package/esm2015/chips.js.map +1 -0
  309. package/esm2015/core.js +2316 -0
  310. package/esm2015/core.js.map +1 -0
  311. package/esm2015/datepicker.js +1808 -0
  312. package/esm2015/datepicker.js.map +1 -0
  313. package/esm2015/dialog.js +849 -0
  314. package/esm2015/dialog.js.map +1 -0
  315. package/esm2015/expansion.js +581 -0
  316. package/esm2015/expansion.js.map +1 -0
  317. package/esm2015/form-field.js +522 -0
  318. package/esm2015/form-field.js.map +1 -0
  319. package/esm2015/grid-list.js +825 -0
  320. package/esm2015/grid-list.js.map +1 -0
  321. package/esm2015/icon.js +733 -0
  322. package/esm2015/icon.js.map +1 -0
  323. package/esm2015/input.js +568 -0
  324. package/esm2015/input.js.map +1 -0
  325. package/esm2015/list.js +666 -0
  326. package/esm2015/list.js.map +1 -0
  327. package/esm2015/material.js +51 -0
  328. package/esm2015/material.js.map +1 -0
  329. package/esm2015/menu.js +917 -0
  330. package/esm2015/menu.js.map +1 -0
  331. package/esm2015/paginator.js +304 -0
  332. package/esm2015/paginator.js.map +1 -0
  333. package/esm2015/progress-bar.js +132 -0
  334. package/esm2015/progress-bar.js.map +1 -0
  335. package/esm2015/progress-spinner.js +438 -0
  336. package/esm2015/progress-spinner.js.map +1 -0
  337. package/esm2015/radio.js +707 -0
  338. package/esm2015/radio.js.map +1 -0
  339. package/esm2015/select.js +1378 -0
  340. package/esm2015/select.js.map +1 -0
  341. package/esm2015/sidenav.js +666 -0
  342. package/esm2015/sidenav.js.map +1 -0
  343. package/esm2015/slide-toggle.js +429 -0
  344. package/esm2015/slide-toggle.js.map +1 -0
  345. package/esm2015/slider.js +833 -0
  346. package/esm2015/slider.js.map +1 -0
  347. package/esm2015/snack-bar.js +606 -0
  348. package/esm2015/snack-bar.js.map +1 -0
  349. package/esm2015/sort.js +387 -0
  350. package/esm2015/sort.js.map +1 -0
  351. package/esm2015/stepper.js +330 -0
  352. package/esm2015/stepper.js.map +1 -0
  353. package/esm2015/table.js +312 -0
  354. package/esm2015/table.js.map +1 -0
  355. package/esm2015/tabs.js +1477 -0
  356. package/esm2015/tabs.js.map +1 -0
  357. package/esm2015/toolbar.js +88 -0
  358. package/esm2015/toolbar.js.map +1 -0
  359. package/esm2015/tooltip.js +701 -0
  360. package/esm2015/tooltip.js.map +1 -0
  361. package/esm5/autocomplete.es5.js +691 -0
  362. package/esm5/autocomplete.es5.js.map +1 -0
  363. package/esm5/button-toggle.es5.js +619 -0
  364. package/esm5/button-toggle.es5.js.map +1 -0
  365. package/esm5/button.es5.js +341 -0
  366. package/esm5/button.es5.js.map +1 -0
  367. package/esm5/card.es5.js +349 -0
  368. package/esm5/card.es5.js.map +1 -0
  369. package/esm5/checkbox.es5.js +534 -0
  370. package/esm5/checkbox.es5.js.map +1 -0
  371. package/esm5/chips.es5.js +1466 -0
  372. package/esm5/chips.es5.js.map +1 -0
  373. package/esm5/core.es5.js +2316 -0
  374. package/esm5/core.es5.js.map +1 -0
  375. package/esm5/datepicker.es5.js +1936 -0
  376. package/esm5/datepicker.es5.js.map +1 -0
  377. package/esm5/dialog.es5.js +877 -0
  378. package/esm5/dialog.es5.js.map +1 -0
  379. package/esm5/expansion.es5.js +608 -0
  380. package/esm5/expansion.es5.js.map +1 -0
  381. package/esm5/form-field.es5.js +556 -0
  382. package/esm5/form-field.es5.js.map +1 -0
  383. package/esm5/grid-list.es5.js +877 -0
  384. package/esm5/grid-list.es5.js.map +1 -0
  385. package/esm5/icon.es5.js +746 -0
  386. package/esm5/icon.es5.js.map +1 -0
  387. package/esm5/input.es5.js +606 -0
  388. package/esm5/input.es5.js.map +1 -0
  389. package/esm5/list.es5.js +726 -0
  390. package/esm5/list.es5.js.map +1 -0
  391. package/esm5/material.es5.js +48 -0
  392. package/esm5/material.es5.js.map +1 -0
  393. package/esm5/menu.es5.js +953 -0
  394. package/esm5/menu.es5.js.map +1 -0
  395. package/esm5/paginator.es5.js +324 -0
  396. package/esm5/paginator.es5.js.map +1 -0
  397. package/esm5/progress-bar.es5.js +142 -0
  398. package/esm5/progress-bar.es5.js.map +1 -0
  399. package/esm5/progress-spinner.es5.js +474 -0
  400. package/esm5/progress-spinner.es5.js.map +1 -0
  401. package/esm5/radio.es5.js +779 -0
  402. package/esm5/radio.es5.js.map +1 -0
  403. package/esm5/select.es5.js +1444 -0
  404. package/esm5/select.es5.js.map +1 -0
  405. package/esm5/sidenav.es5.js +719 -0
  406. package/esm5/sidenav.es5.js.map +1 -0
  407. package/esm5/slide-toggle.es5.js +451 -0
  408. package/esm5/slide-toggle.es5.js.map +1 -0
  409. package/esm5/slider.es5.js +932 -0
  410. package/esm5/slider.es5.js.map +1 -0
  411. package/esm5/snack-bar.es5.js +623 -0
  412. package/esm5/snack-bar.es5.js.map +1 -0
  413. package/esm5/sort.es5.js +418 -0
  414. package/esm5/sort.es5.js.map +1 -0
  415. package/esm5/stepper.es5.js +376 -0
  416. package/esm5/stepper.es5.js.map +1 -0
  417. package/esm5/table.es5.js +370 -0
  418. package/esm5/table.es5.js.map +1 -0
  419. package/esm5/tabs.es5.js +1576 -0
  420. package/esm5/tabs.es5.js.map +1 -0
  421. package/esm5/toolbar.es5.js +94 -0
  422. package/esm5/toolbar.es5.js.map +1 -0
  423. package/esm5/tooltip.es5.js +759 -0
  424. package/esm5/tooltip.es5.js.map +1 -0
  425. package/expansion/index.d.ts +8 -0
  426. package/expansion/index.metadata.json +11 -0
  427. package/expansion/package.json +7 -0
  428. package/expansion/typings/accordion-item.d.ts +41 -0
  429. package/expansion/typings/accordion.d.ts +29 -0
  430. package/expansion/typings/expansion-module.d.ts +2 -0
  431. package/expansion/typings/expansion-panel-header.d.ts +56 -0
  432. package/expansion/typings/expansion-panel.d.ts +39 -0
  433. package/expansion/typings/index.d.ts +5 -0
  434. package/expansion/typings/index.metadata.json +1 -0
  435. package/expansion/typings/mat-exports.d.ts +20 -0
  436. package/expansion/typings/public_api.d.ts +13 -0
  437. package/expansion.d.ts +8 -0
  438. package/expansion.metadata.json +11 -0
  439. package/form-field/index.d.ts +8 -0
  440. package/form-field/index.metadata.json +11 -0
  441. package/form-field/package.json +7 -0
  442. package/form-field/typings/error.d.ts +4 -0
  443. package/form-field/typings/form-field-control.d.ts +39 -0
  444. package/form-field/typings/form-field-errors.d.ts +13 -0
  445. package/form-field/typings/form-field-module.d.ts +2 -0
  446. package/form-field/typings/form-field.d.ts +77 -0
  447. package/form-field/typings/hint.d.ts +7 -0
  448. package/form-field/typings/index.d.ts +4 -0
  449. package/form-field/typings/index.metadata.json +1 -0
  450. package/form-field/typings/mat-exports.d.ts +23 -0
  451. package/form-field/typings/placeholder.d.ts +3 -0
  452. package/form-field/typings/prefix.d.ts +3 -0
  453. package/form-field/typings/public_api.d.ts +17 -0
  454. package/form-field/typings/suffix.d.ts +3 -0
  455. package/form-field.d.ts +8 -0
  456. package/form-field.metadata.json +11 -0
  457. package/grid-list/index.d.ts +8 -1
  458. package/grid-list/index.metadata.json +11 -1
  459. package/grid-list/package.json +7 -0
  460. package/grid-list/typings/grid-list-measure.d.ts +17 -0
  461. package/grid-list/typings/grid-list-module.d.ts +2 -0
  462. package/grid-list/typings/grid-list.d.ts +53 -0
  463. package/grid-list/typings/grid-tile.d.ts +55 -0
  464. package/grid-list/typings/index.d.ts +5 -0
  465. package/grid-list/typings/index.metadata.json +1 -0
  466. package/grid-list/typings/mat-exports.d.ts +13 -0
  467. package/grid-list/typings/public_api.d.ts +11 -0
  468. package/grid-list/typings/tile-coordinator.d.ts +64 -0
  469. package/grid-list/typings/tile-styler.d.ts +129 -0
  470. package/grid-list.d.ts +8 -0
  471. package/grid-list.metadata.json +11 -0
  472. package/icon/index.d.ts +8 -1
  473. package/icon/index.metadata.json +11 -1
  474. package/icon/package.json +7 -0
  475. package/icon/typings/icon-module.d.ts +2 -0
  476. package/icon/typings/icon-registry.d.ts +194 -0
  477. package/icon/typings/icon.d.ts +76 -0
  478. package/icon/typings/index.d.ts +4 -0
  479. package/icon/typings/index.metadata.json +1 -0
  480. package/icon/typings/mat-exports.d.ts +14 -0
  481. package/icon/typings/public_api.d.ts +11 -0
  482. package/icon.d.ts +8 -0
  483. package/icon.metadata.json +11 -0
  484. package/input/index.d.ts +8 -1
  485. package/input/index.metadata.json +11 -1
  486. package/input/package.json +7 -0
  487. package/input/typings/autosize.d.ts +45 -0
  488. package/input/typings/index.d.ts +4 -0
  489. package/input/typings/index.metadata.json +1 -0
  490. package/input/typings/input-errors.d.ts +9 -0
  491. package/input/typings/input-module.d.ts +2 -0
  492. package/input/typings/input.d.ts +78 -0
  493. package/input/typings/mat-exports.d.ts +13 -0
  494. package/input/typings/public_api.d.ts +12 -0
  495. package/input.d.ts +8 -0
  496. package/input.metadata.json +11 -0
  497. package/list/index.d.ts +8 -1
  498. package/list/index.metadata.json +11 -1
  499. package/list/package.json +7 -0
  500. package/list/typings/index.d.ts +4 -0
  501. package/list/typings/index.metadata.json +1 -0
  502. package/list/typings/list-module.d.ts +2 -0
  503. package/list/typings/list.d.ts +78 -0
  504. package/list/typings/mat-exports.d.ts +27 -0
  505. package/list/typings/public_api.d.ts +11 -0
  506. package/list/typings/selection-list.d.ts +112 -0
  507. package/list.d.ts +8 -0
  508. package/list.metadata.json +11 -0
  509. package/material.d.ts +39 -0
  510. package/material.metadata.json +102 -0
  511. package/menu/index.d.ts +8 -1
  512. package/menu/index.metadata.json +11 -1
  513. package/menu/package.json +7 -0
  514. package/menu/typings/index.d.ts +6 -0
  515. package/menu/typings/index.metadata.json +1 -0
  516. package/menu/typings/mat-exports.d.ts +16 -0
  517. package/menu/typings/menu-animations.d.ts +27 -0
  518. package/menu/typings/menu-directive.d.ts +86 -0
  519. package/menu/typings/menu-errors.d.ts +24 -0
  520. package/menu/typings/menu-item.d.ts +40 -0
  521. package/menu/typings/menu-module.d.ts +2 -0
  522. package/menu/typings/menu-panel.d.ts +22 -0
  523. package/menu/typings/menu-positions.d.ts +9 -0
  524. package/menu/typings/menu-trigger.d.ts +116 -0
  525. package/menu/typings/menu.d.ts +12 -0
  526. package/menu/typings/public_api.d.ts +12 -0
  527. package/menu.d.ts +8 -0
  528. package/menu.metadata.json +11 -0
  529. package/package.json +10 -8
  530. package/paginator/index.d.ts +8 -0
  531. package/paginator/index.metadata.json +11 -0
  532. package/paginator/package.json +7 -0
  533. package/paginator/typings/index.d.ts +4 -0
  534. package/paginator/typings/index.metadata.json +1 -0
  535. package/paginator/typings/mat-exports.d.ts +13 -0
  536. package/paginator/typings/paginator-intl.d.ts +20 -0
  537. package/paginator/typings/paginator-module.d.ts +2 -0
  538. package/paginator/typings/paginator.d.ts +75 -0
  539. package/paginator/typings/public_api.d.ts +11 -0
  540. package/paginator.d.ts +8 -0
  541. package/paginator.metadata.json +11 -0
  542. package/prebuilt-themes/deeppurple-amber.css +1 -0
  543. package/prebuilt-themes/indigo-pink.css +1 -0
  544. package/prebuilt-themes/pink-bluegrey.css +1 -0
  545. package/prebuilt-themes/purple-green.css +1 -0
  546. package/progress-bar/index.d.ts +8 -1
  547. package/progress-bar/index.metadata.json +11 -1
  548. package/progress-bar/package.json +7 -0
  549. package/progress-bar/typings/index.d.ts +4 -0
  550. package/progress-bar/typings/index.metadata.json +1 -0
  551. package/progress-bar/typings/mat-exports.d.ts +11 -0
  552. package/progress-bar/typings/progress-bar-module.d.ts +2 -0
  553. package/progress-bar/typings/progress-bar.d.ts +32 -0
  554. package/progress-bar/typings/public_api.d.ts +10 -0
  555. package/progress-bar.d.ts +8 -0
  556. package/progress-bar.metadata.json +11 -0
  557. package/progress-spinner/index.d.ts +8 -0
  558. package/progress-spinner/index.metadata.json +11 -0
  559. package/progress-spinner/package.json +7 -0
  560. package/progress-spinner/typings/index.d.ts +4 -0
  561. package/progress-spinner/typings/index.metadata.json +1 -0
  562. package/progress-spinner/typings/mat-exports.d.ts +14 -0
  563. package/progress-spinner/typings/progress-spinner-module.d.ts +2 -0
  564. package/progress-spinner/typings/progress-spinner.d.ts +98 -0
  565. package/progress-spinner/typings/public_api.d.ts +10 -0
  566. package/progress-spinner.d.ts +8 -0
  567. package/progress-spinner.metadata.json +11 -0
  568. package/radio/index.d.ts +8 -1
  569. package/radio/index.metadata.json +11 -1
  570. package/radio/package.json +7 -0
  571. package/radio/typings/index.d.ts +4 -0
  572. package/radio/typings/index.metadata.json +1 -0
  573. package/radio/typings/mat-exports.d.ts +16 -0
  574. package/radio/typings/public_api.d.ts +10 -0
  575. package/radio/typings/radio-module.d.ts +2 -0
  576. package/radio/typings/radio.d.ts +217 -0
  577. package/radio.d.ts +8 -0
  578. package/radio.metadata.json +11 -0
  579. package/select/index.d.ts +8 -5
  580. package/select/index.metadata.json +11 -1
  581. package/select/package.json +7 -0
  582. package/select/typings/index.d.ts +4 -0
  583. package/select/typings/index.metadata.json +1 -0
  584. package/select/typings/mat-exports.d.ts +17 -0
  585. package/select/typings/public_api.d.ts +11 -0
  586. package/select/typings/select-animations.d.ts +36 -0
  587. package/select/typings/select-errors.d.ts +26 -0
  588. package/select/typings/select-module.d.ts +2 -0
  589. package/select/typings/select.d.ts +412 -0
  590. package/select.d.ts +8 -0
  591. package/select.metadata.json +11 -0
  592. package/sidenav/index.d.ts +8 -1
  593. package/sidenav/index.metadata.json +11 -1
  594. package/sidenav/package.json +7 -0
  595. package/sidenav/typings/drawer.d.ts +178 -0
  596. package/sidenav/typings/index.d.ts +4 -0
  597. package/sidenav/typings/index.metadata.json +1 -0
  598. package/sidenav/typings/mat-exports.d.ts +16 -0
  599. package/sidenav/typings/public_api.d.ts +11 -0
  600. package/sidenav/typings/sidenav-module.d.ts +2 -0
  601. package/sidenav/typings/sidenav.d.ts +6 -0
  602. package/sidenav.d.ts +8 -0
  603. package/sidenav.metadata.json +11 -0
  604. package/slide-toggle/index.d.ts +8 -1
  605. package/slide-toggle/index.metadata.json +11 -1
  606. package/slide-toggle/package.json +7 -0
  607. package/slide-toggle/typings/index.d.ts +4 -0
  608. package/slide-toggle/typings/index.metadata.json +1 -0
  609. package/slide-toggle/typings/mat-exports.d.ts +14 -0
  610. package/slide-toggle/typings/public_api.d.ts +10 -0
  611. package/slide-toggle/typings/slide-toggle-module.d.ts +2 -0
  612. package/slide-toggle/typings/slide-toggle.d.ts +93 -0
  613. package/slide-toggle.d.ts +8 -0
  614. package/slide-toggle.metadata.json +11 -0
  615. package/slider/index.d.ts +8 -1
  616. package/slider/index.metadata.json +11 -1
  617. package/slider/package.json +7 -0
  618. package/slider/typings/index.d.ts +4 -0
  619. package/slider/typings/index.metadata.json +1 -0
  620. package/slider/typings/mat-exports.d.ts +14 -0
  621. package/slider/typings/public_api.d.ts +10 -0
  622. package/slider/typings/slider-module.d.ts +2 -0
  623. package/slider/typings/slider.d.ts +207 -0
  624. package/slider.d.ts +8 -0
  625. package/slider.metadata.json +11 -0
  626. package/snack-bar/index.d.ts +8 -4
  627. package/snack-bar/index.metadata.json +11 -1
  628. package/snack-bar/package.json +7 -0
  629. package/snack-bar/typings/index.d.ts +4 -0
  630. package/snack-bar/typings/index.metadata.json +1 -0
  631. package/snack-bar/typings/mat-exports.d.ts +18 -0
  632. package/snack-bar/typings/public_api.d.ts +14 -0
  633. package/snack-bar/typings/simple-snack-bar.d.ts +18 -0
  634. package/snack-bar/typings/snack-bar-config.d.ts +38 -0
  635. package/snack-bar/typings/snack-bar-container.d.ts +61 -0
  636. package/snack-bar/typings/snack-bar-module.d.ts +2 -0
  637. package/snack-bar/typings/snack-bar-ref.d.ts +51 -0
  638. package/snack-bar/typings/snack-bar.d.ts +70 -0
  639. package/snack-bar.d.ts +8 -0
  640. package/snack-bar.metadata.json +11 -0
  641. package/sort/index.d.ts +8 -0
  642. package/sort/index.metadata.json +11 -0
  643. package/sort/package.json +7 -0
  644. package/sort/typings/index.d.ts +4 -0
  645. package/sort/typings/index.metadata.json +1 -0
  646. package/sort/typings/mat-exports.d.ts +16 -0
  647. package/sort/typings/public_api.d.ts +13 -0
  648. package/sort/typings/sort-direction.d.ts +8 -0
  649. package/sort/typings/sort-errors.d.ts +13 -0
  650. package/sort/typings/sort-header-intl.d.ts +17 -0
  651. package/sort/typings/sort-header.d.ts +44 -0
  652. package/sort/typings/sort-module.d.ts +2 -0
  653. package/sort/typings/sort.d.ts +59 -0
  654. package/sort.d.ts +8 -0
  655. package/sort.metadata.json +11 -0
  656. package/stepper/index.d.ts +8 -0
  657. package/stepper/index.metadata.json +11 -0
  658. package/stepper/package.json +7 -0
  659. package/stepper/typings/index.d.ts +4 -0
  660. package/stepper/typings/index.metadata.json +1 -0
  661. package/stepper/typings/mat-exports.d.ts +21 -0
  662. package/stepper/typings/public_api.d.ts +13 -0
  663. package/stepper/typings/step-header.d.ts +23 -0
  664. package/stepper/typings/step-label.d.ts +14 -0
  665. package/stepper/typings/stepper-button.d.ts +10 -0
  666. package/stepper/typings/stepper-module.d.ts +2 -0
  667. package/stepper/typings/stepper.d.ts +27 -0
  668. package/stepper.d.ts +8 -0
  669. package/stepper.metadata.json +11 -0
  670. package/table/index.d.ts +8 -0
  671. package/table/index.metadata.json +11 -0
  672. package/table/package.json +7 -0
  673. package/table/typings/cell.d.ts +44 -0
  674. package/table/typings/index.d.ts +4 -0
  675. package/table/typings/index.metadata.json +1 -0
  676. package/table/typings/mat-exports.d.ts +20 -0
  677. package/table/typings/public_api.d.ts +12 -0
  678. package/table/typings/row.d.ts +30 -0
  679. package/table/typings/table-module.d.ts +2 -0
  680. package/table/typings/table.d.ts +8 -0
  681. package/table.d.ts +8 -0
  682. package/table.metadata.json +11 -0
  683. package/tabs/index.d.ts +8 -1
  684. package/tabs/index.metadata.json +11 -1
  685. package/tabs/package.json +7 -0
  686. package/tabs/typings/index.d.ts +8 -0
  687. package/tabs/typings/index.metadata.json +1 -0
  688. package/tabs/typings/ink-bar.d.ts +33 -0
  689. package/tabs/typings/mat-exports.d.ts +31 -0
  690. package/tabs/typings/public_api.d.ts +17 -0
  691. package/tabs/typings/tab-body.d.ts +69 -0
  692. package/tabs/typings/tab-group.d.ts +100 -0
  693. package/tabs/typings/tab-header.d.ts +156 -0
  694. package/tabs/typings/tab-label-wrapper.d.ts +25 -0
  695. package/tabs/typings/tab-label.d.ts +15 -0
  696. package/tabs/typings/tab-nav-bar/index.d.ts +8 -0
  697. package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +77 -0
  698. package/tabs/typings/tab.d.ts +50 -0
  699. package/tabs/typings/tabs-module.d.ts +2 -0
  700. package/tabs.d.ts +8 -0
  701. package/tabs.metadata.json +11 -0
  702. package/toolbar/index.d.ts +8 -1
  703. package/toolbar/index.metadata.json +11 -1
  704. package/toolbar/package.json +7 -0
  705. package/toolbar/typings/index.d.ts +4 -0
  706. package/toolbar/typings/index.metadata.json +1 -0
  707. package/toolbar/typings/mat-exports.d.ts +13 -0
  708. package/toolbar/typings/public_api.d.ts +10 -0
  709. package/toolbar/typings/toolbar-module.d.ts +2 -0
  710. package/toolbar/typings/toolbar.d.ts +21 -0
  711. package/toolbar.d.ts +8 -0
  712. package/toolbar.metadata.json +11 -0
  713. package/tooltip/index.d.ts +8 -1
  714. package/tooltip/index.metadata.json +11 -1
  715. package/tooltip/package.json +7 -0
  716. package/tooltip/typings/index.d.ts +4 -0
  717. package/tooltip/typings/index.metadata.json +1 -0
  718. package/tooltip/typings/mat-exports.d.ts +14 -0
  719. package/tooltip/typings/public_api.d.ts +10 -0
  720. package/tooltip/typings/tooltip-module.d.ts +2 -0
  721. package/tooltip/typings/tooltip.d.ts +177 -0
  722. package/tooltip.d.ts +8 -0
  723. package/tooltip.metadata.json +11 -0
  724. package/typings/autocomplete/autocomplete-module.d.ts +2 -0
  725. package/typings/autocomplete/autocomplete-trigger.d.ts +159 -0
  726. package/typings/autocomplete/autocomplete.d.ts +55 -0
  727. package/typings/autocomplete/index.d.ts +4 -0
  728. package/typings/autocomplete/index.metadata.json +1 -0
  729. package/typings/autocomplete/mat-exports.d.ts +17 -0
  730. package/typings/autocomplete/public_api.d.ts +11 -0
  731. package/typings/button/button-module.d.ts +2 -0
  732. package/typings/button/button.d.ts +80 -0
  733. package/typings/button/index.d.ts +4 -0
  734. package/typings/button/index.metadata.json +1 -0
  735. package/typings/button/mat-exports.d.ts +18 -0
  736. package/typings/button/public_api.d.ts +10 -0
  737. package/typings/button-toggle/button-toggle-module.d.ts +2 -0
  738. package/typings/button-toggle/button-toggle.d.ts +156 -0
  739. package/typings/button-toggle/index.d.ts +4 -0
  740. package/typings/button-toggle/index.metadata.json +1 -0
  741. package/typings/button-toggle/mat-exports.d.ts +16 -0
  742. package/typings/button-toggle/public_api.d.ts +10 -0
  743. package/typings/card/card-module.d.ts +2 -0
  744. package/typings/card/card.d.ts +95 -0
  745. package/typings/card/index.d.ts +4 -0
  746. package/typings/card/index.metadata.json +1 -0
  747. package/typings/card/mat-exports.d.ts +24 -0
  748. package/typings/card/public_api.d.ts +10 -0
  749. package/typings/checkbox/checkbox-module.d.ts +2 -0
  750. package/typings/checkbox/checkbox-required-validator.d.ts +18 -0
  751. package/typings/checkbox/checkbox.d.ts +159 -0
  752. package/typings/checkbox/index.d.ts +4 -0
  753. package/typings/checkbox/index.metadata.json +1 -0
  754. package/typings/checkbox/mat-exports.d.ts +17 -0
  755. package/typings/checkbox/public_api.d.ts +11 -0
  756. package/typings/chips/chip-input.d.ts +54 -0
  757. package/typings/chips/chip-list.d.ts +219 -0
  758. package/typings/chips/chip.d.ts +123 -0
  759. package/typings/chips/chips-module.d.ts +2 -0
  760. package/typings/chips/index.d.ts +4 -0
  761. package/typings/chips/index.metadata.json +1 -0
  762. package/typings/chips/mat-exports.d.ts +21 -0
  763. package/typings/chips/public_api.d.ts +12 -0
  764. package/typings/core/a11y/index.d.ts +8 -0
  765. package/typings/core/animation/animation.d.ts +20 -0
  766. package/typings/core/bidi/index.d.ts +8 -0
  767. package/typings/core/common-behaviors/color.d.ts +22 -0
  768. package/typings/core/common-behaviors/common-module.d.ts +24 -0
  769. package/typings/core/common-behaviors/constructor.d.ts +9 -0
  770. package/typings/core/common-behaviors/disable-ripple.d.ts +7 -0
  771. package/typings/core/common-behaviors/disabled.d.ts +7 -0
  772. package/typings/core/common-behaviors/index.d.ts +12 -0
  773. package/typings/core/common-behaviors/tabindex.d.ts +15 -0
  774. package/typings/core/compatibility/compatibility.d.ts +40 -0
  775. package/typings/core/coordination/unique-selection-dispatcher.d.ts +40 -0
  776. package/typings/core/datetime/date-adapter.d.ts +198 -0
  777. package/typings/core/datetime/date-formats.d.ts +20 -0
  778. package/typings/core/datetime/index.d.ts +8 -0
  779. package/typings/core/datetime/native-date-adapter.d.ts +50 -0
  780. package/typings/core/datetime/native-date-formats.d.ts +9 -0
  781. package/typings/core/error/error-options.d.ts +19 -0
  782. package/typings/core/gestures/gesture-annotations.d.ts +51 -0
  783. package/typings/core/gestures/gesture-config.d.ts +23 -0
  784. package/typings/core/index.d.ts +5 -0
  785. package/typings/core/index.metadata.json +1 -0
  786. package/typings/core/keyboard/keycodes.d.ts +8 -0
  787. package/typings/core/line/line.d.ts +30 -0
  788. package/typings/core/mat-exports.d.ts +36 -0
  789. package/typings/core/option/index.d.ts +4 -0
  790. package/typings/core/option/optgroup.d.ts +14 -0
  791. package/typings/core/option/option.d.ts +97 -0
  792. package/typings/core/overlay/index.d.ts +8 -0
  793. package/typings/core/placeholder/placeholder-options.d.ts +15 -0
  794. package/typings/core/platform/features.d.ts +8 -0
  795. package/typings/core/platform/index.d.ts +10 -0
  796. package/typings/core/platform/platform.d.ts +8 -0
  797. package/typings/core/portal/dom-portal-host.d.ts +8 -0
  798. package/typings/core/portal/portal-directives.d.ts +8 -0
  799. package/typings/core/portal/portal-injector.d.ts +19 -0
  800. package/typings/core/portal/portal.d.ts +8 -0
  801. package/typings/core/public_api.d.ts +34 -0
  802. package/typings/core/ripple/index.d.ts +5 -0
  803. package/typings/core/ripple/ripple-ref.d.ts +28 -0
  804. package/typings/core/ripple/ripple-renderer.d.ts +64 -0
  805. package/typings/core/ripple/ripple.d.ts +73 -0
  806. package/typings/core/rxjs/index.d.ts +9 -0
  807. package/typings/core/rxjs/rx-chain.d.ts +8 -0
  808. package/typings/core/rxjs/rx-operators.d.ts +8 -0
  809. package/typings/core/selection/index.d.ts +3 -0
  810. package/typings/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
  811. package/typings/core/style/apply-transform.d.ts +13 -0
  812. package/typings/core/style/index.d.ts +5 -0
  813. package/typings/core/testing/month-constants.d.ts +12 -0
  814. package/typings/core/util/object-extend.d.ts +15 -0
  815. package/typings/datepicker/calendar-body.d.ts +52 -0
  816. package/typings/datepicker/calendar.d.ts +90 -0
  817. package/typings/datepicker/coerce-date-property.d.ts +19 -0
  818. package/typings/datepicker/datepicker-errors.d.ts +9 -0
  819. package/typings/datepicker/datepicker-input.d.ts +94 -0
  820. package/typings/datepicker/datepicker-intl.d.ts +25 -0
  821. package/typings/datepicker/datepicker-module.d.ts +2 -0
  822. package/typings/datepicker/datepicker-toggle.d.ts +24 -0
  823. package/typings/datepicker/datepicker.d.ts +117 -0
  824. package/typings/datepicker/index.d.ts +4 -0
  825. package/typings/datepicker/index.metadata.json +1 -0
  826. package/typings/datepicker/mat-exports.d.ts +33 -0
  827. package/typings/datepicker/month-view.d.ts +65 -0
  828. package/typings/datepicker/public_api.d.ts +18 -0
  829. package/typings/datepicker/year-view.d.ts +54 -0
  830. package/typings/dialog/dialog-config.d.ts +54 -0
  831. package/typings/dialog/dialog-container.d.ts +68 -0
  832. package/typings/dialog/dialog-content-directives.d.ts +45 -0
  833. package/typings/dialog/dialog-module.d.ts +2 -0
  834. package/typings/dialog/dialog-ref.d.ts +68 -0
  835. package/typings/dialog/dialog.d.ts +108 -0
  836. package/typings/dialog/index.d.ts +4 -0
  837. package/typings/dialog/index.metadata.json +1 -0
  838. package/typings/dialog/mat-exports.d.ts +26 -0
  839. package/typings/dialog/public_api.d.ts +14 -0
  840. package/typings/expansion/accordion-item.d.ts +41 -0
  841. package/typings/expansion/accordion.d.ts +29 -0
  842. package/typings/expansion/expansion-module.d.ts +2 -0
  843. package/typings/expansion/expansion-panel-header.d.ts +56 -0
  844. package/typings/expansion/expansion-panel.d.ts +39 -0
  845. package/typings/expansion/index.d.ts +5 -0
  846. package/typings/expansion/index.metadata.json +1 -0
  847. package/typings/expansion/mat-exports.d.ts +20 -0
  848. package/typings/expansion/public_api.d.ts +13 -0
  849. package/typings/form-field/error.d.ts +4 -0
  850. package/typings/form-field/form-field-control.d.ts +39 -0
  851. package/typings/form-field/form-field-errors.d.ts +13 -0
  852. package/typings/form-field/form-field-module.d.ts +2 -0
  853. package/typings/form-field/form-field.d.ts +77 -0
  854. package/typings/form-field/hint.d.ts +7 -0
  855. package/typings/form-field/index.d.ts +4 -0
  856. package/typings/form-field/index.metadata.json +1 -0
  857. package/typings/form-field/mat-exports.d.ts +23 -0
  858. package/typings/form-field/placeholder.d.ts +3 -0
  859. package/typings/form-field/prefix.d.ts +3 -0
  860. package/typings/form-field/public_api.d.ts +17 -0
  861. package/typings/form-field/suffix.d.ts +3 -0
  862. package/typings/grid-list/grid-list-measure.d.ts +17 -0
  863. package/typings/grid-list/grid-list-module.d.ts +2 -0
  864. package/typings/grid-list/grid-list.d.ts +53 -0
  865. package/typings/grid-list/grid-tile.d.ts +55 -0
  866. package/typings/grid-list/index.d.ts +5 -0
  867. package/typings/grid-list/index.metadata.json +1 -0
  868. package/typings/grid-list/mat-exports.d.ts +13 -0
  869. package/typings/grid-list/public_api.d.ts +11 -0
  870. package/typings/grid-list/tile-coordinator.d.ts +64 -0
  871. package/typings/grid-list/tile-styler.d.ts +129 -0
  872. package/typings/icon/icon-module.d.ts +2 -0
  873. package/typings/icon/icon-registry.d.ts +194 -0
  874. package/typings/icon/icon.d.ts +76 -0
  875. package/typings/icon/index.d.ts +4 -0
  876. package/typings/icon/index.metadata.json +1 -0
  877. package/typings/icon/mat-exports.d.ts +14 -0
  878. package/typings/icon/public_api.d.ts +11 -0
  879. package/typings/index.d.ts +4 -0
  880. package/typings/index.metadata.json +26 -0
  881. package/typings/input/autosize.d.ts +45 -0
  882. package/typings/input/index.d.ts +4 -0
  883. package/typings/input/index.metadata.json +1 -0
  884. package/typings/input/input-errors.d.ts +9 -0
  885. package/typings/input/input-module.d.ts +2 -0
  886. package/typings/input/input.d.ts +78 -0
  887. package/typings/input/mat-exports.d.ts +13 -0
  888. package/typings/input/public_api.d.ts +12 -0
  889. package/typings/list/index.d.ts +4 -0
  890. package/typings/list/index.metadata.json +1 -0
  891. package/typings/list/list-module.d.ts +2 -0
  892. package/typings/list/list.d.ts +78 -0
  893. package/typings/list/mat-exports.d.ts +27 -0
  894. package/typings/list/public_api.d.ts +11 -0
  895. package/typings/list/selection-list.d.ts +112 -0
  896. package/typings/menu/index.d.ts +6 -0
  897. package/typings/menu/index.metadata.json +1 -0
  898. package/typings/menu/mat-exports.d.ts +16 -0
  899. package/typings/menu/menu-animations.d.ts +27 -0
  900. package/typings/menu/menu-directive.d.ts +86 -0
  901. package/typings/menu/menu-errors.d.ts +24 -0
  902. package/typings/menu/menu-item.d.ts +40 -0
  903. package/typings/menu/menu-module.d.ts +2 -0
  904. package/typings/menu/menu-panel.d.ts +22 -0
  905. package/typings/menu/menu-positions.d.ts +9 -0
  906. package/typings/menu/menu-trigger.d.ts +116 -0
  907. package/typings/menu/menu.d.ts +12 -0
  908. package/typings/menu/public_api.d.ts +12 -0
  909. package/typings/paginator/index.d.ts +4 -0
  910. package/typings/paginator/index.metadata.json +1 -0
  911. package/typings/paginator/mat-exports.d.ts +13 -0
  912. package/typings/paginator/paginator-intl.d.ts +20 -0
  913. package/typings/paginator/paginator-module.d.ts +2 -0
  914. package/typings/paginator/paginator.d.ts +75 -0
  915. package/typings/paginator/public_api.d.ts +11 -0
  916. package/typings/progress-bar/index.d.ts +4 -0
  917. package/typings/progress-bar/index.metadata.json +1 -0
  918. package/typings/progress-bar/mat-exports.d.ts +11 -0
  919. package/typings/progress-bar/progress-bar-module.d.ts +2 -0
  920. package/typings/progress-bar/progress-bar.d.ts +32 -0
  921. package/typings/progress-bar/public_api.d.ts +10 -0
  922. package/typings/progress-spinner/index.d.ts +4 -0
  923. package/typings/progress-spinner/index.metadata.json +1 -0
  924. package/typings/progress-spinner/mat-exports.d.ts +14 -0
  925. package/typings/progress-spinner/progress-spinner-module.d.ts +2 -0
  926. package/typings/progress-spinner/progress-spinner.d.ts +98 -0
  927. package/typings/progress-spinner/public_api.d.ts +10 -0
  928. package/typings/public_api.d.ts +39 -0
  929. package/typings/radio/index.d.ts +4 -0
  930. package/typings/radio/index.metadata.json +1 -0
  931. package/typings/radio/mat-exports.d.ts +16 -0
  932. package/typings/radio/public_api.d.ts +10 -0
  933. package/typings/radio/radio-module.d.ts +2 -0
  934. package/typings/radio/radio.d.ts +217 -0
  935. package/typings/select/index.d.ts +4 -0
  936. package/typings/select/index.metadata.json +1 -0
  937. package/typings/select/mat-exports.d.ts +17 -0
  938. package/typings/select/public_api.d.ts +11 -0
  939. package/typings/select/select-animations.d.ts +36 -0
  940. package/typings/select/select-errors.d.ts +26 -0
  941. package/typings/select/select-module.d.ts +2 -0
  942. package/typings/select/select.d.ts +412 -0
  943. package/typings/sidenav/drawer.d.ts +178 -0
  944. package/typings/sidenav/index.d.ts +4 -0
  945. package/typings/sidenav/index.metadata.json +1 -0
  946. package/typings/sidenav/mat-exports.d.ts +16 -0
  947. package/typings/sidenav/public_api.d.ts +11 -0
  948. package/typings/sidenav/sidenav-module.d.ts +2 -0
  949. package/typings/sidenav/sidenav.d.ts +6 -0
  950. package/typings/slide-toggle/index.d.ts +4 -0
  951. package/typings/slide-toggle/index.metadata.json +1 -0
  952. package/typings/slide-toggle/mat-exports.d.ts +14 -0
  953. package/typings/slide-toggle/public_api.d.ts +10 -0
  954. package/typings/slide-toggle/slide-toggle-module.d.ts +2 -0
  955. package/typings/slide-toggle/slide-toggle.d.ts +93 -0
  956. package/typings/slider/index.d.ts +4 -0
  957. package/typings/slider/index.metadata.json +1 -0
  958. package/typings/slider/mat-exports.d.ts +14 -0
  959. package/typings/slider/public_api.d.ts +10 -0
  960. package/typings/slider/slider-module.d.ts +2 -0
  961. package/typings/slider/slider.d.ts +207 -0
  962. package/typings/snack-bar/index.d.ts +4 -0
  963. package/typings/snack-bar/index.metadata.json +1 -0
  964. package/typings/snack-bar/mat-exports.d.ts +18 -0
  965. package/typings/snack-bar/public_api.d.ts +14 -0
  966. package/typings/snack-bar/simple-snack-bar.d.ts +18 -0
  967. package/typings/snack-bar/snack-bar-config.d.ts +38 -0
  968. package/typings/snack-bar/snack-bar-container.d.ts +61 -0
  969. package/typings/snack-bar/snack-bar-module.d.ts +2 -0
  970. package/typings/snack-bar/snack-bar-ref.d.ts +51 -0
  971. package/typings/snack-bar/snack-bar.d.ts +70 -0
  972. package/typings/sort/index.d.ts +4 -0
  973. package/typings/sort/index.metadata.json +1 -0
  974. package/typings/sort/mat-exports.d.ts +16 -0
  975. package/typings/sort/public_api.d.ts +13 -0
  976. package/typings/sort/sort-direction.d.ts +8 -0
  977. package/typings/sort/sort-errors.d.ts +13 -0
  978. package/typings/sort/sort-header-intl.d.ts +17 -0
  979. package/typings/sort/sort-header.d.ts +44 -0
  980. package/typings/sort/sort-module.d.ts +2 -0
  981. package/typings/sort/sort.d.ts +59 -0
  982. package/typings/stepper/index.d.ts +4 -0
  983. package/typings/stepper/index.metadata.json +1 -0
  984. package/typings/stepper/mat-exports.d.ts +21 -0
  985. package/typings/stepper/public_api.d.ts +13 -0
  986. package/typings/stepper/step-header.d.ts +23 -0
  987. package/typings/stepper/step-label.d.ts +14 -0
  988. package/typings/stepper/stepper-button.d.ts +10 -0
  989. package/typings/stepper/stepper-module.d.ts +2 -0
  990. package/typings/stepper/stepper.d.ts +27 -0
  991. package/typings/table/cell.d.ts +44 -0
  992. package/typings/table/index.d.ts +4 -0
  993. package/typings/table/index.metadata.json +1 -0
  994. package/typings/table/mat-exports.d.ts +20 -0
  995. package/typings/table/public_api.d.ts +12 -0
  996. package/typings/table/row.d.ts +30 -0
  997. package/typings/table/table-module.d.ts +2 -0
  998. package/typings/table/table.d.ts +8 -0
  999. package/typings/tabs/index.d.ts +8 -0
  1000. package/typings/tabs/index.metadata.json +1 -0
  1001. package/typings/tabs/ink-bar.d.ts +33 -0
  1002. package/typings/tabs/mat-exports.d.ts +31 -0
  1003. package/typings/tabs/public_api.d.ts +17 -0
  1004. package/typings/tabs/tab-body.d.ts +69 -0
  1005. package/typings/tabs/tab-group.d.ts +100 -0
  1006. package/typings/tabs/tab-header.d.ts +156 -0
  1007. package/typings/tabs/tab-label-wrapper.d.ts +25 -0
  1008. package/typings/tabs/tab-label.d.ts +15 -0
  1009. package/typings/tabs/tab-nav-bar/index.d.ts +8 -0
  1010. package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +77 -0
  1011. package/typings/tabs/tab.d.ts +50 -0
  1012. package/typings/tabs/tabs-module.d.ts +2 -0
  1013. package/typings/toolbar/index.d.ts +4 -0
  1014. package/typings/toolbar/index.metadata.json +1 -0
  1015. package/typings/toolbar/mat-exports.d.ts +13 -0
  1016. package/typings/toolbar/public_api.d.ts +10 -0
  1017. package/typings/toolbar/toolbar-module.d.ts +2 -0
  1018. package/typings/toolbar/toolbar.d.ts +21 -0
  1019. package/typings/tooltip/index.d.ts +4 -0
  1020. package/typings/tooltip/index.metadata.json +1 -0
  1021. package/typings/tooltip/mat-exports.d.ts +14 -0
  1022. package/typings/tooltip/public_api.d.ts +10 -0
  1023. package/typings/tooltip/tooltip-module.d.ts +2 -0
  1024. package/typings/tooltip/tooltip.d.ts +177 -0
  1025. package/typings/version.d.ts +10 -0
  1026. package/button/README.md +0 -115
  1027. package/button/_button-base.scss +0 -116
  1028. package/button/_button-theme.scss +0 -85
  1029. package/button/button.css +0 -101
  1030. package/button/button.css.map +0 -1
  1031. package/button/button.d.ts +0 -35
  1032. package/button/button.html +0 -6
  1033. package/button/button.js +0 -196
  1034. package/button/button.js.map +0 -1
  1035. package/button/button.metadata.json +0 -1
  1036. package/button/button.scss +0 -72
  1037. package/button/index.js +0 -3
  1038. package/button/index.js.map +0 -1
  1039. package/button-toggle/README.md +0 -149
  1040. package/button-toggle/_button-toggle-theme.scss +0 -14
  1041. package/button-toggle/button-toggle.css +0 -24
  1042. package/button-toggle/button-toggle.css.map +0 -1
  1043. package/button-toggle/button-toggle.d.ts +0 -110
  1044. package/button-toggle/button-toggle.html +0 -14
  1045. package/button-toggle/button-toggle.js +0 -436
  1046. package/button-toggle/button-toggle.js.map +0 -1
  1047. package/button-toggle/button-toggle.metadata.json +0 -1
  1048. package/button-toggle/button-toggle.scss +0 -34
  1049. package/button-toggle/index.js +0 -3
  1050. package/button-toggle/index.js.map +0 -1
  1051. package/card/README.md +0 -116
  1052. package/card/_card-theme.scss +0 -17
  1053. package/card/card-header.html +0 -5
  1054. package/card/card-title-group.html +0 -5
  1055. package/card/card.css +0 -140
  1056. package/card/card.css.map +0 -1
  1057. package/card/card.d.ts +0 -35
  1058. package/card/card.html +0 -1
  1059. package/card/card.js +0 -187
  1060. package/card/card.js.map +0 -1
  1061. package/card/card.metadata.json +0 -1
  1062. package/card/card.scss +0 -226
  1063. package/card/index.js +0 -3
  1064. package/card/index.js.map +0 -1
  1065. package/checkbox/README.md +0 -79
  1066. package/checkbox/_checkbox-theme.scss +0 -69
  1067. package/checkbox/checkbox.css +0 -241
  1068. package/checkbox/checkbox.css.map +0 -1
  1069. package/checkbox/checkbox.d.ts +0 -127
  1070. package/checkbox/checkbox.html +0 -37
  1071. package/checkbox/checkbox.js +0 -344
  1072. package/checkbox/checkbox.js.map +0 -1
  1073. package/checkbox/checkbox.metadata.json +0 -1
  1074. package/checkbox/checkbox.scss +0 -412
  1075. package/checkbox/index.js +0 -3
  1076. package/checkbox/index.js.map +0 -1
  1077. package/core/README.md +0 -2
  1078. package/core/_core.scss +0 -27
  1079. package/core/a11y/README.md +0 -30
  1080. package/core/a11y/_a11y.scss +0 -13
  1081. package/core/a11y/focus-trap.d.ts +0 -23
  1082. package/core/a11y/focus-trap.js +0 -82
  1083. package/core/a11y/focus-trap.js.map +0 -1
  1084. package/core/a11y/focus-trap.metadata.json +0 -1
  1085. package/core/a11y/index.d.ts +0 -10
  1086. package/core/a11y/index.js +0 -37
  1087. package/core/a11y/index.js.map +0 -1
  1088. package/core/a11y/index.metadata.json +0 -1
  1089. package/core/a11y/interactivity-checker.d.ts +0 -31
  1090. package/core/a11y/interactivity-checker.js +0 -122
  1091. package/core/a11y/interactivity-checker.js.map +0 -1
  1092. package/core/a11y/interactivity-checker.metadata.json +0 -1
  1093. package/core/a11y/live-announcer.d.ts +0 -13
  1094. package/core/a11y/live-announcer.js +0 -56
  1095. package/core/a11y/live-announcer.js.map +0 -1
  1096. package/core/a11y/live-announcer.metadata.json +0 -1
  1097. package/core/annotations/field-value.d.ts +0 -16
  1098. package/core/annotations/field-value.js +0 -30
  1099. package/core/annotations/field-value.js.map +0 -1
  1100. package/core/async/promise-completer.d.ts +0 -6
  1101. package/core/async/promise-completer.js +0 -12
  1102. package/core/async/promise-completer.js.map +0 -1
  1103. package/core/coordination/unique-selection-dispatcher.d.ts +0 -17
  1104. package/core/coordination/unique-selection-dispatcher.js +0 -42
  1105. package/core/coordination/unique-selection-dispatcher.js.map +0 -1
  1106. package/core/coordination/unique-selection-dispatcher.metadata.json +0 -1
  1107. package/core/core.d.ts +0 -28
  1108. package/core/core.js +0 -71
  1109. package/core/core.js.map +0 -1
  1110. package/core/core.metadata.json +0 -1
  1111. package/core/errors/error.d.ts +0 -6
  1112. package/core/errors/error.js +0 -19
  1113. package/core/errors/error.js.map +0 -1
  1114. package/core/gestures/MdGestureConfig.d.ts +0 -7
  1115. package/core/gestures/MdGestureConfig.js +0 -84
  1116. package/core/gestures/MdGestureConfig.js.map +0 -1
  1117. package/core/gestures/MdGestureConfig.metadata.json +0 -1
  1118. package/core/index.js +0 -3
  1119. package/core/index.js.map +0 -1
  1120. package/core/keyboard/keycodes.d.ts +0 -6
  1121. package/core/keyboard/keycodes.js +0 -12
  1122. package/core/keyboard/keycodes.js.map +0 -1
  1123. package/core/keyboard/keycodes.metadata.json +0 -1
  1124. package/core/line/line.d.ts +0 -19
  1125. package/core/line/line.js +0 -65
  1126. package/core/line/line.js.map +0 -1
  1127. package/core/line/line.metadata.json +0 -1
  1128. package/core/overlay/generic-component-type.d.ts +0 -3
  1129. package/core/overlay/generic-component-type.js +0 -3
  1130. package/core/overlay/generic-component-type.js.map +0 -1
  1131. package/core/overlay/overlay-container.d.ts +0 -19
  1132. package/core/overlay/overlay-container.js +0 -33
  1133. package/core/overlay/overlay-container.js.map +0 -1
  1134. package/core/overlay/overlay-directives.d.ts +0 -36
  1135. package/core/overlay/overlay-directives.js +0 -120
  1136. package/core/overlay/overlay-directives.js.map +0 -1
  1137. package/core/overlay/overlay-directives.metadata.json +0 -1
  1138. package/core/overlay/overlay-ref.d.ts +0 -28
  1139. package/core/overlay/overlay-ref.js +0 -82
  1140. package/core/overlay/overlay-ref.js.map +0 -1
  1141. package/core/overlay/overlay-state.d.ts +0 -11
  1142. package/core/overlay/overlay-state.js +0 -13
  1143. package/core/overlay/overlay-state.js.map +0 -1
  1144. package/core/overlay/overlay.css +0 -2
  1145. package/core/overlay/overlay.css.map +0 -1
  1146. package/core/overlay/overlay.d.ts +0 -51
  1147. package/core/overlay/overlay.js +0 -93
  1148. package/core/overlay/overlay.js.map +0 -1
  1149. package/core/overlay/overlay.metadata.json +0 -1
  1150. package/core/overlay/overlay.scss +0 -55
  1151. package/core/overlay/position/connected-position-strategy.d.ts +0 -69
  1152. package/core/overlay/position/connected-position-strategy.js +0 -164
  1153. package/core/overlay/position/connected-position-strategy.js.map +0 -1
  1154. package/core/overlay/position/connected-position.d.ts +0 -22
  1155. package/core/overlay/position/connected-position.js +0 -12
  1156. package/core/overlay/position/connected-position.js.map +0 -1
  1157. package/core/overlay/position/global-position-strategy.d.ts +0 -45
  1158. package/core/overlay/position/global-position-strategy.js +0 -102
  1159. package/core/overlay/position/global-position-strategy.js.map +0 -1
  1160. package/core/overlay/position/overlay-position-builder.d.ts +0 -14
  1161. package/core/overlay/position/overlay-position-builder.js +0 -34
  1162. package/core/overlay/position/overlay-position-builder.js.map +0 -1
  1163. package/core/overlay/position/overlay-position-builder.metadata.json +0 -1
  1164. package/core/overlay/position/position-strategy.d.ts +0 -5
  1165. package/core/overlay/position/position-strategy.js +0 -3
  1166. package/core/overlay/position/position-strategy.js.map +0 -1
  1167. package/core/overlay/position/relative-position-strategy.d.ts +0 -7
  1168. package/core/overlay/position/relative-position-strategy.js +0 -12
  1169. package/core/overlay/position/relative-position-strategy.js.map +0 -1
  1170. package/core/overlay/position/viewport-ruler.d.ts +0 -16
  1171. package/core/overlay/position/viewport-ruler.js +0 -71
  1172. package/core/overlay/position/viewport-ruler.js.map +0 -1
  1173. package/core/overlay/position/viewport-ruler.metadata.json +0 -1
  1174. package/core/portal/README.md +0 -72
  1175. package/core/portal/dom-portal-host.d.ts +0 -17
  1176. package/core/portal/dom-portal-host.js +0 -56
  1177. package/core/portal/dom-portal-host.js.map +0 -1
  1178. package/core/portal/portal-directives.d.ts +0 -38
  1179. package/core/portal/portal-directives.js +0 -124
  1180. package/core/portal/portal-directives.js.map +0 -1
  1181. package/core/portal/portal-directives.metadata.json +0 -1
  1182. package/core/portal/portal-errors.d.ts +0 -29
  1183. package/core/portal/portal-errors.js +0 -66
  1184. package/core/portal/portal-errors.js.map +0 -1
  1185. package/core/portal/portal.d.ts +0 -85
  1186. package/core/portal/portal.js +0 -155
  1187. package/core/portal/portal.js.map +0 -1
  1188. package/core/ripple/README.md +0 -27
  1189. package/core/ripple/_ripple.scss +0 -106
  1190. package/core/ripple/ripple-renderer.d.ts +0 -65
  1191. package/core/ripple/ripple-renderer.js +0 -149
  1192. package/core/ripple/ripple-renderer.js.map +0 -1
  1193. package/core/ripple/ripple-renderer.metadata.json +0 -1
  1194. package/core/ripple/ripple.d.ts +0 -75
  1195. package/core/ripple/ripple.js +0 -179
  1196. package/core/ripple/ripple.js.map +0 -1
  1197. package/core/ripple/ripple.metadata.json +0 -1
  1198. package/core/rtl/dir.d.ts +0 -17
  1199. package/core/rtl/dir.js +0 -83
  1200. package/core/rtl/dir.js.map +0 -1
  1201. package/core/rtl/dir.metadata.json +0 -1
  1202. package/core/style/_button-common.scss +0 -7
  1203. package/core/style/_elevation.scss +0 -174
  1204. package/core/style/_list-common.scss +0 -49
  1205. package/core/style/_sidenav-common.scss +0 -8
  1206. package/core/style/_variables.scss +0 -55
  1207. package/core/style/apply-transform.d.ts +0 -6
  1208. package/core/style/apply-transform.js +0 -14
  1209. package/core/style/apply-transform.js.map +0 -1
  1210. package/core/theming/_all-theme.scss +0 -46
  1211. package/core/theming/_palette.scss +0 -694
  1212. package/core/theming/_theming.scss +0 -84
  1213. package/core/theming/prebuilt/deeppurple-amber.css +0 -446
  1214. package/core/theming/prebuilt/deeppurple-amber.css.map +0 -1
  1215. package/core/theming/prebuilt/deeppurple-amber.scss +0 -14
  1216. package/core/theming/prebuilt/indigo-pink.css +0 -446
  1217. package/core/theming/prebuilt/indigo-pink.css.map +0 -1
  1218. package/core/theming/prebuilt/indigo-pink.scss +0 -14
  1219. package/core/theming/prebuilt/pink-bluegrey.css +0 -446
  1220. package/core/theming/prebuilt/pink-bluegrey.css.map +0 -1
  1221. package/core/theming/prebuilt/pink-bluegrey.scss +0 -14
  1222. package/core/theming/prebuilt/purple-green.css +0 -446
  1223. package/core/theming/prebuilt/purple-green.css.map +0 -1
  1224. package/core/theming/prebuilt/purple-green.scss +0 -14
  1225. package/core/typography/_typography.scss +0 -6
  1226. package/core.js +0 -3
  1227. package/core.js.map +0 -1
  1228. package/dialog/README.md +0 -0
  1229. package/dialog/_dialog-theme.scss +0 -11
  1230. package/dialog/dialog-config.d.ts +0 -11
  1231. package/dialog/dialog-config.js +0 -12
  1232. package/dialog/dialog-config.js.map +0 -1
  1233. package/dialog/dialog-container.css +0 -7
  1234. package/dialog/dialog-container.css.map +0 -1
  1235. package/dialog/dialog-container.d.ts +0 -29
  1236. package/dialog/dialog-container.html +0 -3
  1237. package/dialog/dialog-container.js +0 -88
  1238. package/dialog/dialog-container.js.map +0 -1
  1239. package/dialog/dialog-container.metadata.json +0 -1
  1240. package/dialog/dialog-container.scss +0 -12
  1241. package/dialog/dialog-errors.d.ts +0 -5
  1242. package/dialog/dialog-errors.js +0 -16
  1243. package/dialog/dialog-errors.js.map +0 -1
  1244. package/dialog/dialog-injector.d.ts +0 -9
  1245. package/dialog/dialog-injector.js +0 -17
  1246. package/dialog/dialog-injector.js.map +0 -1
  1247. package/dialog/dialog-ref.d.ts +0 -20
  1248. package/dialog/dialog-ref.js +0 -29
  1249. package/dialog/dialog-ref.js.map +0 -1
  1250. package/dialog/dialog.d.ts +0 -51
  1251. package/dialog/dialog.js +0 -128
  1252. package/dialog/dialog.js.map +0 -1
  1253. package/dialog/dialog.metadata.json +0 -1
  1254. package/dialog/index.js +0 -6
  1255. package/dialog/index.js.map +0 -1
  1256. package/grid-list/README.md +0 -118
  1257. package/grid-list/_grid-list-theme.scss +0 -6
  1258. package/grid-list/grid-list-errors.d.ts +0 -19
  1259. package/grid-list/grid-list-errors.js +0 -38
  1260. package/grid-list/grid-list-errors.js.map +0 -1
  1261. package/grid-list/grid-list-measure.d.ts +0 -10
  1262. package/grid-list/grid-list-measure.js +0 -16
  1263. package/grid-list/grid-list-measure.js.map +0 -1
  1264. package/grid-list/grid-list-measure.metadata.json +0 -1
  1265. package/grid-list/grid-list.css +0 -78
  1266. package/grid-list/grid-list.css.map +0 -1
  1267. package/grid-list/grid-list.d.ts +0 -49
  1268. package/grid-list/grid-list.html +0 -3
  1269. package/grid-list/grid-list.js +0 -165
  1270. package/grid-list/grid-list.js.map +0 -1
  1271. package/grid-list/grid-list.metadata.json +0 -1
  1272. package/grid-list/grid-list.scss +0 -91
  1273. package/grid-list/grid-tile-text.html +0 -3
  1274. package/grid-list/grid-tile.d.ts +0 -28
  1275. package/grid-list/grid-tile.html +0 -4
  1276. package/grid-list/grid-tile.js +0 -87
  1277. package/grid-list/grid-tile.js.map +0 -1
  1278. package/grid-list/grid-tile.metadata.json +0 -1
  1279. package/grid-list/index.js +0 -3
  1280. package/grid-list/index.js.map +0 -1
  1281. package/grid-list/tile-coordinator.d.ts +0 -51
  1282. package/grid-list/tile-coordinator.js +0 -124
  1283. package/grid-list/tile-coordinator.js.map +0 -1
  1284. package/grid-list/tile-styler.d.ts +0 -88
  1285. package/grid-list/tile-styler.js +0 -190
  1286. package/grid-list/tile-styler.js.map +0 -1
  1287. package/icon/README.md +0 -116
  1288. package/icon/_icon-theme.scss +0 -6
  1289. package/icon/fake-svgs.d.ts +0 -5
  1290. package/icon/fake-svgs.js +0 -29
  1291. package/icon/fake-svgs.js.map +0 -1
  1292. package/icon/icon-registry.d.ts +0 -148
  1293. package/icon/icon-registry.js +0 -375
  1294. package/icon/icon-registry.js.map +0 -1
  1295. package/icon/icon-registry.metadata.json +0 -1
  1296. package/icon/icon.css +0 -8
  1297. package/icon/icon.css.map +0 -1
  1298. package/icon/icon.d.ts +0 -85
  1299. package/icon/icon.js +0 -252
  1300. package/icon/icon.js.map +0 -1
  1301. package/icon/icon.metadata.json +0 -1
  1302. package/icon/icon.scss +0 -13
  1303. package/icon/index.js +0 -3
  1304. package/icon/index.js.map +0 -1
  1305. package/index.d.ts +0 -23
  1306. package/index.js +0 -25
  1307. package/index.js.map +0 -1
  1308. package/index.metadata.json +0 -1
  1309. package/input/README.md +0 -121
  1310. package/input/_input-theme.scss +0 -64
  1311. package/input/index.js +0 -3
  1312. package/input/index.js.map +0 -1
  1313. package/input/input.css +0 -109
  1314. package/input/input.css.map +0 -1
  1315. package/input/input.d.ts +0 -134
  1316. package/input/input.html +0 -65
  1317. package/input/input.js +0 -471
  1318. package/input/input.js.map +0 -1
  1319. package/input/input.metadata.json +0 -1
  1320. package/input/input.scss +0 -198
  1321. package/list/README.md +0 -167
  1322. package/list/_list-theme.scss +0 -28
  1323. package/list/index.js +0 -3
  1324. package/list/index.js.map +0 -1
  1325. package/list/list-item.html +0 -5
  1326. package/list/list.css +0 -139
  1327. package/list/list.css.map +0 -1
  1328. package/list/list.d.ts +0 -24
  1329. package/list/list.js +0 -113
  1330. package/list/list.js.map +0 -1
  1331. package/list/list.metadata.json +0 -1
  1332. package/list/list.scss +0 -168
  1333. package/material.umd.js +0 -9017
  1334. package/material.umd.js.map +0 -1
  1335. package/menu/README.md +0 -164
  1336. package/menu/_menu-theme.scss +0 -25
  1337. package/menu/index.js +0 -3
  1338. package/menu/index.js.map +0 -1
  1339. package/menu/menu-directive.d.ts +0 -54
  1340. package/menu/menu-directive.js +0 -158
  1341. package/menu/menu-directive.js.map +0 -1
  1342. package/menu/menu-directive.metadata.json +0 -1
  1343. package/menu/menu-errors.d.ts +0 -21
  1344. package/menu/menu-errors.js +0 -40
  1345. package/menu/menu-errors.js.map +0 -1
  1346. package/menu/menu-item.d.ts +0 -18
  1347. package/menu/menu-item.js +0 -74
  1348. package/menu/menu-item.js.map +0 -1
  1349. package/menu/menu-item.metadata.json +0 -1
  1350. package/menu/menu-positions.d.ts +0 -2
  1351. package/menu/menu-positions.js +0 -3
  1352. package/menu/menu-positions.js.map +0 -1
  1353. package/menu/menu-trigger.d.ts +0 -62
  1354. package/menu/menu-trigger.js +0 -169
  1355. package/menu/menu-trigger.js.map +0 -1
  1356. package/menu/menu-trigger.metadata.json +0 -1
  1357. package/menu/menu.css +0 -41
  1358. package/menu/menu.css.map +0 -1
  1359. package/menu/menu.d.ts +0 -7
  1360. package/menu/menu.html +0 -6
  1361. package/menu/menu.js +0 -39
  1362. package/menu/menu.js.map +0 -1
  1363. package/menu/menu.metadata.json +0 -1
  1364. package/menu/menu.scss +0 -59
  1365. package/module.d.ts +0 -6
  1366. package/module.js +0 -117
  1367. package/module.js.map +0 -1
  1368. package/module.metadata.json +0 -1
  1369. package/progress-bar/README.md +0 -54
  1370. package/progress-bar/_progress-bar-theme.scss +0 -78
  1371. package/progress-bar/index.js +0 -3
  1372. package/progress-bar/index.js.map +0 -1
  1373. package/progress-bar/progress-bar.css +0 -114
  1374. package/progress-bar/progress-bar.css.map +0 -1
  1375. package/progress-bar/progress-bar.d.ts +0 -34
  1376. package/progress-bar/progress-bar.html +0 -5
  1377. package/progress-bar/progress-bar.js +0 -122
  1378. package/progress-bar/progress-bar.js.map +0 -1
  1379. package/progress-bar/progress-bar.metadata.json +0 -1
  1380. package/progress-bar/progress-bar.scss +0 -229
  1381. package/progress-circle/README.md +0 -51
  1382. package/progress-circle/_progress-circle-theme.scss +0 -23
  1383. package/progress-circle/index.d.ts +0 -1
  1384. package/progress-circle/index.js +0 -3
  1385. package/progress-circle/index.js.map +0 -1
  1386. package/progress-circle/index.metadata.json +0 -1
  1387. package/progress-circle/progress-circle.css +0 -43
  1388. package/progress-circle/progress-circle.css.map +0 -1
  1389. package/progress-circle/progress-circle.d.ts +0 -76
  1390. package/progress-circle/progress-circle.html +0 -9
  1391. package/progress-circle/progress-circle.js +0 -315
  1392. package/progress-circle/progress-circle.js.map +0 -1
  1393. package/progress-circle/progress-circle.metadata.json +0 -1
  1394. package/progress-circle/progress-circle.scss +0 -67
  1395. package/radio/README.md +0 -79
  1396. package/radio/_radio-theme.scss +0 -36
  1397. package/radio/index.js +0 -3
  1398. package/radio/index.js.map +0 -1
  1399. package/radio/radio.css +0 -82
  1400. package/radio/radio.css.map +0 -1
  1401. package/radio/radio.d.ts +0 -127
  1402. package/radio/radio.html +0 -27
  1403. package/radio/radio.js +0 -445
  1404. package/radio/radio.js.map +0 -1
  1405. package/radio/radio.metadata.json +0 -1
  1406. package/radio/radio.scss +0 -92
  1407. package/select/index.js +0 -33
  1408. package/select/index.js.map +0 -1
  1409. package/select/select.css +0 -2
  1410. package/select/select.css.map +0 -1
  1411. package/select/select.d.ts +0 -2
  1412. package/select/select.html +0 -1
  1413. package/select/select.js +0 -25
  1414. package/select/select.js.map +0 -1
  1415. package/select/select.metadata.json +0 -1
  1416. package/select/select.scss +0 -0
  1417. package/sidenav/README.md +0 -83
  1418. package/sidenav/_sidenav-theme.scss +0 -37
  1419. package/sidenav/index.js +0 -3
  1420. package/sidenav/index.js.map +0 -1
  1421. package/sidenav/sidenav-transitions.css +0 -10
  1422. package/sidenav/sidenav-transitions.css.map +0 -1
  1423. package/sidenav/sidenav-transitions.scss +0 -14
  1424. package/sidenav/sidenav.css +0 -111
  1425. package/sidenav/sidenav.css.map +0 -1
  1426. package/sidenav/sidenav.d.ts +0 -141
  1427. package/sidenav/sidenav.html +0 -8
  1428. package/sidenav/sidenav.js +0 -479
  1429. package/sidenav/sidenav.js.map +0 -1
  1430. package/sidenav/sidenav.metadata.json +0 -1
  1431. package/sidenav/sidenav.scss +0 -133
  1432. package/slide-toggle/README.md +0 -66
  1433. package/slide-toggle/_slide-toggle-theme.scss +0 -77
  1434. package/slide-toggle/index.js +0 -3
  1435. package/slide-toggle/index.js.map +0 -1
  1436. package/slide-toggle/slide-toggle.css +0 -88
  1437. package/slide-toggle/slide-toggle.css.map +0 -1
  1438. package/slide-toggle/slide-toggle.d.ts +0 -74
  1439. package/slide-toggle/slide-toggle.html +0 -33
  1440. package/slide-toggle/slide-toggle.js +0 -317
  1441. package/slide-toggle/slide-toggle.js.map +0 -1
  1442. package/slide-toggle/slide-toggle.metadata.json +0 -1
  1443. package/slide-toggle/slide-toggle.scss +0 -140
  1444. package/slider/README.md +0 -97
  1445. package/slider/_slider-theme.scss +0 -33
  1446. package/slider/index.js +0 -3
  1447. package/slider/index.js.map +0 -1
  1448. package/slider/slider.css +0 -122
  1449. package/slider/slider.css.map +0 -1
  1450. package/slider/slider.d.ts +0 -155
  1451. package/slider/slider.html +0 -21
  1452. package/slider/slider.js +0 -433
  1453. package/slider/slider.js.map +0 -1
  1454. package/slider/slider.metadata.json +0 -1
  1455. package/slider/slider.scss +0 -186
  1456. package/slider/test-gesture-config.d.ts +0 -21
  1457. package/slider/test-gesture-config.js +0 -59
  1458. package/slider/test-gesture-config.js.map +0 -1
  1459. package/slider/test-gesture-config.metadata.json +0 -1
  1460. package/snack-bar/README.md +0 -38
  1461. package/snack-bar/index.js +0 -6
  1462. package/snack-bar/index.js.map +0 -1
  1463. package/snack-bar/simple-snack-bar.css +0 -27
  1464. package/snack-bar/simple-snack-bar.css.map +0 -1
  1465. package/snack-bar/simple-snack-bar.d.ts +0 -17
  1466. package/snack-bar/simple-snack-bar.html +0 -3
  1467. package/snack-bar/simple-snack-bar.js +0 -38
  1468. package/snack-bar/simple-snack-bar.js.map +0 -1
  1469. package/snack-bar/simple-snack-bar.metadata.json +0 -1
  1470. package/snack-bar/simple-snack-bar.scss +0 -28
  1471. package/snack-bar/snack-bar-config.d.ts +0 -11
  1472. package/snack-bar/snack-bar-config.js +0 -10
  1473. package/snack-bar/snack-bar-config.js.map +0 -1
  1474. package/snack-bar/snack-bar-container.css +0 -12
  1475. package/snack-bar/snack-bar-container.css.map +0 -1
  1476. package/snack-bar/snack-bar-container.d.ts +0 -15
  1477. package/snack-bar/snack-bar-container.html +0 -1
  1478. package/snack-bar/snack-bar-container.js +0 -53
  1479. package/snack-bar/snack-bar-container.js.map +0 -1
  1480. package/snack-bar/snack-bar-container.metadata.json +0 -1
  1481. package/snack-bar/snack-bar-container.scss +0 -19
  1482. package/snack-bar/snack-bar-errors.d.ts +0 -4
  1483. package/snack-bar/snack-bar-errors.js +0 -15
  1484. package/snack-bar/snack-bar-errors.js.map +0 -1
  1485. package/snack-bar/snack-bar-ref.d.ts +0 -17
  1486. package/snack-bar/snack-bar-ref.js +0 -28
  1487. package/snack-bar/snack-bar-ref.js.map +0 -1
  1488. package/snack-bar/snack-bar.d.ts +0 -41
  1489. package/snack-bar/snack-bar.js +0 -110
  1490. package/snack-bar/snack-bar.js.map +0 -1
  1491. package/snack-bar/snack-bar.metadata.json +0 -1
  1492. package/tabs/README.md +0 -47
  1493. package/tabs/_tabs-theme.scss +0 -23
  1494. package/tabs/index.js +0 -3
  1495. package/tabs/index.js.map +0 -1
  1496. package/tabs/ink-bar.d.ts +0 -24
  1497. package/tabs/ink-bar.js +0 -50
  1498. package/tabs/ink-bar.js.map +0 -1
  1499. package/tabs/ink-bar.metadata.json +0 -1
  1500. package/tabs/tab-content.d.ts +0 -6
  1501. package/tabs/tab-content.js +0 -32
  1502. package/tabs/tab-content.js.map +0 -1
  1503. package/tabs/tab-content.metadata.json +0 -1
  1504. package/tabs/tab-group.css +0 -55
  1505. package/tabs/tab-group.css.map +0 -1
  1506. package/tabs/tab-group.html +0 -27
  1507. package/tabs/tab-group.scss +0 -72
  1508. package/tabs/tab-label-wrapper.d.ts +0 -10
  1509. package/tabs/tab-label-wrapper.js +0 -31
  1510. package/tabs/tab-label-wrapper.js.map +0 -1
  1511. package/tabs/tab-label-wrapper.metadata.json +0 -1
  1512. package/tabs/tab-label.d.ts +0 -6
  1513. package/tabs/tab-label.js +0 -32
  1514. package/tabs/tab-label.js.map +0 -1
  1515. package/tabs/tab-label.metadata.json +0 -1
  1516. package/tabs/tabs.d.ts +0 -79
  1517. package/tabs/tabs.js +0 -290
  1518. package/tabs/tabs.js.map +0 -1
  1519. package/tabs/tabs.metadata.json +0 -1
  1520. package/toolbar/README.md +0 -68
  1521. package/toolbar/_toolbar-theme.scss +0 -33
  1522. package/toolbar/index.js +0 -3
  1523. package/toolbar/index.js.map +0 -1
  1524. package/toolbar/toolbar.css +0 -19
  1525. package/toolbar/toolbar.css.map +0 -1
  1526. package/toolbar/toolbar.d.ts +0 -17
  1527. package/toolbar/toolbar.html +0 -6
  1528. package/toolbar/toolbar.js +0 -83
  1529. package/toolbar/toolbar.js.map +0 -1
  1530. package/toolbar/toolbar.metadata.json +0 -1
  1531. package/toolbar/toolbar.scss +0 -36
  1532. package/tooltip/README.md +0 -32
  1533. package/tooltip/_tooltip-theme.scss +0 -9
  1534. package/tooltip/index.js +0 -3
  1535. package/tooltip/index.js.map +0 -1
  1536. package/tooltip/tooltip.css +0 -14
  1537. package/tooltip/tooltip.css.map +0 -1
  1538. package/tooltip/tooltip.d.ts +0 -67
  1539. package/tooltip/tooltip.html +0 -0
  1540. package/tooltip/tooltip.js +0 -210
  1541. package/tooltip/tooltip.js.map +0 -1
  1542. package/tooltip/tooltip.metadata.json +0 -1
  1543. package/tooltip/tooltip.scss +0 -21
  1544. package/tsconfig-spec.json +0 -33
  1545. package/tsconfig.json +0 -33
  1546. package/typings.d.ts +0 -1
@@ -0,0 +1,1936 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google Inc. All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { A11yModule } from '@angular/cdk/a11y';
9
+ import { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
10
+ import { CommonModule } from '@angular/common';
11
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, EventEmitter, Inject, Injectable, InjectionToken, Input, NgModule, NgZone, Optional, Output, Renderer2, ViewChild, ViewContainerRef, ViewEncapsulation, forwardRef } from '@angular/core';
12
+ import { MdButtonModule } from '@angular/material/button';
13
+ import { MdDialog, MdDialogModule } from '@angular/material/dialog';
14
+ import { MdIconModule } from '@angular/material/icon';
15
+ import { DOWN_ARROW, END, ENTER, ESCAPE, HOME, LEFT_ARROW, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
16
+ import { DateAdapter, MATERIAL_COMPATIBILITY_MODE, MD_DATE_FORMATS } from '@angular/material/core';
17
+ import { first } from 'rxjs/operator/first';
18
+ import { Subject } from 'rxjs/Subject';
19
+ import { Directionality } from '@angular/cdk/bidi';
20
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
21
+ import { ComponentPortal } from '@angular/cdk/portal';
22
+ import { first as first$1 } from '@angular/cdk/rxjs';
23
+ import { DOCUMENT } from '@angular/platform-browser';
24
+ import { Subscription } from 'rxjs/Subscription';
25
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
26
+ import { MdFormField } from '@angular/material/form-field';
27
+ import { merge } from 'rxjs/observable/merge';
28
+ import { of } from 'rxjs/observable/of';
29
+ /**
30
+ * Function that attempts to coerce a value to a date using a DateAdapter. Date instances, null,
31
+ * and undefined will be passed through. Empty strings will be coerced to null. Valid ISO 8601
32
+ * strings (https://www.ietf.org/rfc/rfc3339.txt) will be coerced to dates. All other values will
33
+ * result in an error being thrown.
34
+ * @throws Throws when the value cannot be coerced.
35
+ * @template D
36
+ * @param {?} adapter The date adapter to use for coercion
37
+ * @param {?} value The value to coerce.
38
+ * @return {?} A date object coerced from the value.
39
+ */
40
+ function coerceDateProperty(adapter, value) {
41
+ if (typeof value === 'string') {
42
+ if (value == '') {
43
+ value = null;
44
+ }
45
+ else {
46
+ value = adapter.fromIso8601(value) || value;
47
+ }
48
+ }
49
+ if (value == null || adapter.isDateInstance(value)) {
50
+ return value;
51
+ }
52
+ throw Error("Datepicker: Value must be either a date object recognized by the DateAdapter or " +
53
+ ("an ISO 8601 string. Instead got: " + value));
54
+ }
55
+ /**
56
+ * \@docs-private
57
+ * @param {?} provider
58
+ * @return {?}
59
+ */
60
+ function createMissingDateImplError(provider) {
61
+ return Error("MdDatepicker: No provider found for " + provider + ". You must import one of the following " +
62
+ "modules at your application root: MdNativeDateModule, or provide a custom implementation.");
63
+ }
64
+ /**
65
+ * Datepicker data that requires internationalization.
66
+ */
67
+ var MdDatepickerIntl = (function () {
68
+ function MdDatepickerIntl() {
69
+ /**
70
+ * Stream that emits whenever the labels here are changed. Use this to notify
71
+ * components if the labels have changed after initialization.
72
+ */
73
+ this.changes = new Subject();
74
+ /**
75
+ * A label for the calendar popup (used by screen readers).
76
+ */
77
+ this.calendarLabel = 'Calendar';
78
+ /**
79
+ * A label for the button used to open the calendar popup (used by screen readers).
80
+ */
81
+ this.openCalendarLabel = 'Open calendar';
82
+ /**
83
+ * A label for the previous month button (used by screen readers).
84
+ */
85
+ this.prevMonthLabel = 'Previous month';
86
+ /**
87
+ * A label for the next month button (used by screen readers).
88
+ */
89
+ this.nextMonthLabel = 'Next month';
90
+ /**
91
+ * A label for the previous year button (used by screen readers).
92
+ */
93
+ this.prevYearLabel = 'Previous year';
94
+ /**
95
+ * A label for the next year button (used by screen readers).
96
+ */
97
+ this.nextYearLabel = 'Next year';
98
+ /**
99
+ * A label for the 'switch to month view' button (used by screen readers).
100
+ */
101
+ this.switchToMonthViewLabel = 'Change to month view';
102
+ /**
103
+ * A label for the 'switch to year view' button (used by screen readers).
104
+ */
105
+ this.switchToYearViewLabel = 'Change to year view';
106
+ }
107
+ return MdDatepickerIntl;
108
+ }());
109
+ MdDatepickerIntl.decorators = [
110
+ { type: Injectable },
111
+ ];
112
+ /**
113
+ * @nocollapse
114
+ */
115
+ MdDatepickerIntl.ctorParameters = function () { return []; };
116
+ /**
117
+ * A calendar that is used as part of the datepicker.
118
+ * \@docs-private
119
+ */
120
+ var MdCalendar = (function () {
121
+ /**
122
+ * @param {?} _elementRef
123
+ * @param {?} _intl
124
+ * @param {?} _ngZone
125
+ * @param {?} _dateAdapter
126
+ * @param {?} _dateFormats
127
+ * @param {?} changeDetectorRef
128
+ */
129
+ function MdCalendar(_elementRef, _intl, _ngZone, _dateAdapter, _dateFormats, changeDetectorRef) {
130
+ var _this = this;
131
+ this._elementRef = _elementRef;
132
+ this._intl = _intl;
133
+ this._ngZone = _ngZone;
134
+ this._dateAdapter = _dateAdapter;
135
+ this._dateFormats = _dateFormats;
136
+ /**
137
+ * Whether the calendar should be started in month or year view.
138
+ */
139
+ this.startView = 'month';
140
+ /**
141
+ * Emits when the currently selected date changes.
142
+ */
143
+ this.selectedChange = new EventEmitter();
144
+ /**
145
+ * Emits when any date is selected.
146
+ */
147
+ this.userSelection = new EventEmitter();
148
+ /**
149
+ * Date filter for the month and year views.
150
+ */
151
+ this._dateFilterForViews = function (date) {
152
+ return !!date &&
153
+ (!_this.dateFilter || _this.dateFilter(date)) &&
154
+ (!_this.minDate || _this._dateAdapter.compareDate(date, _this.minDate) >= 0) &&
155
+ (!_this.maxDate || _this._dateAdapter.compareDate(date, _this.maxDate) <= 0);
156
+ };
157
+ if (!this._dateAdapter) {
158
+ throw createMissingDateImplError('DateAdapter');
159
+ }
160
+ if (!this._dateFormats) {
161
+ throw createMissingDateImplError('MD_DATE_FORMATS');
162
+ }
163
+ this._intlChanges = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
164
+ }
165
+ Object.defineProperty(MdCalendar.prototype, "startAt", {
166
+ /**
167
+ * A date representing the period (month or year) to start the calendar in.
168
+ * @return {?}
169
+ */
170
+ get: function () { return this._startAt; },
171
+ /**
172
+ * @param {?} value
173
+ * @return {?}
174
+ */
175
+ set: function (value) { this._startAt = coerceDateProperty(this._dateAdapter, value); },
176
+ enumerable: true,
177
+ configurable: true
178
+ });
179
+ Object.defineProperty(MdCalendar.prototype, "selected", {
180
+ /**
181
+ * The currently selected date.
182
+ * @return {?}
183
+ */
184
+ get: function () { return this._selected; },
185
+ /**
186
+ * @param {?} value
187
+ * @return {?}
188
+ */
189
+ set: function (value) { this._selected = coerceDateProperty(this._dateAdapter, value); },
190
+ enumerable: true,
191
+ configurable: true
192
+ });
193
+ Object.defineProperty(MdCalendar.prototype, "minDate", {
194
+ /**
195
+ * The minimum selectable date.
196
+ * @return {?}
197
+ */
198
+ get: function () { return this._minDate; },
199
+ /**
200
+ * @param {?} value
201
+ * @return {?}
202
+ */
203
+ set: function (value) { this._minDate = coerceDateProperty(this._dateAdapter, value); },
204
+ enumerable: true,
205
+ configurable: true
206
+ });
207
+ Object.defineProperty(MdCalendar.prototype, "maxDate", {
208
+ /**
209
+ * The maximum selectable date.
210
+ * @return {?}
211
+ */
212
+ get: function () { return this._maxDate; },
213
+ /**
214
+ * @param {?} value
215
+ * @return {?}
216
+ */
217
+ set: function (value) { this._maxDate = coerceDateProperty(this._dateAdapter, value); },
218
+ enumerable: true,
219
+ configurable: true
220
+ });
221
+ Object.defineProperty(MdCalendar.prototype, "_activeDate", {
222
+ /**
223
+ * The current active date. This determines which time period is shown and which date is
224
+ * highlighted when using keyboard navigation.
225
+ * @return {?}
226
+ */
227
+ get: function () { return this._clampedActiveDate; },
228
+ /**
229
+ * @param {?} value
230
+ * @return {?}
231
+ */
232
+ set: function (value) {
233
+ this._clampedActiveDate = this._dateAdapter.clampDate(value, this.minDate, this.maxDate);
234
+ },
235
+ enumerable: true,
236
+ configurable: true
237
+ });
238
+ Object.defineProperty(MdCalendar.prototype, "_periodButtonText", {
239
+ /**
240
+ * The label for the current calendar view.
241
+ * @return {?}
242
+ */
243
+ get: function () {
244
+ return this._monthView ?
245
+ this._dateAdapter.format(this._activeDate, this._dateFormats.display.monthYearLabel)
246
+ .toLocaleUpperCase() :
247
+ this._dateAdapter.getYearName(this._activeDate);
248
+ },
249
+ enumerable: true,
250
+ configurable: true
251
+ });
252
+ Object.defineProperty(MdCalendar.prototype, "_periodButtonLabel", {
253
+ /**
254
+ * @return {?}
255
+ */
256
+ get: function () {
257
+ return this._monthView ? this._intl.switchToYearViewLabel : this._intl.switchToMonthViewLabel;
258
+ },
259
+ enumerable: true,
260
+ configurable: true
261
+ });
262
+ Object.defineProperty(MdCalendar.prototype, "_prevButtonLabel", {
263
+ /**
264
+ * The label for the the previous button.
265
+ * @return {?}
266
+ */
267
+ get: function () {
268
+ return this._monthView ? this._intl.prevMonthLabel : this._intl.prevYearLabel;
269
+ },
270
+ enumerable: true,
271
+ configurable: true
272
+ });
273
+ Object.defineProperty(MdCalendar.prototype, "_nextButtonLabel", {
274
+ /**
275
+ * The label for the the next button.
276
+ * @return {?}
277
+ */
278
+ get: function () {
279
+ return this._monthView ? this._intl.nextMonthLabel : this._intl.nextYearLabel;
280
+ },
281
+ enumerable: true,
282
+ configurable: true
283
+ });
284
+ /**
285
+ * @return {?}
286
+ */
287
+ MdCalendar.prototype.ngAfterContentInit = function () {
288
+ this._activeDate = this.startAt || this._dateAdapter.today();
289
+ this._focusActiveCell();
290
+ this._monthView = this.startView != 'year';
291
+ };
292
+ /**
293
+ * @return {?}
294
+ */
295
+ MdCalendar.prototype.ngOnDestroy = function () {
296
+ this._intlChanges.unsubscribe();
297
+ };
298
+ /**
299
+ * Handles date selection in the month view.
300
+ * @param {?} date
301
+ * @return {?}
302
+ */
303
+ MdCalendar.prototype._dateSelected = function (date) {
304
+ if (!this._dateAdapter.sameDate(date, this.selected)) {
305
+ this.selectedChange.emit(date);
306
+ }
307
+ };
308
+ /**
309
+ * @return {?}
310
+ */
311
+ MdCalendar.prototype._userSelected = function () {
312
+ this.userSelection.emit();
313
+ };
314
+ /**
315
+ * Handles month selection in the year view.
316
+ * @param {?} month
317
+ * @return {?}
318
+ */
319
+ MdCalendar.prototype._monthSelected = function (month) {
320
+ this._activeDate = month;
321
+ this._monthView = true;
322
+ };
323
+ /**
324
+ * Handles user clicks on the period label.
325
+ * @return {?}
326
+ */
327
+ MdCalendar.prototype._currentPeriodClicked = function () {
328
+ this._monthView = !this._monthView;
329
+ };
330
+ /**
331
+ * Handles user clicks on the previous button.
332
+ * @return {?}
333
+ */
334
+ MdCalendar.prototype._previousClicked = function () {
335
+ this._activeDate = this._monthView ?
336
+ this._dateAdapter.addCalendarMonths(this._activeDate, -1) :
337
+ this._dateAdapter.addCalendarYears(this._activeDate, -1);
338
+ };
339
+ /**
340
+ * Handles user clicks on the next button.
341
+ * @return {?}
342
+ */
343
+ MdCalendar.prototype._nextClicked = function () {
344
+ this._activeDate = this._monthView ?
345
+ this._dateAdapter.addCalendarMonths(this._activeDate, 1) :
346
+ this._dateAdapter.addCalendarYears(this._activeDate, 1);
347
+ };
348
+ /**
349
+ * Whether the previous period button is enabled.
350
+ * @return {?}
351
+ */
352
+ MdCalendar.prototype._previousEnabled = function () {
353
+ if (!this.minDate) {
354
+ return true;
355
+ }
356
+ return !this.minDate || !this._isSameView(this._activeDate, this.minDate);
357
+ };
358
+ /**
359
+ * Whether the next period button is enabled.
360
+ * @return {?}
361
+ */
362
+ MdCalendar.prototype._nextEnabled = function () {
363
+ return !this.maxDate || !this._isSameView(this._activeDate, this.maxDate);
364
+ };
365
+ /**
366
+ * Handles keydown events on the calendar body.
367
+ * @param {?} event
368
+ * @return {?}
369
+ */
370
+ MdCalendar.prototype._handleCalendarBodyKeydown = function (event) {
371
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
372
+ // disabled ones from being selected. This may not be ideal, we should look into whether
373
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
374
+ if (this._monthView) {
375
+ this._handleCalendarBodyKeydownInMonthView(event);
376
+ }
377
+ else {
378
+ this._handleCalendarBodyKeydownInYearView(event);
379
+ }
380
+ };
381
+ /**
382
+ * Focuses the active cell after the microtask queue is empty.
383
+ * @return {?}
384
+ */
385
+ MdCalendar.prototype._focusActiveCell = function () {
386
+ var _this = this;
387
+ this._ngZone.runOutsideAngular(function () {
388
+ first.call(_this._ngZone.onStable.asObservable()).subscribe(function () {
389
+ _this._elementRef.nativeElement.querySelector('.mat-calendar-body-active').focus();
390
+ });
391
+ });
392
+ };
393
+ /**
394
+ * Whether the two dates represent the same view in the current view mode (month or year).
395
+ * @param {?} date1
396
+ * @param {?} date2
397
+ * @return {?}
398
+ */
399
+ MdCalendar.prototype._isSameView = function (date1, date2) {
400
+ return this._monthView ?
401
+ this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2) &&
402
+ this._dateAdapter.getMonth(date1) == this._dateAdapter.getMonth(date2) :
403
+ this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2);
404
+ };
405
+ /**
406
+ * Handles keydown events on the calendar body when calendar is in month view.
407
+ * @param {?} event
408
+ * @return {?}
409
+ */
410
+ MdCalendar.prototype._handleCalendarBodyKeydownInMonthView = function (event) {
411
+ switch (event.keyCode) {
412
+ case LEFT_ARROW:
413
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, -1);
414
+ break;
415
+ case RIGHT_ARROW:
416
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, 1);
417
+ break;
418
+ case UP_ARROW:
419
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, -7);
420
+ break;
421
+ case DOWN_ARROW:
422
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, 7);
423
+ break;
424
+ case HOME:
425
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, 1 - this._dateAdapter.getDate(this._activeDate));
426
+ break;
427
+ case END:
428
+ this._activeDate = this._dateAdapter.addCalendarDays(this._activeDate, (this._dateAdapter.getNumDaysInMonth(this._activeDate) -
429
+ this._dateAdapter.getDate(this._activeDate)));
430
+ break;
431
+ case PAGE_UP:
432
+ this._activeDate = event.altKey ?
433
+ this._dateAdapter.addCalendarYears(this._activeDate, -1) :
434
+ this._dateAdapter.addCalendarMonths(this._activeDate, -1);
435
+ break;
436
+ case PAGE_DOWN:
437
+ this._activeDate = event.altKey ?
438
+ this._dateAdapter.addCalendarYears(this._activeDate, 1) :
439
+ this._dateAdapter.addCalendarMonths(this._activeDate, 1);
440
+ break;
441
+ case ENTER:
442
+ if (this._dateFilterForViews(this._activeDate)) {
443
+ this._dateSelected(this._activeDate);
444
+ // Prevent unexpected default actions such as form submission.
445
+ event.preventDefault();
446
+ }
447
+ return;
448
+ default:
449
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
450
+ return;
451
+ }
452
+ this._focusActiveCell();
453
+ // Prevent unexpected default actions such as form submission.
454
+ event.preventDefault();
455
+ };
456
+ /**
457
+ * Handles keydown events on the calendar body when calendar is in year view.
458
+ * @param {?} event
459
+ * @return {?}
460
+ */
461
+ MdCalendar.prototype._handleCalendarBodyKeydownInYearView = function (event) {
462
+ switch (event.keyCode) {
463
+ case LEFT_ARROW:
464
+ this._activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, -1);
465
+ break;
466
+ case RIGHT_ARROW:
467
+ this._activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, 1);
468
+ break;
469
+ case UP_ARROW:
470
+ this._activeDate = this._prevMonthInSameCol(this._activeDate);
471
+ break;
472
+ case DOWN_ARROW:
473
+ this._activeDate = this._nextMonthInSameCol(this._activeDate);
474
+ break;
475
+ case HOME:
476
+ this._activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, -this._dateAdapter.getMonth(this._activeDate));
477
+ break;
478
+ case END:
479
+ this._activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, 11 - this._dateAdapter.getMonth(this._activeDate));
480
+ break;
481
+ case PAGE_UP:
482
+ this._activeDate =
483
+ this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? -10 : -1);
484
+ break;
485
+ case PAGE_DOWN:
486
+ this._activeDate =
487
+ this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? 10 : 1);
488
+ break;
489
+ case ENTER:
490
+ this._monthSelected(this._activeDate);
491
+ break;
492
+ default:
493
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
494
+ return;
495
+ }
496
+ this._focusActiveCell();
497
+ // Prevent unexpected default actions such as form submission.
498
+ event.preventDefault();
499
+ };
500
+ /**
501
+ * Determine the date for the month that comes before the given month in the same column in the
502
+ * calendar table.
503
+ * @param {?} date
504
+ * @return {?}
505
+ */
506
+ MdCalendar.prototype._prevMonthInSameCol = function (date) {
507
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning
508
+ // of each year.
509
+ var /** @type {?} */ increment = this._dateAdapter.getMonth(date) <= 4 ? -5 :
510
+ (this._dateAdapter.getMonth(date) >= 7 ? -7 : -12);
511
+ return this._dateAdapter.addCalendarMonths(date, increment);
512
+ };
513
+ /**
514
+ * Determine the date for the month that comes after the given month in the same column in the
515
+ * calendar table.
516
+ * @param {?} date
517
+ * @return {?}
518
+ */
519
+ MdCalendar.prototype._nextMonthInSameCol = function (date) {
520
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning
521
+ // of each year.
522
+ var /** @type {?} */ increment = this._dateAdapter.getMonth(date) <= 4 ? 7 :
523
+ (this._dateAdapter.getMonth(date) >= 7 ? 5 : 12);
524
+ return this._dateAdapter.addCalendarMonths(date, increment);
525
+ };
526
+ return MdCalendar;
527
+ }());
528
+ MdCalendar.decorators = [
529
+ { type: Component, args: [{ selector: 'md-calendar, mat-calendar',
530
+ template: "<div class=\"mat-calendar-header\"><div class=\"mat-calendar-controls\"><button mat-button class=\"mat-calendar-period-button\" (click)=\"_currentPeriodClicked()\" [attr.aria-label]=\"_periodButtonLabel\">{{_periodButtonText}}<div class=\"mat-calendar-arrow\" [class.mat-calendar-invert]=\"!_monthView\"></div></button><div class=\"mat-calendar-spacer\"></div><button mat-icon-button class=\"mat-calendar-previous-button\" [disabled]=\"!_previousEnabled()\" (click)=\"_previousClicked()\" [attr.aria-label]=\"_prevButtonLabel\"></button> <button mat-icon-button class=\"mat-calendar-next-button\" [disabled]=\"!_nextEnabled()\" (click)=\"_nextClicked()\" [attr.aria-label]=\"_nextButtonLabel\"></button></div></div><div class=\"mat-calendar-content\" (keydown)=\"_handleCalendarBodyKeydown($event)\" [ngSwitch]=\"_monthView\" cdkMonitorSubtreeFocus><md-month-view *ngSwitchCase=\"true\" [activeDate]=\"_activeDate\" [selected]=\"selected\" [dateFilter]=\"_dateFilterForViews\" (selectedChange)=\"_dateSelected($event)\" (userSelection)=\"_userSelected()\"></md-month-view><mat-year-view *ngSwitchDefault [activeDate]=\"_activeDate\" [selected]=\"selected\" [dateFilter]=\"_dateFilterForViews\" (selectedChange)=\"_monthSelected($event)\"></mat-year-view></div>",
531
+ 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}"],
532
+ host: {
533
+ 'class': 'mat-calendar',
534
+ },
535
+ encapsulation: ViewEncapsulation.None,
536
+ preserveWhitespaces: false,
537
+ changeDetection: ChangeDetectionStrategy.OnPush,
538
+ viewProviders: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true }],
539
+ },] },
540
+ ];
541
+ /**
542
+ * @nocollapse
543
+ */
544
+ MdCalendar.ctorParameters = function () { return [
545
+ { type: ElementRef, },
546
+ { type: MdDatepickerIntl, },
547
+ { type: NgZone, },
548
+ { type: DateAdapter, decorators: [{ type: Optional },] },
549
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_DATE_FORMATS,] },] },
550
+ { type: ChangeDetectorRef, },
551
+ ]; };
552
+ MdCalendar.propDecorators = {
553
+ 'startAt': [{ type: Input },],
554
+ 'startView': [{ type: Input },],
555
+ 'selected': [{ type: Input },],
556
+ 'minDate': [{ type: Input },],
557
+ 'maxDate': [{ type: Input },],
558
+ 'dateFilter': [{ type: Input },],
559
+ 'selectedChange': [{ type: Output },],
560
+ 'userSelection': [{ type: Output },],
561
+ };
562
+ /**
563
+ * An internal class that represents the data corresponding to a single calendar cell.
564
+ * \@docs-private
565
+ */
566
+ var MdCalendarCell = (function () {
567
+ /**
568
+ * @param {?} value
569
+ * @param {?} displayValue
570
+ * @param {?} ariaLabel
571
+ * @param {?} enabled
572
+ */
573
+ function MdCalendarCell(value, displayValue, ariaLabel, enabled) {
574
+ this.value = value;
575
+ this.displayValue = displayValue;
576
+ this.ariaLabel = ariaLabel;
577
+ this.enabled = enabled;
578
+ }
579
+ return MdCalendarCell;
580
+ }());
581
+ /**
582
+ * An internal component used to display calendar data in a table.
583
+ * \@docs-private
584
+ */
585
+ var MdCalendarBody = (function () {
586
+ function MdCalendarBody() {
587
+ /**
588
+ * The number of columns in the table.
589
+ */
590
+ this.numCols = 7;
591
+ /**
592
+ * Whether to allow selection of disabled cells.
593
+ */
594
+ this.allowDisabledSelection = false;
595
+ /**
596
+ * The cell number of the active cell in the table.
597
+ */
598
+ this.activeCell = 0;
599
+ /**
600
+ * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be
601
+ * maintained even as the table resizes.
602
+ */
603
+ this.cellAspectRatio = 1;
604
+ /**
605
+ * Emits when a new value is selected.
606
+ */
607
+ this.selectedValueChange = new EventEmitter();
608
+ }
609
+ /**
610
+ * @param {?} cell
611
+ * @return {?}
612
+ */
613
+ MdCalendarBody.prototype._cellClicked = function (cell) {
614
+ if (!this.allowDisabledSelection && !cell.enabled) {
615
+ return;
616
+ }
617
+ this.selectedValueChange.emit(cell.value);
618
+ };
619
+ Object.defineProperty(MdCalendarBody.prototype, "_firstRowOffset", {
620
+ /**
621
+ * The number of blank cells to put at the beginning for the first row.
622
+ * @return {?}
623
+ */
624
+ get: function () {
625
+ return this.rows && this.rows.length && this.rows[0].length ?
626
+ this.numCols - this.rows[0].length : 0;
627
+ },
628
+ enumerable: true,
629
+ configurable: true
630
+ });
631
+ /**
632
+ * @param {?} rowIndex
633
+ * @param {?} colIndex
634
+ * @return {?}
635
+ */
636
+ MdCalendarBody.prototype._isActiveCell = function (rowIndex, colIndex) {
637
+ var /** @type {?} */ cellNumber = rowIndex * this.numCols + colIndex;
638
+ // Account for the fact that the first row may not have as many cells.
639
+ if (rowIndex) {
640
+ cellNumber -= this._firstRowOffset;
641
+ }
642
+ return cellNumber == this.activeCell;
643
+ };
644
+ return MdCalendarBody;
645
+ }());
646
+ MdCalendarBody.decorators = [
647
+ { type: Component, args: [{ selector: '[md-calendar-body], [mat-calendar-body]',
648
+ 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\" (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>",
649
+ 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}[dir=rtl] .mat-calendar-body-label{text-align:right}"],
650
+ host: {
651
+ 'class': 'mat-calendar-body',
652
+ },
653
+ encapsulation: ViewEncapsulation.None,
654
+ preserveWhitespaces: false,
655
+ changeDetection: ChangeDetectionStrategy.OnPush,
656
+ },] },
657
+ ];
658
+ /**
659
+ * @nocollapse
660
+ */
661
+ MdCalendarBody.ctorParameters = function () { return []; };
662
+ MdCalendarBody.propDecorators = {
663
+ 'label': [{ type: Input },],
664
+ 'rows': [{ type: Input },],
665
+ 'todayValue': [{ type: Input },],
666
+ 'selectedValue': [{ type: Input },],
667
+ 'labelMinRequiredCells': [{ type: Input },],
668
+ 'numCols': [{ type: Input },],
669
+ 'allowDisabledSelection': [{ type: Input },],
670
+ 'activeCell': [{ type: Input },],
671
+ 'cellAspectRatio': [{ type: Input },],
672
+ 'selectedValueChange': [{ type: Output },],
673
+ };
674
+ /**
675
+ * Used to generate a unique ID for each datepicker instance.
676
+ */
677
+ var datepickerUid = 0;
678
+ /**
679
+ * Injection token that determines the scroll handling while the calendar is open.
680
+ */
681
+ var MD_DATEPICKER_SCROLL_STRATEGY = new InjectionToken('md-datepicker-scroll-strategy');
682
+ /**
683
+ * \@docs-private
684
+ * @param {?} overlay
685
+ * @return {?}
686
+ */
687
+ function MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
688
+ return function () { return overlay.scrollStrategies.reposition(); };
689
+ }
690
+ /**
691
+ * \@docs-private
692
+ */
693
+ var MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER = {
694
+ provide: MD_DATEPICKER_SCROLL_STRATEGY,
695
+ deps: [Overlay],
696
+ useFactory: MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY,
697
+ };
698
+ /**
699
+ * Component used as the content for the datepicker dialog and popup. We use this instead of using
700
+ * MdCalendar directly as the content so we can control the initial focus. This also gives us a
701
+ * place to put additional features of the popup that are not part of the calendar itself in the
702
+ * future. (e.g. confirmation buttons).
703
+ * \@docs-private
704
+ */
705
+ var MdDatepickerContent = (function () {
706
+ function MdDatepickerContent() {
707
+ }
708
+ /**
709
+ * @return {?}
710
+ */
711
+ MdDatepickerContent.prototype.ngAfterContentInit = function () {
712
+ this._calendar._focusActiveCell();
713
+ };
714
+ /**
715
+ * Handles keydown event on datepicker content.
716
+ * @param {?} event The event.
717
+ * @return {?}
718
+ */
719
+ MdDatepickerContent.prototype._handleKeydown = function (event) {
720
+ if (event.keyCode === ESCAPE) {
721
+ this.datepicker.close();
722
+ event.preventDefault();
723
+ event.stopPropagation();
724
+ }
725
+ };
726
+ return MdDatepickerContent;
727
+ }());
728
+ MdDatepickerContent.decorators = [
729
+ { type: Component, args: [{ selector: 'md-datepicker-content, mat-datepicker-content',
730
+ template: "<mat-calendar cdkTrapFocus [id]=\"datepicker.id\" [startAt]=\"datepicker.startAt\" [startView]=\"datepicker.startView\" [minDate]=\"datepicker._minDate\" [maxDate]=\"datepicker._maxDate\" [dateFilter]=\"datepicker._dateFilter\" [selected]=\"datepicker._selected\" (selectedChange)=\"datepicker._select($event)\" (userSelection)=\"datepicker.close()\"></mat-calendar>",
731
+ styles: [".mat-datepicker-content{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);display:block}.mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);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}}"],
732
+ host: {
733
+ 'class': 'mat-datepicker-content',
734
+ '[class.mat-datepicker-content-touch]': 'datepicker.touchUi',
735
+ '(keydown)': '_handleKeydown($event)',
736
+ },
737
+ encapsulation: ViewEncapsulation.None,
738
+ preserveWhitespaces: false,
739
+ changeDetection: ChangeDetectionStrategy.OnPush,
740
+ viewProviders: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true }],
741
+ },] },
742
+ ];
743
+ /**
744
+ * @nocollapse
745
+ */
746
+ MdDatepickerContent.ctorParameters = function () { return []; };
747
+ MdDatepickerContent.propDecorators = {
748
+ '_calendar': [{ type: ViewChild, args: [MdCalendar,] },],
749
+ };
750
+ /**
751
+ * Component responsible for managing the datepicker popup/dialog.
752
+ */
753
+ var MdDatepicker = (function () {
754
+ /**
755
+ * @param {?} _dialog
756
+ * @param {?} _overlay
757
+ * @param {?} _ngZone
758
+ * @param {?} _viewContainerRef
759
+ * @param {?} _scrollStrategy
760
+ * @param {?} _dateAdapter
761
+ * @param {?} _dir
762
+ * @param {?} _document
763
+ */
764
+ function MdDatepicker(_dialog, _overlay, _ngZone, _viewContainerRef, _scrollStrategy, _dateAdapter, _dir, _document) {
765
+ this._dialog = _dialog;
766
+ this._overlay = _overlay;
767
+ this._ngZone = _ngZone;
768
+ this._viewContainerRef = _viewContainerRef;
769
+ this._scrollStrategy = _scrollStrategy;
770
+ this._dateAdapter = _dateAdapter;
771
+ this._dir = _dir;
772
+ this._document = _document;
773
+ /**
774
+ * The view that the calendar should start in.
775
+ */
776
+ this.startView = 'month';
777
+ /**
778
+ * Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather
779
+ * than a popup and elements have more padding to allow for bigger touch targets.
780
+ */
781
+ this.touchUi = false;
782
+ /**
783
+ * Emits new selected date when selected date changes.
784
+ * @deprecated Switch to the `dateChange` and `dateInput` binding on the input element.
785
+ */
786
+ this.selectedChanged = new EventEmitter();
787
+ /**
788
+ * Whether the calendar is open.
789
+ */
790
+ this.opened = false;
791
+ /**
792
+ * The id for the datepicker calendar.
793
+ */
794
+ this.id = "md-datepicker-" + datepickerUid++;
795
+ this._validSelected = null;
796
+ /**
797
+ * The element that was focused before the datepicker was opened.
798
+ */
799
+ this._focusedElementBeforeOpen = null;
800
+ this._inputSubscription = Subscription.EMPTY;
801
+ /**
802
+ * Emits when the datepicker is disabled.
803
+ */
804
+ this._disabledChange = new Subject();
805
+ if (!this._dateAdapter) {
806
+ throw createMissingDateImplError('DateAdapter');
807
+ }
808
+ }
809
+ Object.defineProperty(MdDatepicker.prototype, "startAt", {
810
+ /**
811
+ * The date to open the calendar to initially.
812
+ * @return {?}
813
+ */
814
+ get: function () {
815
+ // If an explicit startAt is set we start there, otherwise we start at whatever the currently
816
+ // selected value is.
817
+ return this._startAt || (this._datepickerInput ? this._datepickerInput.value : null);
818
+ },
819
+ /**
820
+ * @param {?} date
821
+ * @return {?}
822
+ */
823
+ set: function (date) { this._startAt = coerceDateProperty(this._dateAdapter, date); },
824
+ enumerable: true,
825
+ configurable: true
826
+ });
827
+ Object.defineProperty(MdDatepicker.prototype, "disabled", {
828
+ /**
829
+ * Whether the datepicker pop-up should be disabled.
830
+ * @return {?}
831
+ */
832
+ get: function () {
833
+ return this._disabled === undefined ? this._datepickerInput.disabled : this._disabled;
834
+ },
835
+ /**
836
+ * @param {?} value
837
+ * @return {?}
838
+ */
839
+ set: function (value) {
840
+ var /** @type {?} */ newValue = coerceBooleanProperty(value);
841
+ if (newValue !== this._disabled) {
842
+ this._disabled = newValue;
843
+ this._disabledChange.next(newValue);
844
+ }
845
+ },
846
+ enumerable: true,
847
+ configurable: true
848
+ });
849
+ Object.defineProperty(MdDatepicker.prototype, "_selected", {
850
+ /**
851
+ * The currently selected date.
852
+ * @return {?}
853
+ */
854
+ get: function () { return this._validSelected; },
855
+ /**
856
+ * @param {?} value
857
+ * @return {?}
858
+ */
859
+ set: function (value) { this._validSelected = value; },
860
+ enumerable: true,
861
+ configurable: true
862
+ });
863
+ Object.defineProperty(MdDatepicker.prototype, "_minDate", {
864
+ /**
865
+ * The minimum selectable date.
866
+ * @return {?}
867
+ */
868
+ get: function () {
869
+ return this._datepickerInput && this._datepickerInput.min;
870
+ },
871
+ enumerable: true,
872
+ configurable: true
873
+ });
874
+ Object.defineProperty(MdDatepicker.prototype, "_maxDate", {
875
+ /**
876
+ * The maximum selectable date.
877
+ * @return {?}
878
+ */
879
+ get: function () {
880
+ return this._datepickerInput && this._datepickerInput.max;
881
+ },
882
+ enumerable: true,
883
+ configurable: true
884
+ });
885
+ Object.defineProperty(MdDatepicker.prototype, "_dateFilter", {
886
+ /**
887
+ * @return {?}
888
+ */
889
+ get: function () {
890
+ return this._datepickerInput && this._datepickerInput._dateFilter;
891
+ },
892
+ enumerable: true,
893
+ configurable: true
894
+ });
895
+ /**
896
+ * @return {?}
897
+ */
898
+ MdDatepicker.prototype.ngOnDestroy = function () {
899
+ this.close();
900
+ this._inputSubscription.unsubscribe();
901
+ this._disabledChange.complete();
902
+ if (this._popupRef) {
903
+ this._popupRef.dispose();
904
+ }
905
+ };
906
+ /**
907
+ * Selects the given date
908
+ * @param {?} date
909
+ * @return {?}
910
+ */
911
+ MdDatepicker.prototype._select = function (date) {
912
+ var /** @type {?} */ oldValue = this._selected;
913
+ this._selected = date;
914
+ if (!this._dateAdapter.sameDate(oldValue, this._selected)) {
915
+ this.selectedChanged.emit(date);
916
+ }
917
+ };
918
+ /**
919
+ * Register an input with this datepicker.
920
+ * @param {?} input The datepicker input to register with this datepicker.
921
+ * @return {?}
922
+ */
923
+ MdDatepicker.prototype._registerInput = function (input) {
924
+ var _this = this;
925
+ if (this._datepickerInput) {
926
+ throw Error('An MdDatepicker can only be associated with a single input.');
927
+ }
928
+ this._datepickerInput = input;
929
+ this._inputSubscription =
930
+ this._datepickerInput._valueChange.subscribe(function (value) { return _this._selected = value; });
931
+ };
932
+ /**
933
+ * Open the calendar.
934
+ * @return {?}
935
+ */
936
+ MdDatepicker.prototype.open = function () {
937
+ if (this.opened || this.disabled) {
938
+ return;
939
+ }
940
+ if (!this._datepickerInput) {
941
+ throw Error('Attempted to open an MdDatepicker with no associated input.');
942
+ }
943
+ if (this._document) {
944
+ this._focusedElementBeforeOpen = this._document.activeElement;
945
+ }
946
+ this.touchUi ? this._openAsDialog() : this._openAsPopup();
947
+ this.opened = true;
948
+ };
949
+ /**
950
+ * Close the calendar.
951
+ * @return {?}
952
+ */
953
+ MdDatepicker.prototype.close = function () {
954
+ if (!this.opened) {
955
+ return;
956
+ }
957
+ if (this._popupRef && this._popupRef.hasAttached()) {
958
+ this._popupRef.detach();
959
+ }
960
+ if (this._dialogRef) {
961
+ this._dialogRef.close();
962
+ this._dialogRef = null;
963
+ }
964
+ if (this._calendarPortal && this._calendarPortal.isAttached) {
965
+ this._calendarPortal.detach();
966
+ }
967
+ if (this._focusedElementBeforeOpen &&
968
+ typeof this._focusedElementBeforeOpen.focus === 'function') {
969
+ this._focusedElementBeforeOpen.focus();
970
+ this._focusedElementBeforeOpen = null;
971
+ }
972
+ this.opened = false;
973
+ };
974
+ /**
975
+ * Open the calendar as a dialog.
976
+ * @return {?}
977
+ */
978
+ MdDatepicker.prototype._openAsDialog = function () {
979
+ var _this = this;
980
+ this._dialogRef = this._dialog.open(MdDatepickerContent, {
981
+ direction: this._dir ? this._dir.value : 'ltr',
982
+ viewContainerRef: this._viewContainerRef,
983
+ });
984
+ this._dialogRef.afterClosed().subscribe(function () { return _this.close(); });
985
+ this._dialogRef.componentInstance.datepicker = this;
986
+ };
987
+ /**
988
+ * Open the calendar as a popup.
989
+ * @return {?}
990
+ */
991
+ MdDatepicker.prototype._openAsPopup = function () {
992
+ var _this = this;
993
+ if (!this._calendarPortal) {
994
+ this._calendarPortal = new ComponentPortal(MdDatepickerContent, this._viewContainerRef);
995
+ }
996
+ if (!this._popupRef) {
997
+ this._createPopup();
998
+ }
999
+ if (!this._popupRef.hasAttached()) {
1000
+ var /** @type {?} */ componentRef = this._popupRef.attach(this._calendarPortal);
1001
+ componentRef.instance.datepicker = this;
1002
+ // Update the position once the calendar has rendered.
1003
+ first$1.call(this._ngZone.onStable.asObservable()).subscribe(function () {
1004
+ _this._popupRef.updatePosition();
1005
+ });
1006
+ }
1007
+ this._popupRef.backdropClick().subscribe(function () { return _this.close(); });
1008
+ };
1009
+ /**
1010
+ * Create the popup.
1011
+ * @return {?}
1012
+ */
1013
+ MdDatepicker.prototype._createPopup = function () {
1014
+ var /** @type {?} */ overlayState = new OverlayConfig({
1015
+ positionStrategy: this._createPopupPositionStrategy(),
1016
+ hasBackdrop: true,
1017
+ backdropClass: 'mat-overlay-transparent-backdrop',
1018
+ direction: this._dir ? this._dir.value : 'ltr',
1019
+ scrollStrategy: this._scrollStrategy()
1020
+ });
1021
+ this._popupRef = this._overlay.create(overlayState);
1022
+ };
1023
+ /**
1024
+ * Create the popup PositionStrategy.
1025
+ * @return {?}
1026
+ */
1027
+ MdDatepicker.prototype._createPopupPositionStrategy = function () {
1028
+ return this._overlay.position()
1029
+ .connectedTo(this._datepickerInput.getPopupConnectionElementRef(), { originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' })
1030
+ .withFallbackPosition({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' })
1031
+ .withFallbackPosition({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' })
1032
+ .withFallbackPosition({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' });
1033
+ };
1034
+ return MdDatepicker;
1035
+ }());
1036
+ MdDatepicker.decorators = [
1037
+ { type: Component, args: [{ selector: 'md-datepicker, mat-datepicker',
1038
+ template: '',
1039
+ changeDetection: ChangeDetectionStrategy.OnPush,
1040
+ encapsulation: ViewEncapsulation.None,
1041
+ preserveWhitespaces: false,
1042
+ },] },
1043
+ ];
1044
+ /**
1045
+ * @nocollapse
1046
+ */
1047
+ MdDatepicker.ctorParameters = function () { return [
1048
+ { type: MdDialog, },
1049
+ { type: Overlay, },
1050
+ { type: NgZone, },
1051
+ { type: ViewContainerRef, },
1052
+ { type: undefined, decorators: [{ type: Inject, args: [MD_DATEPICKER_SCROLL_STRATEGY,] },] },
1053
+ { type: DateAdapter, decorators: [{ type: Optional },] },
1054
+ { type: Directionality, decorators: [{ type: Optional },] },
1055
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] },] },
1056
+ ]; };
1057
+ MdDatepicker.propDecorators = {
1058
+ 'startAt': [{ type: Input },],
1059
+ 'startView': [{ type: Input },],
1060
+ 'touchUi': [{ type: Input },],
1061
+ 'disabled': [{ type: Input },],
1062
+ 'selectedChanged': [{ type: Output },],
1063
+ };
1064
+ var MD_DATEPICKER_VALUE_ACCESSOR = {
1065
+ provide: NG_VALUE_ACCESSOR,
1066
+ useExisting: forwardRef(function () { return MdDatepickerInput; }),
1067
+ multi: true
1068
+ };
1069
+ var MD_DATEPICKER_VALIDATORS = {
1070
+ provide: NG_VALIDATORS,
1071
+ useExisting: forwardRef(function () { return MdDatepickerInput; }),
1072
+ multi: true
1073
+ };
1074
+ /**
1075
+ * An event used for datepicker input and change events. We don't always have access to a native
1076
+ * input or change event because the event may have been triggered by the user clicking on the
1077
+ * calendar popup. For consistency, we always use MdDatepickerInputEvent instead.
1078
+ */
1079
+ var MdDatepickerInputEvent = (function () {
1080
+ /**
1081
+ * @param {?} target
1082
+ * @param {?} targetElement
1083
+ */
1084
+ function MdDatepickerInputEvent(target, targetElement) {
1085
+ this.target = target;
1086
+ this.targetElement = targetElement;
1087
+ this.value = this.target.value;
1088
+ }
1089
+ return MdDatepickerInputEvent;
1090
+ }());
1091
+ /**
1092
+ * Directive used to connect an input to a MdDatepicker.
1093
+ */
1094
+ var MdDatepickerInput = (function () {
1095
+ /**
1096
+ * @param {?} _elementRef
1097
+ * @param {?} _renderer
1098
+ * @param {?} _dateAdapter
1099
+ * @param {?} _dateFormats
1100
+ * @param {?} _mdFormField
1101
+ */
1102
+ function MdDatepickerInput(_elementRef, _renderer, _dateAdapter, _dateFormats, _mdFormField) {
1103
+ var _this = this;
1104
+ this._elementRef = _elementRef;
1105
+ this._renderer = _renderer;
1106
+ this._dateAdapter = _dateAdapter;
1107
+ this._dateFormats = _dateFormats;
1108
+ this._mdFormField = _mdFormField;
1109
+ /**
1110
+ * Emits when a `change` event is fired on this `<input>`.
1111
+ */
1112
+ this.dateChange = new EventEmitter();
1113
+ /**
1114
+ * Emits when an `input` event is fired on this `<input>`.
1115
+ */
1116
+ this.dateInput = new EventEmitter();
1117
+ /**
1118
+ * Emits when the value changes (either due to user input or programmatic change).
1119
+ */
1120
+ this._valueChange = new EventEmitter();
1121
+ /**
1122
+ * Emits when the disabled state has changed
1123
+ */
1124
+ this._disabledChange = new EventEmitter();
1125
+ this._onTouched = function () { };
1126
+ this._cvaOnChange = function () { };
1127
+ this._validatorOnChange = function () { };
1128
+ this._datepickerSubscription = Subscription.EMPTY;
1129
+ this._localeSubscription = Subscription.EMPTY;
1130
+ /**
1131
+ * The form control validator for whether the input parses.
1132
+ */
1133
+ this._parseValidator = function () {
1134
+ return _this._lastValueValid ?
1135
+ null : { 'mdDatepickerParse': { 'text': _this._elementRef.nativeElement.value } };
1136
+ };
1137
+ /**
1138
+ * The form control validator for the min date.
1139
+ */
1140
+ this._minValidator = function (control) {
1141
+ var controlValue = coerceDateProperty(_this._dateAdapter, control.value);
1142
+ return (!_this.min || !controlValue ||
1143
+ _this._dateAdapter.compareDate(_this.min, controlValue) <= 0) ?
1144
+ null : { 'mdDatepickerMin': { 'min': _this.min, 'actual': controlValue } };
1145
+ };
1146
+ /**
1147
+ * The form control validator for the max date.
1148
+ */
1149
+ this._maxValidator = function (control) {
1150
+ var controlValue = coerceDateProperty(_this._dateAdapter, control.value);
1151
+ return (!_this.max || !controlValue ||
1152
+ _this._dateAdapter.compareDate(_this.max, controlValue) >= 0) ?
1153
+ null : { 'mdDatepickerMax': { 'max': _this.max, 'actual': controlValue } };
1154
+ };
1155
+ /**
1156
+ * The form control validator for the date filter.
1157
+ */
1158
+ this._filterValidator = function (control) {
1159
+ var controlValue = coerceDateProperty(_this._dateAdapter, control.value);
1160
+ return !_this._dateFilter || !controlValue || _this._dateFilter(controlValue) ?
1161
+ null : { 'mdDatepickerFilter': true };
1162
+ };
1163
+ /**
1164
+ * The combined form control validator for this input.
1165
+ */
1166
+ this._validator = Validators.compose([this._parseValidator, this._minValidator, this._maxValidator, this._filterValidator]);
1167
+ /**
1168
+ * Whether the last value set on the input was valid.
1169
+ */
1170
+ this._lastValueValid = false;
1171
+ if (!this._dateAdapter) {
1172
+ throw createMissingDateImplError('DateAdapter');
1173
+ }
1174
+ if (!this._dateFormats) {
1175
+ throw createMissingDateImplError('MD_DATE_FORMATS');
1176
+ }
1177
+ // Update the displayed date when the locale changes.
1178
+ this._localeSubscription = _dateAdapter.localeChanges.subscribe(function () {
1179
+ _this.value = _this.value;
1180
+ });
1181
+ }
1182
+ Object.defineProperty(MdDatepickerInput.prototype, "mdDatepicker", {
1183
+ /**
1184
+ * The datepicker that this input is associated with.
1185
+ * @param {?} value
1186
+ * @return {?}
1187
+ */
1188
+ set: function (value) {
1189
+ this.registerDatepicker(value);
1190
+ },
1191
+ enumerable: true,
1192
+ configurable: true
1193
+ });
1194
+ /**
1195
+ * @param {?} value
1196
+ * @return {?}
1197
+ */
1198
+ MdDatepickerInput.prototype.registerDatepicker = function (value) {
1199
+ if (value) {
1200
+ this._datepicker = value;
1201
+ this._datepicker._registerInput(this);
1202
+ }
1203
+ };
1204
+ Object.defineProperty(MdDatepickerInput.prototype, "matDatepicker", {
1205
+ /**
1206
+ * @param {?} value
1207
+ * @return {?}
1208
+ */
1209
+ set: function (value) {
1210
+ // Note that we don't set `this.mdDatepicker = value` here,
1211
+ // because that line gets stripped by the JS compiler.
1212
+ this.registerDatepicker(value);
1213
+ },
1214
+ enumerable: true,
1215
+ configurable: true
1216
+ });
1217
+ Object.defineProperty(MdDatepickerInput.prototype, "mdDatepickerFilter", {
1218
+ /**
1219
+ * @param {?} filter
1220
+ * @return {?}
1221
+ */
1222
+ set: function (filter) {
1223
+ this._dateFilter = filter;
1224
+ this._validatorOnChange();
1225
+ },
1226
+ enumerable: true,
1227
+ configurable: true
1228
+ });
1229
+ Object.defineProperty(MdDatepickerInput.prototype, "matDatepickerFilter", {
1230
+ /**
1231
+ * @param {?} filter
1232
+ * @return {?}
1233
+ */
1234
+ set: function (filter) {
1235
+ this.mdDatepickerFilter = filter;
1236
+ },
1237
+ enumerable: true,
1238
+ configurable: true
1239
+ });
1240
+ Object.defineProperty(MdDatepickerInput.prototype, "value", {
1241
+ /**
1242
+ * The value of the input.
1243
+ * @return {?}
1244
+ */
1245
+ get: function () {
1246
+ return this._value;
1247
+ },
1248
+ /**
1249
+ * @param {?} value
1250
+ * @return {?}
1251
+ */
1252
+ set: function (value) {
1253
+ value = coerceDateProperty(this._dateAdapter, value);
1254
+ this._lastValueValid = !value || this._dateAdapter.isValid(value);
1255
+ value = this._getValidDateOrNull(value);
1256
+ var /** @type {?} */ oldDate = this.value;
1257
+ this._value = value;
1258
+ this._renderer.setProperty(this._elementRef.nativeElement, 'value', value ? this._dateAdapter.format(value, this._dateFormats.display.dateInput) : '');
1259
+ if (!this._dateAdapter.sameDate(oldDate, value)) {
1260
+ this._valueChange.emit(value);
1261
+ }
1262
+ },
1263
+ enumerable: true,
1264
+ configurable: true
1265
+ });
1266
+ Object.defineProperty(MdDatepickerInput.prototype, "min", {
1267
+ /**
1268
+ * The minimum valid date.
1269
+ * @return {?}
1270
+ */
1271
+ get: function () { return this._min; },
1272
+ /**
1273
+ * @param {?} value
1274
+ * @return {?}
1275
+ */
1276
+ set: function (value) {
1277
+ this._min = coerceDateProperty(this._dateAdapter, value);
1278
+ this._validatorOnChange();
1279
+ },
1280
+ enumerable: true,
1281
+ configurable: true
1282
+ });
1283
+ Object.defineProperty(MdDatepickerInput.prototype, "max", {
1284
+ /**
1285
+ * The maximum valid date.
1286
+ * @return {?}
1287
+ */
1288
+ get: function () { return this._max; },
1289
+ /**
1290
+ * @param {?} value
1291
+ * @return {?}
1292
+ */
1293
+ set: function (value) {
1294
+ this._max = coerceDateProperty(this._dateAdapter, value);
1295
+ this._validatorOnChange();
1296
+ },
1297
+ enumerable: true,
1298
+ configurable: true
1299
+ });
1300
+ Object.defineProperty(MdDatepickerInput.prototype, "disabled", {
1301
+ /**
1302
+ * Whether the datepicker-input is disabled.
1303
+ * @return {?}
1304
+ */
1305
+ get: function () { return this._disabled; },
1306
+ /**
1307
+ * @param {?} value
1308
+ * @return {?}
1309
+ */
1310
+ set: function (value) {
1311
+ var /** @type {?} */ newValue = coerceBooleanProperty(value);
1312
+ if (this._disabled !== newValue) {
1313
+ this._disabled = newValue;
1314
+ this._disabledChange.emit(newValue);
1315
+ }
1316
+ },
1317
+ enumerable: true,
1318
+ configurable: true
1319
+ });
1320
+ /**
1321
+ * @return {?}
1322
+ */
1323
+ MdDatepickerInput.prototype.ngAfterContentInit = function () {
1324
+ var _this = this;
1325
+ if (this._datepicker) {
1326
+ this._datepickerSubscription =
1327
+ this._datepicker.selectedChanged.subscribe(function (selected) {
1328
+ _this.value = selected;
1329
+ _this._cvaOnChange(selected);
1330
+ _this._onTouched();
1331
+ _this.dateInput.emit(new MdDatepickerInputEvent(_this, _this._elementRef.nativeElement));
1332
+ _this.dateChange.emit(new MdDatepickerInputEvent(_this, _this._elementRef.nativeElement));
1333
+ });
1334
+ }
1335
+ };
1336
+ /**
1337
+ * @return {?}
1338
+ */
1339
+ MdDatepickerInput.prototype.ngOnDestroy = function () {
1340
+ this._datepickerSubscription.unsubscribe();
1341
+ this._localeSubscription.unsubscribe();
1342
+ this._valueChange.complete();
1343
+ this._disabledChange.complete();
1344
+ };
1345
+ /**
1346
+ * @param {?} fn
1347
+ * @return {?}
1348
+ */
1349
+ MdDatepickerInput.prototype.registerOnValidatorChange = function (fn) {
1350
+ this._validatorOnChange = fn;
1351
+ };
1352
+ /**
1353
+ * @param {?} c
1354
+ * @return {?}
1355
+ */
1356
+ MdDatepickerInput.prototype.validate = function (c) {
1357
+ return this._validator ? this._validator(c) : null;
1358
+ };
1359
+ /**
1360
+ * Gets the element that the datepicker popup should be connected to.
1361
+ * @return {?} The element to connect the popup to.
1362
+ */
1363
+ MdDatepickerInput.prototype.getPopupConnectionElementRef = function () {
1364
+ return this._mdFormField ? this._mdFormField.underlineRef : this._elementRef;
1365
+ };
1366
+ /**
1367
+ * @param {?} value
1368
+ * @return {?}
1369
+ */
1370
+ MdDatepickerInput.prototype.writeValue = function (value) {
1371
+ this.value = value;
1372
+ };
1373
+ /**
1374
+ * @param {?} fn
1375
+ * @return {?}
1376
+ */
1377
+ MdDatepickerInput.prototype.registerOnChange = function (fn) {
1378
+ this._cvaOnChange = fn;
1379
+ };
1380
+ /**
1381
+ * @param {?} fn
1382
+ * @return {?}
1383
+ */
1384
+ MdDatepickerInput.prototype.registerOnTouched = function (fn) {
1385
+ this._onTouched = fn;
1386
+ };
1387
+ /**
1388
+ * @param {?} disabled
1389
+ * @return {?}
1390
+ */
1391
+ MdDatepickerInput.prototype.setDisabledState = function (disabled) {
1392
+ this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', disabled);
1393
+ };
1394
+ /**
1395
+ * @param {?} event
1396
+ * @return {?}
1397
+ */
1398
+ MdDatepickerInput.prototype._onKeydown = function (event) {
1399
+ if (event.altKey && event.keyCode === DOWN_ARROW) {
1400
+ this._datepicker.open();
1401
+ event.preventDefault();
1402
+ }
1403
+ };
1404
+ /**
1405
+ * @param {?} value
1406
+ * @return {?}
1407
+ */
1408
+ MdDatepickerInput.prototype._onInput = function (value) {
1409
+ var /** @type {?} */ date = this._dateAdapter.parse(value, this._dateFormats.parse.dateInput);
1410
+ this._lastValueValid = !date || this._dateAdapter.isValid(date);
1411
+ date = this._getValidDateOrNull(date);
1412
+ this._value = date;
1413
+ this._cvaOnChange(date);
1414
+ this._valueChange.emit(date);
1415
+ this.dateInput.emit(new MdDatepickerInputEvent(this, this._elementRef.nativeElement));
1416
+ };
1417
+ /**
1418
+ * @return {?}
1419
+ */
1420
+ MdDatepickerInput.prototype._onChange = function () {
1421
+ this.dateChange.emit(new MdDatepickerInputEvent(this, this._elementRef.nativeElement));
1422
+ };
1423
+ /**
1424
+ * @param {?} obj The object to check.
1425
+ * @return {?} The given object if it is both a date instance and valid, otherwise null.
1426
+ */
1427
+ MdDatepickerInput.prototype._getValidDateOrNull = function (obj) {
1428
+ return (this._dateAdapter.isDateInstance(obj) && this._dateAdapter.isValid(obj)) ? obj : null;
1429
+ };
1430
+ return MdDatepickerInput;
1431
+ }());
1432
+ MdDatepickerInput.decorators = [
1433
+ { type: Directive, args: [{
1434
+ selector: 'input[mdDatepicker], input[matDatepicker]',
1435
+ providers: [MD_DATEPICKER_VALUE_ACCESSOR, MD_DATEPICKER_VALIDATORS],
1436
+ host: {
1437
+ '[attr.aria-haspopup]': 'true',
1438
+ '[attr.aria-owns]': '(_datepicker?.opened && _datepicker.id) || null',
1439
+ '[attr.min]': 'min ? _dateAdapter.toIso8601(min) : null',
1440
+ '[attr.max]': 'max ? _dateAdapter.toIso8601(max) : null',
1441
+ '[disabled]': 'disabled',
1442
+ '(input)': '_onInput($event.target.value)',
1443
+ '(change)': '_onChange()',
1444
+ '(blur)': '_onTouched()',
1445
+ '(keydown)': '_onKeydown($event)',
1446
+ },
1447
+ exportAs: 'mdDatepickerInput, matDatepickerInput',
1448
+ },] },
1449
+ ];
1450
+ /**
1451
+ * @nocollapse
1452
+ */
1453
+ MdDatepickerInput.ctorParameters = function () { return [
1454
+ { type: ElementRef, },
1455
+ { type: Renderer2, },
1456
+ { type: DateAdapter, decorators: [{ type: Optional },] },
1457
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_DATE_FORMATS,] },] },
1458
+ { type: MdFormField, decorators: [{ type: Optional },] },
1459
+ ]; };
1460
+ MdDatepickerInput.propDecorators = {
1461
+ 'mdDatepicker': [{ type: Input },],
1462
+ 'matDatepicker': [{ type: Input },],
1463
+ 'mdDatepickerFilter': [{ type: Input },],
1464
+ 'matDatepickerFilter': [{ type: Input },],
1465
+ 'value': [{ type: Input },],
1466
+ 'min': [{ type: Input },],
1467
+ 'max': [{ type: Input },],
1468
+ 'disabled': [{ type: Input },],
1469
+ 'dateChange': [{ type: Output },],
1470
+ 'dateInput': [{ type: Output },],
1471
+ };
1472
+ var MdDatepickerToggle = (function () {
1473
+ /**
1474
+ * @param {?} _intl
1475
+ * @param {?} _changeDetectorRef
1476
+ */
1477
+ function MdDatepickerToggle(_intl, _changeDetectorRef) {
1478
+ this._intl = _intl;
1479
+ this._changeDetectorRef = _changeDetectorRef;
1480
+ this._stateChanges = Subscription.EMPTY;
1481
+ }
1482
+ Object.defineProperty(MdDatepickerToggle.prototype, "disabled", {
1483
+ /**
1484
+ * Whether the toggle button is disabled.
1485
+ * @return {?}
1486
+ */
1487
+ get: function () {
1488
+ return this._disabled === undefined ? this.datepicker.disabled : this._disabled;
1489
+ },
1490
+ /**
1491
+ * @param {?} value
1492
+ * @return {?}
1493
+ */
1494
+ set: function (value) {
1495
+ this._disabled = coerceBooleanProperty(value);
1496
+ },
1497
+ enumerable: true,
1498
+ configurable: true
1499
+ });
1500
+ /**
1501
+ * @param {?} changes
1502
+ * @return {?}
1503
+ */
1504
+ MdDatepickerToggle.prototype.ngOnChanges = function (changes) {
1505
+ var _this = this;
1506
+ if (changes.datepicker) {
1507
+ var /** @type {?} */ datepicker = changes.datepicker.currentValue;
1508
+ var /** @type {?} */ datepickerDisabled = datepicker ? datepicker._disabledChange : of();
1509
+ var /** @type {?} */ inputDisabled = datepicker && datepicker._datepickerInput ?
1510
+ datepicker._datepickerInput._disabledChange :
1511
+ of();
1512
+ this._stateChanges.unsubscribe();
1513
+ this._stateChanges = merge(this._intl.changes, datepickerDisabled, inputDisabled)
1514
+ .subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
1515
+ }
1516
+ };
1517
+ /**
1518
+ * @return {?}
1519
+ */
1520
+ MdDatepickerToggle.prototype.ngOnDestroy = function () {
1521
+ this._stateChanges.unsubscribe();
1522
+ };
1523
+ /**
1524
+ * @param {?} event
1525
+ * @return {?}
1526
+ */
1527
+ MdDatepickerToggle.prototype._open = function (event) {
1528
+ if (this.datepicker && !this.disabled) {
1529
+ this.datepicker.open();
1530
+ event.stopPropagation();
1531
+ }
1532
+ };
1533
+ return MdDatepickerToggle;
1534
+ }());
1535
+ MdDatepickerToggle.decorators = [
1536
+ { type: Component, args: [{ selector: 'md-datepicker-toggle, mat-datepicker-toggle',
1537
+ template: "<button mat-icon-button type=\"button\" [attr.aria-label]=\"_intl.openCalendarLabel\" [disabled]=\"disabled\" (click)=\"_open($event)\"><mat-icon><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" fill=\"currentColor\" style=\"vertical-align: top\" 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></mat-icon></button>",
1538
+ host: {
1539
+ 'class': 'mat-datepicker-toggle',
1540
+ },
1541
+ encapsulation: ViewEncapsulation.None,
1542
+ preserveWhitespaces: false,
1543
+ changeDetection: ChangeDetectionStrategy.OnPush,
1544
+ viewProviders: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true }],
1545
+ },] },
1546
+ ];
1547
+ /**
1548
+ * @nocollapse
1549
+ */
1550
+ MdDatepickerToggle.ctorParameters = function () { return [
1551
+ { type: MdDatepickerIntl, },
1552
+ { type: ChangeDetectorRef, },
1553
+ ]; };
1554
+ MdDatepickerToggle.propDecorators = {
1555
+ 'datepicker': [{ type: Input, args: ['for',] },],
1556
+ 'disabled': [{ type: Input },],
1557
+ };
1558
+ var DAYS_PER_WEEK = 7;
1559
+ /**
1560
+ * An internal component used to display a single month in the datepicker.
1561
+ * \@docs-private
1562
+ */
1563
+ var MdMonthView = (function () {
1564
+ /**
1565
+ * @param {?} _dateAdapter
1566
+ * @param {?} _dateFormats
1567
+ */
1568
+ function MdMonthView(_dateAdapter, _dateFormats) {
1569
+ this._dateAdapter = _dateAdapter;
1570
+ this._dateFormats = _dateFormats;
1571
+ /**
1572
+ * Emits when a new date is selected.
1573
+ */
1574
+ this.selectedChange = new EventEmitter();
1575
+ /**
1576
+ * Emits when any date is selected.
1577
+ */
1578
+ this.userSelection = new EventEmitter();
1579
+ if (!this._dateAdapter) {
1580
+ throw createMissingDateImplError('DateAdapter');
1581
+ }
1582
+ if (!this._dateFormats) {
1583
+ throw createMissingDateImplError('MD_DATE_FORMATS');
1584
+ }
1585
+ var firstDayOfWeek = this._dateAdapter.getFirstDayOfWeek();
1586
+ var narrowWeekdays = this._dateAdapter.getDayOfWeekNames('narrow');
1587
+ var longWeekdays = this._dateAdapter.getDayOfWeekNames('long');
1588
+ // Rotate the labels for days of the week based on the configured first day of the week.
1589
+ var weekdays = longWeekdays.map(function (long, i) {
1590
+ return { long: long, narrow: narrowWeekdays[i] };
1591
+ });
1592
+ this._weekdays = weekdays.slice(firstDayOfWeek).concat(weekdays.slice(0, firstDayOfWeek));
1593
+ this._activeDate = this._dateAdapter.today();
1594
+ }
1595
+ Object.defineProperty(MdMonthView.prototype, "activeDate", {
1596
+ /**
1597
+ * The date to display in this month view (everything other than the month and year is ignored).
1598
+ * @return {?}
1599
+ */
1600
+ get: function () { return this._activeDate; },
1601
+ /**
1602
+ * @param {?} value
1603
+ * @return {?}
1604
+ */
1605
+ set: function (value) {
1606
+ var /** @type {?} */ oldActiveDate = this._activeDate;
1607
+ this._activeDate = coerceDateProperty(this._dateAdapter, value) || this._dateAdapter.today();
1608
+ if (!this._hasSameMonthAndYear(oldActiveDate, this._activeDate)) {
1609
+ this._init();
1610
+ }
1611
+ },
1612
+ enumerable: true,
1613
+ configurable: true
1614
+ });
1615
+ Object.defineProperty(MdMonthView.prototype, "selected", {
1616
+ /**
1617
+ * The currently selected date.
1618
+ * @return {?}
1619
+ */
1620
+ get: function () { return this._selected; },
1621
+ /**
1622
+ * @param {?} value
1623
+ * @return {?}
1624
+ */
1625
+ set: function (value) {
1626
+ this._selected = coerceDateProperty(this._dateAdapter, value);
1627
+ this._selectedDate = this._getDateInCurrentMonth(this._selected);
1628
+ },
1629
+ enumerable: true,
1630
+ configurable: true
1631
+ });
1632
+ /**
1633
+ * @return {?}
1634
+ */
1635
+ MdMonthView.prototype.ngAfterContentInit = function () {
1636
+ this._init();
1637
+ };
1638
+ /**
1639
+ * Handles when a new date is selected.
1640
+ * @param {?} date
1641
+ * @return {?}
1642
+ */
1643
+ MdMonthView.prototype._dateSelected = function (date) {
1644
+ if (this._selectedDate != date) {
1645
+ var /** @type {?} */ selectedYear = this._dateAdapter.getYear(this.activeDate);
1646
+ var /** @type {?} */ selectedMonth = this._dateAdapter.getMonth(this.activeDate);
1647
+ var /** @type {?} */ selectedDate = this._dateAdapter.createDate(selectedYear, selectedMonth, date);
1648
+ this.selectedChange.emit(selectedDate);
1649
+ }
1650
+ this.userSelection.emit();
1651
+ };
1652
+ /**
1653
+ * Initializes this month view.
1654
+ * @return {?}
1655
+ */
1656
+ MdMonthView.prototype._init = function () {
1657
+ this._selectedDate = this._getDateInCurrentMonth(this.selected);
1658
+ this._todayDate = this._getDateInCurrentMonth(this._dateAdapter.today());
1659
+ this._monthLabel =
1660
+ this._dateAdapter.getMonthNames('short')[this._dateAdapter.getMonth(this.activeDate)]
1661
+ .toLocaleUpperCase();
1662
+ var /** @type {?} */ firstOfMonth = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), 1);
1663
+ this._firstWeekOffset =
1664
+ (DAYS_PER_WEEK + this._dateAdapter.getDayOfWeek(firstOfMonth) -
1665
+ this._dateAdapter.getFirstDayOfWeek()) % DAYS_PER_WEEK;
1666
+ this._createWeekCells();
1667
+ };
1668
+ /**
1669
+ * Creates MdCalendarCells for the dates in this month.
1670
+ * @return {?}
1671
+ */
1672
+ MdMonthView.prototype._createWeekCells = function () {
1673
+ var /** @type {?} */ daysInMonth = this._dateAdapter.getNumDaysInMonth(this.activeDate);
1674
+ var /** @type {?} */ dateNames = this._dateAdapter.getDateNames();
1675
+ this._weeks = [[]];
1676
+ for (var /** @type {?} */ i = 0, /** @type {?} */ cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {
1677
+ if (cell == DAYS_PER_WEEK) {
1678
+ this._weeks.push([]);
1679
+ cell = 0;
1680
+ }
1681
+ var /** @type {?} */ date = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), i + 1);
1682
+ var /** @type {?} */ enabled = !this.dateFilter ||
1683
+ this.dateFilter(date);
1684
+ var /** @type {?} */ ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.dateA11yLabel);
1685
+ this._weeks[this._weeks.length - 1]
1686
+ .push(new MdCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
1687
+ }
1688
+ };
1689
+ /**
1690
+ * Gets the date in this month that the given Date falls on.
1691
+ * Returns null if the given Date is in another month.
1692
+ * @param {?} date
1693
+ * @return {?}
1694
+ */
1695
+ MdMonthView.prototype._getDateInCurrentMonth = function (date) {
1696
+ return date && this._hasSameMonthAndYear(date, this.activeDate) ?
1697
+ this._dateAdapter.getDate(date) : null;
1698
+ };
1699
+ /**
1700
+ * Checks whether the 2 dates are non-null and fall within the same month of the same year.
1701
+ * @param {?} d1
1702
+ * @param {?} d2
1703
+ * @return {?}
1704
+ */
1705
+ MdMonthView.prototype._hasSameMonthAndYear = function (d1, d2) {
1706
+ return !!(d1 && d2 && this._dateAdapter.getMonth(d1) == this._dateAdapter.getMonth(d2) &&
1707
+ this._dateAdapter.getYear(d1) == this._dateAdapter.getYear(d2));
1708
+ };
1709
+ return MdMonthView;
1710
+ }());
1711
+ MdMonthView.decorators = [
1712
+ { type: Component, args: [{ selector: 'md-month-view',
1713
+ template: "<table class=\"mat-calendar-table\"><thead class=\"mat-calendar-table-header\"><tr><th *ngFor=\"let day of _weekdays\" [attr.aria-label]=\"day.long\">{{day.narrow}}</th></tr><tr><th class=\"mat-calendar-table-header-divider\" colspan=\"7\" aria-hidden=\"true\"></th></tr></thead><tbody mat-calendar-body role=\"grid\" [label]=\"_monthLabel\" [rows]=\"_weeks\" [todayValue]=\"_todayDate\" [selectedValue]=\"_selectedDate\" [labelMinRequiredCells]=\"3\" [activeCell]=\"_dateAdapter.getDate(activeDate) - 1\" (selectedValueChange)=\"_dateSelected($event)\"></tbody></table>",
1714
+ encapsulation: ViewEncapsulation.None,
1715
+ preserveWhitespaces: false,
1716
+ changeDetection: ChangeDetectionStrategy.OnPush,
1717
+ viewProviders: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true }],
1718
+ },] },
1719
+ ];
1720
+ /**
1721
+ * @nocollapse
1722
+ */
1723
+ MdMonthView.ctorParameters = function () { return [
1724
+ { type: DateAdapter, decorators: [{ type: Optional },] },
1725
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_DATE_FORMATS,] },] },
1726
+ ]; };
1727
+ MdMonthView.propDecorators = {
1728
+ 'activeDate': [{ type: Input },],
1729
+ 'selected': [{ type: Input },],
1730
+ 'dateFilter': [{ type: Input },],
1731
+ 'selectedChange': [{ type: Output },],
1732
+ 'userSelection': [{ type: Output },],
1733
+ };
1734
+ /**
1735
+ * An internal component used to display a single year in the datepicker.
1736
+ * \@docs-private
1737
+ */
1738
+ var MdYearView = (function () {
1739
+ /**
1740
+ * @param {?} _dateAdapter
1741
+ * @param {?} _dateFormats
1742
+ */
1743
+ function MdYearView(_dateAdapter, _dateFormats) {
1744
+ this._dateAdapter = _dateAdapter;
1745
+ this._dateFormats = _dateFormats;
1746
+ /**
1747
+ * Emits when a new month is selected.
1748
+ */
1749
+ this.selectedChange = new EventEmitter();
1750
+ if (!this._dateAdapter) {
1751
+ throw createMissingDateImplError('DateAdapter');
1752
+ }
1753
+ if (!this._dateFormats) {
1754
+ throw createMissingDateImplError('MD_DATE_FORMATS');
1755
+ }
1756
+ this._activeDate = this._dateAdapter.today();
1757
+ }
1758
+ Object.defineProperty(MdYearView.prototype, "activeDate", {
1759
+ /**
1760
+ * The date to display in this year view (everything other than the year is ignored).
1761
+ * @return {?}
1762
+ */
1763
+ get: function () { return this._activeDate; },
1764
+ /**
1765
+ * @param {?} value
1766
+ * @return {?}
1767
+ */
1768
+ set: function (value) {
1769
+ var /** @type {?} */ oldActiveDate = this._activeDate;
1770
+ this._activeDate = coerceDateProperty(this._dateAdapter, value) || this._dateAdapter.today();
1771
+ if (this._dateAdapter.getYear(oldActiveDate) != this._dateAdapter.getYear(this._activeDate)) {
1772
+ this._init();
1773
+ }
1774
+ },
1775
+ enumerable: true,
1776
+ configurable: true
1777
+ });
1778
+ Object.defineProperty(MdYearView.prototype, "selected", {
1779
+ /**
1780
+ * The currently selected date.
1781
+ * @return {?}
1782
+ */
1783
+ get: function () { return this._selected; },
1784
+ /**
1785
+ * @param {?} value
1786
+ * @return {?}
1787
+ */
1788
+ set: function (value) {
1789
+ this._selected = coerceDateProperty(this._dateAdapter, value);
1790
+ this._selectedMonth = this._getMonthInCurrentYear(this._selected);
1791
+ },
1792
+ enumerable: true,
1793
+ configurable: true
1794
+ });
1795
+ /**
1796
+ * @return {?}
1797
+ */
1798
+ MdYearView.prototype.ngAfterContentInit = function () {
1799
+ this._init();
1800
+ };
1801
+ /**
1802
+ * Handles when a new month is selected.
1803
+ * @param {?} month
1804
+ * @return {?}
1805
+ */
1806
+ MdYearView.prototype._monthSelected = function (month) {
1807
+ var /** @type {?} */ daysInMonth = this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1));
1808
+ this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, Math.min(this._dateAdapter.getDate(this.activeDate), daysInMonth)));
1809
+ };
1810
+ /**
1811
+ * Initializes this month view.
1812
+ * @return {?}
1813
+ */
1814
+ MdYearView.prototype._init = function () {
1815
+ var _this = this;
1816
+ this._selectedMonth = this._getMonthInCurrentYear(this.selected);
1817
+ this._todayMonth = this._getMonthInCurrentYear(this._dateAdapter.today());
1818
+ this._yearLabel = this._dateAdapter.getYearName(this.activeDate);
1819
+ var /** @type {?} */ monthNames = this._dateAdapter.getMonthNames('short');
1820
+ // First row of months only contains 5 elements so we can fit the year label on the same row.
1821
+ this._months = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]].map(function (row) { return row.map(function (month) { return _this._createCellForMonth(month, monthNames[month]); }); });
1822
+ };
1823
+ /**
1824
+ * Gets the month in this year that the given Date falls on.
1825
+ * Returns null if the given Date is in another year.
1826
+ * @param {?} date
1827
+ * @return {?}
1828
+ */
1829
+ MdYearView.prototype._getMonthInCurrentYear = function (date) {
1830
+ return date && this._dateAdapter.getYear(date) == this._dateAdapter.getYear(this.activeDate) ?
1831
+ this._dateAdapter.getMonth(date) : null;
1832
+ };
1833
+ /**
1834
+ * Creates an MdCalendarCell for the given month.
1835
+ * @param {?} month
1836
+ * @param {?} monthName
1837
+ * @return {?}
1838
+ */
1839
+ MdYearView.prototype._createCellForMonth = function (month, monthName) {
1840
+ var /** @type {?} */ ariaLabel = this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1), this._dateFormats.display.monthYearA11yLabel);
1841
+ return new MdCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._isMonthEnabled(month));
1842
+ };
1843
+ /**
1844
+ * Whether the given month is enabled.
1845
+ * @param {?} month
1846
+ * @return {?}
1847
+ */
1848
+ MdYearView.prototype._isMonthEnabled = function (month) {
1849
+ if (!this.dateFilter) {
1850
+ return true;
1851
+ }
1852
+ var /** @type {?} */ firstOfMonth = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1);
1853
+ // If any date in the month is enabled count the month as enabled.
1854
+ for (var /** @type {?} */ date = firstOfMonth; this._dateAdapter.getMonth(date) == month; date = this._dateAdapter.addCalendarDays(date, 1)) {
1855
+ if (this.dateFilter(date)) {
1856
+ return true;
1857
+ }
1858
+ }
1859
+ return false;
1860
+ };
1861
+ return MdYearView;
1862
+ }());
1863
+ MdYearView.decorators = [
1864
+ { type: Component, args: [{ selector: 'md-year-view, mat-year-view',
1865
+ template: "<table class=\"mat-calendar-table\"><thead class=\"mat-calendar-table-header\"><tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr></thead><tbody mat-calendar-body role=\"grid\" allowDisabledSelection=\"true\" [label]=\"_yearLabel\" [rows]=\"_months\" [todayValue]=\"_todayMonth\" [selectedValue]=\"_selectedMonth\" [labelMinRequiredCells]=\"2\" [numCols]=\"4\" [cellAspectRatio]=\"4 / 7\" [activeCell]=\"_dateAdapter.getMonth(activeDate)\" (selectedValueChange)=\"_monthSelected($event)\"></tbody></table>",
1866
+ encapsulation: ViewEncapsulation.None,
1867
+ preserveWhitespaces: false,
1868
+ changeDetection: ChangeDetectionStrategy.OnPush,
1869
+ },] },
1870
+ ];
1871
+ /**
1872
+ * @nocollapse
1873
+ */
1874
+ MdYearView.ctorParameters = function () { return [
1875
+ { type: DateAdapter, decorators: [{ type: Optional },] },
1876
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_DATE_FORMATS,] },] },
1877
+ ]; };
1878
+ MdYearView.propDecorators = {
1879
+ 'activeDate': [{ type: Input },],
1880
+ 'selected': [{ type: Input },],
1881
+ 'dateFilter': [{ type: Input },],
1882
+ 'selectedChange': [{ type: Output },],
1883
+ };
1884
+ var MdDatepickerModule = (function () {
1885
+ function MdDatepickerModule() {
1886
+ }
1887
+ return MdDatepickerModule;
1888
+ }());
1889
+ MdDatepickerModule.decorators = [
1890
+ { type: NgModule, args: [{
1891
+ imports: [
1892
+ CommonModule,
1893
+ MdButtonModule,
1894
+ MdDialogModule,
1895
+ MdIconModule,
1896
+ OverlayModule,
1897
+ A11yModule,
1898
+ ],
1899
+ exports: [
1900
+ MdCalendar,
1901
+ MdCalendarBody,
1902
+ MdDatepicker,
1903
+ MdDatepickerContent,
1904
+ MdDatepickerInput,
1905
+ MdDatepickerToggle,
1906
+ MdMonthView,
1907
+ MdYearView,
1908
+ ],
1909
+ declarations: [
1910
+ MdCalendar,
1911
+ MdCalendarBody,
1912
+ MdDatepicker,
1913
+ MdDatepickerContent,
1914
+ MdDatepickerInput,
1915
+ MdDatepickerToggle,
1916
+ MdMonthView,
1917
+ MdYearView,
1918
+ ],
1919
+ providers: [
1920
+ MdDatepickerIntl,
1921
+ MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER,
1922
+ ],
1923
+ entryComponents: [
1924
+ MdDatepickerContent,
1925
+ ]
1926
+ },] },
1927
+ ];
1928
+ /**
1929
+ * @nocollapse
1930
+ */
1931
+ MdDatepickerModule.ctorParameters = function () { return []; };
1932
+ /**
1933
+ * Generated bundle index. Do not edit.
1934
+ */
1935
+ export { MdDatepickerModule, MdCalendar, MdCalendarCell, MdCalendarBody, coerceDateProperty, MD_DATEPICKER_SCROLL_STRATEGY, MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY, MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER, MdDatepickerContent, MdDatepicker, MD_DATEPICKER_VALUE_ACCESSOR, MD_DATEPICKER_VALIDATORS, MdDatepickerInputEvent, MdDatepickerInput, MdDatepickerIntl, MdDatepickerToggle, MdMonthView, MdYearView, MD_DATEPICKER_SCROLL_STRATEGY as MAT_DATEPICKER_SCROLL_STRATEGY, MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER as MAT_DATEPICKER_SCROLL_STRATEGY_PROVIDER, MD_DATEPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY as MAT_DATEPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY, MD_DATEPICKER_VALIDATORS as MAT_DATEPICKER_VALIDATORS, MD_DATEPICKER_VALUE_ACCESSOR as MAT_DATEPICKER_VALUE_ACCESSOR, MdCalendar as MatCalendar, MdCalendarBody as MatCalendarBody, MdCalendarCell as MatCalendarCell, MdDatepicker as MatDatepicker, MdDatepickerContent as MatDatepickerContent, MdDatepickerInput as MatDatepickerInput, MdDatepickerInputEvent as MatDatepickerInputEvent, MdDatepickerIntl as MatDatepickerIntl, MdDatepickerModule as MatDatepickerModule, MdDatepickerToggle as MatDatepickerToggle, MdMonthView as MatMonthView, MdYearView as MatYearView };
1936
+ //# sourceMappingURL=datepicker.es5.js.map