@angular/material 2.0.0-beta.0 → 2.0.0-beta.12

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