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