@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,1444 @@
1
+ import * as tslib_1 from "tslib";
2
+ /**
3
+ * @license
4
+ * Copyright Google Inc. All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Directive, ElementRef, EventEmitter, Inject, InjectionToken, Input, NgModule, Optional, Output, Renderer2, Self, ViewChild, ViewEncapsulation, isDevMode } from '@angular/core';
10
+ import { CommonModule } from '@angular/common';
11
+ import { FocusKeyManager } from '@angular/cdk/a11y';
12
+ import { Directionality } from '@angular/cdk/bidi';
13
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
14
+ import { SelectionModel } from '@angular/cdk/collections';
15
+ import { DOWN_ARROW, END, ENTER, HOME, SPACE, UP_ARROW } from '@angular/cdk/keycodes';
16
+ import { ConnectedOverlayDirective, Overlay, OverlayModule, ViewportRuler } from '@angular/cdk/overlay';
17
+ import { Platform } from '@angular/cdk/platform';
18
+ import { filter, startWith } from '@angular/cdk/rxjs';
19
+ import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
20
+ import { MD_PLACEHOLDER_GLOBAL_OPTIONS, MdCommonModule, MdOptgroup, MdOption, MdOptionModule, mixinColor, mixinDisabled, mixinTabIndex } from '@angular/material/core';
21
+ import { merge } from 'rxjs/observable/merge';
22
+ import { Subscription } from 'rxjs/Subscription';
23
+ import { animate, state, style, transition, trigger } from '@angular/animations';
24
+ /**
25
+ * This animation shrinks the placeholder text to 75% of its normal size and translates
26
+ * it to either the top left corner (ltr) or top right corner (rtl) of the trigger,
27
+ * depending on the text direction of the application.
28
+ */
29
+ var transformPlaceholder = trigger('transformPlaceholder', [
30
+ state('floating-ltr', style({
31
+ top: '-22px',
32
+ left: '-2px',
33
+ transform: 'scale(0.75)'
34
+ })),
35
+ state('floating-rtl', style({
36
+ top: '-22px',
37
+ left: '2px',
38
+ transform: 'scale(0.75)'
39
+ })),
40
+ transition('* => *', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)'))
41
+ ]);
42
+ /**
43
+ * This animation transforms the select's overlay panel on and off the page.
44
+ *
45
+ * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it
46
+ * up to 100% on the Y axis, fades in its border, and translates slightly up and to the
47
+ * side to ensure the option text correctly overlaps the trigger text.
48
+ *
49
+ * When the panel is removed from the DOM, it simply fades out linearly.
50
+ */
51
+ var transformPanel = trigger('transformPanel', [
52
+ state('showing', style({
53
+ opacity: 1,
54
+ minWidth: 'calc(100% + 32px)',
55
+ transform: 'scaleY(1)'
56
+ })),
57
+ state('showing-multiple', style({
58
+ opacity: 1,
59
+ minWidth: 'calc(100% + 64px)',
60
+ transform: 'scaleY(1)'
61
+ })),
62
+ transition('void => *', [
63
+ style({
64
+ opacity: 0,
65
+ minWidth: '100%',
66
+ transform: 'scaleY(0)'
67
+ }),
68
+ animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')
69
+ ]),
70
+ transition('* => void', [
71
+ animate('250ms 100ms linear', style({ opacity: 0 }))
72
+ ])
73
+ ]);
74
+ /**
75
+ * This animation fades in the background color and text content of the
76
+ * select's options. It is time delayed to occur 100ms after the overlay
77
+ * panel has transformed in.
78
+ */
79
+ var fadeInContent = trigger('fadeInContent', [
80
+ state('showing', style({ opacity: 1 })),
81
+ transition('void => showing', [
82
+ style({ opacity: 0 }),
83
+ animate('150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')
84
+ ])
85
+ ]);
86
+ /**
87
+ * Returns an exception to be thrown when attempting to change a select's `multiple` option
88
+ * after initialization.
89
+ * \@docs-private
90
+ * @return {?}
91
+ */
92
+ function getMdSelectDynamicMultipleError() {
93
+ return Error('Cannot change `multiple` mode of select after initialization.');
94
+ }
95
+ /**
96
+ * Returns an exception to be thrown when attempting to assign a non-array value to a select
97
+ * in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for
98
+ * resetting the value.
99
+ * \@docs-private
100
+ * @return {?}
101
+ */
102
+ function getMdSelectNonArrayValueError() {
103
+ return Error('Cannot assign truthy non-array value to select in `multiple` mode.');
104
+ }
105
+ /**
106
+ * Returns an exception to be thrown when assigning a non-function value to the comparator
107
+ * used to determine if a value corresponds to an option. Note that whether the function
108
+ * actually takes two values and returns a boolean is not checked.
109
+ * @return {?}
110
+ */
111
+ function getMdSelectNonFunctionValueError() {
112
+ return Error('Cannot assign a non-function value to `compareWith`.');
113
+ }
114
+ /**
115
+ * The fixed height of every option element (option, group header etc.).
116
+ */
117
+ var SELECT_ITEM_HEIGHT = 48;
118
+ /**
119
+ * The max height of the select's overlay panel
120
+ */
121
+ var SELECT_PANEL_MAX_HEIGHT = 256;
122
+ /**
123
+ * The max number of options visible at once in the select panel.
124
+ */
125
+ var SELECT_MAX_OPTIONS_DISPLAYED = Math.floor(SELECT_PANEL_MAX_HEIGHT / SELECT_ITEM_HEIGHT);
126
+ /**
127
+ * The fixed height of the select's trigger element.
128
+ */
129
+ var SELECT_TRIGGER_HEIGHT = 30;
130
+ /**
131
+ * Must adjust for the difference in height between the option and the trigger,
132
+ * so the text will align on the y axis.
133
+ */
134
+ var SELECT_OPTION_HEIGHT_ADJUSTMENT = (SELECT_ITEM_HEIGHT - SELECT_TRIGGER_HEIGHT) / 2;
135
+ /**
136
+ * The panel's padding on the x-axis
137
+ */
138
+ var SELECT_PANEL_PADDING_X = 16;
139
+ /**
140
+ * The panel's x axis padding if it is indented (e.g. there is an option group).
141
+ */
142
+ var SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;
143
+ /**
144
+ * Distance between the panel edge and the option text in
145
+ * multi-selection mode.
146
+ *
147
+ * (SELECT_PADDING * 1.75) + 20 = 48
148
+ * The padding is multiplied by 1.75 because the checkbox's margin is half the padding, and
149
+ * the browser adds ~4px, because we're using inline elements.
150
+ * The checkbox width is 20px.
151
+ */
152
+ var SELECT_MULTIPLE_PANEL_PADDING_X = SELECT_PANEL_PADDING_X * 1.75 + 20;
153
+ /**
154
+ * The panel's padding on the y-axis. This padding indicates there are more
155
+ * options available if you scroll.
156
+ */
157
+ var SELECT_PANEL_PADDING_Y = 16;
158
+ /**
159
+ * The select panel will only "fit" inside the viewport if it is positioned at
160
+ * this value or more away from the viewport boundary.
161
+ */
162
+ var SELECT_PANEL_VIEWPORT_PADDING = 8;
163
+ /**
164
+ * Default minimum width of the trigger based on the CSS.
165
+ * Used as a fallback for server-side rendering.
166
+ * \@docs-private
167
+ */
168
+ var SELECT_TRIGGER_MIN_WIDTH = 112;
169
+ /**
170
+ * Injection token that determines the scroll handling while a select is open.
171
+ */
172
+ var MD_SELECT_SCROLL_STRATEGY = new InjectionToken('md-select-scroll-strategy');
173
+ /**
174
+ * \@docs-private
175
+ * @param {?} overlay
176
+ * @return {?}
177
+ */
178
+ function MD_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
179
+ return function () { return overlay.scrollStrategies.reposition(); };
180
+ }
181
+ /**
182
+ * \@docs-private
183
+ */
184
+ var MD_SELECT_SCROLL_STRATEGY_PROVIDER = {
185
+ provide: MD_SELECT_SCROLL_STRATEGY,
186
+ deps: [Overlay],
187
+ useFactory: MD_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY,
188
+ };
189
+ /**
190
+ * Change event object that is emitted when the select value has changed.
191
+ */
192
+ var MdSelectChange = (function () {
193
+ /**
194
+ * @param {?} source
195
+ * @param {?} value
196
+ */
197
+ function MdSelectChange(source, value) {
198
+ this.source = source;
199
+ this.value = value;
200
+ }
201
+ return MdSelectChange;
202
+ }());
203
+ /**
204
+ * \@docs-private
205
+ */
206
+ var MdSelectBase = (function () {
207
+ /**
208
+ * @param {?} _renderer
209
+ * @param {?} _elementRef
210
+ */
211
+ function MdSelectBase(_renderer, _elementRef) {
212
+ this._renderer = _renderer;
213
+ this._elementRef = _elementRef;
214
+ }
215
+ return MdSelectBase;
216
+ }());
217
+ var _MdSelectMixinBase = mixinTabIndex(mixinColor(mixinDisabled(MdSelectBase), 'primary'));
218
+ /**
219
+ * Allows the user to customize the trigger that is displayed when the select has a value.
220
+ */
221
+ var MdSelectTrigger = (function () {
222
+ function MdSelectTrigger() {
223
+ }
224
+ return MdSelectTrigger;
225
+ }());
226
+ MdSelectTrigger.decorators = [
227
+ { type: Directive, args: [{
228
+ selector: 'md-select-trigger, mat-select-trigger'
229
+ },] },
230
+ ];
231
+ /**
232
+ * @nocollapse
233
+ */
234
+ MdSelectTrigger.ctorParameters = function () { return []; };
235
+ var MdSelect = (function (_super) {
236
+ tslib_1.__extends(MdSelect, _super);
237
+ /**
238
+ * @param {?} _viewportRuler
239
+ * @param {?} _changeDetectorRef
240
+ * @param {?} _platform
241
+ * @param {?} renderer
242
+ * @param {?} elementRef
243
+ * @param {?} _dir
244
+ * @param {?} _parentForm
245
+ * @param {?} _parentFormGroup
246
+ * @param {?} _control
247
+ * @param {?} tabIndex
248
+ * @param {?} placeholderOptions
249
+ * @param {?} _scrollStrategyFactory
250
+ */
251
+ function MdSelect(_viewportRuler, _changeDetectorRef, _platform, renderer, elementRef, _dir, _parentForm, _parentFormGroup, _control, tabIndex, placeholderOptions, _scrollStrategyFactory) {
252
+ var _this = _super.call(this, renderer, elementRef) || this;
253
+ _this._viewportRuler = _viewportRuler;
254
+ _this._changeDetectorRef = _changeDetectorRef;
255
+ _this._platform = _platform;
256
+ _this._dir = _dir;
257
+ _this._parentForm = _parentForm;
258
+ _this._parentFormGroup = _parentFormGroup;
259
+ _this._control = _control;
260
+ _this._scrollStrategyFactory = _scrollStrategyFactory;
261
+ /**
262
+ * Whether or not the overlay panel is open.
263
+ */
264
+ _this._panelOpen = false;
265
+ /**
266
+ * Subscriptions to option events.
267
+ */
268
+ _this._optionSubscription = Subscription.EMPTY;
269
+ /**
270
+ * Subscription to changes in the option list.
271
+ */
272
+ _this._changeSubscription = Subscription.EMPTY;
273
+ /**
274
+ * Subscription to tab events while overlay is focused.
275
+ */
276
+ _this._tabSubscription = Subscription.EMPTY;
277
+ /**
278
+ * Whether filling out the select is required in the form.
279
+ */
280
+ _this._required = false;
281
+ /**
282
+ * The scroll position of the overlay panel, calculated to center the selected option.
283
+ */
284
+ _this._scrollTop = 0;
285
+ /**
286
+ * Whether the component is in multiple selection mode.
287
+ */
288
+ _this._multiple = false;
289
+ /**
290
+ * Comparison function to specify which option is displayed. Defaults to object equality.
291
+ */
292
+ _this._compareWith = function (o1, o2) { return o1 === o2; };
293
+ /**
294
+ * The animation state of the placeholder.
295
+ */
296
+ _this._placeholderState = '';
297
+ /**
298
+ * View -> model callback called when value changes
299
+ */
300
+ _this._onChange = function () { };
301
+ /**
302
+ * View -> model callback called when select has been touched
303
+ */
304
+ _this._onTouched = function () { };
305
+ /**
306
+ * The IDs of child options to be passed to the aria-owns attribute.
307
+ */
308
+ _this._optionIds = '';
309
+ /**
310
+ * The value of the select panel's transform-origin property.
311
+ */
312
+ _this._transformOrigin = 'top';
313
+ /**
314
+ * Whether the panel's animation is done.
315
+ */
316
+ _this._panelDoneAnimating = false;
317
+ /**
318
+ * Strategy that will be used to handle scrolling while the select panel is open.
319
+ */
320
+ _this._scrollStrategy = _this._scrollStrategyFactory();
321
+ /**
322
+ * The y-offset of the overlay panel in relation to the trigger's top start corner.
323
+ * This must be adjusted to align the selected option text over the trigger text.
324
+ * when the panel opens. Will change based on the y-position of the selected option.
325
+ */
326
+ _this._offsetY = 0;
327
+ /**
328
+ * This position config ensures that the top "start" corner of the overlay
329
+ * is aligned with with the top "start" of the origin by default (overlapping
330
+ * the trigger completely). If the panel cannot fit below the trigger, it
331
+ * will fall back to a position above the trigger.
332
+ */
333
+ _this._positions = [
334
+ {
335
+ originX: 'start',
336
+ originY: 'top',
337
+ overlayX: 'start',
338
+ overlayY: 'top',
339
+ },
340
+ {
341
+ originX: 'start',
342
+ originY: 'bottom',
343
+ overlayX: 'start',
344
+ overlayY: 'bottom',
345
+ },
346
+ ];
347
+ _this._disableRipple = false;
348
+ /**
349
+ * Aria label of the select. If not specified, the placeholder will be used as label.
350
+ */
351
+ _this.ariaLabel = '';
352
+ /**
353
+ * Input that can be used to specify the `aria-labelledby` attribute.
354
+ */
355
+ _this.ariaLabelledby = '';
356
+ /**
357
+ * Event emitted when the select has been opened.
358
+ */
359
+ _this.onOpen = new EventEmitter();
360
+ /**
361
+ * Event emitted when the select has been closed.
362
+ */
363
+ _this.onClose = new EventEmitter();
364
+ /**
365
+ * Event emitted when the selected value has been changed by the user.
366
+ */
367
+ _this.change = new EventEmitter();
368
+ /**
369
+ * Event that emits whenever the raw value of the select changes. This is here primarily
370
+ * to facilitate the two-way binding for the `value` input.
371
+ * \@docs-private
372
+ */
373
+ _this.valueChange = new EventEmitter();
374
+ if (_this._control) {
375
+ _this._control.valueAccessor = _this;
376
+ }
377
+ _this.tabIndex = parseInt(tabIndex) || 0;
378
+ _this._placeholderOptions = placeholderOptions ? placeholderOptions : {};
379
+ _this.floatPlaceholder = _this._placeholderOptions.float || 'auto';
380
+ return _this;
381
+ }
382
+ Object.defineProperty(MdSelect.prototype, "placeholder", {
383
+ /**
384
+ * Placeholder to be shown if no value has been selected.
385
+ * @return {?}
386
+ */
387
+ get: function () { return this._placeholder; },
388
+ /**
389
+ * @param {?} value
390
+ * @return {?}
391
+ */
392
+ set: function (value) {
393
+ var _this = this;
394
+ this._placeholder = value;
395
+ // Must wait to record the trigger width to ensure placeholder width is included.
396
+ Promise.resolve(null).then(function () { return _this._setTriggerWidth(); });
397
+ },
398
+ enumerable: true,
399
+ configurable: true
400
+ });
401
+ Object.defineProperty(MdSelect.prototype, "required", {
402
+ /**
403
+ * Whether the component is required.
404
+ * @return {?}
405
+ */
406
+ get: function () { return this._required; },
407
+ /**
408
+ * @param {?} value
409
+ * @return {?}
410
+ */
411
+ set: function (value) { this._required = coerceBooleanProperty(value); },
412
+ enumerable: true,
413
+ configurable: true
414
+ });
415
+ Object.defineProperty(MdSelect.prototype, "multiple", {
416
+ /**
417
+ * Whether the user should be allowed to select multiple options.
418
+ * @return {?}
419
+ */
420
+ get: function () { return this._multiple; },
421
+ /**
422
+ * @param {?} value
423
+ * @return {?}
424
+ */
425
+ set: function (value) {
426
+ if (this._selectionModel) {
427
+ throw getMdSelectDynamicMultipleError();
428
+ }
429
+ this._multiple = coerceBooleanProperty(value);
430
+ },
431
+ enumerable: true,
432
+ configurable: true
433
+ });
434
+ Object.defineProperty(MdSelect.prototype, "compareWith", {
435
+ /**
436
+ * A function to compare the option values with the selected values. The first argument
437
+ * is a value from an option. The second is a value from the selection. A boolean
438
+ * should be returned.
439
+ * @return {?}
440
+ */
441
+ get: function () { return this._compareWith; },
442
+ /**
443
+ * @param {?} fn
444
+ * @return {?}
445
+ */
446
+ set: function (fn) {
447
+ if (typeof fn !== 'function') {
448
+ throw getMdSelectNonFunctionValueError();
449
+ }
450
+ this._compareWith = fn;
451
+ if (this._selectionModel) {
452
+ // A different comparator means the selection could change.
453
+ this._initializeSelection();
454
+ }
455
+ },
456
+ enumerable: true,
457
+ configurable: true
458
+ });
459
+ Object.defineProperty(MdSelect.prototype, "floatPlaceholder", {
460
+ /**
461
+ * Whether to float the placeholder text.
462
+ * @return {?}
463
+ */
464
+ get: function () { return this._floatPlaceholder; },
465
+ /**
466
+ * @param {?} value
467
+ * @return {?}
468
+ */
469
+ set: function (value) {
470
+ this._floatPlaceholder = value || this._placeholderOptions.float || 'auto';
471
+ },
472
+ enumerable: true,
473
+ configurable: true
474
+ });
475
+ Object.defineProperty(MdSelect.prototype, "value", {
476
+ /**
477
+ * Value of the select control.
478
+ * @return {?}
479
+ */
480
+ get: function () { return this._value; },
481
+ /**
482
+ * @param {?} newValue
483
+ * @return {?}
484
+ */
485
+ set: function (newValue) {
486
+ this.writeValue(newValue);
487
+ this._value = newValue;
488
+ },
489
+ enumerable: true,
490
+ configurable: true
491
+ });
492
+ Object.defineProperty(MdSelect.prototype, "disableRipple", {
493
+ /**
494
+ * Whether ripples for all options in the select are disabled.
495
+ * @return {?}
496
+ */
497
+ get: function () { return this._disableRipple; },
498
+ /**
499
+ * @param {?} value
500
+ * @return {?}
501
+ */
502
+ set: function (value) {
503
+ this._disableRipple = coerceBooleanProperty(value);
504
+ this._setOptionDisableRipple();
505
+ },
506
+ enumerable: true,
507
+ configurable: true
508
+ });
509
+ Object.defineProperty(MdSelect.prototype, "optionSelectionChanges", {
510
+ /**
511
+ * Combined stream of all of the child options' change events.
512
+ * @return {?}
513
+ */
514
+ get: function () {
515
+ return merge.apply(void 0, this.options.map(function (option) { return option.onSelectionChange; }));
516
+ },
517
+ enumerable: true,
518
+ configurable: true
519
+ });
520
+ /**
521
+ * @return {?}
522
+ */
523
+ MdSelect.prototype.ngOnInit = function () {
524
+ this._selectionModel = new SelectionModel(this.multiple, undefined, false);
525
+ };
526
+ /**
527
+ * @return {?}
528
+ */
529
+ MdSelect.prototype.ngAfterContentInit = function () {
530
+ var _this = this;
531
+ this._initKeyManager();
532
+ this._changeSubscription = startWith.call(this.options.changes, null).subscribe(function () {
533
+ _this._resetOptions();
534
+ _this._initializeSelection();
535
+ });
536
+ };
537
+ /**
538
+ * @return {?}
539
+ */
540
+ MdSelect.prototype.ngOnDestroy = function () {
541
+ this._dropSubscriptions();
542
+ this._changeSubscription.unsubscribe();
543
+ this._tabSubscription.unsubscribe();
544
+ };
545
+ /**
546
+ * Toggles the overlay panel open or closed.
547
+ * @return {?}
548
+ */
549
+ MdSelect.prototype.toggle = function () {
550
+ this.panelOpen ? this.close() : this.open();
551
+ };
552
+ /**
553
+ * Opens the overlay panel.
554
+ * @return {?}
555
+ */
556
+ MdSelect.prototype.open = function () {
557
+ if (this.disabled || !this.options.length) {
558
+ return;
559
+ }
560
+ if (!this._triggerWidth) {
561
+ this._setTriggerWidth();
562
+ }
563
+ this._calculateOverlayPosition();
564
+ this._placeholderState = this._floatPlaceholderState();
565
+ this._panelOpen = true;
566
+ this._changeDetectorRef.markForCheck();
567
+ };
568
+ /**
569
+ * Closes the overlay panel and focuses the host element.
570
+ * @return {?}
571
+ */
572
+ MdSelect.prototype.close = function () {
573
+ if (this._panelOpen) {
574
+ this._panelOpen = false;
575
+ if (this._selectionModel.isEmpty()) {
576
+ this._placeholderState = '';
577
+ }
578
+ this._changeDetectorRef.markForCheck();
579
+ this.focus();
580
+ }
581
+ };
582
+ /**
583
+ * Sets the select's value. Part of the ControlValueAccessor interface
584
+ * required to integrate with Angular's core forms API.
585
+ *
586
+ * @param {?} value New value to be written to the model.
587
+ * @return {?}
588
+ */
589
+ MdSelect.prototype.writeValue = function (value) {
590
+ if (this.options) {
591
+ this._setSelectionByValue(value);
592
+ }
593
+ };
594
+ /**
595
+ * Saves a callback function to be invoked when the select's value
596
+ * changes from user input. Part of the ControlValueAccessor interface
597
+ * required to integrate with Angular's core forms API.
598
+ *
599
+ * @param {?} fn Callback to be triggered when the value changes.
600
+ * @return {?}
601
+ */
602
+ MdSelect.prototype.registerOnChange = function (fn) {
603
+ this._onChange = fn;
604
+ };
605
+ /**
606
+ * Saves a callback function to be invoked when the select is blurred
607
+ * by the user. Part of the ControlValueAccessor interface required
608
+ * to integrate with Angular's core forms API.
609
+ *
610
+ * @param {?} fn Callback to be triggered when the component has been touched.
611
+ * @return {?}
612
+ */
613
+ MdSelect.prototype.registerOnTouched = function (fn) {
614
+ this._onTouched = fn;
615
+ };
616
+ /**
617
+ * Disables the select. Part of the ControlValueAccessor interface required
618
+ * to integrate with Angular's core forms API.
619
+ *
620
+ * @param {?} isDisabled Sets whether the component is disabled.
621
+ * @return {?}
622
+ */
623
+ MdSelect.prototype.setDisabledState = function (isDisabled) {
624
+ this.disabled = isDisabled;
625
+ this._changeDetectorRef.markForCheck();
626
+ };
627
+ Object.defineProperty(MdSelect.prototype, "panelOpen", {
628
+ /**
629
+ * Whether or not the overlay panel is open.
630
+ * @return {?}
631
+ */
632
+ get: function () {
633
+ return this._panelOpen;
634
+ },
635
+ enumerable: true,
636
+ configurable: true
637
+ });
638
+ Object.defineProperty(MdSelect.prototype, "selected", {
639
+ /**
640
+ * The currently selected option.
641
+ * @return {?}
642
+ */
643
+ get: function () {
644
+ return this.multiple ? this._selectionModel.selected : this._selectionModel.selected[0];
645
+ },
646
+ enumerable: true,
647
+ configurable: true
648
+ });
649
+ Object.defineProperty(MdSelect.prototype, "triggerValue", {
650
+ /**
651
+ * The value displayed in the trigger.
652
+ * @return {?}
653
+ */
654
+ get: function () {
655
+ if (!this._selectionModel || this._selectionModel.isEmpty()) {
656
+ return '';
657
+ }
658
+ if (this._multiple) {
659
+ var /** @type {?} */ selectedOptions = this._selectionModel.selected.map(function (option) { return option.viewValue; });
660
+ if (this._isRtl()) {
661
+ selectedOptions.reverse();
662
+ }
663
+ // TODO(crisbeto): delimiter should be configurable for proper localization.
664
+ return selectedOptions.join(', ');
665
+ }
666
+ return this._selectionModel.selected[0].viewValue;
667
+ },
668
+ enumerable: true,
669
+ configurable: true
670
+ });
671
+ /**
672
+ * Whether the element is in RTL mode.
673
+ * @return {?}
674
+ */
675
+ MdSelect.prototype._isRtl = function () {
676
+ return this._dir ? this._dir.value === 'rtl' : false;
677
+ };
678
+ /**
679
+ * Sets the width of the trigger element. This is necessary to match
680
+ * the overlay width to the trigger width.
681
+ * @return {?}
682
+ */
683
+ MdSelect.prototype._setTriggerWidth = function () {
684
+ this._triggerWidth = this._platform.isBrowser ? this._getTriggerRect().width :
685
+ SELECT_TRIGGER_MIN_WIDTH;
686
+ this._changeDetectorRef.markForCheck();
687
+ };
688
+ /**
689
+ * Handles the keyboard interactions of a closed select.
690
+ * @param {?} event
691
+ * @return {?}
692
+ */
693
+ MdSelect.prototype._handleClosedKeydown = function (event) {
694
+ if (!this.disabled) {
695
+ if (event.keyCode === ENTER || event.keyCode === SPACE) {
696
+ event.preventDefault(); // prevents the page from scrolling down when pressing space
697
+ this.open();
698
+ }
699
+ else if (event.keyCode === UP_ARROW || event.keyCode === DOWN_ARROW) {
700
+ this._handleArrowKey(event);
701
+ }
702
+ }
703
+ };
704
+ /**
705
+ * Handles keypresses inside the panel.
706
+ * @param {?} event
707
+ * @return {?}
708
+ */
709
+ MdSelect.prototype._handlePanelKeydown = function (event) {
710
+ if (event.keyCode === HOME || event.keyCode === END) {
711
+ event.preventDefault();
712
+ event.keyCode === HOME ? this._keyManager.setFirstItemActive() :
713
+ this._keyManager.setLastItemActive();
714
+ }
715
+ else {
716
+ this._keyManager.onKeydown(event);
717
+ }
718
+ };
719
+ /**
720
+ * When the panel element is finished transforming in (though not fading in), it
721
+ * emits an event and focuses an option if the panel is open.
722
+ * @return {?}
723
+ */
724
+ MdSelect.prototype._onPanelDone = function () {
725
+ if (this.panelOpen) {
726
+ this._focusCorrectOption();
727
+ this.onOpen.emit();
728
+ }
729
+ else {
730
+ this.onClose.emit();
731
+ this._panelDoneAnimating = false;
732
+ this.overlayDir.offsetX = 0;
733
+ this._changeDetectorRef.markForCheck();
734
+ }
735
+ };
736
+ /**
737
+ * When the panel content is done fading in, the _panelDoneAnimating property is
738
+ * set so the proper class can be added to the panel.
739
+ * @return {?}
740
+ */
741
+ MdSelect.prototype._onFadeInDone = function () {
742
+ this._panelDoneAnimating = this.panelOpen;
743
+ this._changeDetectorRef.markForCheck();
744
+ };
745
+ /**
746
+ * Calls the touched callback only if the panel is closed. Otherwise, the trigger will
747
+ * "blur" to the panel when it opens, causing a false positive.
748
+ * @return {?}
749
+ */
750
+ MdSelect.prototype._onBlur = function () {
751
+ if (!this.disabled && !this.panelOpen) {
752
+ this._onTouched();
753
+ this._changeDetectorRef.markForCheck();
754
+ }
755
+ };
756
+ /**
757
+ * Callback that is invoked when the overlay panel has been attached.
758
+ * @return {?}
759
+ */
760
+ MdSelect.prototype._onAttached = function () {
761
+ this._calculateOverlayOffsetX();
762
+ this._setScrollTop();
763
+ };
764
+ /**
765
+ * Whether the select has a value.
766
+ * @return {?}
767
+ */
768
+ MdSelect.prototype._hasValue = function () {
769
+ return this._selectionModel && this._selectionModel.hasValue();
770
+ };
771
+ /**
772
+ * Whether the select is in an error state.
773
+ * @return {?}
774
+ */
775
+ MdSelect.prototype._isErrorState = function () {
776
+ var /** @type {?} */ isInvalid = this._control && this._control.invalid;
777
+ var /** @type {?} */ isTouched = this._control && this._control.touched;
778
+ var /** @type {?} */ isSubmitted = (this._parentFormGroup && this._parentFormGroup.submitted) ||
779
+ (this._parentForm && this._parentForm.submitted);
780
+ return !!(isInvalid && (isTouched || isSubmitted));
781
+ };
782
+ /**
783
+ * Sets the scroll position of the scroll container. This must be called after
784
+ * the overlay pane is attached or the scroll container element will not yet be
785
+ * present in the DOM.
786
+ * @return {?}
787
+ */
788
+ MdSelect.prototype._setScrollTop = function () {
789
+ var /** @type {?} */ scrollContainer = this.overlayDir.overlayRef.overlayElement.querySelector('.mat-select-panel'); /** @type {?} */
790
+ ((scrollContainer)).scrollTop = this._scrollTop;
791
+ };
792
+ /**
793
+ * @return {?}
794
+ */
795
+ MdSelect.prototype._initializeSelection = function () {
796
+ var _this = this;
797
+ // Defer setting the value in order to avoid the "Expression
798
+ // has changed after it was checked" errors from Angular.
799
+ Promise.resolve().then(function () {
800
+ _this._setSelectionByValue(_this._control ? _this._control.value : _this._value);
801
+ });
802
+ };
803
+ /**
804
+ * Sets the selected option based on a value. If no option can be
805
+ * found with the designated value, the select trigger is cleared.
806
+ * @param {?} value
807
+ * @param {?=} isUserInput
808
+ * @return {?}
809
+ */
810
+ MdSelect.prototype._setSelectionByValue = function (value, isUserInput) {
811
+ var _this = this;
812
+ if (isUserInput === void 0) { isUserInput = false; }
813
+ var /** @type {?} */ isArray = Array.isArray(value);
814
+ if (this.multiple && value && !isArray) {
815
+ throw getMdSelectNonArrayValueError();
816
+ }
817
+ this._clearSelection();
818
+ if (isArray) {
819
+ value.forEach(function (currentValue) { return _this._selectValue(currentValue, isUserInput); });
820
+ this._sortValues();
821
+ }
822
+ else {
823
+ var /** @type {?} */ correspondingOption = this._selectValue(value, isUserInput);
824
+ // Shift focus to the active item. Note that we shouldn't do this in multiple
825
+ // mode, because we don't know what option the user interacted with last.
826
+ if (correspondingOption) {
827
+ this._keyManager.setActiveItem(this.options.toArray().indexOf(correspondingOption));
828
+ }
829
+ }
830
+ this._setValueWidth();
831
+ if (this._selectionModel.isEmpty()) {
832
+ this._placeholderState = '';
833
+ }
834
+ this._changeDetectorRef.markForCheck();
835
+ };
836
+ /**
837
+ * Finds and selects and option based on its value.
838
+ * @param {?} value
839
+ * @param {?=} isUserInput
840
+ * @return {?} Option that has the corresponding value.
841
+ */
842
+ MdSelect.prototype._selectValue = function (value, isUserInput) {
843
+ var _this = this;
844
+ if (isUserInput === void 0) { isUserInput = false; }
845
+ var /** @type {?} */ correspondingOption = this.options.find(function (option) {
846
+ try {
847
+ // Treat null as a special reset value.
848
+ return option.value != null && _this._compareWith(option.value, value);
849
+ }
850
+ catch (error) {
851
+ if (isDevMode()) {
852
+ // Notify developers of errors in their comparator.
853
+ console.warn(error);
854
+ }
855
+ return false;
856
+ }
857
+ });
858
+ if (correspondingOption) {
859
+ isUserInput ? correspondingOption._selectViaInteraction() : correspondingOption.select();
860
+ this._selectionModel.select(correspondingOption);
861
+ }
862
+ return correspondingOption;
863
+ };
864
+ /**
865
+ * Clears the select trigger and deselects every option in the list.
866
+ * @param {?=} skip Option that should not be deselected.
867
+ * @return {?}
868
+ */
869
+ MdSelect.prototype._clearSelection = function (skip) {
870
+ this._selectionModel.clear();
871
+ this.options.forEach(function (option) {
872
+ if (option !== skip) {
873
+ option.deselect();
874
+ }
875
+ });
876
+ };
877
+ /**
878
+ * @return {?}
879
+ */
880
+ MdSelect.prototype._getTriggerRect = function () {
881
+ return this.trigger.nativeElement.getBoundingClientRect();
882
+ };
883
+ /**
884
+ * Sets up a key manager to listen to keyboard events on the overlay panel.
885
+ * @return {?}
886
+ */
887
+ MdSelect.prototype._initKeyManager = function () {
888
+ var _this = this;
889
+ this._keyManager = new FocusKeyManager(this.options).withTypeAhead();
890
+ this._tabSubscription = this._keyManager.tabOut.subscribe(function () { return _this.close(); });
891
+ };
892
+ /**
893
+ * Drops current option subscriptions and IDs and resets from scratch.
894
+ * @return {?}
895
+ */
896
+ MdSelect.prototype._resetOptions = function () {
897
+ this._dropSubscriptions();
898
+ this._listenToOptions();
899
+ this._setOptionIds();
900
+ this._setOptionMultiple();
901
+ this._setOptionDisableRipple();
902
+ };
903
+ /**
904
+ * Listens to user-generated selection events on each option.
905
+ * @return {?}
906
+ */
907
+ MdSelect.prototype._listenToOptions = function () {
908
+ var _this = this;
909
+ this._optionSubscription = filter.call(this.optionSelectionChanges, function (event) { return event.isUserInput; }).subscribe(function (event) {
910
+ _this._onSelect(event.source);
911
+ _this._setValueWidth();
912
+ if (!_this.multiple) {
913
+ _this.close();
914
+ }
915
+ });
916
+ };
917
+ /**
918
+ * Invoked when an option is clicked.
919
+ * @param {?} option
920
+ * @return {?}
921
+ */
922
+ MdSelect.prototype._onSelect = function (option) {
923
+ var /** @type {?} */ wasSelected = this._selectionModel.isSelected(option);
924
+ // TODO(crisbeto): handle blank/null options inside multi-select.
925
+ if (this.multiple) {
926
+ this._selectionModel.toggle(option);
927
+ wasSelected ? option.deselect() : option.select();
928
+ this._sortValues();
929
+ }
930
+ else {
931
+ this._clearSelection(option.value == null ? undefined : option);
932
+ if (option.value == null) {
933
+ this._propagateChanges(option.value);
934
+ }
935
+ else {
936
+ this._selectionModel.select(option);
937
+ }
938
+ }
939
+ if (wasSelected !== this._selectionModel.isSelected(option)) {
940
+ this._propagateChanges();
941
+ }
942
+ };
943
+ /**
944
+ * Sorts the model values, ensuring that they keep the same
945
+ * order that they have in the panel.
946
+ * @return {?}
947
+ */
948
+ MdSelect.prototype._sortValues = function () {
949
+ var _this = this;
950
+ if (this._multiple) {
951
+ this._selectionModel.clear();
952
+ this.options.forEach(function (option) {
953
+ if (option.selected) {
954
+ _this._selectionModel.select(option);
955
+ }
956
+ });
957
+ }
958
+ };
959
+ /**
960
+ * Unsubscribes from all option subscriptions.
961
+ * @return {?}
962
+ */
963
+ MdSelect.prototype._dropSubscriptions = function () {
964
+ this._optionSubscription.unsubscribe();
965
+ };
966
+ /**
967
+ * Emits change event to set the model value.
968
+ * @param {?=} fallbackValue
969
+ * @return {?}
970
+ */
971
+ MdSelect.prototype._propagateChanges = function (fallbackValue) {
972
+ var /** @type {?} */ valueToEmit = null;
973
+ if (Array.isArray(this.selected)) {
974
+ valueToEmit = this.selected.map(function (option) { return option.value; });
975
+ }
976
+ else {
977
+ valueToEmit = this.selected ? this.selected.value : fallbackValue;
978
+ }
979
+ this._value = valueToEmit;
980
+ this._onChange(valueToEmit);
981
+ this.change.emit(new MdSelectChange(this, valueToEmit));
982
+ this.valueChange.emit(valueToEmit);
983
+ };
984
+ /**
985
+ * Records option IDs to pass to the aria-owns property.
986
+ * @return {?}
987
+ */
988
+ MdSelect.prototype._setOptionIds = function () {
989
+ this._optionIds = this.options.map(function (option) { return option.id; }).join(' ');
990
+ };
991
+ /**
992
+ * Sets the `multiple` property on each option. The promise is necessary
993
+ * in order to avoid Angular errors when modifying the property after init.
994
+ * @return {?}
995
+ */
996
+ MdSelect.prototype._setOptionMultiple = function () {
997
+ var _this = this;
998
+ if (this.multiple) {
999
+ Promise.resolve(null).then(function () {
1000
+ _this.options.forEach(function (option) { return option.multiple = _this.multiple; });
1001
+ });
1002
+ }
1003
+ };
1004
+ /**
1005
+ * Sets the `disableRipple` property on each option.
1006
+ * @return {?}
1007
+ */
1008
+ MdSelect.prototype._setOptionDisableRipple = function () {
1009
+ var _this = this;
1010
+ if (this.options) {
1011
+ this.options.forEach(function (option) { return option.disableRipple = _this.disableRipple; });
1012
+ }
1013
+ };
1014
+ /**
1015
+ * Must set the width of the selected option's value programmatically
1016
+ * because it is absolutely positioned and otherwise will not clip
1017
+ * overflow. The selection arrow is 9px wide, add 4px of padding = 13
1018
+ * @return {?}
1019
+ */
1020
+ MdSelect.prototype._setValueWidth = function () {
1021
+ this._selectedValueWidth = this._triggerWidth - 13;
1022
+ this._changeDetectorRef.markForCheck();
1023
+ };
1024
+ /**
1025
+ * Focuses the selected item. If no option is selected, it will focus
1026
+ * the first item instead.
1027
+ * @return {?}
1028
+ */
1029
+ MdSelect.prototype._focusCorrectOption = function () {
1030
+ if (this._selectionModel.isEmpty()) {
1031
+ this._keyManager.setFirstItemActive();
1032
+ }
1033
+ else {
1034
+ this._keyManager.setActiveItem(/** @type {?} */ ((this._getOptionIndex(this._selectionModel.selected[0]))));
1035
+ }
1036
+ };
1037
+ /**
1038
+ * Focuses the select element.
1039
+ * @return {?}
1040
+ */
1041
+ MdSelect.prototype.focus = function () {
1042
+ this._elementRef.nativeElement.focus();
1043
+ };
1044
+ /**
1045
+ * Gets the index of the provided option in the option list.
1046
+ * @param {?} option
1047
+ * @return {?}
1048
+ */
1049
+ MdSelect.prototype._getOptionIndex = function (option) {
1050
+ return this.options.reduce(function (result, current, index) {
1051
+ return result === undefined ? (option === current ? index : undefined) : result;
1052
+ }, undefined);
1053
+ };
1054
+ /**
1055
+ * Calculates the scroll position and x- and y-offsets of the overlay panel.
1056
+ * @return {?}
1057
+ */
1058
+ MdSelect.prototype._calculateOverlayPosition = function () {
1059
+ var /** @type {?} */ items = this._getItemCount();
1060
+ var /** @type {?} */ panelHeight = Math.min(items * SELECT_ITEM_HEIGHT, SELECT_PANEL_MAX_HEIGHT);
1061
+ var /** @type {?} */ scrollContainerHeight = items * SELECT_ITEM_HEIGHT;
1062
+ // The farthest the panel can be scrolled before it hits the bottom
1063
+ var /** @type {?} */ maxScroll = scrollContainerHeight - panelHeight;
1064
+ if (this._hasValue()) {
1065
+ var /** @type {?} */ selectedOptionOffset = ((this._getOptionIndex(this._selectionModel.selected[0])));
1066
+ selectedOptionOffset += MdOption.countGroupLabelsBeforeOption(selectedOptionOffset, this.options, this.optionGroups);
1067
+ // We must maintain a scroll buffer so the selected option will be scrolled to the
1068
+ // center of the overlay panel rather than the top.
1069
+ var /** @type {?} */ scrollBuffer = panelHeight / 2;
1070
+ this._scrollTop = this._calculateOverlayScroll(selectedOptionOffset, scrollBuffer, maxScroll);
1071
+ this._offsetY = this._calculateOverlayOffsetY(selectedOptionOffset, scrollBuffer, maxScroll);
1072
+ }
1073
+ else {
1074
+ // If no option is selected, the panel centers on the first option. In this case,
1075
+ // we must only adjust for the height difference between the option element
1076
+ // and the trigger element, then multiply it by -1 to ensure the panel moves
1077
+ // in the correct direction up the page.
1078
+ var /** @type {?} */ groupLabels = MdOption.countGroupLabelsBeforeOption(0, this.options, this.optionGroups);
1079
+ this._offsetY = (SELECT_ITEM_HEIGHT - SELECT_TRIGGER_HEIGHT) / 2 * -1 -
1080
+ (groupLabels * SELECT_ITEM_HEIGHT);
1081
+ }
1082
+ this._checkOverlayWithinViewport(maxScroll);
1083
+ };
1084
+ /**
1085
+ * Calculates the scroll position of the select's overlay panel.
1086
+ *
1087
+ * Attempts to center the selected option in the panel. If the option is
1088
+ * too high or too low in the panel to be scrolled to the center, it clamps the
1089
+ * scroll position to the min or max scroll positions respectively.
1090
+ * @param {?} selectedIndex
1091
+ * @param {?} scrollBuffer
1092
+ * @param {?} maxScroll
1093
+ * @return {?}
1094
+ */
1095
+ MdSelect.prototype._calculateOverlayScroll = function (selectedIndex, scrollBuffer, maxScroll) {
1096
+ var /** @type {?} */ optionOffsetFromScrollTop = SELECT_ITEM_HEIGHT * selectedIndex;
1097
+ var /** @type {?} */ halfOptionHeight = SELECT_ITEM_HEIGHT / 2;
1098
+ // Starts at the optionOffsetFromScrollTop, which scrolls the option to the top of the
1099
+ // scroll container, then subtracts the scroll buffer to scroll the option down to
1100
+ // the center of the overlay panel. Half the option height must be re-added to the
1101
+ // scrollTop so the option is centered based on its middle, not its top edge.
1102
+ var /** @type {?} */ optimalScrollPosition = optionOffsetFromScrollTop - scrollBuffer + halfOptionHeight;
1103
+ return clampValue(0, optimalScrollPosition, maxScroll);
1104
+ };
1105
+ /**
1106
+ * Figures out the appropriate animation state for the placeholder.
1107
+ * @return {?}
1108
+ */
1109
+ MdSelect.prototype._getPlaceholderAnimationState = function () {
1110
+ if (this.floatPlaceholder === 'never') {
1111
+ return '';
1112
+ }
1113
+ if (this.floatPlaceholder === 'always') {
1114
+ return this._floatPlaceholderState();
1115
+ }
1116
+ return this._placeholderState;
1117
+ };
1118
+ /**
1119
+ * Determines the CSS `opacity` of the placeholder element.
1120
+ * @return {?}
1121
+ */
1122
+ MdSelect.prototype._getPlaceholderOpacity = function () {
1123
+ return (this.floatPlaceholder !== 'never' || this._selectionModel.isEmpty()) ? '1' : '0';
1124
+ };
1125
+ Object.defineProperty(MdSelect.prototype, "_ariaLabel", {
1126
+ /**
1127
+ * Returns the aria-label of the select component.
1128
+ * @return {?}
1129
+ */
1130
+ get: function () {
1131
+ // If an ariaLabelledby value has been set, the select should not overwrite the
1132
+ // `aria-labelledby` value by setting the ariaLabel to the placeholder.
1133
+ return this.ariaLabelledby ? null : this.ariaLabel || this.placeholder;
1134
+ },
1135
+ enumerable: true,
1136
+ configurable: true
1137
+ });
1138
+ /**
1139
+ * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.
1140
+ * This must be adjusted to align the selected option text over the trigger text when
1141
+ * the panel opens. Will change based on LTR or RTL text direction. Note that the offset
1142
+ * can't be calculated until the panel has been attached, because we need to know the
1143
+ * content width in order to constrain the panel within the viewport.
1144
+ * @return {?}
1145
+ */
1146
+ MdSelect.prototype._calculateOverlayOffsetX = function () {
1147
+ var /** @type {?} */ overlayRect = this.overlayDir.overlayRef.overlayElement.getBoundingClientRect();
1148
+ var /** @type {?} */ viewportRect = this._viewportRuler.getViewportRect();
1149
+ var /** @type {?} */ isRtl = this._isRtl();
1150
+ var /** @type {?} */ paddingWidth = this.multiple ? SELECT_MULTIPLE_PANEL_PADDING_X + SELECT_PANEL_PADDING_X :
1151
+ SELECT_PANEL_PADDING_X * 2;
1152
+ var /** @type {?} */ offsetX;
1153
+ // Adjust the offset, depending on the option padding.
1154
+ if (this.multiple) {
1155
+ offsetX = SELECT_MULTIPLE_PANEL_PADDING_X;
1156
+ }
1157
+ else {
1158
+ var /** @type {?} */ selected = this._selectionModel.selected[0] || this.options.first;
1159
+ offsetX = selected && selected.group ? SELECT_PANEL_INDENT_PADDING_X : SELECT_PANEL_PADDING_X;
1160
+ }
1161
+ // Invert the offset in LTR.
1162
+ if (!isRtl) {
1163
+ offsetX *= -1;
1164
+ }
1165
+ // Determine how much the select overflows on each side.
1166
+ var /** @type {?} */ leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));
1167
+ var /** @type {?} */ rightOverflow = overlayRect.right + offsetX - viewportRect.width
1168
+ + (isRtl ? 0 : paddingWidth);
1169
+ // If the element overflows on either side, reduce the offset to allow it to fit.
1170
+ if (leftOverflow > 0) {
1171
+ offsetX += leftOverflow + SELECT_PANEL_VIEWPORT_PADDING;
1172
+ }
1173
+ else if (rightOverflow > 0) {
1174
+ offsetX -= rightOverflow + SELECT_PANEL_VIEWPORT_PADDING;
1175
+ }
1176
+ // Set the offset directly in order to avoid having to go through change detection and
1177
+ // potentially triggering "changed after it was checked" errors.
1178
+ this.overlayDir.offsetX = offsetX;
1179
+ this.overlayDir.overlayRef.updatePosition();
1180
+ };
1181
+ /**
1182
+ * Calculates the y-offset of the select's overlay panel in relation to the
1183
+ * top start corner of the trigger. It has to be adjusted in order for the
1184
+ * selected option to be aligned over the trigger when the panel opens.
1185
+ * @param {?} selectedIndex
1186
+ * @param {?} scrollBuffer
1187
+ * @param {?} maxScroll
1188
+ * @return {?}
1189
+ */
1190
+ MdSelect.prototype._calculateOverlayOffsetY = function (selectedIndex, scrollBuffer, maxScroll) {
1191
+ var /** @type {?} */ optionOffsetFromPanelTop;
1192
+ if (this._scrollTop === 0) {
1193
+ optionOffsetFromPanelTop = selectedIndex * SELECT_ITEM_HEIGHT;
1194
+ }
1195
+ else if (this._scrollTop === maxScroll) {
1196
+ var /** @type {?} */ firstDisplayedIndex = this._getItemCount() - SELECT_MAX_OPTIONS_DISPLAYED;
1197
+ var /** @type {?} */ selectedDisplayIndex = selectedIndex - firstDisplayedIndex;
1198
+ // Because the panel height is longer than the height of the options alone,
1199
+ // there is always extra padding at the top or bottom of the panel. When
1200
+ // scrolled to the very bottom, this padding is at the top of the panel and
1201
+ // must be added to the offset.
1202
+ optionOffsetFromPanelTop =
1203
+ selectedDisplayIndex * SELECT_ITEM_HEIGHT + SELECT_PANEL_PADDING_Y;
1204
+ }
1205
+ else {
1206
+ // If the option was scrolled to the middle of the panel using a scroll buffer,
1207
+ // its offset will be the scroll buffer minus the half height that was added to
1208
+ // center it.
1209
+ optionOffsetFromPanelTop = scrollBuffer - SELECT_ITEM_HEIGHT / 2;
1210
+ }
1211
+ // The final offset is the option's offset from the top, adjusted for the height
1212
+ // difference, multiplied by -1 to ensure that the overlay moves in the correct
1213
+ // direction up the page.
1214
+ return optionOffsetFromPanelTop * -1 - SELECT_OPTION_HEIGHT_ADJUSTMENT;
1215
+ };
1216
+ /**
1217
+ * Checks that the attempted overlay position will fit within the viewport.
1218
+ * If it will not fit, tries to adjust the scroll position and the associated
1219
+ * y-offset so the panel can open fully on-screen. If it still won't fit,
1220
+ * sets the offset back to 0 to allow the fallback position to take over.
1221
+ * @param {?} maxScroll
1222
+ * @return {?}
1223
+ */
1224
+ MdSelect.prototype._checkOverlayWithinViewport = function (maxScroll) {
1225
+ var /** @type {?} */ viewportRect = this._viewportRuler.getViewportRect();
1226
+ var /** @type {?} */ triggerRect = this._getTriggerRect();
1227
+ var /** @type {?} */ topSpaceAvailable = triggerRect.top - SELECT_PANEL_VIEWPORT_PADDING;
1228
+ var /** @type {?} */ bottomSpaceAvailable = viewportRect.height - triggerRect.bottom - SELECT_PANEL_VIEWPORT_PADDING;
1229
+ var /** @type {?} */ panelHeightTop = Math.abs(this._offsetY);
1230
+ var /** @type {?} */ totalPanelHeight = Math.min(this._getItemCount() * SELECT_ITEM_HEIGHT, SELECT_PANEL_MAX_HEIGHT);
1231
+ var /** @type {?} */ panelHeightBottom = totalPanelHeight - panelHeightTop - triggerRect.height;
1232
+ if (panelHeightBottom > bottomSpaceAvailable) {
1233
+ this._adjustPanelUp(panelHeightBottom, bottomSpaceAvailable);
1234
+ }
1235
+ else if (panelHeightTop > topSpaceAvailable) {
1236
+ this._adjustPanelDown(panelHeightTop, topSpaceAvailable, maxScroll);
1237
+ }
1238
+ else {
1239
+ this._transformOrigin = this._getOriginBasedOnOption();
1240
+ }
1241
+ };
1242
+ /**
1243
+ * Adjusts the overlay panel up to fit in the viewport.
1244
+ * @param {?} panelHeightBottom
1245
+ * @param {?} bottomSpaceAvailable
1246
+ * @return {?}
1247
+ */
1248
+ MdSelect.prototype._adjustPanelUp = function (panelHeightBottom, bottomSpaceAvailable) {
1249
+ var /** @type {?} */ distanceBelowViewport = panelHeightBottom - bottomSpaceAvailable;
1250
+ // Scrolls the panel up by the distance it was extending past the boundary, then
1251
+ // adjusts the offset by that amount to move the panel up into the viewport.
1252
+ this._scrollTop -= distanceBelowViewport;
1253
+ this._offsetY -= distanceBelowViewport;
1254
+ this._transformOrigin = this._getOriginBasedOnOption();
1255
+ // If the panel is scrolled to the very top, it won't be able to fit the panel
1256
+ // by scrolling, so set the offset to 0 to allow the fallback position to take
1257
+ // effect.
1258
+ if (this._scrollTop <= 0) {
1259
+ this._scrollTop = 0;
1260
+ this._offsetY = 0;
1261
+ this._transformOrigin = "50% bottom 0px";
1262
+ }
1263
+ };
1264
+ /**
1265
+ * Adjusts the overlay panel down to fit in the viewport.
1266
+ * @param {?} panelHeightTop
1267
+ * @param {?} topSpaceAvailable
1268
+ * @param {?} maxScroll
1269
+ * @return {?}
1270
+ */
1271
+ MdSelect.prototype._adjustPanelDown = function (panelHeightTop, topSpaceAvailable, maxScroll) {
1272
+ var /** @type {?} */ distanceAboveViewport = panelHeightTop - topSpaceAvailable;
1273
+ // Scrolls the panel down by the distance it was extending past the boundary, then
1274
+ // adjusts the offset by that amount to move the panel down into the viewport.
1275
+ this._scrollTop += distanceAboveViewport;
1276
+ this._offsetY += distanceAboveViewport;
1277
+ this._transformOrigin = this._getOriginBasedOnOption();
1278
+ // If the panel is scrolled to the very bottom, it won't be able to fit the
1279
+ // panel by scrolling, so set the offset to 0 to allow the fallback position
1280
+ // to take effect.
1281
+ if (this._scrollTop >= maxScroll) {
1282
+ this._scrollTop = maxScroll;
1283
+ this._offsetY = 0;
1284
+ this._transformOrigin = "50% top 0px";
1285
+ return;
1286
+ }
1287
+ };
1288
+ /**
1289
+ * Sets the transform origin point based on the selected option.
1290
+ * @return {?}
1291
+ */
1292
+ MdSelect.prototype._getOriginBasedOnOption = function () {
1293
+ var /** @type {?} */ originY = Math.abs(this._offsetY) - SELECT_OPTION_HEIGHT_ADJUSTMENT + SELECT_ITEM_HEIGHT / 2;
1294
+ return "50% " + originY + "px 0px";
1295
+ };
1296
+ /**
1297
+ * Figures out the floating placeholder state value.
1298
+ * @return {?}
1299
+ */
1300
+ MdSelect.prototype._floatPlaceholderState = function () {
1301
+ return this._isRtl() ? 'floating-rtl' : 'floating-ltr';
1302
+ };
1303
+ /**
1304
+ * Handles the user pressing the arrow keys on a closed select.
1305
+ * @param {?} event
1306
+ * @return {?}
1307
+ */
1308
+ MdSelect.prototype._handleArrowKey = function (event) {
1309
+ if (this._multiple) {
1310
+ event.preventDefault();
1311
+ this.open();
1312
+ }
1313
+ else {
1314
+ var /** @type {?} */ prevActiveItem = this._keyManager.activeItem;
1315
+ // Cycle though the select options even when the select is closed,
1316
+ // matching the behavior of the native select element.
1317
+ // TODO(crisbeto): native selects also cycle through the options with left/right arrows,
1318
+ // however the key manager only supports up/down at the moment.
1319
+ this._keyManager.onKeydown(event);
1320
+ var /** @type {?} */ currentActiveItem = (this._keyManager.activeItem);
1321
+ if (currentActiveItem !== prevActiveItem) {
1322
+ this._clearSelection();
1323
+ this._setSelectionByValue(currentActiveItem.value, true);
1324
+ this._propagateChanges();
1325
+ }
1326
+ }
1327
+ };
1328
+ /**
1329
+ * Calculates the amount of items in the select. This includes options and group labels.
1330
+ * @return {?}
1331
+ */
1332
+ MdSelect.prototype._getItemCount = function () {
1333
+ return this.options.length + this.optionGroups.length;
1334
+ };
1335
+ return MdSelect;
1336
+ }(_MdSelectMixinBase));
1337
+ MdSelect.decorators = [
1338
+ { type: Component, args: [{ selector: 'md-select, mat-select',
1339
+ template: "<div cdk-overlay-origin class=\"mat-select-trigger\" aria-hidden=\"true\" (click)=\"toggle()\" #origin=\"cdkOverlayOrigin\" #trigger><span class=\"mat-select-placeholder\" [class.mat-floating-placeholder]=\"_hasValue()\" [@transformPlaceholder]=\"_getPlaceholderAnimationState()\" [style.opacity]=\"_getPlaceholderOpacity()\" [style.width.px]=\"_selectedValueWidth\">{{ placeholder }}</span> <span class=\"mat-select-value\" *ngIf=\"_hasValue()\"><span class=\"mat-select-value-text\" [ngSwitch]=\"!!customTrigger\"><span *ngSwitchDefault>{{ triggerValue }}</span><ng-content select=\"md-select-trigger, mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content></span></span><span class=\"mat-select-arrow\"></span> <span class=\"mat-select-underline\"></span></div><ng-template cdk-connected-overlay hasBackdrop backdropClass=\"cdk-overlay-transparent-backdrop\" [scrollStrategy]=\"_scrollStrategy\" [origin]=\"origin\" [open]=\"panelOpen\" [positions]=\"_positions\" [minWidth]=\"_triggerWidth\" [offsetY]=\"_offsetY\" (backdropClick)=\"close()\" (attach)=\"_onAttached()\" (detach)=\"close()\"><div class=\"mat-select-panel {{ 'mat-' + color }}\" [ngClass]=\"panelClass\" [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\" (@transformPanel.done)=\"_onPanelDone()\" (keydown)=\"_handlePanelKeydown($event)\" [style.transformOrigin]=\"_transformOrigin\" [class.mat-select-panel-done-animating]=\"_panelDoneAnimating\"><div class=\"mat-select-content\" [@fadeInContent]=\"'showing'\" (@fadeInContent.done)=\"_onFadeInDone()\"><ng-content></ng-content></div></div></ng-template>",
1340
+ styles: [".mat-select{display:inline-block;outline:0}.mat-select-trigger{display:flex;align-items:center;height:30px;min-width:112px;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-underline{position:absolute;bottom:0;left:0;right:0;height:1px}.mat-select:focus .mat-select-underline{height:2px}.mat-select-disabled .mat-select-underline{background-color:transparent;background-position:0 bottom}.mat-select-placeholder{position:relative;padding:0 2px;transform-origin:left top;flex-grow:1}.mat-select-placeholder.mat-floating-placeholder{top:-22px;left:-2px;text-align:left;transform:scale(.75)}[dir=rtl] .mat-select-placeholder{transform-origin:right top}[dir=rtl] .mat-select-placeholder.mat-floating-placeholder{left:2px;text-align:right}.mat-select-required .mat-select-placeholder::after{content:' *'}.mat-select-value{position:absolute;max-width:calc(100% - 18px);flex-grow:1;top:0;left:0;bottom:0;display:flex;align-items:center}[dir=rtl] .mat-select-value{left:auto;right:0}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:30px}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-select-panel{outline:solid 1px}}"],
1341
+ inputs: ['color', 'disabled', 'tabIndex'],
1342
+ encapsulation: ViewEncapsulation.None,
1343
+ preserveWhitespaces: false,
1344
+ changeDetection: ChangeDetectionStrategy.OnPush,
1345
+ host: {
1346
+ 'role': 'listbox',
1347
+ '[attr.tabindex]': 'tabIndex',
1348
+ '[attr.aria-label]': '_ariaLabel',
1349
+ '[attr.aria-labelledby]': 'ariaLabelledby',
1350
+ '[attr.aria-required]': 'required.toString()',
1351
+ '[attr.aria-disabled]': 'disabled.toString()',
1352
+ '[attr.aria-invalid]': '_isErrorState()',
1353
+ '[attr.aria-owns]': '_optionIds',
1354
+ '[attr.aria-multiselectable]': 'multiple',
1355
+ '[class.mat-select-disabled]': 'disabled',
1356
+ '[class.mat-select-invalid]': '_isErrorState()',
1357
+ '[class.mat-select-required]': 'required',
1358
+ 'class': 'mat-select',
1359
+ '(keydown)': '_handleClosedKeydown($event)',
1360
+ '(blur)': '_onBlur()',
1361
+ },
1362
+ animations: [
1363
+ transformPlaceholder,
1364
+ transformPanel,
1365
+ fadeInContent
1366
+ ],
1367
+ exportAs: 'mdSelect, matSelect',
1368
+ },] },
1369
+ ];
1370
+ /**
1371
+ * @nocollapse
1372
+ */
1373
+ MdSelect.ctorParameters = function () { return [
1374
+ { type: ViewportRuler, },
1375
+ { type: ChangeDetectorRef, },
1376
+ { type: Platform, },
1377
+ { type: Renderer2, },
1378
+ { type: ElementRef, },
1379
+ { type: Directionality, decorators: [{ type: Optional },] },
1380
+ { type: NgForm, decorators: [{ type: Optional },] },
1381
+ { type: FormGroupDirective, decorators: [{ type: Optional },] },
1382
+ { type: NgControl, decorators: [{ type: Self }, { type: Optional },] },
1383
+ { type: undefined, decorators: [{ type: Attribute, args: ['tabindex',] },] },
1384
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_PLACEHOLDER_GLOBAL_OPTIONS,] },] },
1385
+ { type: undefined, decorators: [{ type: Inject, args: [MD_SELECT_SCROLL_STRATEGY,] },] },
1386
+ ]; };
1387
+ MdSelect.propDecorators = {
1388
+ 'trigger': [{ type: ViewChild, args: ['trigger',] },],
1389
+ 'overlayDir': [{ type: ViewChild, args: [ConnectedOverlayDirective,] },],
1390
+ 'options': [{ type: ContentChildren, args: [MdOption, { descendants: true },] },],
1391
+ 'optionGroups': [{ type: ContentChildren, args: [MdOptgroup,] },],
1392
+ 'panelClass': [{ type: Input },],
1393
+ 'customTrigger': [{ type: ContentChild, args: [MdSelectTrigger,] },],
1394
+ 'placeholder': [{ type: Input },],
1395
+ 'required': [{ type: Input },],
1396
+ 'multiple': [{ type: Input },],
1397
+ 'compareWith': [{ type: Input },],
1398
+ 'floatPlaceholder': [{ type: Input },],
1399
+ 'value': [{ type: Input },],
1400
+ 'disableRipple': [{ type: Input },],
1401
+ 'ariaLabel': [{ type: Input, args: ['aria-label',] },],
1402
+ 'ariaLabelledby': [{ type: Input, args: ['aria-labelledby',] },],
1403
+ 'onOpen': [{ type: Output },],
1404
+ 'onClose': [{ type: Output },],
1405
+ 'change': [{ type: Output },],
1406
+ 'valueChange': [{ type: Output },],
1407
+ };
1408
+ /**
1409
+ * Clamps a value n between min and max values.
1410
+ * @param {?} min
1411
+ * @param {?} n
1412
+ * @param {?} max
1413
+ * @return {?}
1414
+ */
1415
+ function clampValue(min, n, max) {
1416
+ return Math.min(Math.max(min, n), max);
1417
+ }
1418
+ var MdSelectModule = (function () {
1419
+ function MdSelectModule() {
1420
+ }
1421
+ return MdSelectModule;
1422
+ }());
1423
+ MdSelectModule.decorators = [
1424
+ { type: NgModule, args: [{
1425
+ imports: [
1426
+ CommonModule,
1427
+ OverlayModule,
1428
+ MdOptionModule,
1429
+ MdCommonModule,
1430
+ ],
1431
+ exports: [MdSelect, MdSelectTrigger, MdOptionModule, MdCommonModule],
1432
+ declarations: [MdSelect, MdSelectTrigger],
1433
+ providers: [MD_SELECT_SCROLL_STRATEGY_PROVIDER]
1434
+ },] },
1435
+ ];
1436
+ /**
1437
+ * @nocollapse
1438
+ */
1439
+ MdSelectModule.ctorParameters = function () { return []; };
1440
+ /**
1441
+ * Generated bundle index. Do not edit.
1442
+ */
1443
+ export { fadeInContent, transformPanel, transformPlaceholder, MdSelectModule, SELECT_ITEM_HEIGHT, SELECT_PANEL_MAX_HEIGHT, SELECT_MAX_OPTIONS_DISPLAYED, SELECT_TRIGGER_HEIGHT, SELECT_OPTION_HEIGHT_ADJUSTMENT, SELECT_PANEL_PADDING_X, SELECT_PANEL_INDENT_PADDING_X, SELECT_MULTIPLE_PANEL_PADDING_X, SELECT_PANEL_PADDING_Y, SELECT_PANEL_VIEWPORT_PADDING, MD_SELECT_SCROLL_STRATEGY, MD_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, MD_SELECT_SCROLL_STRATEGY_PROVIDER, MdSelectChange, MdSelectBase, _MdSelectMixinBase, MdSelectTrigger, MdSelect, MD_SELECT_SCROLL_STRATEGY as MAT_SELECT_SCROLL_STRATEGY, MD_SELECT_SCROLL_STRATEGY_PROVIDER as MAT_SELECT_SCROLL_STRATEGY_PROVIDER, MD_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY as MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, MdSelect as MatSelect, MdSelectBase as MatSelectBase, MdSelectChange as MatSelectChange, MdSelectModule as MatSelectModule, MdSelectTrigger as MatSelectTrigger };
1444
+ //# sourceMappingURL=select.es5.js.map