@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,3000 @@
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
+ (function (global, factory) {
9
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/a11y'), require('@angular/cdk/bidi'), require('@angular/platform-browser'), require('@angular/cdk/coercion'), require('rxjs/Subject'), require('@angular/cdk/keycodes'), require('@angular/common'), require('@angular/cdk/scrolling'), require('@angular/cdk/platform'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/rxjs')) :
10
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/a11y', '@angular/cdk/bidi', '@angular/platform-browser', '@angular/cdk/coercion', 'rxjs/Subject', '@angular/cdk/keycodes', '@angular/common', '@angular/cdk/scrolling', '@angular/cdk/platform', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/rxjs'], factory) :
11
+ (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material['grid-list'] = global.ng.material['grid-list'] || {}),global.ng.core,global.ng.cdk.a11y,global.ng.cdk.bidi,global.ng.platformBrowser,global.ng.cdk.coercion,global.Rx,global.ng.cdk.keycodes,global.ng.common,global.ng.cdk.scrolling,global.ng.cdk.platform,global.ng.cdk.overlay,global.ng.cdk.portal,global.ng.cdk.rxjs));
12
+ }(this, (function (exports,_angular_core,_angular_cdk_a11y,_angular_cdk_bidi,_angular_platformBrowser,_angular_cdk_coercion,rxjs_Subject,_angular_cdk_keycodes,_angular_common,_angular_cdk_scrolling,_angular_cdk_platform,_angular_cdk_overlay,_angular_cdk_portal,_angular_cdk_rxjs) { 'use strict';
13
+
14
+ /*! *****************************************************************************
15
+ Copyright (c) Microsoft Corporation. All rights reserved.
16
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
17
+ this file except in compliance with the License. You may obtain a copy of the
18
+ License at http://www.apache.org/licenses/LICENSE-2.0
19
+
20
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
22
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
23
+ MERCHANTABLITY OR NON-INFRINGEMENT.
24
+
25
+ See the Apache Version 2.0 License for specific language governing permissions
26
+ and limitations under the License.
27
+ ***************************************************************************** */
28
+ /* global Reflect, Promise */
29
+
30
+ var extendStatics = Object.setPrototypeOf ||
31
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
32
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
33
+
34
+ function __extends(d, b) {
35
+ extendStatics(d, b);
36
+ function __() { this.constructor = d; }
37
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
38
+ }
39
+
40
+ /**
41
+ * \@docs-private
42
+ */
43
+ var AnimationCurves = (function () {
44
+ function AnimationCurves() {
45
+ }
46
+ return AnimationCurves;
47
+ }());
48
+ AnimationCurves.STANDARD_CURVE = 'cubic-bezier(0.4,0.0,0.2,1)';
49
+ AnimationCurves.DECELERATION_CURVE = 'cubic-bezier(0.0,0.0,0.2,1)';
50
+ AnimationCurves.ACCELERATION_CURVE = 'cubic-bezier(0.4,0.0,1,1)';
51
+ AnimationCurves.SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';
52
+ /**
53
+ * \@docs-private
54
+ */
55
+ var AnimationDurations = (function () {
56
+ function AnimationDurations() {
57
+ }
58
+ return AnimationDurations;
59
+ }());
60
+ AnimationDurations.COMPLEX = '375ms';
61
+ AnimationDurations.ENTERING = '225ms';
62
+ AnimationDurations.EXITING = '195ms';
63
+ var MATERIAL_COMPATIBILITY_MODE = new _angular_core.InjectionToken('md-compatibility-mode');
64
+ /**
65
+ * Returns an exception to be thrown if the consumer has used
66
+ * an invalid Material prefix on a component.
67
+ * \@docs-private
68
+ * @param {?} prefix
69
+ * @param {?} nodeName
70
+ * @return {?}
71
+ */
72
+ function getMdCompatibilityInvalidPrefixError(prefix, nodeName) {
73
+ return Error("The \"" + prefix + "-\" prefix cannot be used in ng-material v1 compatibility mode. " +
74
+ ("It was used on an \"" + nodeName.toLowerCase() + "\" element."));
75
+ }
76
+ /**
77
+ * Selector that matches all elements that may have style collisions with AngularJS Material.
78
+ */
79
+ var MAT_ELEMENTS_SELECTOR = "\n [mat-button],\n [mat-fab],\n [mat-icon-button],\n [mat-mini-fab],\n [mat-raised-button],\n [matCardSubtitle],\n [matCardTitle],\n [matCellDef],\n [matColumnDef],\n [matDialogActions],\n [matDialogClose],\n [matDialogContent],\n [matDialogTitle],\n [matHeaderCellDef],\n [matHeaderRowDef],\n [matLine],\n [matRowDef],\n [matStepLabel],\n [matStepperNext],\n [matStepperPrevious],\n [matTabLabel],\n [matTabLink],\n [matTabNav],\n [matTooltip],\n [matInput],\n [matPrefix],\n [matSuffix],\n mat-autocomplete,\n mat-button-toggle,\n mat-button-toggle,\n mat-button-toggle-group,\n mat-card,\n mat-card-actions,\n mat-card-content,\n mat-card-footer,\n mat-card-header,\n mat-card-subtitle,\n mat-card-title,\n mat-card-title-group,\n mat-cell,\n mat-checkbox,\n mat-chip,\n mat-dialog-actions,\n mat-dialog-container,\n mat-dialog-content,\n mat-divider,\n mat-error,\n mat-grid-list,\n mat-grid-tile,\n mat-grid-tile-footer,\n mat-grid-tile-header,\n mat-header-cell,\n mat-header-row,\n mat-hint,\n mat-horizontal-stepper,\n mat-icon,\n mat-input-container,\n mat-form-field,\n mat-list,\n mat-list-item,\n mat-menu,\n mat-nav-list,\n mat-option,\n mat-placeholder,\n mat-progress-bar,\n mat-pseudo-checkbox,\n mat-radio-button,\n mat-radio-group,\n mat-row,\n mat-select,\n mat-sidenav,\n mat-sidenav-container,\n mat-slider,\n mat-spinner,\n mat-step,\n mat-tab,\n mat-table,\n mat-tab-group,\n mat-toolbar,\n mat-vertical-stepper";
80
+ /**
81
+ * Selector that matches all elements that may have style collisions with AngularJS Material.
82
+ */
83
+ var MD_ELEMENTS_SELECTOR = "\n [md-button],\n [md-fab],\n [md-icon-button],\n [md-mini-fab],\n [md-raised-button],\n [mdCardSubtitle],\n [mdCardTitle],\n [mdCellDef],\n [mdColumnDef],\n [mdDialogActions],\n [mdDialogClose],\n [mdDialogContent],\n [mdDialogTitle],\n [mdHeaderCellDef],\n [mdHeaderRowDef],\n [mdLine],\n [mdRowDef],\n [mdStepLabel],\n [mdStepperNext],\n [mdStepperPrevious],\n [mdTabLabel],\n [mdTabLink],\n [mdTabNav],\n [mdTooltip],\n [mdInput],\n [mdPrefix],\n [mdSuffix],\n md-autocomplete,\n md-button-toggle,\n md-button-toggle,\n md-button-toggle-group,\n md-card,\n md-card-actions,\n md-card-content,\n md-card-footer,\n md-card-header,\n md-card-subtitle,\n md-card-title,\n md-card-title-group,\n md-cell,\n md-checkbox,\n md-chip,\n md-dialog-actions,\n md-dialog-container,\n md-dialog-content,\n md-divider,\n md-error,\n md-grid-list,\n md-grid-tile,\n md-grid-tile-footer,\n md-grid-tile-header,\n md-header-cell,\n md-header-row,\n md-hint,\n md-horizontal-stepper,\n md-icon,\n md-input-container,\n md-form-field,\n md-list,\n md-list-item,\n md-menu,\n md-nav-list,\n md-option,\n md-placeholder,\n md-progress-bar,\n md-pseudo-checkbox,\n md-radio-button,\n md-radio-group,\n md-row,\n md-select,\n md-sidenav,\n md-sidenav-container,\n md-slider,\n md-spinner,\n md-step,\n md-tab,\n md-table,\n md-tab-group,\n md-toolbar,\n md-vertical-stepper";
84
+ /**
85
+ * Directive that enforces that the `mat-` prefix cannot be used.
86
+ */
87
+ var MatPrefixRejector = (function () {
88
+ /**
89
+ * @param {?} isCompatibilityMode
90
+ * @param {?} elementRef
91
+ */
92
+ function MatPrefixRejector(isCompatibilityMode, elementRef) {
93
+ if (!isCompatibilityMode) {
94
+ throw getMdCompatibilityInvalidPrefixError('mat', elementRef.nativeElement.nodeName);
95
+ }
96
+ }
97
+ return MatPrefixRejector;
98
+ }());
99
+ MatPrefixRejector.decorators = [
100
+ { type: _angular_core.Directive, args: [{ selector: MAT_ELEMENTS_SELECTOR },] },
101
+ ];
102
+ /**
103
+ * @nocollapse
104
+ */
105
+ MatPrefixRejector.ctorParameters = function () { return [
106
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MATERIAL_COMPATIBILITY_MODE,] },] },
107
+ { type: _angular_core.ElementRef, },
108
+ ]; };
109
+ /**
110
+ * Directive that enforces that the `md-` prefix cannot be used.
111
+ */
112
+ var MdPrefixRejector = (function () {
113
+ /**
114
+ * @param {?} isCompatibilityMode
115
+ * @param {?} elementRef
116
+ */
117
+ function MdPrefixRejector(isCompatibilityMode, elementRef) {
118
+ if (isCompatibilityMode) {
119
+ throw getMdCompatibilityInvalidPrefixError('md', elementRef.nativeElement.nodeName);
120
+ }
121
+ }
122
+ return MdPrefixRejector;
123
+ }());
124
+ MdPrefixRejector.decorators = [
125
+ { type: _angular_core.Directive, args: [{ selector: MD_ELEMENTS_SELECTOR },] },
126
+ ];
127
+ /**
128
+ * @nocollapse
129
+ */
130
+ MdPrefixRejector.ctorParameters = function () { return [
131
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MATERIAL_COMPATIBILITY_MODE,] },] },
132
+ { type: _angular_core.ElementRef, },
133
+ ]; };
134
+ /**
135
+ * Module that enforces the default compatibility mode settings. When this module is loaded
136
+ * without NoConflictStyleCompatibilityMode also being imported, it will throw an error if
137
+ * there are any uses of the `mat-` prefix.
138
+ */
139
+ var CompatibilityModule = (function () {
140
+ function CompatibilityModule() {
141
+ }
142
+ return CompatibilityModule;
143
+ }());
144
+ CompatibilityModule.decorators = [
145
+ { type: _angular_core.NgModule, args: [{
146
+ declarations: [MatPrefixRejector, MdPrefixRejector],
147
+ exports: [MatPrefixRejector, MdPrefixRejector],
148
+ },] },
149
+ ];
150
+ /**
151
+ * @nocollapse
152
+ */
153
+ CompatibilityModule.ctorParameters = function () { return []; };
154
+ /**
155
+ * Module that enforces "no-conflict" compatibility mode settings. When this module is loaded,
156
+ * it will throw an error if there are any uses of the `md-` prefix.
157
+ */
158
+ var NoConflictStyleCompatibilityMode = (function () {
159
+ function NoConflictStyleCompatibilityMode() {
160
+ }
161
+ return NoConflictStyleCompatibilityMode;
162
+ }());
163
+ NoConflictStyleCompatibilityMode.decorators = [
164
+ { type: _angular_core.NgModule, args: [{
165
+ providers: [{
166
+ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true,
167
+ }],
168
+ },] },
169
+ ];
170
+ /**
171
+ * @nocollapse
172
+ */
173
+ NoConflictStyleCompatibilityMode.ctorParameters = function () { return []; };
174
+ /**
175
+ * Injection token that configures whether the Material sanity checks are enabled.
176
+ */
177
+ var MATERIAL_SANITY_CHECKS = new _angular_core.InjectionToken('md-sanity-checks');
178
+ /**
179
+ * Module that captures anything that should be loaded and/or run for *all* Angular Material
180
+ * components. This includes Bidi, compatibility mode, etc.
181
+ *
182
+ * This module should be imported to each top-level component module (e.g., MdTabsModule).
183
+ */
184
+ var MdCommonModule = (function () {
185
+ /**
186
+ * @param {?} _document
187
+ * @param {?} _sanityChecksEnabled
188
+ */
189
+ function MdCommonModule(_document, _sanityChecksEnabled) {
190
+ this._document = _document;
191
+ /**
192
+ * Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).
193
+ */
194
+ this._hasDoneGlobalChecks = false;
195
+ if (_sanityChecksEnabled && !this._hasDoneGlobalChecks && _document && _angular_core.isDevMode()) {
196
+ this._checkDoctype();
197
+ this._checkTheme();
198
+ this._hasDoneGlobalChecks = true;
199
+ }
200
+ }
201
+ /**
202
+ * @return {?}
203
+ */
204
+ MdCommonModule.prototype._checkDoctype = function () {
205
+ if (!this._document.doctype) {
206
+ console.warn('Current document does not have a doctype. This may cause ' +
207
+ 'some Angular Material components not to behave as expected.');
208
+ }
209
+ };
210
+ /**
211
+ * @return {?}
212
+ */
213
+ MdCommonModule.prototype._checkTheme = function () {
214
+ if (typeof getComputedStyle === 'function') {
215
+ var /** @type {?} */ testElement = this._document.createElement('div');
216
+ testElement.classList.add('mat-theme-loaded-marker');
217
+ this._document.body.appendChild(testElement);
218
+ if (getComputedStyle(testElement).display !== 'none') {
219
+ console.warn('Could not find Angular Material core theme. Most Material ' +
220
+ 'components may not work as expected. For more info refer ' +
221
+ 'to the theming guide: https://material.angular.io/guide/theming');
222
+ }
223
+ this._document.body.removeChild(testElement);
224
+ }
225
+ };
226
+ return MdCommonModule;
227
+ }());
228
+ MdCommonModule.decorators = [
229
+ { type: _angular_core.NgModule, args: [{
230
+ imports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
231
+ exports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
232
+ providers: [{
233
+ provide: MATERIAL_SANITY_CHECKS, useValue: true,
234
+ }],
235
+ },] },
236
+ ];
237
+ /**
238
+ * @nocollapse
239
+ */
240
+ MdCommonModule.ctorParameters = function () { return [
241
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [_angular_platformBrowser.DOCUMENT,] },] },
242
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MATERIAL_SANITY_CHECKS,] },] },
243
+ ]; };
244
+ /**
245
+ * Mixin to augment a directive with a `disabled` property.
246
+ * @template T
247
+ * @param {?} base
248
+ * @return {?}
249
+ */
250
+ function mixinDisabled(base) {
251
+ return (function (_super) {
252
+ __extends(class_1, _super);
253
+ /**
254
+ * @param {...?} args
255
+ */
256
+ function class_1() {
257
+ var args = [];
258
+ for (var _i = 0; _i < arguments.length; _i++) {
259
+ args[_i] = arguments[_i];
260
+ }
261
+ var _this = _super.apply(this, args) || this;
262
+ _this._disabled = false;
263
+ return _this;
264
+ }
265
+ Object.defineProperty(class_1.prototype, "disabled", {
266
+ /**
267
+ * @return {?}
268
+ */
269
+ get: function () { return this._disabled; },
270
+ /**
271
+ * @param {?} value
272
+ * @return {?}
273
+ */
274
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
275
+ enumerable: true,
276
+ configurable: true
277
+ });
278
+ return class_1;
279
+ }(base));
280
+ }
281
+ /**
282
+ * Class to coordinate unique selection based on name.
283
+ * Intended to be consumed as an Angular service.
284
+ * This service is needed because native radio change events are only fired on the item currently
285
+ * being selected, and we still need to uncheck the previous selection.
286
+ *
287
+ * This service does not *store* any IDs and names because they may change at any time, so it is
288
+ * less error-prone if they are simply passed through when the events occur.
289
+ */
290
+ var UniqueSelectionDispatcher = (function () {
291
+ function UniqueSelectionDispatcher() {
292
+ this._listeners = [];
293
+ }
294
+ /**
295
+ * Notify other items that selection for the given name has been set.
296
+ * @param {?} id ID of the item.
297
+ * @param {?} name Name of the item.
298
+ * @return {?}
299
+ */
300
+ UniqueSelectionDispatcher.prototype.notify = function (id, name) {
301
+ for (var _i = 0, _a = this._listeners; _i < _a.length; _i++) {
302
+ var listener = _a[_i];
303
+ listener(id, name);
304
+ }
305
+ };
306
+ /**
307
+ * Listen for future changes to item selection.
308
+ * @param {?} listener
309
+ * @return {?} Function used to deregister listener
310
+ *
311
+ */
312
+ UniqueSelectionDispatcher.prototype.listen = function (listener) {
313
+ var _this = this;
314
+ this._listeners.push(listener);
315
+ return function () {
316
+ _this._listeners = _this._listeners.filter(function (registered) {
317
+ return listener !== registered;
318
+ });
319
+ };
320
+ };
321
+ return UniqueSelectionDispatcher;
322
+ }());
323
+ UniqueSelectionDispatcher.decorators = [
324
+ { type: _angular_core.Injectable },
325
+ ];
326
+ /**
327
+ * @nocollapse
328
+ */
329
+ UniqueSelectionDispatcher.ctorParameters = function () { return []; };
330
+ /**
331
+ * \@docs-private
332
+ * @param {?} parentDispatcher
333
+ * @return {?}
334
+ */
335
+ function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) {
336
+ return parentDispatcher || new UniqueSelectionDispatcher();
337
+ }
338
+ /**
339
+ * \@docs-private
340
+ */
341
+ var UNIQUE_SELECTION_DISPATCHER_PROVIDER = {
342
+ // If there is already a dispatcher available, use that. Otherwise, provide a new one.
343
+ provide: UniqueSelectionDispatcher,
344
+ deps: [[new _angular_core.Optional(), new _angular_core.SkipSelf(), UniqueSelectionDispatcher]],
345
+ useFactory: UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY
346
+ };
347
+ /**
348
+ * InjectionToken for datepicker that can be used to override default locale code.
349
+ */
350
+ var MAT_DATE_LOCALE = new _angular_core.InjectionToken('MAT_DATE_LOCALE');
351
+ /**
352
+ * Provider for MAT_DATE_LOCALE injection token.
353
+ */
354
+ var MAT_DATE_LOCALE_PROVIDER = { provide: MAT_DATE_LOCALE, useExisting: _angular_core.LOCALE_ID };
355
+ /**
356
+ * Adapts type `D` to be usable as a date by cdk-based components that work with dates.
357
+ * @abstract
358
+ */
359
+ var DateAdapter = (function () {
360
+ function DateAdapter() {
361
+ this._localeChanges = new rxjs_Subject.Subject();
362
+ }
363
+ Object.defineProperty(DateAdapter.prototype, "localeChanges", {
364
+ /**
365
+ * A stream that emits when the locale changes.
366
+ * @return {?}
367
+ */
368
+ get: function () { return this._localeChanges; },
369
+ enumerable: true,
370
+ configurable: true
371
+ });
372
+ /**
373
+ * Gets the year component of the given date.
374
+ * @abstract
375
+ * @param {?} date The date to extract the year from.
376
+ * @return {?} The year component.
377
+ */
378
+ DateAdapter.prototype.getYear = function (date) { };
379
+ /**
380
+ * Gets the month component of the given date.
381
+ * @abstract
382
+ * @param {?} date The date to extract the month from.
383
+ * @return {?} The month component (0-indexed, 0 = January).
384
+ */
385
+ DateAdapter.prototype.getMonth = function (date) { };
386
+ /**
387
+ * Gets the date of the month component of the given date.
388
+ * @abstract
389
+ * @param {?} date The date to extract the date of the month from.
390
+ * @return {?} The month component (1-indexed, 1 = first of month).
391
+ */
392
+ DateAdapter.prototype.getDate = function (date) { };
393
+ /**
394
+ * Gets the day of the week component of the given date.
395
+ * @abstract
396
+ * @param {?} date The date to extract the day of the week from.
397
+ * @return {?} The month component (0-indexed, 0 = Sunday).
398
+ */
399
+ DateAdapter.prototype.getDayOfWeek = function (date) { };
400
+ /**
401
+ * Gets a list of names for the months.
402
+ * @abstract
403
+ * @param {?} style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').
404
+ * @return {?} An ordered list of all month names, starting with January.
405
+ */
406
+ DateAdapter.prototype.getMonthNames = function (style) { };
407
+ /**
408
+ * Gets a list of names for the dates of the month.
409
+ * @abstract
410
+ * @return {?} An ordered list of all date of the month names, starting with '1'.
411
+ */
412
+ DateAdapter.prototype.getDateNames = function () { };
413
+ /**
414
+ * Gets a list of names for the days of the week.
415
+ * @abstract
416
+ * @param {?} style The naming style (e.g. long = 'Sunday', short = 'Sun', narrow = 'S').
417
+ * @return {?} An ordered list of all weekday names, starting with Sunday.
418
+ */
419
+ DateAdapter.prototype.getDayOfWeekNames = function (style) { };
420
+ /**
421
+ * Gets the name for the year of the given date.
422
+ * @abstract
423
+ * @param {?} date The date to get the year name for.
424
+ * @return {?} The name of the given year (e.g. '2017').
425
+ */
426
+ DateAdapter.prototype.getYearName = function (date) { };
427
+ /**
428
+ * Gets the first day of the week.
429
+ * @abstract
430
+ * @return {?} The first day of the week (0-indexed, 0 = Sunday).
431
+ */
432
+ DateAdapter.prototype.getFirstDayOfWeek = function () { };
433
+ /**
434
+ * Gets the number of days in the month of the given date.
435
+ * @abstract
436
+ * @param {?} date The date whose month should be checked.
437
+ * @return {?} The number of days in the month of the given date.
438
+ */
439
+ DateAdapter.prototype.getNumDaysInMonth = function (date) { };
440
+ /**
441
+ * Clones the given date.
442
+ * @abstract
443
+ * @param {?} date The date to clone
444
+ * @return {?} A new date equal to the given date.
445
+ */
446
+ DateAdapter.prototype.clone = function (date) { };
447
+ /**
448
+ * Creates a date with the given year, month, and date. Does not allow over/under-flow of the
449
+ * month and date.
450
+ * @abstract
451
+ * @param {?} year The full year of the date. (e.g. 89 means the year 89, not the year 1989).
452
+ * @param {?} month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.
453
+ * @param {?} date The date of month of the date. Must be an integer 1 - length of the given month.
454
+ * @return {?} The new date, or null if invalid.
455
+ */
456
+ DateAdapter.prototype.createDate = function (year, month, date) { };
457
+ /**
458
+ * Gets today's date.
459
+ * @abstract
460
+ * @return {?} Today's date.
461
+ */
462
+ DateAdapter.prototype.today = function () { };
463
+ /**
464
+ * Parses a date from a value.
465
+ * @abstract
466
+ * @param {?} value The value to parse.
467
+ * @param {?} parseFormat The expected format of the value being parsed
468
+ * (type is implementation-dependent).
469
+ * @return {?} The parsed date.
470
+ */
471
+ DateAdapter.prototype.parse = function (value, parseFormat) { };
472
+ /**
473
+ * Formats a date as a string.
474
+ * @abstract
475
+ * @param {?} date The value to format.
476
+ * @param {?} displayFormat The format to use to display the date as a string.
477
+ * @return {?} The formatted date string.
478
+ */
479
+ DateAdapter.prototype.format = function (date, displayFormat) { };
480
+ /**
481
+ * Adds the given number of years to the date. Years are counted as if flipping 12 pages on the
482
+ * calendar for each year and then finding the closest date in the new month. For example when
483
+ * adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.
484
+ * @abstract
485
+ * @param {?} date The date to add years to.
486
+ * @param {?} years The number of years to add (may be negative).
487
+ * @return {?} A new date equal to the given one with the specified number of years added.
488
+ */
489
+ DateAdapter.prototype.addCalendarYears = function (date, years) { };
490
+ /**
491
+ * Adds the given number of months to the date. Months are counted as if flipping a page on the
492
+ * calendar for each month and then finding the closest date in the new month. For example when
493
+ * adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.
494
+ * @abstract
495
+ * @param {?} date The date to add months to.
496
+ * @param {?} months The number of months to add (may be negative).
497
+ * @return {?} A new date equal to the given one with the specified number of months added.
498
+ */
499
+ DateAdapter.prototype.addCalendarMonths = function (date, months) { };
500
+ /**
501
+ * Adds the given number of days to the date. Days are counted as if moving one cell on the
502
+ * calendar for each day.
503
+ * @abstract
504
+ * @param {?} date The date to add days to.
505
+ * @param {?} days The number of days to add (may be negative).
506
+ * @return {?} A new date equal to the given one with the specified number of days added.
507
+ */
508
+ DateAdapter.prototype.addCalendarDays = function (date, days) { };
509
+ /**
510
+ * Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.
511
+ * @abstract
512
+ * @param {?} date The date to get the ISO date string for.
513
+ * @return {?} The ISO date string date string.
514
+ */
515
+ DateAdapter.prototype.toIso8601 = function (date) { };
516
+ /**
517
+ * Creates a date from an RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339).
518
+ * @abstract
519
+ * @param {?} iso8601String The ISO date string to create a date from
520
+ * @return {?} The date created from the ISO date string.
521
+ */
522
+ DateAdapter.prototype.fromIso8601 = function (iso8601String) { };
523
+ /**
524
+ * Checks whether the given object is considered a date instance by this DateAdapter.
525
+ * @abstract
526
+ * @param {?} obj The object to check
527
+ * @return {?} Whether the object is a date instance.
528
+ */
529
+ DateAdapter.prototype.isDateInstance = function (obj) { };
530
+ /**
531
+ * Checks whether the given date is valid.
532
+ * @abstract
533
+ * @param {?} date The date to check.
534
+ * @return {?} Whether the date is valid.
535
+ */
536
+ DateAdapter.prototype.isValid = function (date) { };
537
+ /**
538
+ * Sets the locale used for all dates.
539
+ * @param {?} locale The new locale.
540
+ * @return {?}
541
+ */
542
+ DateAdapter.prototype.setLocale = function (locale) {
543
+ this.locale = locale;
544
+ this._localeChanges.next();
545
+ };
546
+ /**
547
+ * Compares two dates.
548
+ * @param {?} first The first date to compare.
549
+ * @param {?} second The second date to compare.
550
+ * @return {?} 0 if the dates are equal, a number less than 0 if the first date is earlier,
551
+ * a number greater than 0 if the first date is later.
552
+ */
553
+ DateAdapter.prototype.compareDate = function (first$$1, second) {
554
+ return this.getYear(first$$1) - this.getYear(second) ||
555
+ this.getMonth(first$$1) - this.getMonth(second) ||
556
+ this.getDate(first$$1) - this.getDate(second);
557
+ };
558
+ /**
559
+ * Checks if two dates are equal.
560
+ * @param {?} first The first date to check.
561
+ * @param {?} second The second date to check.
562
+ * Null dates are considered equal to other null dates.
563
+ * @return {?}
564
+ */
565
+ DateAdapter.prototype.sameDate = function (first$$1, second) {
566
+ return first$$1 && second ? !this.compareDate(first$$1, second) : first$$1 == second;
567
+ };
568
+ /**
569
+ * Clamp the given date between min and max dates.
570
+ * @param {?} date The date to clamp.
571
+ * @param {?=} min The minimum value to allow. If null or omitted no min is enforced.
572
+ * @param {?=} max The maximum value to allow. If null or omitted no max is enforced.
573
+ * @return {?} `min` if `date` is less than `min`, `max` if date is greater than `max`,
574
+ * otherwise `date`.
575
+ */
576
+ DateAdapter.prototype.clampDate = function (date, min, max) {
577
+ if (min && this.compareDate(date, min) < 0) {
578
+ return min;
579
+ }
580
+ if (max && this.compareDate(date, max) > 0) {
581
+ return max;
582
+ }
583
+ return date;
584
+ };
585
+ return DateAdapter;
586
+ }());
587
+ /**
588
+ * Extends an object with the *enumerable* and *own* properties of one or more source objects,
589
+ * similar to Object.assign.
590
+ *
591
+ * @param {?} dest The object which will have properties copied to it.
592
+ * @param {...?} sources The source objects from which properties will be copied.
593
+ * @return {?}
594
+ */
595
+ function extendObject(dest) {
596
+ var sources = [];
597
+ for (var _i = 1; _i < arguments.length; _i++) {
598
+ sources[_i - 1] = arguments[_i];
599
+ }
600
+ if (dest == null) {
601
+ throw TypeError('Cannot convert undefined or null to object');
602
+ }
603
+ for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
604
+ var source = sources_1[_a];
605
+ if (source != null) {
606
+ for (var /** @type {?} */ key in source) {
607
+ if (source.hasOwnProperty(key)) {
608
+ dest[key] = source[key];
609
+ }
610
+ }
611
+ }
612
+ }
613
+ return dest;
614
+ }
615
+ /**
616
+ * Whether the browser supports the Intl API.
617
+ */
618
+ var SUPPORTS_INTL_API = typeof Intl != 'undefined';
619
+ /**
620
+ * The default month names to use if Intl API is not available.
621
+ */
622
+ var DEFAULT_MONTH_NAMES = {
623
+ 'long': [
624
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',
625
+ 'October', 'November', 'December'
626
+ ],
627
+ 'short': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
628
+ 'narrow': ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']
629
+ };
630
+ /**
631
+ * The default date names to use if Intl API is not available.
632
+ */
633
+ var DEFAULT_DATE_NAMES = range(31, function (i) { return String(i + 1); });
634
+ /**
635
+ * The default day of the week names to use if Intl API is not available.
636
+ */
637
+ var DEFAULT_DAY_OF_WEEK_NAMES = {
638
+ 'long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
639
+ 'short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
640
+ 'narrow': ['S', 'M', 'T', 'W', 'T', 'F', 'S']
641
+ };
642
+ /**
643
+ * Matches strings that have the form of a valid RFC 3339 string
644
+ * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
645
+ * because the regex will match strings an with out of bounds month, date, etc.
646
+ */
647
+ var ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
648
+ /**
649
+ * Creates an array and fills it with values.
650
+ * @template T
651
+ * @param {?} length
652
+ * @param {?} valueFunction
653
+ * @return {?}
654
+ */
655
+ function range(length, valueFunction) {
656
+ var /** @type {?} */ valuesArray = Array(length);
657
+ for (var /** @type {?} */ i = 0; i < length; i++) {
658
+ valuesArray[i] = valueFunction(i);
659
+ }
660
+ return valuesArray;
661
+ }
662
+ /**
663
+ * Adapts the native JS Date for use with cdk-based components that work with dates.
664
+ */
665
+ var NativeDateAdapter = (function (_super) {
666
+ __extends(NativeDateAdapter, _super);
667
+ /**
668
+ * @param {?} matDateLocale
669
+ */
670
+ function NativeDateAdapter(matDateLocale) {
671
+ var _this = _super.call(this) || this;
672
+ /**
673
+ * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.
674
+ * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off
675
+ * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`
676
+ * will produce `'8/13/1800'`.
677
+ */
678
+ _this.useUtcForDisplay = true;
679
+ _super.prototype.setLocale.call(_this, matDateLocale);
680
+ return _this;
681
+ }
682
+ /**
683
+ * @param {?} date
684
+ * @return {?}
685
+ */
686
+ NativeDateAdapter.prototype.getYear = function (date) {
687
+ return date.getFullYear();
688
+ };
689
+ /**
690
+ * @param {?} date
691
+ * @return {?}
692
+ */
693
+ NativeDateAdapter.prototype.getMonth = function (date) {
694
+ return date.getMonth();
695
+ };
696
+ /**
697
+ * @param {?} date
698
+ * @return {?}
699
+ */
700
+ NativeDateAdapter.prototype.getDate = function (date) {
701
+ return date.getDate();
702
+ };
703
+ /**
704
+ * @param {?} date
705
+ * @return {?}
706
+ */
707
+ NativeDateAdapter.prototype.getDayOfWeek = function (date) {
708
+ return date.getDay();
709
+ };
710
+ /**
711
+ * @param {?} style
712
+ * @return {?}
713
+ */
714
+ NativeDateAdapter.prototype.getMonthNames = function (style) {
715
+ var _this = this;
716
+ if (SUPPORTS_INTL_API) {
717
+ var /** @type {?} */ dtf_1 = new Intl.DateTimeFormat(this.locale, { month: style });
718
+ return range(12, function (i) { return _this._stripDirectionalityCharacters(dtf_1.format(new Date(2017, i, 1))); });
719
+ }
720
+ return DEFAULT_MONTH_NAMES[style];
721
+ };
722
+ /**
723
+ * @return {?}
724
+ */
725
+ NativeDateAdapter.prototype.getDateNames = function () {
726
+ var _this = this;
727
+ if (SUPPORTS_INTL_API) {
728
+ var /** @type {?} */ dtf_2 = new Intl.DateTimeFormat(this.locale, { day: 'numeric' });
729
+ return range(31, function (i) { return _this._stripDirectionalityCharacters(dtf_2.format(new Date(2017, 0, i + 1))); });
730
+ }
731
+ return DEFAULT_DATE_NAMES;
732
+ };
733
+ /**
734
+ * @param {?} style
735
+ * @return {?}
736
+ */
737
+ NativeDateAdapter.prototype.getDayOfWeekNames = function (style) {
738
+ var _this = this;
739
+ if (SUPPORTS_INTL_API) {
740
+ var /** @type {?} */ dtf_3 = new Intl.DateTimeFormat(this.locale, { weekday: style });
741
+ return range(7, function (i) { return _this._stripDirectionalityCharacters(dtf_3.format(new Date(2017, 0, i + 1))); });
742
+ }
743
+ return DEFAULT_DAY_OF_WEEK_NAMES[style];
744
+ };
745
+ /**
746
+ * @param {?} date
747
+ * @return {?}
748
+ */
749
+ NativeDateAdapter.prototype.getYearName = function (date) {
750
+ if (SUPPORTS_INTL_API) {
751
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric' });
752
+ return this._stripDirectionalityCharacters(dtf.format(date));
753
+ }
754
+ return String(this.getYear(date));
755
+ };
756
+ /**
757
+ * @return {?}
758
+ */
759
+ NativeDateAdapter.prototype.getFirstDayOfWeek = function () {
760
+ // We can't tell using native JS Date what the first day of the week is, we default to Sunday.
761
+ return 0;
762
+ };
763
+ /**
764
+ * @param {?} date
765
+ * @return {?}
766
+ */
767
+ NativeDateAdapter.prototype.getNumDaysInMonth = function (date) {
768
+ return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
769
+ };
770
+ /**
771
+ * @param {?} date
772
+ * @return {?}
773
+ */
774
+ NativeDateAdapter.prototype.clone = function (date) {
775
+ return this.createDate(this.getYear(date), this.getMonth(date), this.getDate(date));
776
+ };
777
+ /**
778
+ * @param {?} year
779
+ * @param {?} month
780
+ * @param {?} date
781
+ * @return {?}
782
+ */
783
+ NativeDateAdapter.prototype.createDate = function (year, month, date) {
784
+ // Check for invalid month and date (except upper bound on date which we have to check after
785
+ // creating the Date).
786
+ if (month < 0 || month > 11) {
787
+ throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
788
+ }
789
+ if (date < 1) {
790
+ throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
791
+ }
792
+ var /** @type {?} */ result = this._createDateWithOverflow(year, month, date);
793
+ // Check that the date wasn't above the upper bound for the month, causing the month to overflow
794
+ if (result.getMonth() != month) {
795
+ throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
796
+ }
797
+ return result;
798
+ };
799
+ /**
800
+ * @return {?}
801
+ */
802
+ NativeDateAdapter.prototype.today = function () {
803
+ return new Date();
804
+ };
805
+ /**
806
+ * @param {?} value
807
+ * @return {?}
808
+ */
809
+ NativeDateAdapter.prototype.parse = function (value) {
810
+ // We have no way using the native JS Date to set the parse format or locale, so we ignore these
811
+ // parameters.
812
+ if (typeof value == 'number') {
813
+ return new Date(value);
814
+ }
815
+ return value ? new Date(Date.parse(value)) : null;
816
+ };
817
+ /**
818
+ * @param {?} date
819
+ * @param {?} displayFormat
820
+ * @return {?}
821
+ */
822
+ NativeDateAdapter.prototype.format = function (date, displayFormat) {
823
+ if (!this.isValid(date)) {
824
+ throw Error('NativeDateAdapter: Cannot format invalid date.');
825
+ }
826
+ if (SUPPORTS_INTL_API) {
827
+ if (this.useUtcForDisplay) {
828
+ date = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
829
+ displayFormat = extendObject({}, displayFormat, { timeZone: 'utc' });
830
+ }
831
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
832
+ return this._stripDirectionalityCharacters(dtf.format(date));
833
+ }
834
+ return this._stripDirectionalityCharacters(date.toDateString());
835
+ };
836
+ /**
837
+ * @param {?} date
838
+ * @param {?} years
839
+ * @return {?}
840
+ */
841
+ NativeDateAdapter.prototype.addCalendarYears = function (date, years) {
842
+ return this.addCalendarMonths(date, years * 12);
843
+ };
844
+ /**
845
+ * @param {?} date
846
+ * @param {?} months
847
+ * @return {?}
848
+ */
849
+ NativeDateAdapter.prototype.addCalendarMonths = function (date, months) {
850
+ var /** @type {?} */ newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
851
+ // It's possible to wind up in the wrong month if the original month has more days than the new
852
+ // month. In this case we want to go to the last day of the desired month.
853
+ // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
854
+ // guarantee this.
855
+ if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
856
+ newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
857
+ }
858
+ return newDate;
859
+ };
860
+ /**
861
+ * @param {?} date
862
+ * @param {?} days
863
+ * @return {?}
864
+ */
865
+ NativeDateAdapter.prototype.addCalendarDays = function (date, days) {
866
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
867
+ };
868
+ /**
869
+ * @param {?} date
870
+ * @return {?}
871
+ */
872
+ NativeDateAdapter.prototype.toIso8601 = function (date) {
873
+ return [
874
+ date.getUTCFullYear(),
875
+ this._2digit(date.getUTCMonth() + 1),
876
+ this._2digit(date.getUTCDate())
877
+ ].join('-');
878
+ };
879
+ /**
880
+ * @param {?} iso8601String
881
+ * @return {?}
882
+ */
883
+ NativeDateAdapter.prototype.fromIso8601 = function (iso8601String) {
884
+ // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
885
+ // string is the right format first.
886
+ if (ISO_8601_REGEX.test(iso8601String)) {
887
+ var /** @type {?} */ d = new Date(iso8601String);
888
+ if (this.isValid(d)) {
889
+ return d;
890
+ }
891
+ }
892
+ return null;
893
+ };
894
+ /**
895
+ * @param {?} obj
896
+ * @return {?}
897
+ */
898
+ NativeDateAdapter.prototype.isDateInstance = function (obj) {
899
+ return obj instanceof Date;
900
+ };
901
+ /**
902
+ * @param {?} date
903
+ * @return {?}
904
+ */
905
+ NativeDateAdapter.prototype.isValid = function (date) {
906
+ return !isNaN(date.getTime());
907
+ };
908
+ /**
909
+ * Creates a date but allows the month and date to overflow.
910
+ * @param {?} year
911
+ * @param {?} month
912
+ * @param {?} date
913
+ * @return {?}
914
+ */
915
+ NativeDateAdapter.prototype._createDateWithOverflow = function (year, month, date) {
916
+ var /** @type {?} */ result = new Date(year, month, date);
917
+ // We need to correct for the fact that JS native Date treats years in range [0, 99] as
918
+ // abbreviations for 19xx.
919
+ if (year >= 0 && year < 100) {
920
+ result.setFullYear(this.getYear(result) - 1900);
921
+ }
922
+ return result;
923
+ };
924
+ /**
925
+ * Pads a number to make it two digits.
926
+ * @param {?} n The number to pad.
927
+ * @return {?} The padded number.
928
+ */
929
+ NativeDateAdapter.prototype._2digit = function (n) {
930
+ return ('00' + n).slice(-2);
931
+ };
932
+ /**
933
+ * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
934
+ * other browsers do not. We remove them to make output consistent and because they interfere with
935
+ * date parsing.
936
+ * @param {?} str The string to strip direction characters from.
937
+ * @return {?} The stripped string.
938
+ */
939
+ NativeDateAdapter.prototype._stripDirectionalityCharacters = function (str) {
940
+ return str.replace(/[\u200e\u200f]/g, '');
941
+ };
942
+ return NativeDateAdapter;
943
+ }(DateAdapter));
944
+ NativeDateAdapter.decorators = [
945
+ { type: _angular_core.Injectable },
946
+ ];
947
+ /**
948
+ * @nocollapse
949
+ */
950
+ NativeDateAdapter.ctorParameters = function () { return [
951
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_DATE_LOCALE,] },] },
952
+ ]; };
953
+ var MD_DATE_FORMATS = new _angular_core.InjectionToken('md-date-formats');
954
+ var MD_NATIVE_DATE_FORMATS = {
955
+ parse: {
956
+ dateInput: null,
957
+ },
958
+ display: {
959
+ dateInput: { year: 'numeric', month: 'numeric', day: 'numeric' },
960
+ monthYearLabel: { year: 'numeric', month: 'short' },
961
+ dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
962
+ monthYearA11yLabel: { year: 'numeric', month: 'long' },
963
+ }
964
+ };
965
+ var NativeDateModule = (function () {
966
+ function NativeDateModule() {
967
+ }
968
+ return NativeDateModule;
969
+ }());
970
+ NativeDateModule.decorators = [
971
+ { type: _angular_core.NgModule, args: [{
972
+ providers: [
973
+ { provide: DateAdapter, useClass: NativeDateAdapter },
974
+ MAT_DATE_LOCALE_PROVIDER
975
+ ],
976
+ },] },
977
+ ];
978
+ /**
979
+ * @nocollapse
980
+ */
981
+ NativeDateModule.ctorParameters = function () { return []; };
982
+ var MdNativeDateModule = (function () {
983
+ function MdNativeDateModule() {
984
+ }
985
+ return MdNativeDateModule;
986
+ }());
987
+ MdNativeDateModule.decorators = [
988
+ { type: _angular_core.NgModule, args: [{
989
+ imports: [NativeDateModule],
990
+ providers: [{ provide: MD_DATE_FORMATS, useValue: MD_NATIVE_DATE_FORMATS }],
991
+ },] },
992
+ ];
993
+ /**
994
+ * @nocollapse
995
+ */
996
+ MdNativeDateModule.ctorParameters = function () { return []; };
997
+ /**
998
+ * Injection token that can be used to specify the global error options.
999
+ */
1000
+ var MD_ERROR_GLOBAL_OPTIONS = new _angular_core.InjectionToken('md-error-global-options');
1001
+ var GestureConfig = (function (_super) {
1002
+ __extends(GestureConfig, _super);
1003
+ function GestureConfig() {
1004
+ var _this = _super.call(this) || this;
1005
+ _this._hammer = typeof window !== 'undefined' ? ((window)).Hammer : null;
1006
+ /* List of new event names to add to the gesture support list */
1007
+ _this.events = _this._hammer ? [
1008
+ 'longpress',
1009
+ 'slide',
1010
+ 'slidestart',
1011
+ 'slideend',
1012
+ 'slideright',
1013
+ 'slideleft'
1014
+ ] : [];
1015
+ if (!_this._hammer && _angular_core.isDevMode()) {
1016
+ console.warn('Could not find HammerJS. Certain Angular Material ' +
1017
+ 'components may not work correctly.');
1018
+ }
1019
+ return _this;
1020
+ }
1021
+ /**
1022
+ * Builds Hammer instance manually to add custom recognizers that match the Material Design spec.
1023
+ *
1024
+ * Our gesture names come from the Material Design gestures spec:
1025
+ * https://www.google.com/design/spec/patterns/gestures.html#gestures-touch-mechanics
1026
+ *
1027
+ * More information on default recognizers can be found in Hammer docs:
1028
+ * http://hammerjs.github.io/recognizer-pan/
1029
+ * http://hammerjs.github.io/recognizer-press/
1030
+ *
1031
+ * @param {?} element Element to which to assign the new HammerJS gestures.
1032
+ * @return {?} Newly-created HammerJS instance.
1033
+ */
1034
+ GestureConfig.prototype.buildHammer = function (element) {
1035
+ var /** @type {?} */ mc = new this._hammer(element);
1036
+ // Default Hammer Recognizers.
1037
+ var /** @type {?} */ pan = new this._hammer.Pan();
1038
+ var /** @type {?} */ swipe = new this._hammer.Swipe();
1039
+ var /** @type {?} */ press = new this._hammer.Press();
1040
+ // Notice that a HammerJS recognizer can only depend on one other recognizer once.
1041
+ // Otherwise the previous `recognizeWith` will be dropped.
1042
+ // TODO: Confirm threshold numbers with Material Design UX Team
1043
+ var /** @type {?} */ slide = this._createRecognizer(pan, { event: 'slide', threshold: 0 }, swipe);
1044
+ var /** @type {?} */ longpress = this._createRecognizer(press, { event: 'longpress', time: 500 });
1045
+ // Overwrite the default `pan` event to use the swipe event.
1046
+ pan.recognizeWith(swipe);
1047
+ // Add customized gestures to Hammer manager
1048
+ mc.add([swipe, press, pan, slide, longpress]);
1049
+ return (mc);
1050
+ };
1051
+ /**
1052
+ * Creates a new recognizer, without affecting the default recognizers of HammerJS
1053
+ * @param {?} base
1054
+ * @param {?} options
1055
+ * @param {...?} inheritances
1056
+ * @return {?}
1057
+ */
1058
+ GestureConfig.prototype._createRecognizer = function (base, options) {
1059
+ var inheritances = [];
1060
+ for (var _i = 2; _i < arguments.length; _i++) {
1061
+ inheritances[_i - 2] = arguments[_i];
1062
+ }
1063
+ var /** @type {?} */ recognizer = new ((base.constructor))(options);
1064
+ inheritances.push(base);
1065
+ inheritances.forEach(function (item) { return recognizer.recognizeWith(item); });
1066
+ return recognizer;
1067
+ };
1068
+ return GestureConfig;
1069
+ }(_angular_platformBrowser.HammerGestureConfig));
1070
+ GestureConfig.decorators = [
1071
+ { type: _angular_core.Injectable },
1072
+ ];
1073
+ /**
1074
+ * @nocollapse
1075
+ */
1076
+ GestureConfig.ctorParameters = function () { return []; };
1077
+ /**
1078
+ * Shared directive to count lines inside a text area, such as a list item.
1079
+ * Line elements can be extracted with a \@ContentChildren(MdLine) query, then
1080
+ * counted by checking the query list's length.
1081
+ */
1082
+ var MdLine = (function () {
1083
+ function MdLine() {
1084
+ }
1085
+ return MdLine;
1086
+ }());
1087
+ MdLine.decorators = [
1088
+ { type: _angular_core.Directive, args: [{
1089
+ selector: '[md-line], [mat-line], [mdLine], [matLine]',
1090
+ host: { 'class': 'mat-line' }
1091
+ },] },
1092
+ ];
1093
+ /**
1094
+ * @nocollapse
1095
+ */
1096
+ MdLine.ctorParameters = function () { return []; };
1097
+ /**
1098
+ * Helper that takes a query list of lines and sets the correct class on the host.
1099
+ * \@docs-private
1100
+ */
1101
+ var MdLineSetter = (function () {
1102
+ /**
1103
+ * @param {?} _lines
1104
+ * @param {?} _renderer
1105
+ * @param {?} _element
1106
+ */
1107
+ function MdLineSetter(_lines, _renderer, _element) {
1108
+ var _this = this;
1109
+ this._lines = _lines;
1110
+ this._renderer = _renderer;
1111
+ this._element = _element;
1112
+ this._setLineClass(this._lines.length);
1113
+ this._lines.changes.subscribe(function () {
1114
+ _this._setLineClass(_this._lines.length);
1115
+ });
1116
+ }
1117
+ /**
1118
+ * @param {?} count
1119
+ * @return {?}
1120
+ */
1121
+ MdLineSetter.prototype._setLineClass = function (count) {
1122
+ this._resetClasses();
1123
+ if (count === 2 || count === 3) {
1124
+ this._setClass("mat-" + count + "-line", true);
1125
+ }
1126
+ else if (count > 3) {
1127
+ this._setClass("mat-multi-line", true);
1128
+ }
1129
+ };
1130
+ /**
1131
+ * @return {?}
1132
+ */
1133
+ MdLineSetter.prototype._resetClasses = function () {
1134
+ this._setClass('mat-2-line', false);
1135
+ this._setClass('mat-3-line', false);
1136
+ this._setClass('mat-multi-line', false);
1137
+ };
1138
+ /**
1139
+ * @param {?} className
1140
+ * @param {?} isAdd
1141
+ * @return {?}
1142
+ */
1143
+ MdLineSetter.prototype._setClass = function (className, isAdd) {
1144
+ if (isAdd) {
1145
+ this._renderer.addClass(this._element.nativeElement, className);
1146
+ }
1147
+ else {
1148
+ this._renderer.removeClass(this._element.nativeElement, className);
1149
+ }
1150
+ };
1151
+ return MdLineSetter;
1152
+ }());
1153
+ var MdLineModule = (function () {
1154
+ function MdLineModule() {
1155
+ }
1156
+ return MdLineModule;
1157
+ }());
1158
+ MdLineModule.decorators = [
1159
+ { type: _angular_core.NgModule, args: [{
1160
+ imports: [MdCommonModule],
1161
+ exports: [MdLine, MdCommonModule],
1162
+ declarations: [MdLine],
1163
+ },] },
1164
+ ];
1165
+ /**
1166
+ * @nocollapse
1167
+ */
1168
+ MdLineModule.ctorParameters = function () { return []; };
1169
+ var RippleState = {};
1170
+ RippleState.FADING_IN = 0;
1171
+ RippleState.VISIBLE = 1;
1172
+ RippleState.FADING_OUT = 2;
1173
+ RippleState.HIDDEN = 3;
1174
+ RippleState[RippleState.FADING_IN] = "FADING_IN";
1175
+ RippleState[RippleState.VISIBLE] = "VISIBLE";
1176
+ RippleState[RippleState.FADING_OUT] = "FADING_OUT";
1177
+ RippleState[RippleState.HIDDEN] = "HIDDEN";
1178
+ /**
1179
+ * Reference to a previously launched ripple element.
1180
+ */
1181
+ var RippleRef = (function () {
1182
+ /**
1183
+ * @param {?} _renderer
1184
+ * @param {?} element
1185
+ * @param {?} config
1186
+ */
1187
+ function RippleRef(_renderer, element, config) {
1188
+ this._renderer = _renderer;
1189
+ this.element = element;
1190
+ this.config = config;
1191
+ /**
1192
+ * Current state of the ripple reference.
1193
+ */
1194
+ this.state = RippleState.HIDDEN;
1195
+ }
1196
+ /**
1197
+ * Fades out the ripple element.
1198
+ * @return {?}
1199
+ */
1200
+ RippleRef.prototype.fadeOut = function () {
1201
+ this._renderer.fadeOutRipple(this);
1202
+ };
1203
+ return RippleRef;
1204
+ }());
1205
+ /**
1206
+ * Fade-in duration for the ripples. Can be modified with the speedFactor option.
1207
+ */
1208
+ var RIPPLE_FADE_IN_DURATION = 450;
1209
+ /**
1210
+ * Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor.
1211
+ */
1212
+ var RIPPLE_FADE_OUT_DURATION = 400;
1213
+ /**
1214
+ * Helper service that performs DOM manipulations. Not intended to be used outside this module.
1215
+ * The constructor takes a reference to the ripple directive's host element and a map of DOM
1216
+ * event handlers to be installed on the element that triggers ripple animations.
1217
+ * This will eventually become a custom renderer once Angular support exists.
1218
+ * \@docs-private
1219
+ */
1220
+ var RippleRenderer = (function () {
1221
+ /**
1222
+ * @param {?} elementRef
1223
+ * @param {?} _ngZone
1224
+ * @param {?} _ruler
1225
+ * @param {?} platform
1226
+ */
1227
+ function RippleRenderer(elementRef, _ngZone, _ruler, platform) {
1228
+ this._ngZone = _ngZone;
1229
+ this._ruler = _ruler;
1230
+ /**
1231
+ * Whether the mouse is currently down or not.
1232
+ */
1233
+ this._isMousedown = false;
1234
+ /**
1235
+ * Events to be registered on the trigger element.
1236
+ */
1237
+ this._triggerEvents = new Map();
1238
+ /**
1239
+ * Set of currently active ripple references.
1240
+ */
1241
+ this._activeRipples = new Set();
1242
+ /**
1243
+ * Ripple config for all ripples created by events.
1244
+ */
1245
+ this.rippleConfig = {};
1246
+ /**
1247
+ * Whether mouse ripples should be created or not.
1248
+ */
1249
+ this.rippleDisabled = false;
1250
+ // Only do anything if we're on the browser.
1251
+ if (platform.isBrowser) {
1252
+ this._containerElement = elementRef.nativeElement;
1253
+ // Specify events which need to be registered on the trigger.
1254
+ this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
1255
+ this._triggerEvents.set('mouseup', this.onMouseup.bind(this));
1256
+ this._triggerEvents.set('mouseleave', this.onMouseLeave.bind(this));
1257
+ // By default use the host element as trigger element.
1258
+ this.setTriggerElement(this._containerElement);
1259
+ }
1260
+ }
1261
+ /**
1262
+ * Fades in a ripple at the given coordinates.
1263
+ * @param {?} pageX
1264
+ * @param {?} pageY
1265
+ * @param {?=} config
1266
+ * @return {?}
1267
+ */
1268
+ RippleRenderer.prototype.fadeInRipple = function (pageX, pageY, config) {
1269
+ var _this = this;
1270
+ if (config === void 0) { config = {}; }
1271
+ var /** @type {?} */ containerRect = this._containerElement.getBoundingClientRect();
1272
+ if (config.centered) {
1273
+ pageX = containerRect.left + containerRect.width / 2;
1274
+ pageY = containerRect.top + containerRect.height / 2;
1275
+ }
1276
+ else {
1277
+ // Subtract scroll values from the coordinates because calculations below
1278
+ // are always relative to the viewport rectangle.
1279
+ var /** @type {?} */ scrollPosition = this._ruler.getViewportScrollPosition();
1280
+ pageX -= scrollPosition.left;
1281
+ pageY -= scrollPosition.top;
1282
+ }
1283
+ var /** @type {?} */ radius = config.radius || distanceToFurthestCorner(pageX, pageY, containerRect);
1284
+ var /** @type {?} */ duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
1285
+ var /** @type {?} */ offsetX = pageX - containerRect.left;
1286
+ var /** @type {?} */ offsetY = pageY - containerRect.top;
1287
+ var /** @type {?} */ ripple = document.createElement('div');
1288
+ ripple.classList.add('mat-ripple-element');
1289
+ ripple.style.left = offsetX - radius + "px";
1290
+ ripple.style.top = offsetY - radius + "px";
1291
+ ripple.style.height = radius * 2 + "px";
1292
+ ripple.style.width = radius * 2 + "px";
1293
+ // If the color is not set, the default CSS color will be used.
1294
+ ripple.style.backgroundColor = config.color || null;
1295
+ ripple.style.transitionDuration = duration + "ms";
1296
+ this._containerElement.appendChild(ripple);
1297
+ // By default the browser does not recalculate the styles of dynamically created
1298
+ // ripple elements. This is critical because then the `scale` would not animate properly.
1299
+ enforceStyleRecalculation(ripple);
1300
+ ripple.style.transform = 'scale(1)';
1301
+ // Exposed reference to the ripple that will be returned.
1302
+ var /** @type {?} */ rippleRef = new RippleRef(this, ripple, config);
1303
+ rippleRef.state = RippleState.FADING_IN;
1304
+ // Add the ripple reference to the list of all active ripples.
1305
+ this._activeRipples.add(rippleRef);
1306
+ // Wait for the ripple element to be completely faded in.
1307
+ // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
1308
+ this.runTimeoutOutsideZone(function () {
1309
+ rippleRef.state = RippleState.VISIBLE;
1310
+ if (!config.persistent && !_this._isMousedown) {
1311
+ rippleRef.fadeOut();
1312
+ }
1313
+ }, duration);
1314
+ return rippleRef;
1315
+ };
1316
+ /**
1317
+ * Fades out a ripple reference.
1318
+ * @param {?} rippleRef
1319
+ * @return {?}
1320
+ */
1321
+ RippleRenderer.prototype.fadeOutRipple = function (rippleRef) {
1322
+ // For ripples that are not active anymore, don't re-un the fade-out animation.
1323
+ if (!this._activeRipples.delete(rippleRef)) {
1324
+ return;
1325
+ }
1326
+ var /** @type {?} */ rippleEl = rippleRef.element;
1327
+ rippleEl.style.transitionDuration = RIPPLE_FADE_OUT_DURATION + "ms";
1328
+ rippleEl.style.opacity = '0';
1329
+ rippleRef.state = RippleState.FADING_OUT;
1330
+ // Once the ripple faded out, the ripple can be safely removed from the DOM.
1331
+ this.runTimeoutOutsideZone(function () {
1332
+ rippleRef.state = RippleState.HIDDEN; /** @type {?} */
1333
+ ((rippleEl.parentNode)).removeChild(rippleEl);
1334
+ }, RIPPLE_FADE_OUT_DURATION);
1335
+ };
1336
+ /**
1337
+ * Fades out all currently active ripples.
1338
+ * @return {?}
1339
+ */
1340
+ RippleRenderer.prototype.fadeOutAll = function () {
1341
+ this._activeRipples.forEach(function (ripple) { return ripple.fadeOut(); });
1342
+ };
1343
+ /**
1344
+ * Sets the trigger element and registers the mouse events.
1345
+ * @param {?} element
1346
+ * @return {?}
1347
+ */
1348
+ RippleRenderer.prototype.setTriggerElement = function (element) {
1349
+ var _this = this;
1350
+ // Remove all previously register event listeners from the trigger element.
1351
+ if (this._triggerElement) {
1352
+ this._triggerEvents.forEach(function (fn, type) {
1353
+ ((_this._triggerElement)).removeEventListener(type, fn);
1354
+ });
1355
+ }
1356
+ if (element) {
1357
+ // If the element is not null, register all event listeners on the trigger element.
1358
+ this._ngZone.runOutsideAngular(function () {
1359
+ _this._triggerEvents.forEach(function (fn, type) { return element.addEventListener(type, fn); });
1360
+ });
1361
+ }
1362
+ this._triggerElement = element;
1363
+ };
1364
+ /**
1365
+ * Listener being called on mousedown event.
1366
+ * @param {?} event
1367
+ * @return {?}
1368
+ */
1369
+ RippleRenderer.prototype.onMousedown = function (event) {
1370
+ if (!this.rippleDisabled) {
1371
+ this._isMousedown = true;
1372
+ this.fadeInRipple(event.pageX, event.pageY, this.rippleConfig);
1373
+ }
1374
+ };
1375
+ /**
1376
+ * Listener being called on mouseup event.
1377
+ * @return {?}
1378
+ */
1379
+ RippleRenderer.prototype.onMouseup = function () {
1380
+ this._isMousedown = false;
1381
+ // Fade-out all ripples that are completely visible and not persistent.
1382
+ this._activeRipples.forEach(function (ripple) {
1383
+ if (!ripple.config.persistent && ripple.state === RippleState.VISIBLE) {
1384
+ ripple.fadeOut();
1385
+ }
1386
+ });
1387
+ };
1388
+ /**
1389
+ * Listener being called on mouseleave event.
1390
+ * @return {?}
1391
+ */
1392
+ RippleRenderer.prototype.onMouseLeave = function () {
1393
+ if (this._isMousedown) {
1394
+ this.onMouseup();
1395
+ }
1396
+ };
1397
+ /**
1398
+ * Runs a timeout outside of the Angular zone to avoid triggering the change detection.
1399
+ * @param {?} fn
1400
+ * @param {?=} delay
1401
+ * @return {?}
1402
+ */
1403
+ RippleRenderer.prototype.runTimeoutOutsideZone = function (fn, delay) {
1404
+ if (delay === void 0) { delay = 0; }
1405
+ this._ngZone.runOutsideAngular(function () { return setTimeout(fn, delay); });
1406
+ };
1407
+ return RippleRenderer;
1408
+ }());
1409
+ /**
1410
+ * @param {?} element
1411
+ * @return {?}
1412
+ */
1413
+ function enforceStyleRecalculation(element) {
1414
+ // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1415
+ // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1416
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1417
+ window.getComputedStyle(element).getPropertyValue('opacity');
1418
+ }
1419
+ /**
1420
+ * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1421
+ * @param {?} x
1422
+ * @param {?} y
1423
+ * @param {?} rect
1424
+ * @return {?}
1425
+ */
1426
+ function distanceToFurthestCorner(x, y, rect) {
1427
+ var /** @type {?} */ distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
1428
+ var /** @type {?} */ distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
1429
+ return Math.sqrt(distX * distX + distY * distY);
1430
+ }
1431
+ /**
1432
+ * Injection token that can be used to specify the global ripple options.
1433
+ */
1434
+ var MD_RIPPLE_GLOBAL_OPTIONS = new _angular_core.InjectionToken('md-ripple-global-options');
1435
+ var MdRipple = (function () {
1436
+ /**
1437
+ * @param {?} elementRef
1438
+ * @param {?} ngZone
1439
+ * @param {?} ruler
1440
+ * @param {?} platform
1441
+ * @param {?} globalOptions
1442
+ */
1443
+ function MdRipple(elementRef, ngZone, ruler, platform, globalOptions) {
1444
+ /**
1445
+ * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
1446
+ * will be the distance from the center of the ripple to the furthest corner of the host element's
1447
+ * bounding rectangle.
1448
+ */
1449
+ this.radius = 0;
1450
+ /**
1451
+ * If set, the normal duration of ripple animations is divided by this value. For example,
1452
+ * setting it to 0.5 will cause the animations to take twice as long.
1453
+ * A changed speedFactor will not modify the fade-out duration of the ripples.
1454
+ */
1455
+ this.speedFactor = 1;
1456
+ this._rippleRenderer = new RippleRenderer(elementRef, ngZone, ruler, platform);
1457
+ this._globalOptions = globalOptions ? globalOptions : {};
1458
+ this._updateRippleRenderer();
1459
+ }
1460
+ Object.defineProperty(MdRipple.prototype, "_matRippleTrigger", {
1461
+ /**
1462
+ * @return {?}
1463
+ */
1464
+ get: function () { return this.trigger; },
1465
+ /**
1466
+ * @param {?} v
1467
+ * @return {?}
1468
+ */
1469
+ set: function (v) { this.trigger = v; },
1470
+ enumerable: true,
1471
+ configurable: true
1472
+ });
1473
+ Object.defineProperty(MdRipple.prototype, "_matRippleCentered", {
1474
+ /**
1475
+ * @return {?}
1476
+ */
1477
+ get: function () { return this.centered; },
1478
+ /**
1479
+ * @param {?} v
1480
+ * @return {?}
1481
+ */
1482
+ set: function (v) { this.centered = v; },
1483
+ enumerable: true,
1484
+ configurable: true
1485
+ });
1486
+ Object.defineProperty(MdRipple.prototype, "_matRippleDisabled", {
1487
+ /**
1488
+ * @return {?}
1489
+ */
1490
+ get: function () { return this.disabled; },
1491
+ /**
1492
+ * @param {?} v
1493
+ * @return {?}
1494
+ */
1495
+ set: function (v) { this.disabled = v; },
1496
+ enumerable: true,
1497
+ configurable: true
1498
+ });
1499
+ Object.defineProperty(MdRipple.prototype, "_matRippleRadius", {
1500
+ /**
1501
+ * @return {?}
1502
+ */
1503
+ get: function () { return this.radius; },
1504
+ /**
1505
+ * @param {?} v
1506
+ * @return {?}
1507
+ */
1508
+ set: function (v) { this.radius = v; },
1509
+ enumerable: true,
1510
+ configurable: true
1511
+ });
1512
+ Object.defineProperty(MdRipple.prototype, "_matRippleSpeedFactor", {
1513
+ /**
1514
+ * @return {?}
1515
+ */
1516
+ get: function () { return this.speedFactor; },
1517
+ /**
1518
+ * @param {?} v
1519
+ * @return {?}
1520
+ */
1521
+ set: function (v) { this.speedFactor = v; },
1522
+ enumerable: true,
1523
+ configurable: true
1524
+ });
1525
+ Object.defineProperty(MdRipple.prototype, "_matRippleColor", {
1526
+ /**
1527
+ * @return {?}
1528
+ */
1529
+ get: function () { return this.color; },
1530
+ /**
1531
+ * @param {?} v
1532
+ * @return {?}
1533
+ */
1534
+ set: function (v) { this.color = v; },
1535
+ enumerable: true,
1536
+ configurable: true
1537
+ });
1538
+ Object.defineProperty(MdRipple.prototype, "_matRippleUnbounded", {
1539
+ /**
1540
+ * @return {?}
1541
+ */
1542
+ get: function () { return this.unbounded; },
1543
+ /**
1544
+ * @param {?} v
1545
+ * @return {?}
1546
+ */
1547
+ set: function (v) { this.unbounded = v; },
1548
+ enumerable: true,
1549
+ configurable: true
1550
+ });
1551
+ /**
1552
+ * @param {?} changes
1553
+ * @return {?}
1554
+ */
1555
+ MdRipple.prototype.ngOnChanges = function (changes) {
1556
+ if ((changes['trigger'] || changes['_matRippleTrigger']) && this.trigger) {
1557
+ this._rippleRenderer.setTriggerElement(this.trigger);
1558
+ }
1559
+ this._updateRippleRenderer();
1560
+ };
1561
+ /**
1562
+ * @return {?}
1563
+ */
1564
+ MdRipple.prototype.ngOnDestroy = function () {
1565
+ // Set the trigger element to null to cleanup all listeners.
1566
+ this._rippleRenderer.setTriggerElement(null);
1567
+ };
1568
+ /**
1569
+ * Launches a manual ripple at the specified position.
1570
+ * @param {?} pageX
1571
+ * @param {?} pageY
1572
+ * @param {?=} config
1573
+ * @return {?}
1574
+ */
1575
+ MdRipple.prototype.launch = function (pageX, pageY, config) {
1576
+ if (config === void 0) { config = this.rippleConfig; }
1577
+ return this._rippleRenderer.fadeInRipple(pageX, pageY, config);
1578
+ };
1579
+ /**
1580
+ * Fades out all currently showing ripple elements.
1581
+ * @return {?}
1582
+ */
1583
+ MdRipple.prototype.fadeOutAll = function () {
1584
+ this._rippleRenderer.fadeOutAll();
1585
+ };
1586
+ Object.defineProperty(MdRipple.prototype, "rippleConfig", {
1587
+ /**
1588
+ * Ripple configuration from the directive's input values.
1589
+ * @return {?}
1590
+ */
1591
+ get: function () {
1592
+ return {
1593
+ centered: this.centered,
1594
+ speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
1595
+ radius: this.radius,
1596
+ color: this.color
1597
+ };
1598
+ },
1599
+ enumerable: true,
1600
+ configurable: true
1601
+ });
1602
+ /**
1603
+ * Updates the ripple renderer with the latest ripple configuration.
1604
+ * @return {?}
1605
+ */
1606
+ MdRipple.prototype._updateRippleRenderer = function () {
1607
+ this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
1608
+ this._rippleRenderer.rippleConfig = this.rippleConfig;
1609
+ };
1610
+ return MdRipple;
1611
+ }());
1612
+ MdRipple.decorators = [
1613
+ { type: _angular_core.Directive, args: [{
1614
+ selector: '[md-ripple], [mat-ripple], [mdRipple], [matRipple]',
1615
+ exportAs: 'mdRipple, matRipple',
1616
+ host: {
1617
+ 'class': 'mat-ripple',
1618
+ '[class.mat-ripple-unbounded]': 'unbounded'
1619
+ }
1620
+ },] },
1621
+ ];
1622
+ /**
1623
+ * @nocollapse
1624
+ */
1625
+ MdRipple.ctorParameters = function () { return [
1626
+ { type: _angular_core.ElementRef, },
1627
+ { type: _angular_core.NgZone, },
1628
+ { type: _angular_cdk_scrolling.ViewportRuler, },
1629
+ { type: _angular_cdk_platform.Platform, },
1630
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MD_RIPPLE_GLOBAL_OPTIONS,] },] },
1631
+ ]; };
1632
+ MdRipple.propDecorators = {
1633
+ 'trigger': [{ type: _angular_core.Input, args: ['mdRippleTrigger',] },],
1634
+ 'centered': [{ type: _angular_core.Input, args: ['mdRippleCentered',] },],
1635
+ 'disabled': [{ type: _angular_core.Input, args: ['mdRippleDisabled',] },],
1636
+ 'radius': [{ type: _angular_core.Input, args: ['mdRippleRadius',] },],
1637
+ 'speedFactor': [{ type: _angular_core.Input, args: ['mdRippleSpeedFactor',] },],
1638
+ 'color': [{ type: _angular_core.Input, args: ['mdRippleColor',] },],
1639
+ 'unbounded': [{ type: _angular_core.Input, args: ['mdRippleUnbounded',] },],
1640
+ '_matRippleTrigger': [{ type: _angular_core.Input, args: ['matRippleTrigger',] },],
1641
+ '_matRippleCentered': [{ type: _angular_core.Input, args: ['matRippleCentered',] },],
1642
+ '_matRippleDisabled': [{ type: _angular_core.Input, args: ['matRippleDisabled',] },],
1643
+ '_matRippleRadius': [{ type: _angular_core.Input, args: ['matRippleRadius',] },],
1644
+ '_matRippleSpeedFactor': [{ type: _angular_core.Input, args: ['matRippleSpeedFactor',] },],
1645
+ '_matRippleColor': [{ type: _angular_core.Input, args: ['matRippleColor',] },],
1646
+ '_matRippleUnbounded': [{ type: _angular_core.Input, args: ['matRippleUnbounded',] },],
1647
+ };
1648
+ var MdRippleModule = (function () {
1649
+ function MdRippleModule() {
1650
+ }
1651
+ return MdRippleModule;
1652
+ }());
1653
+ MdRippleModule.decorators = [
1654
+ { type: _angular_core.NgModule, args: [{
1655
+ imports: [MdCommonModule, _angular_cdk_platform.PlatformModule, _angular_cdk_scrolling.ScrollDispatchModule],
1656
+ exports: [MdRipple, MdCommonModule],
1657
+ declarations: [MdRipple],
1658
+ providers: [_angular_cdk_scrolling.VIEWPORT_RULER_PROVIDER],
1659
+ },] },
1660
+ ];
1661
+ /**
1662
+ * @nocollapse
1663
+ */
1664
+ MdRippleModule.ctorParameters = function () { return []; };
1665
+ /**
1666
+ * Component that shows a simplified checkbox without including any kind of "real" checkbox.
1667
+ * Meant to be used when the checkbox is purely decorative and a large number of them will be
1668
+ * included, such as for the options in a multi-select. Uses no SVGs or complex animations.
1669
+ * Note that theming is meant to be handled by the parent element, e.g.
1670
+ * `mat-primary .mat-pseudo-checkbox`.
1671
+ *
1672
+ * Note that this component will be completely invisible to screen-reader users. This is *not*
1673
+ * interchangeable with <md-checkbox> and should *not* be used if the user would directly interact
1674
+ * with the checkbox. The pseudo-checkbox should only be used as an implementation detail of
1675
+ * more complex components that appropriately handle selected / checked state.
1676
+ * \@docs-private
1677
+ */
1678
+ var MdPseudoCheckbox = (function () {
1679
+ function MdPseudoCheckbox() {
1680
+ /**
1681
+ * Display state of the checkbox.
1682
+ */
1683
+ this.state = 'unchecked';
1684
+ /**
1685
+ * Whether the checkbox is disabled.
1686
+ */
1687
+ this.disabled = false;
1688
+ }
1689
+ return MdPseudoCheckbox;
1690
+ }());
1691
+ MdPseudoCheckbox.decorators = [
1692
+ { type: _angular_core.Component, args: [{ encapsulation: _angular_core.ViewEncapsulation.None,
1693
+ preserveWhitespaces: false,
1694
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1695
+ selector: 'md-pseudo-checkbox, mat-pseudo-checkbox',
1696
+ styles: [".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:9px;left:2px;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:5px;left:3px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],
1697
+ template: '',
1698
+ host: {
1699
+ 'class': 'mat-pseudo-checkbox',
1700
+ '[class.mat-pseudo-checkbox-indeterminate]': 'state === "indeterminate"',
1701
+ '[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
1702
+ '[class.mat-pseudo-checkbox-disabled]': 'disabled',
1703
+ },
1704
+ },] },
1705
+ ];
1706
+ /**
1707
+ * @nocollapse
1708
+ */
1709
+ MdPseudoCheckbox.ctorParameters = function () { return []; };
1710
+ MdPseudoCheckbox.propDecorators = {
1711
+ 'state': [{ type: _angular_core.Input },],
1712
+ 'disabled': [{ type: _angular_core.Input },],
1713
+ };
1714
+ var MdPseudoCheckboxModule = (function () {
1715
+ function MdPseudoCheckboxModule() {
1716
+ }
1717
+ return MdPseudoCheckboxModule;
1718
+ }());
1719
+ MdPseudoCheckboxModule.decorators = [
1720
+ { type: _angular_core.NgModule, args: [{
1721
+ exports: [MdPseudoCheckbox],
1722
+ declarations: [MdPseudoCheckbox]
1723
+ },] },
1724
+ ];
1725
+ /**
1726
+ * @nocollapse
1727
+ */
1728
+ MdPseudoCheckboxModule.ctorParameters = function () { return []; };
1729
+ /**
1730
+ * \@docs-private
1731
+ */
1732
+ var MdOptgroupBase = (function () {
1733
+ function MdOptgroupBase() {
1734
+ }
1735
+ return MdOptgroupBase;
1736
+ }());
1737
+ var _MdOptgroupMixinBase = mixinDisabled(MdOptgroupBase);
1738
+ // Counter for unique group ids.
1739
+ var _uniqueOptgroupIdCounter = 0;
1740
+ /**
1741
+ * Component that is used to group instances of `md-option`.
1742
+ */
1743
+ var MdOptgroup = (function (_super) {
1744
+ __extends(MdOptgroup, _super);
1745
+ function MdOptgroup() {
1746
+ var _this = _super.apply(this, arguments) || this;
1747
+ /**
1748
+ * Unique id for the underlying label.
1749
+ */
1750
+ _this._labelId = "mat-optgroup-label-" + _uniqueOptgroupIdCounter++;
1751
+ return _this;
1752
+ }
1753
+ return MdOptgroup;
1754
+ }(_MdOptgroupMixinBase));
1755
+ MdOptgroup.decorators = [
1756
+ { type: _angular_core.Component, args: [{ selector: 'md-optgroup, mat-optgroup',
1757
+ template: "<label class=\"mat-optgroup-label\" [id]=\"_labelId\">{{ label }}</label><ng-content select=\"md-option, mat-option\"></ng-content>",
1758
+ encapsulation: _angular_core.ViewEncapsulation.None,
1759
+ preserveWhitespaces: false,
1760
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1761
+ inputs: ['disabled'],
1762
+ host: {
1763
+ 'class': 'mat-optgroup',
1764
+ 'role': 'group',
1765
+ '[class.mat-optgroup-disabled]': 'disabled',
1766
+ '[attr.aria-disabled]': 'disabled.toString()',
1767
+ '[attr.aria-labelledby]': '_labelId',
1768
+ }
1769
+ },] },
1770
+ ];
1771
+ /**
1772
+ * @nocollapse
1773
+ */
1774
+ MdOptgroup.ctorParameters = function () { return []; };
1775
+ MdOptgroup.propDecorators = {
1776
+ 'label': [{ type: _angular_core.Input },],
1777
+ };
1778
+ /**
1779
+ * Option IDs need to be unique across components, so this counter exists outside of
1780
+ * the component definition.
1781
+ */
1782
+ var _uniqueIdCounter = 0;
1783
+ /**
1784
+ * Event object emitted by MdOption when selected or deselected.
1785
+ */
1786
+ var MdOptionSelectionChange = (function () {
1787
+ /**
1788
+ * @param {?} source
1789
+ * @param {?=} isUserInput
1790
+ */
1791
+ function MdOptionSelectionChange(source, isUserInput) {
1792
+ if (isUserInput === void 0) { isUserInput = false; }
1793
+ this.source = source;
1794
+ this.isUserInput = isUserInput;
1795
+ }
1796
+ return MdOptionSelectionChange;
1797
+ }());
1798
+ /**
1799
+ * Single option inside of a `<md-select>` element.
1800
+ */
1801
+ var MdOption = (function () {
1802
+ /**
1803
+ * @param {?} _element
1804
+ * @param {?} _changeDetectorRef
1805
+ * @param {?} group
1806
+ */
1807
+ function MdOption(_element, _changeDetectorRef, group) {
1808
+ this._element = _element;
1809
+ this._changeDetectorRef = _changeDetectorRef;
1810
+ this.group = group;
1811
+ this._selected = false;
1812
+ this._active = false;
1813
+ this._multiple = false;
1814
+ this._disableRipple = false;
1815
+ /**
1816
+ * Whether the option is disabled.
1817
+ */
1818
+ this._disabled = false;
1819
+ this._id = "md-option-" + _uniqueIdCounter++;
1820
+ /**
1821
+ * Event emitted when the option is selected or deselected.
1822
+ */
1823
+ this.onSelectionChange = new _angular_core.EventEmitter();
1824
+ }
1825
+ Object.defineProperty(MdOption.prototype, "multiple", {
1826
+ /**
1827
+ * Whether the wrapping component is in multiple selection mode.
1828
+ * @return {?}
1829
+ */
1830
+ get: function () { return this._multiple; },
1831
+ /**
1832
+ * @param {?} value
1833
+ * @return {?}
1834
+ */
1835
+ set: function (value) {
1836
+ if (value !== this._multiple) {
1837
+ this._multiple = value;
1838
+ this._changeDetectorRef.markForCheck();
1839
+ }
1840
+ },
1841
+ enumerable: true,
1842
+ configurable: true
1843
+ });
1844
+ Object.defineProperty(MdOption.prototype, "id", {
1845
+ /**
1846
+ * The unique ID of the option.
1847
+ * @return {?}
1848
+ */
1849
+ get: function () { return this._id; },
1850
+ enumerable: true,
1851
+ configurable: true
1852
+ });
1853
+ Object.defineProperty(MdOption.prototype, "selected", {
1854
+ /**
1855
+ * Whether or not the option is currently selected.
1856
+ * @return {?}
1857
+ */
1858
+ get: function () { return this._selected; },
1859
+ enumerable: true,
1860
+ configurable: true
1861
+ });
1862
+ Object.defineProperty(MdOption.prototype, "disabled", {
1863
+ /**
1864
+ * Whether the option is disabled.
1865
+ * @return {?}
1866
+ */
1867
+ get: function () { return (this.group && this.group.disabled) || this._disabled; },
1868
+ /**
1869
+ * @param {?} value
1870
+ * @return {?}
1871
+ */
1872
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
1873
+ enumerable: true,
1874
+ configurable: true
1875
+ });
1876
+ Object.defineProperty(MdOption.prototype, "disableRipple", {
1877
+ /**
1878
+ * Whether ripples for the option are disabled.
1879
+ * @return {?}
1880
+ */
1881
+ get: function () { return this._disableRipple; },
1882
+ /**
1883
+ * @param {?} value
1884
+ * @return {?}
1885
+ */
1886
+ set: function (value) {
1887
+ this._disableRipple = value;
1888
+ this._changeDetectorRef.markForCheck();
1889
+ },
1890
+ enumerable: true,
1891
+ configurable: true
1892
+ });
1893
+ Object.defineProperty(MdOption.prototype, "active", {
1894
+ /**
1895
+ * Whether or not the option is currently active and ready to be selected.
1896
+ * An active option displays styles as if it is focused, but the
1897
+ * focus is actually retained somewhere else. This comes in handy
1898
+ * for components like autocomplete where focus must remain on the input.
1899
+ * @return {?}
1900
+ */
1901
+ get: function () {
1902
+ return this._active;
1903
+ },
1904
+ enumerable: true,
1905
+ configurable: true
1906
+ });
1907
+ Object.defineProperty(MdOption.prototype, "viewValue", {
1908
+ /**
1909
+ * The displayed value of the option. It is necessary to show the selected option in the
1910
+ * select's trigger.
1911
+ * @return {?}
1912
+ */
1913
+ get: function () {
1914
+ // TODO(kara): Add input property alternative for node envs.
1915
+ return (this._getHostElement().textContent || '').trim();
1916
+ },
1917
+ enumerable: true,
1918
+ configurable: true
1919
+ });
1920
+ /**
1921
+ * Selects the option.
1922
+ * @return {?}
1923
+ */
1924
+ MdOption.prototype.select = function () {
1925
+ this._selected = true;
1926
+ this._changeDetectorRef.markForCheck();
1927
+ this._emitSelectionChangeEvent();
1928
+ };
1929
+ /**
1930
+ * Deselects the option.
1931
+ * @return {?}
1932
+ */
1933
+ MdOption.prototype.deselect = function () {
1934
+ this._selected = false;
1935
+ this._changeDetectorRef.markForCheck();
1936
+ this._emitSelectionChangeEvent();
1937
+ };
1938
+ /**
1939
+ * Sets focus onto this option.
1940
+ * @return {?}
1941
+ */
1942
+ MdOption.prototype.focus = function () {
1943
+ var /** @type {?} */ element = this._getHostElement();
1944
+ if (typeof element.focus === 'function') {
1945
+ element.focus();
1946
+ }
1947
+ };
1948
+ /**
1949
+ * This method sets display styles on the option to make it appear
1950
+ * active. This is used by the ActiveDescendantKeyManager so key
1951
+ * events will display the proper options as active on arrow key events.
1952
+ * @return {?}
1953
+ */
1954
+ MdOption.prototype.setActiveStyles = function () {
1955
+ if (!this._active) {
1956
+ this._active = true;
1957
+ this._changeDetectorRef.markForCheck();
1958
+ }
1959
+ };
1960
+ /**
1961
+ * This method removes display styles on the option that made it appear
1962
+ * active. This is used by the ActiveDescendantKeyManager so key
1963
+ * events will display the proper options as active on arrow key events.
1964
+ * @return {?}
1965
+ */
1966
+ MdOption.prototype.setInactiveStyles = function () {
1967
+ if (this._active) {
1968
+ this._active = false;
1969
+ this._changeDetectorRef.markForCheck();
1970
+ }
1971
+ };
1972
+ /**
1973
+ * Gets the label to be used when determining whether the option should be focused.
1974
+ * @return {?}
1975
+ */
1976
+ MdOption.prototype.getLabel = function () {
1977
+ return this.viewValue;
1978
+ };
1979
+ /**
1980
+ * Ensures the option is selected when activated from the keyboard.
1981
+ * @param {?} event
1982
+ * @return {?}
1983
+ */
1984
+ MdOption.prototype._handleKeydown = function (event) {
1985
+ if (event.keyCode === _angular_cdk_keycodes.ENTER || event.keyCode === _angular_cdk_keycodes.SPACE) {
1986
+ this._selectViaInteraction();
1987
+ // Prevent the page from scrolling down and form submits.
1988
+ event.preventDefault();
1989
+ }
1990
+ };
1991
+ /**
1992
+ * Selects the option while indicating the selection came from the user. Used to
1993
+ * determine if the select's view -> model callback should be invoked.
1994
+ * @return {?}
1995
+ */
1996
+ MdOption.prototype._selectViaInteraction = function () {
1997
+ if (!this.disabled) {
1998
+ this._selected = this.multiple ? !this._selected : true;
1999
+ this._changeDetectorRef.markForCheck();
2000
+ this._emitSelectionChangeEvent(true);
2001
+ }
2002
+ };
2003
+ /**
2004
+ * Returns the correct tabindex for the option depending on disabled state.
2005
+ * @return {?}
2006
+ */
2007
+ MdOption.prototype._getTabIndex = function () {
2008
+ return this.disabled ? '-1' : '0';
2009
+ };
2010
+ /**
2011
+ * Gets the host DOM element.
2012
+ * @return {?}
2013
+ */
2014
+ MdOption.prototype._getHostElement = function () {
2015
+ return this._element.nativeElement;
2016
+ };
2017
+ /**
2018
+ * Emits the selection change event.
2019
+ * @param {?=} isUserInput
2020
+ * @return {?}
2021
+ */
2022
+ MdOption.prototype._emitSelectionChangeEvent = function (isUserInput) {
2023
+ if (isUserInput === void 0) { isUserInput = false; }
2024
+ this.onSelectionChange.emit(new MdOptionSelectionChange(this, isUserInput));
2025
+ };
2026
+ /**
2027
+ * Counts the amount of option group labels that precede the specified option.
2028
+ * @param {?} optionIndex Index of the option at which to start counting.
2029
+ * @param {?} options Flat list of all of the options.
2030
+ * @param {?} optionGroups Flat list of all of the option groups.
2031
+ * @return {?}
2032
+ */
2033
+ MdOption.countGroupLabelsBeforeOption = function (optionIndex, options, optionGroups) {
2034
+ if (optionGroups.length) {
2035
+ var /** @type {?} */ optionsArray = options.toArray();
2036
+ var /** @type {?} */ groups = optionGroups.toArray();
2037
+ var /** @type {?} */ groupCounter = 0;
2038
+ for (var /** @type {?} */ i = 0; i < optionIndex + 1; i++) {
2039
+ if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
2040
+ groupCounter++;
2041
+ }
2042
+ }
2043
+ return groupCounter;
2044
+ }
2045
+ return 0;
2046
+ };
2047
+ return MdOption;
2048
+ }());
2049
+ MdOption.decorators = [
2050
+ { type: _angular_core.Component, args: [{ selector: 'md-option, mat-option',
2051
+ host: {
2052
+ 'role': 'option',
2053
+ '[attr.tabindex]': '_getTabIndex()',
2054
+ '[class.mat-selected]': 'selected',
2055
+ '[class.mat-option-multiple]': 'multiple',
2056
+ '[class.mat-active]': 'active',
2057
+ '[id]': 'id',
2058
+ '[attr.aria-selected]': 'selected.toString()',
2059
+ '[attr.aria-disabled]': 'disabled.toString()',
2060
+ '[class.mat-option-disabled]': 'disabled',
2061
+ '(click)': '_selectViaInteraction()',
2062
+ '(keydown)': '_handleKeydown($event)',
2063
+ 'class': 'mat-option',
2064
+ },
2065
+ template: "<span *ngIf=\"multiple\"><mat-pseudo-checkbox class=\"mat-option-pseudo-checkbox\" [state]=\"selected ? 'checked' : ''\" [disabled]=\"disabled\"></mat-pseudo-checkbox></span><ng-content></ng-content><div class=\"mat-option-ripple\" mat-ripple [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\"></div>",
2066
+ encapsulation: _angular_core.ViewEncapsulation.None,
2067
+ preserveWhitespaces: false,
2068
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2069
+ viewProviders: [{ provide: MATERIAL_COMPATIBILITY_MODE, useValue: true }],
2070
+ },] },
2071
+ ];
2072
+ /**
2073
+ * @nocollapse
2074
+ */
2075
+ MdOption.ctorParameters = function () { return [
2076
+ { type: _angular_core.ElementRef, },
2077
+ { type: _angular_core.ChangeDetectorRef, },
2078
+ { type: MdOptgroup, decorators: [{ type: _angular_core.Optional },] },
2079
+ ]; };
2080
+ MdOption.propDecorators = {
2081
+ 'value': [{ type: _angular_core.Input },],
2082
+ 'disabled': [{ type: _angular_core.Input },],
2083
+ 'onSelectionChange': [{ type: _angular_core.Output },],
2084
+ };
2085
+ var MdOptionModule = (function () {
2086
+ function MdOptionModule() {
2087
+ }
2088
+ return MdOptionModule;
2089
+ }());
2090
+ MdOptionModule.decorators = [
2091
+ { type: _angular_core.NgModule, args: [{
2092
+ imports: [MdRippleModule, _angular_common.CommonModule, MdPseudoCheckboxModule],
2093
+ exports: [MdOption, MdOptgroup],
2094
+ declarations: [MdOption, MdOptgroup]
2095
+ },] },
2096
+ ];
2097
+ /**
2098
+ * @nocollapse
2099
+ */
2100
+ MdOptionModule.ctorParameters = function () { return []; };
2101
+ /**
2102
+ * InjectionToken that can be used to specify the global placeholder options.
2103
+ */
2104
+ var MD_PLACEHOLDER_GLOBAL_OPTIONS = new _angular_core.InjectionToken('md-placeholder-global-options');
2105
+ /**
2106
+ * @deprecated
2107
+ */
2108
+ var StyleModule = (function () {
2109
+ function StyleModule() {
2110
+ }
2111
+ return StyleModule;
2112
+ }());
2113
+ StyleModule.decorators = [
2114
+ { type: _angular_core.NgModule, args: [{
2115
+ imports: [_angular_cdk_a11y.A11yModule],
2116
+ exports: [_angular_cdk_a11y.A11yModule],
2117
+ },] },
2118
+ ];
2119
+ /**
2120
+ * @nocollapse
2121
+ */
2122
+ StyleModule.ctorParameters = function () { return []; };
2123
+
2124
+ /**
2125
+ * Converts values into strings. Falsy values become empty strings.
2126
+ * \@docs-private
2127
+ * @param {?} value
2128
+ * @return {?}
2129
+ */
2130
+ function coerceToString(value) {
2131
+ return "" + (value || '');
2132
+ }
2133
+ /**
2134
+ * Converts a value that might be a string into a number.
2135
+ * \@docs-private
2136
+ * @param {?} value
2137
+ * @return {?}
2138
+ */
2139
+ function coerceToNumber(value) {
2140
+ return typeof value === 'string' ? parseInt(value, 10) : value;
2141
+ }
2142
+ var MdGridTile = (function () {
2143
+ /**
2144
+ * @param {?} _renderer
2145
+ * @param {?} _element
2146
+ */
2147
+ function MdGridTile(_renderer, _element) {
2148
+ this._renderer = _renderer;
2149
+ this._element = _element;
2150
+ this._rowspan = 1;
2151
+ this._colspan = 1;
2152
+ }
2153
+ Object.defineProperty(MdGridTile.prototype, "rowspan", {
2154
+ /**
2155
+ * Amount of rows that the grid tile takes up.
2156
+ * @return {?}
2157
+ */
2158
+ get: function () { return this._rowspan; },
2159
+ /**
2160
+ * @param {?} value
2161
+ * @return {?}
2162
+ */
2163
+ set: function (value) { this._rowspan = coerceToNumber(value); },
2164
+ enumerable: true,
2165
+ configurable: true
2166
+ });
2167
+ Object.defineProperty(MdGridTile.prototype, "colspan", {
2168
+ /**
2169
+ * Amount of columns that the grid tile takes up.
2170
+ * @return {?}
2171
+ */
2172
+ get: function () { return this._colspan; },
2173
+ /**
2174
+ * @param {?} value
2175
+ * @return {?}
2176
+ */
2177
+ set: function (value) { this._colspan = coerceToNumber(value); },
2178
+ enumerable: true,
2179
+ configurable: true
2180
+ });
2181
+ /**
2182
+ * Sets the style of the grid-tile element. Needs to be set manually to avoid
2183
+ * "Changed after checked" errors that would occur with HostBinding.
2184
+ * @param {?} property
2185
+ * @param {?} value
2186
+ * @return {?}
2187
+ */
2188
+ MdGridTile.prototype._setStyle = function (property, value) {
2189
+ this._renderer.setStyle(this._element.nativeElement, property, value);
2190
+ };
2191
+ return MdGridTile;
2192
+ }());
2193
+ MdGridTile.decorators = [
2194
+ { type: _angular_core.Component, args: [{ selector: 'md-grid-tile, mat-grid-tile',
2195
+ host: {
2196
+ 'class': 'mat-grid-tile',
2197
+ },
2198
+ template: "<figure class=\"mat-figure\"><ng-content></ng-content></figure>",
2199
+ styles: [".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],
2200
+ encapsulation: _angular_core.ViewEncapsulation.None,
2201
+ preserveWhitespaces: false,
2202
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2203
+ },] },
2204
+ ];
2205
+ /**
2206
+ * @nocollapse
2207
+ */
2208
+ MdGridTile.ctorParameters = function () { return [
2209
+ { type: _angular_core.Renderer2, },
2210
+ { type: _angular_core.ElementRef, },
2211
+ ]; };
2212
+ MdGridTile.propDecorators = {
2213
+ 'rowspan': [{ type: _angular_core.Input },],
2214
+ 'colspan': [{ type: _angular_core.Input },],
2215
+ };
2216
+ var MdGridTileText = (function () {
2217
+ /**
2218
+ * @param {?} _renderer
2219
+ * @param {?} _element
2220
+ */
2221
+ function MdGridTileText(_renderer, _element) {
2222
+ this._renderer = _renderer;
2223
+ this._element = _element;
2224
+ }
2225
+ /**
2226
+ * @return {?}
2227
+ */
2228
+ MdGridTileText.prototype.ngAfterContentInit = function () {
2229
+ this._lineSetter = new MdLineSetter(this._lines, this._renderer, this._element);
2230
+ };
2231
+ return MdGridTileText;
2232
+ }());
2233
+ MdGridTileText.decorators = [
2234
+ { type: _angular_core.Component, args: [{ selector: 'md-grid-tile-header, mat-grid-tile-header, md-grid-tile-footer, mat-grid-tile-footer',
2235
+ template: "<ng-content select=\"[md-grid-avatar], [mat-grid-avatar], [mdGridAvatar], [matGridAvatar]\"></ng-content><div class=\"mat-grid-list-text\"><ng-content select=\"[md-line], [mat-line], [mdLine], [matLine]\"></ng-content></div><ng-content></ng-content>",
2236
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2237
+ encapsulation: _angular_core.ViewEncapsulation.None,
2238
+ preserveWhitespaces: false,
2239
+ },] },
2240
+ ];
2241
+ /**
2242
+ * @nocollapse
2243
+ */
2244
+ MdGridTileText.ctorParameters = function () { return [
2245
+ { type: _angular_core.Renderer2, },
2246
+ { type: _angular_core.ElementRef, },
2247
+ ]; };
2248
+ MdGridTileText.propDecorators = {
2249
+ '_lines': [{ type: _angular_core.ContentChildren, args: [MdLine,] },],
2250
+ };
2251
+ /**
2252
+ * Directive whose purpose is to add the mat- CSS styling to this selector.
2253
+ * \@docs-private
2254
+ */
2255
+ var MdGridAvatarCssMatStyler = (function () {
2256
+ function MdGridAvatarCssMatStyler() {
2257
+ }
2258
+ return MdGridAvatarCssMatStyler;
2259
+ }());
2260
+ MdGridAvatarCssMatStyler.decorators = [
2261
+ { type: _angular_core.Directive, args: [{
2262
+ selector: '[md-grid-avatar], [mat-grid-avatar], [mdGridAvatar], [matGridAvatar]',
2263
+ host: { 'class': 'mat-grid-avatar' }
2264
+ },] },
2265
+ ];
2266
+ /**
2267
+ * @nocollapse
2268
+ */
2269
+ MdGridAvatarCssMatStyler.ctorParameters = function () { return []; };
2270
+ /**
2271
+ * Directive whose purpose is to add the mat- CSS styling to this selector.
2272
+ * \@docs-private
2273
+ */
2274
+ var MdGridTileHeaderCssMatStyler = (function () {
2275
+ function MdGridTileHeaderCssMatStyler() {
2276
+ }
2277
+ return MdGridTileHeaderCssMatStyler;
2278
+ }());
2279
+ MdGridTileHeaderCssMatStyler.decorators = [
2280
+ { type: _angular_core.Directive, args: [{
2281
+ selector: 'md-grid-tile-header, mat-grid-tile-header',
2282
+ host: { 'class': 'mat-grid-tile-header' }
2283
+ },] },
2284
+ ];
2285
+ /**
2286
+ * @nocollapse
2287
+ */
2288
+ MdGridTileHeaderCssMatStyler.ctorParameters = function () { return []; };
2289
+ /**
2290
+ * Directive whose purpose is to add the mat- CSS styling to this selector.
2291
+ * \@docs-private
2292
+ */
2293
+ var MdGridTileFooterCssMatStyler = (function () {
2294
+ function MdGridTileFooterCssMatStyler() {
2295
+ }
2296
+ return MdGridTileFooterCssMatStyler;
2297
+ }());
2298
+ MdGridTileFooterCssMatStyler.decorators = [
2299
+ { type: _angular_core.Directive, args: [{
2300
+ selector: 'md-grid-tile-footer, mat-grid-tile-footer',
2301
+ host: { 'class': 'mat-grid-tile-footer' }
2302
+ },] },
2303
+ ];
2304
+ /**
2305
+ * @nocollapse
2306
+ */
2307
+ MdGridTileFooterCssMatStyler.ctorParameters = function () { return []; };
2308
+ /**
2309
+ * Class for determining, from a list of tiles, the (row, col) position of each of those tiles
2310
+ * in the grid. This is necessary (rather than just rendering the tiles in normal document flow)
2311
+ * because the tiles can have a rowspan.
2312
+ *
2313
+ * The positioning algorithm greedily places each tile as soon as it encounters a gap in the grid
2314
+ * large enough to accommodate it so that the tiles still render in the same order in which they
2315
+ * are given.
2316
+ *
2317
+ * The basis of the algorithm is the use of an array to track the already placed tiles. Each
2318
+ * element of the array corresponds to a column, and the value indicates how many cells in that
2319
+ * column are already occupied; zero indicates an empty cell. Moving "down" to the next row
2320
+ * decrements each value in the tracking array (indicating that the column is one cell closer to
2321
+ * being free).
2322
+ *
2323
+ * \@docs-private
2324
+ */
2325
+ var TileCoordinator = (function () {
2326
+ /**
2327
+ * @param {?} numColumns
2328
+ * @param {?} tiles
2329
+ */
2330
+ function TileCoordinator(numColumns, tiles) {
2331
+ var _this = this;
2332
+ /**
2333
+ * Index at which the search for the next gap will start.
2334
+ */
2335
+ this.columnIndex = 0;
2336
+ /**
2337
+ * The current row index.
2338
+ */
2339
+ this.rowIndex = 0;
2340
+ this.tracker = new Array(numColumns);
2341
+ this.tracker.fill(0, 0, this.tracker.length);
2342
+ this.positions = tiles.map(function (tile) { return _this._trackTile(tile); });
2343
+ }
2344
+ Object.defineProperty(TileCoordinator.prototype, "rowCount", {
2345
+ /**
2346
+ * Gets the total number of rows occupied by tiles
2347
+ * @return {?}
2348
+ */
2349
+ get: function () { return this.rowIndex + 1; },
2350
+ enumerable: true,
2351
+ configurable: true
2352
+ });
2353
+ Object.defineProperty(TileCoordinator.prototype, "rowspan", {
2354
+ /**
2355
+ * Gets the total span of rows occupied by tiles.
2356
+ * Ex: A list with 1 row that contains a tile with rowspan 2 will have a total rowspan of 2.
2357
+ * @return {?}
2358
+ */
2359
+ get: function () {
2360
+ var /** @type {?} */ lastRowMax = Math.max.apply(Math, this.tracker);
2361
+ // if any of the tiles has a rowspan that pushes it beyond the total row count,
2362
+ // add the difference to the rowcount
2363
+ return lastRowMax > 1 ? this.rowCount + lastRowMax - 1 : this.rowCount;
2364
+ },
2365
+ enumerable: true,
2366
+ configurable: true
2367
+ });
2368
+ /**
2369
+ * Calculates the row and col position of a tile.
2370
+ * @param {?} tile
2371
+ * @return {?}
2372
+ */
2373
+ TileCoordinator.prototype._trackTile = function (tile) {
2374
+ // Find a gap large enough for this tile.
2375
+ var /** @type {?} */ gapStartIndex = this._findMatchingGap(tile.colspan);
2376
+ // Place tile in the resulting gap.
2377
+ this._markTilePosition(gapStartIndex, tile);
2378
+ // The next time we look for a gap, the search will start at columnIndex, which should be
2379
+ // immediately after the tile that has just been placed.
2380
+ this.columnIndex = gapStartIndex + tile.colspan;
2381
+ return new TilePosition(this.rowIndex, gapStartIndex);
2382
+ };
2383
+ /**
2384
+ * Finds the next available space large enough to fit the tile.
2385
+ * @param {?} tileCols
2386
+ * @return {?}
2387
+ */
2388
+ TileCoordinator.prototype._findMatchingGap = function (tileCols) {
2389
+ if (tileCols > this.tracker.length) {
2390
+ throw Error("md-grid-list: tile with colspan " + tileCols + " is wider than " +
2391
+ ("grid with cols=\"" + this.tracker.length + "\"."));
2392
+ }
2393
+ // Start index is inclusive, end index is exclusive.
2394
+ var /** @type {?} */ gapStartIndex = -1;
2395
+ var /** @type {?} */ gapEndIndex = -1;
2396
+ // Look for a gap large enough to fit the given tile. Empty spaces are marked with a zero.
2397
+ do {
2398
+ // If we've reached the end of the row, go to the next row.
2399
+ if (this.columnIndex + tileCols > this.tracker.length) {
2400
+ this._nextRow();
2401
+ continue;
2402
+ }
2403
+ gapStartIndex = this.tracker.indexOf(0, this.columnIndex);
2404
+ // If there are no more empty spaces in this row at all, move on to the next row.
2405
+ if (gapStartIndex == -1) {
2406
+ this._nextRow();
2407
+ continue;
2408
+ }
2409
+ gapEndIndex = this._findGapEndIndex(gapStartIndex);
2410
+ // If a gap large enough isn't found, we want to start looking immediately after the current
2411
+ // gap on the next iteration.
2412
+ this.columnIndex = gapStartIndex + 1;
2413
+ // Continue iterating until we find a gap wide enough for this tile.
2414
+ } while (gapEndIndex - gapStartIndex < tileCols);
2415
+ return gapStartIndex;
2416
+ };
2417
+ /**
2418
+ * Move "down" to the next row.
2419
+ * @return {?}
2420
+ */
2421
+ TileCoordinator.prototype._nextRow = function () {
2422
+ this.columnIndex = 0;
2423
+ this.rowIndex++;
2424
+ // Decrement all spaces by one to reflect moving down one row.
2425
+ for (var /** @type {?} */ i = 0; i < this.tracker.length; i++) {
2426
+ this.tracker[i] = Math.max(0, this.tracker[i] - 1);
2427
+ }
2428
+ };
2429
+ /**
2430
+ * Finds the end index (exclusive) of a gap given the index from which to start looking.
2431
+ * The gap ends when a non-zero value is found.
2432
+ * @param {?} gapStartIndex
2433
+ * @return {?}
2434
+ */
2435
+ TileCoordinator.prototype._findGapEndIndex = function (gapStartIndex) {
2436
+ for (var /** @type {?} */ i = gapStartIndex + 1; i < this.tracker.length; i++) {
2437
+ if (this.tracker[i] != 0) {
2438
+ return i;
2439
+ }
2440
+ }
2441
+ // The gap ends with the end of the row.
2442
+ return this.tracker.length;
2443
+ };
2444
+ /**
2445
+ * Update the tile tracker to account for the given tile in the given space.
2446
+ * @param {?} start
2447
+ * @param {?} tile
2448
+ * @return {?}
2449
+ */
2450
+ TileCoordinator.prototype._markTilePosition = function (start, tile) {
2451
+ for (var /** @type {?} */ i = 0; i < tile.colspan; i++) {
2452
+ this.tracker[start + i] = tile.rowspan;
2453
+ }
2454
+ };
2455
+ return TileCoordinator;
2456
+ }());
2457
+ /**
2458
+ * Simple data structure for tile position (row, col).
2459
+ * \@docs-private
2460
+ */
2461
+ var TilePosition = (function () {
2462
+ /**
2463
+ * @param {?} row
2464
+ * @param {?} col
2465
+ */
2466
+ function TilePosition(row, col) {
2467
+ this.row = row;
2468
+ this.col = col;
2469
+ }
2470
+ return TilePosition;
2471
+ }());
2472
+ /**
2473
+ * Sets the style properties for an individual tile, given the position calculated by the
2474
+ * Tile Coordinator.
2475
+ * \@docs-private
2476
+ * @abstract
2477
+ */
2478
+ var TileStyler = (function () {
2479
+ function TileStyler() {
2480
+ this._rows = 0;
2481
+ this._rowspan = 0;
2482
+ }
2483
+ /**
2484
+ * Adds grid-list layout info once it is available. Cannot be processed in the constructor
2485
+ * because these properties haven't been calculated by that point.
2486
+ *
2487
+ * @param {?} gutterSize Size of the grid's gutter.
2488
+ * @param {?} tracker Instance of the TileCoordinator.
2489
+ * @param {?} cols Amount of columns in the grid.
2490
+ * @param {?} direction Layout direction of the grid.
2491
+ * @return {?}
2492
+ */
2493
+ TileStyler.prototype.init = function (gutterSize, tracker, cols, direction) {
2494
+ this._gutterSize = normalizeUnits(gutterSize);
2495
+ this._rows = tracker.rowCount;
2496
+ this._rowspan = tracker.rowspan;
2497
+ this._cols = cols;
2498
+ this._direction = direction;
2499
+ };
2500
+ /**
2501
+ * Computes the amount of space a single 1x1 tile would take up (width or height).
2502
+ * Used as a basis for other calculations.
2503
+ * @param {?} sizePercent Percent of the total grid-list space that one 1x1 tile would take up.
2504
+ * @param {?} gutterFraction Fraction of the gutter size taken up by one 1x1 tile.
2505
+ * @return {?} The size of a 1x1 tile as an expression that can be evaluated via CSS calc().
2506
+ */
2507
+ TileStyler.prototype.getBaseTileSize = function (sizePercent, gutterFraction) {
2508
+ // Take the base size percent (as would be if evenly dividing the size between cells),
2509
+ // and then subtracting the size of one gutter. However, since there are no gutters on the
2510
+ // edges, each tile only uses a fraction (gutterShare = numGutters / numCells) of the gutter
2511
+ // size. (Imagine having one gutter per tile, and then breaking up the extra gutter on the
2512
+ // edge evenly among the cells).
2513
+ return "(" + sizePercent + "% - (" + this._gutterSize + " * " + gutterFraction + "))";
2514
+ };
2515
+ /**
2516
+ * Gets The horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value.
2517
+ * @param {?} baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
2518
+ * @param {?} offset Number of tiles that have already been rendered in the row/column.
2519
+ * @return {?} Position of the tile as a CSS calc() expression.
2520
+ */
2521
+ TileStyler.prototype.getTilePosition = function (baseSize, offset) {
2522
+ // The position comes the size of a 1x1 tile plus gutter for each previous tile in the
2523
+ // row/column (offset).
2524
+ return offset === 0 ? '0' : calc("(" + baseSize + " + " + this._gutterSize + ") * " + offset);
2525
+ };
2526
+ /**
2527
+ * Gets the actual size of a tile, e.g., width or height, taking rowspan or colspan into account.
2528
+ * @param {?} baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
2529
+ * @param {?} span The tile's rowspan or colspan.
2530
+ * @return {?} Size of the tile as a CSS calc() expression.
2531
+ */
2532
+ TileStyler.prototype.getTileSize = function (baseSize, span) {
2533
+ return "(" + baseSize + " * " + span + ") + (" + (span - 1) + " * " + this._gutterSize + ")";
2534
+ };
2535
+ /**
2536
+ * Sets the style properties to be applied to a tile for the given row and column index.
2537
+ * @param {?} tile Tile to which to apply the styling.
2538
+ * @param {?} rowIndex Index of the tile's row.
2539
+ * @param {?} colIndex Index of the tile's column.
2540
+ * @return {?}
2541
+ */
2542
+ TileStyler.prototype.setStyle = function (tile, rowIndex, colIndex) {
2543
+ // Percent of the available horizontal space that one column takes up.
2544
+ var /** @type {?} */ percentWidthPerTile = 100 / this._cols;
2545
+ // Fraction of the vertical gutter size that each column takes up.
2546
+ // For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.
2547
+ var /** @type {?} */ gutterWidthFractionPerTile = (this._cols - 1) / this._cols;
2548
+ this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);
2549
+ this.setRowStyles(tile, rowIndex, percentWidthPerTile, gutterWidthFractionPerTile);
2550
+ };
2551
+ /**
2552
+ * Sets the horizontal placement of the tile in the list.
2553
+ * @param {?} tile
2554
+ * @param {?} colIndex
2555
+ * @param {?} percentWidth
2556
+ * @param {?} gutterWidth
2557
+ * @return {?}
2558
+ */
2559
+ TileStyler.prototype.setColStyles = function (tile, colIndex, percentWidth, gutterWidth) {
2560
+ // Base horizontal size of a column.
2561
+ var /** @type {?} */ baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);
2562
+ // The width and horizontal position of each tile is always calculated the same way, but the
2563
+ // height and vertical position depends on the rowMode.
2564
+ var /** @type {?} */ side = this._direction === 'ltr' ? 'left' : 'right';
2565
+ tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));
2566
+ tile._setStyle('width', calc(this.getTileSize(baseTileWidth, tile.colspan)));
2567
+ };
2568
+ /**
2569
+ * Calculates the total size taken up by gutters across one axis of a list.
2570
+ * @return {?}
2571
+ */
2572
+ TileStyler.prototype.getGutterSpan = function () {
2573
+ return this._gutterSize + " * (" + this._rowspan + " - 1)";
2574
+ };
2575
+ /**
2576
+ * Calculates the total size taken up by tiles across one axis of a list.
2577
+ * @param {?} tileHeight Height of the tile.
2578
+ * @return {?}
2579
+ */
2580
+ TileStyler.prototype.getTileSpan = function (tileHeight) {
2581
+ return this._rowspan + " * " + this.getTileSize(tileHeight, 1);
2582
+ };
2583
+ /**
2584
+ * Sets the vertical placement of the tile in the list.
2585
+ * This method will be implemented by each type of TileStyler.
2586
+ * \@docs-private
2587
+ * @abstract
2588
+ * @param {?} tile
2589
+ * @param {?} rowIndex
2590
+ * @param {?} percentWidth
2591
+ * @param {?} gutterWidth
2592
+ * @return {?}
2593
+ */
2594
+ TileStyler.prototype.setRowStyles = function (tile, rowIndex, percentWidth, gutterWidth) { };
2595
+ /**
2596
+ * Calculates the computed height and returns the correct style property to set.
2597
+ * This method can be implemented by each type of TileStyler.
2598
+ * \@docs-private
2599
+ * @return {?}
2600
+ */
2601
+ TileStyler.prototype.getComputedHeight = function () { return null; };
2602
+ /**
2603
+ * Called when the tile styler is swapped out with a different one. To be used for cleanup.
2604
+ * \@docs-private
2605
+ * @abstract
2606
+ * @param {?} list Grid list that the styler was attached to.
2607
+ * @return {?}
2608
+ */
2609
+ TileStyler.prototype.reset = function (list) { };
2610
+ return TileStyler;
2611
+ }());
2612
+ /**
2613
+ * This type of styler is instantiated when the user passes in a fixed row height.
2614
+ * Example <md-grid-list cols="3" rowHeight="100px">
2615
+ * \@docs-private
2616
+ */
2617
+ var FixedTileStyler = (function (_super) {
2618
+ __extends(FixedTileStyler, _super);
2619
+ /**
2620
+ * @param {?} fixedRowHeight
2621
+ */
2622
+ function FixedTileStyler(fixedRowHeight) {
2623
+ var _this = _super.call(this) || this;
2624
+ _this.fixedRowHeight = fixedRowHeight;
2625
+ return _this;
2626
+ }
2627
+ /**
2628
+ * @param {?} gutterSize
2629
+ * @param {?} tracker
2630
+ * @param {?} cols
2631
+ * @param {?} direction
2632
+ * @return {?}
2633
+ */
2634
+ FixedTileStyler.prototype.init = function (gutterSize, tracker, cols, direction) {
2635
+ _super.prototype.init.call(this, gutterSize, tracker, cols, direction);
2636
+ this.fixedRowHeight = normalizeUnits(this.fixedRowHeight);
2637
+ };
2638
+ /**
2639
+ * @param {?} tile
2640
+ * @param {?} rowIndex
2641
+ * @return {?}
2642
+ */
2643
+ FixedTileStyler.prototype.setRowStyles = function (tile, rowIndex) {
2644
+ tile._setStyle('top', this.getTilePosition(this.fixedRowHeight, rowIndex));
2645
+ tile._setStyle('height', calc(this.getTileSize(this.fixedRowHeight, tile.rowspan)));
2646
+ };
2647
+ /**
2648
+ * @return {?}
2649
+ */
2650
+ FixedTileStyler.prototype.getComputedHeight = function () {
2651
+ return [
2652
+ 'height', calc(this.getTileSpan(this.fixedRowHeight) + " + " + this.getGutterSpan())
2653
+ ];
2654
+ };
2655
+ /**
2656
+ * @param {?} list
2657
+ * @return {?}
2658
+ */
2659
+ FixedTileStyler.prototype.reset = function (list) {
2660
+ list._setListStyle(['height', null]);
2661
+ list._tiles.forEach(function (tile) {
2662
+ tile._setStyle('top', null);
2663
+ tile._setStyle('height', null);
2664
+ });
2665
+ };
2666
+ return FixedTileStyler;
2667
+ }(TileStyler));
2668
+ /**
2669
+ * This type of styler is instantiated when the user passes in a width:height ratio
2670
+ * for the row height. Example <md-grid-list cols="3" rowHeight="3:1">
2671
+ * \@docs-private
2672
+ */
2673
+ var RatioTileStyler = (function (_super) {
2674
+ __extends(RatioTileStyler, _super);
2675
+ /**
2676
+ * @param {?} value
2677
+ */
2678
+ function RatioTileStyler(value) {
2679
+ var _this = _super.call(this) || this;
2680
+ _this._parseRatio(value);
2681
+ return _this;
2682
+ }
2683
+ /**
2684
+ * @param {?} tile
2685
+ * @param {?} rowIndex
2686
+ * @param {?} percentWidth
2687
+ * @param {?} gutterWidth
2688
+ * @return {?}
2689
+ */
2690
+ RatioTileStyler.prototype.setRowStyles = function (tile, rowIndex, percentWidth, gutterWidth) {
2691
+ var /** @type {?} */ percentHeightPerTile = percentWidth / this.rowHeightRatio;
2692
+ this.baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterWidth);
2693
+ // Use padding-top and margin-top to maintain the given aspect ratio, as
2694
+ // a percentage-based value for these properties is applied versus the *width* of the
2695
+ // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties
2696
+ tile._setStyle('margin-top', this.getTilePosition(this.baseTileHeight, rowIndex));
2697
+ tile._setStyle('padding-top', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));
2698
+ };
2699
+ /**
2700
+ * @return {?}
2701
+ */
2702
+ RatioTileStyler.prototype.getComputedHeight = function () {
2703
+ return [
2704
+ 'padding-bottom', calc(this.getTileSpan(this.baseTileHeight) + " + " + this.getGutterSpan())
2705
+ ];
2706
+ };
2707
+ /**
2708
+ * @param {?} list
2709
+ * @return {?}
2710
+ */
2711
+ RatioTileStyler.prototype.reset = function (list) {
2712
+ list._setListStyle(['padding-bottom', null]);
2713
+ list._tiles.forEach(function (tile) {
2714
+ tile._setStyle('margin-top', null);
2715
+ tile._setStyle('padding-top', null);
2716
+ });
2717
+ };
2718
+ /**
2719
+ * @param {?} value
2720
+ * @return {?}
2721
+ */
2722
+ RatioTileStyler.prototype._parseRatio = function (value) {
2723
+ var /** @type {?} */ ratioParts = value.split(':');
2724
+ if (ratioParts.length !== 2) {
2725
+ throw Error("md-grid-list: invalid ratio given for row-height: \"" + value + "\"");
2726
+ }
2727
+ this.rowHeightRatio = parseFloat(ratioParts[0]) / parseFloat(ratioParts[1]);
2728
+ };
2729
+ return RatioTileStyler;
2730
+ }(TileStyler));
2731
+ /**
2732
+ * This type of styler is instantiated when the user selects a "fit" row height mode.
2733
+ * In other words, the row height will reflect the total height of the container divided
2734
+ * by the number of rows. Example <md-grid-list cols="3" rowHeight="fit">
2735
+ *
2736
+ * \@docs-private
2737
+ */
2738
+ var FitTileStyler = (function (_super) {
2739
+ __extends(FitTileStyler, _super);
2740
+ function FitTileStyler() {
2741
+ return _super !== null && _super.apply(this, arguments) || this;
2742
+ }
2743
+ /**
2744
+ * @param {?} tile
2745
+ * @param {?} rowIndex
2746
+ * @return {?}
2747
+ */
2748
+ FitTileStyler.prototype.setRowStyles = function (tile, rowIndex) {
2749
+ // Percent of the available vertical space that one row takes up.
2750
+ var /** @type {?} */ percentHeightPerTile = 100 / this._rowspan;
2751
+ // Fraction of the horizontal gutter size that each column takes up.
2752
+ var /** @type {?} */ gutterHeightPerTile = (this._rows - 1) / this._rows;
2753
+ // Base vertical size of a column.
2754
+ var /** @type {?} */ baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);
2755
+ tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));
2756
+ tile._setStyle('height', calc(this.getTileSize(baseTileHeight, tile.rowspan)));
2757
+ };
2758
+ /**
2759
+ * @param {?} list
2760
+ * @return {?}
2761
+ */
2762
+ FitTileStyler.prototype.reset = function (list) {
2763
+ list._tiles.forEach(function (tile) {
2764
+ tile._setStyle('top', null);
2765
+ tile._setStyle('height', null);
2766
+ });
2767
+ };
2768
+ return FitTileStyler;
2769
+ }(TileStyler));
2770
+ /**
2771
+ * Wraps a CSS string in a calc function
2772
+ * @param {?} exp
2773
+ * @return {?}
2774
+ */
2775
+ function calc(exp) { return "calc(" + exp + ")"; }
2776
+ /**
2777
+ * Appends pixels to a CSS string if no units are given.
2778
+ * @param {?} value
2779
+ * @return {?}
2780
+ */
2781
+ function normalizeUnits(value) {
2782
+ return (value.match(/px|em|rem/)) ? value : value + 'px';
2783
+ }
2784
+ // TODO(kara): Conditional (responsive) column count / row size.
2785
+ // TODO(kara): Re-layout on window resize / media change (debounced).
2786
+ // TODO(kara): gridTileHeader and gridTileFooter.
2787
+ var MD_FIT_MODE = 'fit';
2788
+ var MdGridList = (function () {
2789
+ /**
2790
+ * @param {?} _renderer
2791
+ * @param {?} _element
2792
+ * @param {?} _dir
2793
+ */
2794
+ function MdGridList(_renderer, _element, _dir) {
2795
+ this._renderer = _renderer;
2796
+ this._element = _element;
2797
+ this._dir = _dir;
2798
+ /**
2799
+ * The amount of space between tiles. This will be something like '5px' or '2em'.
2800
+ */
2801
+ this._gutter = '1px';
2802
+ }
2803
+ Object.defineProperty(MdGridList.prototype, "cols", {
2804
+ /**
2805
+ * Amount of columns in the grid list.
2806
+ * @return {?}
2807
+ */
2808
+ get: function () { return this._cols; },
2809
+ /**
2810
+ * @param {?} value
2811
+ * @return {?}
2812
+ */
2813
+ set: function (value) { this._cols = coerceToNumber(value); },
2814
+ enumerable: true,
2815
+ configurable: true
2816
+ });
2817
+ Object.defineProperty(MdGridList.prototype, "gutterSize", {
2818
+ /**
2819
+ * Size of the grid list's gutter in pixels.
2820
+ * @return {?}
2821
+ */
2822
+ get: function () { return this._gutter; },
2823
+ /**
2824
+ * @param {?} value
2825
+ * @return {?}
2826
+ */
2827
+ set: function (value) { this._gutter = coerceToString(value); },
2828
+ enumerable: true,
2829
+ configurable: true
2830
+ });
2831
+ Object.defineProperty(MdGridList.prototype, "rowHeight", {
2832
+ /**
2833
+ * Set internal representation of row height from the user-provided value.
2834
+ * @param {?} value
2835
+ * @return {?}
2836
+ */
2837
+ set: function (value) {
2838
+ var /** @type {?} */ newValue = coerceToString(value);
2839
+ if (newValue !== this._rowHeight) {
2840
+ this._rowHeight = newValue;
2841
+ this._setTileStyler(this._rowHeight);
2842
+ }
2843
+ },
2844
+ enumerable: true,
2845
+ configurable: true
2846
+ });
2847
+ /**
2848
+ * @return {?}
2849
+ */
2850
+ MdGridList.prototype.ngOnInit = function () {
2851
+ this._checkCols();
2852
+ this._checkRowHeight();
2853
+ };
2854
+ /**
2855
+ * The layout calculation is fairly cheap if nothing changes, so there's little cost
2856
+ * to run it frequently.
2857
+ * @return {?}
2858
+ */
2859
+ MdGridList.prototype.ngAfterContentChecked = function () {
2860
+ this._layoutTiles();
2861
+ };
2862
+ /**
2863
+ * Throw a friendly error if cols property is missing
2864
+ * @return {?}
2865
+ */
2866
+ MdGridList.prototype._checkCols = function () {
2867
+ if (!this.cols) {
2868
+ throw Error("md-grid-list: must pass in number of columns. " +
2869
+ "Example: <md-grid-list cols=\"3\">");
2870
+ }
2871
+ };
2872
+ /**
2873
+ * Default to equal width:height if rowHeight property is missing
2874
+ * @return {?}
2875
+ */
2876
+ MdGridList.prototype._checkRowHeight = function () {
2877
+ if (!this._rowHeight) {
2878
+ this._setTileStyler('1:1');
2879
+ }
2880
+ };
2881
+ /**
2882
+ * Creates correct Tile Styler subtype based on rowHeight passed in by user
2883
+ * @param {?} rowHeight
2884
+ * @return {?}
2885
+ */
2886
+ MdGridList.prototype._setTileStyler = function (rowHeight) {
2887
+ if (this._tileStyler) {
2888
+ this._tileStyler.reset(this);
2889
+ }
2890
+ if (rowHeight === MD_FIT_MODE) {
2891
+ this._tileStyler = new FitTileStyler();
2892
+ }
2893
+ else if (rowHeight && rowHeight.indexOf(':') > -1) {
2894
+ this._tileStyler = new RatioTileStyler(rowHeight);
2895
+ }
2896
+ else {
2897
+ this._tileStyler = new FixedTileStyler(rowHeight);
2898
+ }
2899
+ };
2900
+ /**
2901
+ * Computes and applies the size and position for all children grid tiles.
2902
+ * @return {?}
2903
+ */
2904
+ MdGridList.prototype._layoutTiles = function () {
2905
+ var _this = this;
2906
+ var /** @type {?} */ tracker = new TileCoordinator(this.cols, this._tiles);
2907
+ var /** @type {?} */ direction = this._dir ? this._dir.value : 'ltr';
2908
+ this._tileStyler.init(this.gutterSize, tracker, this.cols, direction);
2909
+ this._tiles.forEach(function (tile, index) {
2910
+ var /** @type {?} */ pos = tracker.positions[index];
2911
+ _this._tileStyler.setStyle(tile, pos.row, pos.col);
2912
+ });
2913
+ this._setListStyle(this._tileStyler.getComputedHeight());
2914
+ };
2915
+ /**
2916
+ * Sets style on the main grid-list element, given the style name and value.
2917
+ * @param {?} style
2918
+ * @return {?}
2919
+ */
2920
+ MdGridList.prototype._setListStyle = function (style) {
2921
+ if (style) {
2922
+ this._renderer.setStyle(this._element.nativeElement, style[0], style[1]);
2923
+ }
2924
+ };
2925
+ return MdGridList;
2926
+ }());
2927
+ MdGridList.decorators = [
2928
+ { type: _angular_core.Component, args: [{ selector: 'md-grid-list, mat-grid-list',
2929
+ template: "<div><ng-content></ng-content></div>",
2930
+ styles: [".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-figure{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.mat-grid-tile .mat-grid-tile-footer,.mat-grid-tile .mat-grid-tile-header{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-footer>*,.mat-grid-tile .mat-grid-tile-header>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-tile-footer.mat-2-line,.mat-grid-tile .mat-grid-tile-header.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}"],
2931
+ host: {
2932
+ 'class': 'mat-grid-list',
2933
+ },
2934
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2935
+ encapsulation: _angular_core.ViewEncapsulation.None,
2936
+ preserveWhitespaces: false,
2937
+ },] },
2938
+ ];
2939
+ /**
2940
+ * @nocollapse
2941
+ */
2942
+ MdGridList.ctorParameters = function () { return [
2943
+ { type: _angular_core.Renderer2, },
2944
+ { type: _angular_core.ElementRef, },
2945
+ { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
2946
+ ]; };
2947
+ MdGridList.propDecorators = {
2948
+ '_tiles': [{ type: _angular_core.ContentChildren, args: [MdGridTile,] },],
2949
+ 'cols': [{ type: _angular_core.Input },],
2950
+ 'gutterSize': [{ type: _angular_core.Input },],
2951
+ 'rowHeight': [{ type: _angular_core.Input },],
2952
+ };
2953
+ var MdGridListModule = (function () {
2954
+ function MdGridListModule() {
2955
+ }
2956
+ return MdGridListModule;
2957
+ }());
2958
+ MdGridListModule.decorators = [
2959
+ { type: _angular_core.NgModule, args: [{
2960
+ imports: [MdLineModule, MdCommonModule],
2961
+ exports: [
2962
+ MdGridList,
2963
+ MdGridTile,
2964
+ MdGridTileText,
2965
+ MdLineModule,
2966
+ MdCommonModule,
2967
+ MdGridTileHeaderCssMatStyler,
2968
+ MdGridTileFooterCssMatStyler,
2969
+ MdGridAvatarCssMatStyler
2970
+ ],
2971
+ declarations: [
2972
+ MdGridList,
2973
+ MdGridTile,
2974
+ MdGridTileText,
2975
+ MdGridTileHeaderCssMatStyler,
2976
+ MdGridTileFooterCssMatStyler,
2977
+ MdGridAvatarCssMatStyler
2978
+ ],
2979
+ },] },
2980
+ ];
2981
+ /**
2982
+ * @nocollapse
2983
+ */
2984
+ MdGridListModule.ctorParameters = function () { return []; };
2985
+
2986
+ exports.MdGridTile = MdGridTile;
2987
+ exports.MdGridListModule = MdGridListModule;
2988
+ exports.MdGridList = MdGridList;
2989
+ exports.MatGridList = MdGridList;
2990
+ exports.MatGridListModule = MdGridListModule;
2991
+ exports.MatGridTile = MdGridTile;
2992
+ exports.ɵb4 = MdGridAvatarCssMatStyler;
2993
+ exports.ɵd4 = MdGridTileFooterCssMatStyler;
2994
+ exports.ɵc4 = MdGridTileHeaderCssMatStyler;
2995
+ exports.ɵa4 = MdGridTileText;
2996
+
2997
+ Object.defineProperty(exports, '__esModule', { value: true });
2998
+
2999
+ })));
3000
+ //# sourceMappingURL=material-grid-list.umd.js.map