@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,3542 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google Inc. All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ (function (global, factory) {
9
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/a11y'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/collections'), require('@angular/cdk/keycodes'), require('@angular/cdk/rxjs'), require('@angular/forms'), require('@angular/common'), require('@angular/cdk/platform'), require('@angular/animations'), require('rxjs/Subject'), require('@angular/platform-browser'), require('rxjs/observable/fromEvent'), require('rxjs/observable/merge'), require('rxjs/Subscription')) :
10
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/a11y', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/collections', '@angular/cdk/keycodes', '@angular/cdk/rxjs', '@angular/forms', '@angular/common', '@angular/cdk/platform', '@angular/animations', 'rxjs/Subject', '@angular/platform-browser', 'rxjs/observable/fromEvent', 'rxjs/observable/merge', 'rxjs/Subscription'], factory) :
11
+ (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.chips = global.ng.material.chips || {}),global.ng.core,global.ng.cdk.a11y,global.ng.cdk.bidi,global.ng.cdk.coercion,global.ng.cdk.collections,global.ng.cdk.keycodes,global.ng.cdk.rxjs,global.ng.forms,global.ng.common,global.ng.cdk.platform,global.ng.animations,global.Rx,global.ng.platformBrowser,global.Rx.Observable,global.Rx.Observable,global.Rx));
12
+ }(this, (function (exports,_angular_core,_angular_cdk_a11y,_angular_cdk_bidi,_angular_cdk_coercion,_angular_cdk_collections,_angular_cdk_keycodes,_angular_cdk_rxjs,_angular_forms,_angular_common,_angular_cdk_platform,_angular_animations,rxjs_Subject,_angular_platformBrowser,rxjs_observable_fromEvent,rxjs_observable_merge,rxjs_Subscription) { '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
+ * Injection token that configures whether the Material sanity checks are enabled.
43
+ */
44
+ var MATERIAL_SANITY_CHECKS = new _angular_core.InjectionToken('mat-sanity-checks');
45
+ /**
46
+ * Mixin to augment a directive with a `disabled` property.
47
+ * @template T
48
+ * @param {?} base
49
+ * @return {?}
50
+ */
51
+ function mixinDisabled(base) {
52
+ return (function (_super) {
53
+ __extends(class_1, _super);
54
+ /**
55
+ * @param {...?} args
56
+ */
57
+ function class_1() {
58
+ var args = [];
59
+ for (var _i = 0; _i < arguments.length; _i++) {
60
+ args[_i] = arguments[_i];
61
+ }
62
+ var _this = _super.apply(this, args) || this;
63
+ _this._disabled = false;
64
+ return _this;
65
+ }
66
+ Object.defineProperty(class_1.prototype, "disabled", {
67
+ /**
68
+ * @return {?}
69
+ */
70
+ get: function () { return this._disabled; },
71
+ /**
72
+ * @param {?} value
73
+ * @return {?}
74
+ */
75
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
76
+ enumerable: true,
77
+ configurable: true
78
+ });
79
+ return class_1;
80
+ }(base));
81
+ }
82
+
83
+ /**
84
+ * Mixin to augment a directive with a `color` property.
85
+ * @template T
86
+ * @param {?} base
87
+ * @param {?=} defaultColor
88
+ * @return {?}
89
+ */
90
+ function mixinColor(base, defaultColor) {
91
+ return (function (_super) {
92
+ __extends(class_1, _super);
93
+ /**
94
+ * @param {...?} args
95
+ */
96
+ function class_1() {
97
+ var args = [];
98
+ for (var _i = 0; _i < arguments.length; _i++) {
99
+ args[_i] = arguments[_i];
100
+ }
101
+ var _this = _super.apply(this, args) || this;
102
+ // Set the default color that can be specified from the mixin.
103
+ _this.color = defaultColor;
104
+ return _this;
105
+ }
106
+ Object.defineProperty(class_1.prototype, "color", {
107
+ /**
108
+ * @return {?}
109
+ */
110
+ get: function () { return this._color; },
111
+ /**
112
+ * @param {?} value
113
+ * @return {?}
114
+ */
115
+ set: function (value) {
116
+ var /** @type {?} */ colorPalette = value || defaultColor;
117
+ if (colorPalette !== this._color) {
118
+ if (this._color) {
119
+ this._renderer.removeClass(this._elementRef.nativeElement, "mat-" + this._color);
120
+ }
121
+ if (colorPalette) {
122
+ this._renderer.addClass(this._elementRef.nativeElement, "mat-" + colorPalette);
123
+ }
124
+ this._color = colorPalette;
125
+ }
126
+ },
127
+ enumerable: true,
128
+ configurable: true
129
+ });
130
+ return class_1;
131
+ }(base));
132
+ }
133
+
134
+ /**
135
+ * InjectionToken for datepicker that can be used to override default locale code.
136
+ */
137
+ var MAT_DATE_LOCALE = new _angular_core.InjectionToken('MAT_DATE_LOCALE');
138
+ /**
139
+ * Adapts type `D` to be usable as a date by cdk-based components that work with dates.
140
+ * @abstract
141
+ */
142
+ var DateAdapter = (function () {
143
+ function DateAdapter() {
144
+ this._localeChanges = new rxjs_Subject.Subject();
145
+ }
146
+ Object.defineProperty(DateAdapter.prototype, "localeChanges", {
147
+ /**
148
+ * A stream that emits when the locale changes.
149
+ * @return {?}
150
+ */
151
+ get: function () { return this._localeChanges; },
152
+ enumerable: true,
153
+ configurable: true
154
+ });
155
+ /**
156
+ * Gets the year component of the given date.
157
+ * @abstract
158
+ * @param {?} date The date to extract the year from.
159
+ * @return {?} The year component.
160
+ */
161
+ DateAdapter.prototype.getYear = function (date) { };
162
+ /**
163
+ * Gets the month component of the given date.
164
+ * @abstract
165
+ * @param {?} date The date to extract the month from.
166
+ * @return {?} The month component (0-indexed, 0 = January).
167
+ */
168
+ DateAdapter.prototype.getMonth = function (date) { };
169
+ /**
170
+ * Gets the date of the month component of the given date.
171
+ * @abstract
172
+ * @param {?} date The date to extract the date of the month from.
173
+ * @return {?} The month component (1-indexed, 1 = first of month).
174
+ */
175
+ DateAdapter.prototype.getDate = function (date) { };
176
+ /**
177
+ * Gets the day of the week component of the given date.
178
+ * @abstract
179
+ * @param {?} date The date to extract the day of the week from.
180
+ * @return {?} The month component (0-indexed, 0 = Sunday).
181
+ */
182
+ DateAdapter.prototype.getDayOfWeek = function (date) { };
183
+ /**
184
+ * Gets a list of names for the months.
185
+ * @abstract
186
+ * @param {?} style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').
187
+ * @return {?} An ordered list of all month names, starting with January.
188
+ */
189
+ DateAdapter.prototype.getMonthNames = function (style$$1) { };
190
+ /**
191
+ * Gets a list of names for the dates of the month.
192
+ * @abstract
193
+ * @return {?} An ordered list of all date of the month names, starting with '1'.
194
+ */
195
+ DateAdapter.prototype.getDateNames = function () { };
196
+ /**
197
+ * Gets a list of names for the days of the week.
198
+ * @abstract
199
+ * @param {?} style The naming style (e.g. long = 'Sunday', short = 'Sun', narrow = 'S').
200
+ * @return {?} An ordered list of all weekday names, starting with Sunday.
201
+ */
202
+ DateAdapter.prototype.getDayOfWeekNames = function (style$$1) { };
203
+ /**
204
+ * Gets the name for the year of the given date.
205
+ * @abstract
206
+ * @param {?} date The date to get the year name for.
207
+ * @return {?} The name of the given year (e.g. '2017').
208
+ */
209
+ DateAdapter.prototype.getYearName = function (date) { };
210
+ /**
211
+ * Gets the first day of the week.
212
+ * @abstract
213
+ * @return {?} The first day of the week (0-indexed, 0 = Sunday).
214
+ */
215
+ DateAdapter.prototype.getFirstDayOfWeek = function () { };
216
+ /**
217
+ * Gets the number of days in the month of the given date.
218
+ * @abstract
219
+ * @param {?} date The date whose month should be checked.
220
+ * @return {?} The number of days in the month of the given date.
221
+ */
222
+ DateAdapter.prototype.getNumDaysInMonth = function (date) { };
223
+ /**
224
+ * Clones the given date.
225
+ * @abstract
226
+ * @param {?} date The date to clone
227
+ * @return {?} A new date equal to the given date.
228
+ */
229
+ DateAdapter.prototype.clone = function (date) { };
230
+ /**
231
+ * Creates a date with the given year, month, and date. Does not allow over/under-flow of the
232
+ * month and date.
233
+ * @abstract
234
+ * @param {?} year The full year of the date. (e.g. 89 means the year 89, not the year 1989).
235
+ * @param {?} month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.
236
+ * @param {?} date The date of month of the date. Must be an integer 1 - length of the given month.
237
+ * @return {?} The new date, or null if invalid.
238
+ */
239
+ DateAdapter.prototype.createDate = function (year, month, date) { };
240
+ /**
241
+ * Gets today's date.
242
+ * @abstract
243
+ * @return {?} Today's date.
244
+ */
245
+ DateAdapter.prototype.today = function () { };
246
+ /**
247
+ * Parses a date from a value.
248
+ * @abstract
249
+ * @param {?} value The value to parse.
250
+ * @param {?} parseFormat The expected format of the value being parsed
251
+ * (type is implementation-dependent).
252
+ * @return {?} The parsed date.
253
+ */
254
+ DateAdapter.prototype.parse = function (value, parseFormat) { };
255
+ /**
256
+ * Formats a date as a string.
257
+ * @abstract
258
+ * @param {?} date The value to format.
259
+ * @param {?} displayFormat The format to use to display the date as a string.
260
+ * @return {?} The formatted date string.
261
+ */
262
+ DateAdapter.prototype.format = function (date, displayFormat) { };
263
+ /**
264
+ * Adds the given number of years to the date. Years are counted as if flipping 12 pages on the
265
+ * calendar for each year and then finding the closest date in the new month. For example when
266
+ * adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.
267
+ * @abstract
268
+ * @param {?} date The date to add years to.
269
+ * @param {?} years The number of years to add (may be negative).
270
+ * @return {?} A new date equal to the given one with the specified number of years added.
271
+ */
272
+ DateAdapter.prototype.addCalendarYears = function (date, years) { };
273
+ /**
274
+ * Adds the given number of months to the date. Months are counted as if flipping a page on the
275
+ * calendar for each month and then finding the closest date in the new month. For example when
276
+ * adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.
277
+ * @abstract
278
+ * @param {?} date The date to add months to.
279
+ * @param {?} months The number of months to add (may be negative).
280
+ * @return {?} A new date equal to the given one with the specified number of months added.
281
+ */
282
+ DateAdapter.prototype.addCalendarMonths = function (date, months) { };
283
+ /**
284
+ * Adds the given number of days to the date. Days are counted as if moving one cell on the
285
+ * calendar for each day.
286
+ * @abstract
287
+ * @param {?} date The date to add days to.
288
+ * @param {?} days The number of days to add (may be negative).
289
+ * @return {?} A new date equal to the given one with the specified number of days added.
290
+ */
291
+ DateAdapter.prototype.addCalendarDays = function (date, days) { };
292
+ /**
293
+ * Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.
294
+ * @abstract
295
+ * @param {?} date The date to get the ISO date string for.
296
+ * @return {?} The ISO date string date string.
297
+ */
298
+ DateAdapter.prototype.toIso8601 = function (date) { };
299
+ /**
300
+ * Creates a date from an RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339).
301
+ * @abstract
302
+ * @param {?} iso8601String The ISO date string to create a date from
303
+ * @return {?} The date created from the ISO date string.
304
+ */
305
+ DateAdapter.prototype.fromIso8601 = function (iso8601String) { };
306
+ /**
307
+ * Checks whether the given object is considered a date instance by this DateAdapter.
308
+ * @abstract
309
+ * @param {?} obj The object to check
310
+ * @return {?} Whether the object is a date instance.
311
+ */
312
+ DateAdapter.prototype.isDateInstance = function (obj) { };
313
+ /**
314
+ * Checks whether the given date is valid.
315
+ * @abstract
316
+ * @param {?} date The date to check.
317
+ * @return {?} Whether the date is valid.
318
+ */
319
+ DateAdapter.prototype.isValid = function (date) { };
320
+ /**
321
+ * Sets the locale used for all dates.
322
+ * @param {?} locale The new locale.
323
+ * @return {?}
324
+ */
325
+ DateAdapter.prototype.setLocale = function (locale) {
326
+ this.locale = locale;
327
+ this._localeChanges.next();
328
+ };
329
+ /**
330
+ * Compares two dates.
331
+ * @param {?} first The first date to compare.
332
+ * @param {?} second The second date to compare.
333
+ * @return {?} 0 if the dates are equal, a number less than 0 if the first date is earlier,
334
+ * a number greater than 0 if the first date is later.
335
+ */
336
+ DateAdapter.prototype.compareDate = function (first$$1, second) {
337
+ return this.getYear(first$$1) - this.getYear(second) ||
338
+ this.getMonth(first$$1) - this.getMonth(second) ||
339
+ this.getDate(first$$1) - this.getDate(second);
340
+ };
341
+ /**
342
+ * Checks if two dates are equal.
343
+ * @param {?} first The first date to check.
344
+ * @param {?} second The second date to check.
345
+ * Null dates are considered equal to other null dates.
346
+ * @return {?}
347
+ */
348
+ DateAdapter.prototype.sameDate = function (first$$1, second) {
349
+ return first$$1 && second ? !this.compareDate(first$$1, second) : first$$1 == second;
350
+ };
351
+ /**
352
+ * Clamp the given date between min and max dates.
353
+ * @param {?} date The date to clamp.
354
+ * @param {?=} min The minimum value to allow. If null or omitted no min is enforced.
355
+ * @param {?=} max The maximum value to allow. If null or omitted no max is enforced.
356
+ * @return {?} `min` if `date` is less than `min`, `max` if date is greater than `max`,
357
+ * otherwise `date`.
358
+ */
359
+ DateAdapter.prototype.clampDate = function (date, min, max) {
360
+ if (min && this.compareDate(date, min) < 0) {
361
+ return min;
362
+ }
363
+ if (max && this.compareDate(date, max) > 0) {
364
+ return max;
365
+ }
366
+ return date;
367
+ };
368
+ return DateAdapter;
369
+ }());
370
+
371
+ /**
372
+ * Extends an object with the *enumerable* and *own* properties of one or more source objects,
373
+ * similar to Object.assign.
374
+ *
375
+ * @param {?} dest The object which will have properties copied to it.
376
+ * @param {...?} sources The source objects from which properties will be copied.
377
+ * @return {?}
378
+ */
379
+ function extendObject(dest) {
380
+ var sources = [];
381
+ for (var _i = 1; _i < arguments.length; _i++) {
382
+ sources[_i - 1] = arguments[_i];
383
+ }
384
+ if (dest == null) {
385
+ throw TypeError('Cannot convert undefined or null to object');
386
+ }
387
+ for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
388
+ var source = sources_1[_a];
389
+ if (source != null) {
390
+ for (var /** @type {?} */ key in source) {
391
+ if (source.hasOwnProperty(key)) {
392
+ dest[key] = source[key];
393
+ }
394
+ }
395
+ }
396
+ }
397
+ return dest;
398
+ }
399
+
400
+ /**
401
+ * Whether the browser supports the Intl API.
402
+ */
403
+ var SUPPORTS_INTL_API = typeof Intl != 'undefined';
404
+ /**
405
+ * The default month names to use if Intl API is not available.
406
+ */
407
+ var DEFAULT_MONTH_NAMES = {
408
+ 'long': [
409
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',
410
+ 'October', 'November', 'December'
411
+ ],
412
+ 'short': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
413
+ 'narrow': ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']
414
+ };
415
+ /**
416
+ * The default date names to use if Intl API is not available.
417
+ */
418
+ var DEFAULT_DATE_NAMES = range(31, function (i) { return String(i + 1); });
419
+ /**
420
+ * The default day of the week names to use if Intl API is not available.
421
+ */
422
+ var DEFAULT_DAY_OF_WEEK_NAMES = {
423
+ 'long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
424
+ 'short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
425
+ 'narrow': ['S', 'M', 'T', 'W', 'T', 'F', 'S']
426
+ };
427
+ /**
428
+ * Matches strings that have the form of a valid RFC 3339 string
429
+ * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
430
+ * because the regex will match strings an with out of bounds month, date, etc.
431
+ */
432
+ var ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
433
+ /**
434
+ * Creates an array and fills it with values.
435
+ * @template T
436
+ * @param {?} length
437
+ * @param {?} valueFunction
438
+ * @return {?}
439
+ */
440
+ function range(length, valueFunction) {
441
+ var /** @type {?} */ valuesArray = Array(length);
442
+ for (var /** @type {?} */ i = 0; i < length; i++) {
443
+ valuesArray[i] = valueFunction(i);
444
+ }
445
+ return valuesArray;
446
+ }
447
+ /**
448
+ * Adapts the native JS Date for use with cdk-based components that work with dates.
449
+ */
450
+ var NativeDateAdapter = (function (_super) {
451
+ __extends(NativeDateAdapter, _super);
452
+ /**
453
+ * @param {?} matDateLocale
454
+ */
455
+ function NativeDateAdapter(matDateLocale) {
456
+ var _this = _super.call(this) || this;
457
+ /**
458
+ * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.
459
+ * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off
460
+ * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`
461
+ * will produce `'8/13/1800'`.
462
+ */
463
+ _this.useUtcForDisplay = true;
464
+ _super.prototype.setLocale.call(_this, matDateLocale);
465
+ return _this;
466
+ }
467
+ /**
468
+ * @param {?} date
469
+ * @return {?}
470
+ */
471
+ NativeDateAdapter.prototype.getYear = function (date) {
472
+ return date.getFullYear();
473
+ };
474
+ /**
475
+ * @param {?} date
476
+ * @return {?}
477
+ */
478
+ NativeDateAdapter.prototype.getMonth = function (date) {
479
+ return date.getMonth();
480
+ };
481
+ /**
482
+ * @param {?} date
483
+ * @return {?}
484
+ */
485
+ NativeDateAdapter.prototype.getDate = function (date) {
486
+ return date.getDate();
487
+ };
488
+ /**
489
+ * @param {?} date
490
+ * @return {?}
491
+ */
492
+ NativeDateAdapter.prototype.getDayOfWeek = function (date) {
493
+ return date.getDay();
494
+ };
495
+ /**
496
+ * @param {?} style
497
+ * @return {?}
498
+ */
499
+ NativeDateAdapter.prototype.getMonthNames = function (style$$1) {
500
+ var _this = this;
501
+ if (SUPPORTS_INTL_API) {
502
+ var /** @type {?} */ dtf_1 = new Intl.DateTimeFormat(this.locale, { month: style$$1 });
503
+ return range(12, function (i) { return _this._stripDirectionalityCharacters(dtf_1.format(new Date(2017, i, 1))); });
504
+ }
505
+ return DEFAULT_MONTH_NAMES[style$$1];
506
+ };
507
+ /**
508
+ * @return {?}
509
+ */
510
+ NativeDateAdapter.prototype.getDateNames = function () {
511
+ var _this = this;
512
+ if (SUPPORTS_INTL_API) {
513
+ var /** @type {?} */ dtf_2 = new Intl.DateTimeFormat(this.locale, { day: 'numeric' });
514
+ return range(31, function (i) { return _this._stripDirectionalityCharacters(dtf_2.format(new Date(2017, 0, i + 1))); });
515
+ }
516
+ return DEFAULT_DATE_NAMES;
517
+ };
518
+ /**
519
+ * @param {?} style
520
+ * @return {?}
521
+ */
522
+ NativeDateAdapter.prototype.getDayOfWeekNames = function (style$$1) {
523
+ var _this = this;
524
+ if (SUPPORTS_INTL_API) {
525
+ var /** @type {?} */ dtf_3 = new Intl.DateTimeFormat(this.locale, { weekday: style$$1 });
526
+ return range(7, function (i) { return _this._stripDirectionalityCharacters(dtf_3.format(new Date(2017, 0, i + 1))); });
527
+ }
528
+ return DEFAULT_DAY_OF_WEEK_NAMES[style$$1];
529
+ };
530
+ /**
531
+ * @param {?} date
532
+ * @return {?}
533
+ */
534
+ NativeDateAdapter.prototype.getYearName = function (date) {
535
+ if (SUPPORTS_INTL_API) {
536
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric' });
537
+ return this._stripDirectionalityCharacters(dtf.format(date));
538
+ }
539
+ return String(this.getYear(date));
540
+ };
541
+ /**
542
+ * @return {?}
543
+ */
544
+ NativeDateAdapter.prototype.getFirstDayOfWeek = function () {
545
+ // We can't tell using native JS Date what the first day of the week is, we default to Sunday.
546
+ return 0;
547
+ };
548
+ /**
549
+ * @param {?} date
550
+ * @return {?}
551
+ */
552
+ NativeDateAdapter.prototype.getNumDaysInMonth = function (date) {
553
+ return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
554
+ };
555
+ /**
556
+ * @param {?} date
557
+ * @return {?}
558
+ */
559
+ NativeDateAdapter.prototype.clone = function (date) {
560
+ return this.createDate(this.getYear(date), this.getMonth(date), this.getDate(date));
561
+ };
562
+ /**
563
+ * @param {?} year
564
+ * @param {?} month
565
+ * @param {?} date
566
+ * @return {?}
567
+ */
568
+ NativeDateAdapter.prototype.createDate = function (year, month, date) {
569
+ // Check for invalid month and date (except upper bound on date which we have to check after
570
+ // creating the Date).
571
+ if (month < 0 || month > 11) {
572
+ throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
573
+ }
574
+ if (date < 1) {
575
+ throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
576
+ }
577
+ var /** @type {?} */ result = this._createDateWithOverflow(year, month, date);
578
+ // Check that the date wasn't above the upper bound for the month, causing the month to overflow
579
+ if (result.getMonth() != month) {
580
+ throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
581
+ }
582
+ return result;
583
+ };
584
+ /**
585
+ * @return {?}
586
+ */
587
+ NativeDateAdapter.prototype.today = function () {
588
+ return new Date();
589
+ };
590
+ /**
591
+ * @param {?} value
592
+ * @return {?}
593
+ */
594
+ NativeDateAdapter.prototype.parse = function (value) {
595
+ // We have no way using the native JS Date to set the parse format or locale, so we ignore these
596
+ // parameters.
597
+ if (typeof value == 'number') {
598
+ return new Date(value);
599
+ }
600
+ return value ? new Date(Date.parse(value)) : null;
601
+ };
602
+ /**
603
+ * @param {?} date
604
+ * @param {?} displayFormat
605
+ * @return {?}
606
+ */
607
+ NativeDateAdapter.prototype.format = function (date, displayFormat) {
608
+ if (!this.isValid(date)) {
609
+ throw Error('NativeDateAdapter: Cannot format invalid date.');
610
+ }
611
+ if (SUPPORTS_INTL_API) {
612
+ if (this.useUtcForDisplay) {
613
+ date = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
614
+ displayFormat = extendObject({}, displayFormat, { timeZone: 'utc' });
615
+ }
616
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
617
+ return this._stripDirectionalityCharacters(dtf.format(date));
618
+ }
619
+ return this._stripDirectionalityCharacters(date.toDateString());
620
+ };
621
+ /**
622
+ * @param {?} date
623
+ * @param {?} years
624
+ * @return {?}
625
+ */
626
+ NativeDateAdapter.prototype.addCalendarYears = function (date, years) {
627
+ return this.addCalendarMonths(date, years * 12);
628
+ };
629
+ /**
630
+ * @param {?} date
631
+ * @param {?} months
632
+ * @return {?}
633
+ */
634
+ NativeDateAdapter.prototype.addCalendarMonths = function (date, months) {
635
+ var /** @type {?} */ newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
636
+ // It's possible to wind up in the wrong month if the original month has more days than the new
637
+ // month. In this case we want to go to the last day of the desired month.
638
+ // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
639
+ // guarantee this.
640
+ if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
641
+ newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
642
+ }
643
+ return newDate;
644
+ };
645
+ /**
646
+ * @param {?} date
647
+ * @param {?} days
648
+ * @return {?}
649
+ */
650
+ NativeDateAdapter.prototype.addCalendarDays = function (date, days) {
651
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
652
+ };
653
+ /**
654
+ * @param {?} date
655
+ * @return {?}
656
+ */
657
+ NativeDateAdapter.prototype.toIso8601 = function (date) {
658
+ return [
659
+ date.getUTCFullYear(),
660
+ this._2digit(date.getUTCMonth() + 1),
661
+ this._2digit(date.getUTCDate())
662
+ ].join('-');
663
+ };
664
+ /**
665
+ * @param {?} iso8601String
666
+ * @return {?}
667
+ */
668
+ NativeDateAdapter.prototype.fromIso8601 = function (iso8601String) {
669
+ // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
670
+ // string is the right format first.
671
+ if (ISO_8601_REGEX.test(iso8601String)) {
672
+ var /** @type {?} */ d = new Date(iso8601String);
673
+ if (this.isValid(d)) {
674
+ return d;
675
+ }
676
+ }
677
+ return null;
678
+ };
679
+ /**
680
+ * @param {?} obj
681
+ * @return {?}
682
+ */
683
+ NativeDateAdapter.prototype.isDateInstance = function (obj) {
684
+ return obj instanceof Date;
685
+ };
686
+ /**
687
+ * @param {?} date
688
+ * @return {?}
689
+ */
690
+ NativeDateAdapter.prototype.isValid = function (date) {
691
+ return !isNaN(date.getTime());
692
+ };
693
+ /**
694
+ * Creates a date but allows the month and date to overflow.
695
+ * @param {?} year
696
+ * @param {?} month
697
+ * @param {?} date
698
+ * @return {?}
699
+ */
700
+ NativeDateAdapter.prototype._createDateWithOverflow = function (year, month, date) {
701
+ var /** @type {?} */ result = new Date(year, month, date);
702
+ // We need to correct for the fact that JS native Date treats years in range [0, 99] as
703
+ // abbreviations for 19xx.
704
+ if (year >= 0 && year < 100) {
705
+ result.setFullYear(this.getYear(result) - 1900);
706
+ }
707
+ return result;
708
+ };
709
+ /**
710
+ * Pads a number to make it two digits.
711
+ * @param {?} n The number to pad.
712
+ * @return {?} The padded number.
713
+ */
714
+ NativeDateAdapter.prototype._2digit = function (n) {
715
+ return ('00' + n).slice(-2);
716
+ };
717
+ /**
718
+ * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
719
+ * other browsers do not. We remove them to make output consistent and because they interfere with
720
+ * date parsing.
721
+ * @param {?} str The string to strip direction characters from.
722
+ * @return {?} The stripped string.
723
+ */
724
+ NativeDateAdapter.prototype._stripDirectionalityCharacters = function (str) {
725
+ return str.replace(/[\u200e\u200f]/g, '');
726
+ };
727
+ NativeDateAdapter.decorators = [
728
+ { type: _angular_core.Injectable },
729
+ ];
730
+ /**
731
+ * @nocollapse
732
+ */
733
+ NativeDateAdapter.ctorParameters = function () { return [
734
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_DATE_LOCALE,] },] },
735
+ ]; };
736
+ return NativeDateAdapter;
737
+ }(DateAdapter));
738
+
739
+ var MAT_DATE_FORMATS = new _angular_core.InjectionToken('mat-date-formats');
740
+
741
+ var GestureConfig = (function (_super) {
742
+ __extends(GestureConfig, _super);
743
+ function GestureConfig() {
744
+ var _this = _super.call(this) || this;
745
+ _this._hammer = typeof window !== 'undefined' ? ((window)).Hammer : null;
746
+ /* List of new event names to add to the gesture support list */
747
+ _this.events = _this._hammer ? [
748
+ 'longpress',
749
+ 'slide',
750
+ 'slidestart',
751
+ 'slideend',
752
+ 'slideright',
753
+ 'slideleft'
754
+ ] : [];
755
+ if (!_this._hammer && _angular_core.isDevMode()) {
756
+ console.warn('Could not find HammerJS. Certain Angular Material ' +
757
+ 'components may not work correctly.');
758
+ }
759
+ return _this;
760
+ }
761
+ /**
762
+ * Builds Hammer instance manually to add custom recognizers that match the Material Design spec.
763
+ *
764
+ * Our gesture names come from the Material Design gestures spec:
765
+ * https://www.google.com/design/spec/patterns/gestures.html#gestures-touch-mechanics
766
+ *
767
+ * More information on default recognizers can be found in Hammer docs:
768
+ * http://hammerjs.github.io/recognizer-pan/
769
+ * http://hammerjs.github.io/recognizer-press/
770
+ *
771
+ * @param {?} element Element to which to assign the new HammerJS gestures.
772
+ * @return {?} Newly-created HammerJS instance.
773
+ */
774
+ GestureConfig.prototype.buildHammer = function (element) {
775
+ var /** @type {?} */ mc = new this._hammer(element);
776
+ // Default Hammer Recognizers.
777
+ var /** @type {?} */ pan = new this._hammer.Pan();
778
+ var /** @type {?} */ swipe = new this._hammer.Swipe();
779
+ var /** @type {?} */ press = new this._hammer.Press();
780
+ // Notice that a HammerJS recognizer can only depend on one other recognizer once.
781
+ // Otherwise the previous `recognizeWith` will be dropped.
782
+ // TODO: Confirm threshold numbers with Material Design UX Team
783
+ var /** @type {?} */ slide = this._createRecognizer(pan, { event: 'slide', threshold: 0 }, swipe);
784
+ var /** @type {?} */ longpress = this._createRecognizer(press, { event: 'longpress', time: 500 });
785
+ // Overwrite the default `pan` event to use the swipe event.
786
+ pan.recognizeWith(swipe);
787
+ // Add customized gestures to Hammer manager
788
+ mc.add([swipe, press, pan, slide, longpress]);
789
+ return (mc);
790
+ };
791
+ /**
792
+ * Creates a new recognizer, without affecting the default recognizers of HammerJS
793
+ * @param {?} base
794
+ * @param {?} options
795
+ * @param {...?} inheritances
796
+ * @return {?}
797
+ */
798
+ GestureConfig.prototype._createRecognizer = function (base, options) {
799
+ var inheritances = [];
800
+ for (var _i = 2; _i < arguments.length; _i++) {
801
+ inheritances[_i - 2] = arguments[_i];
802
+ }
803
+ var /** @type {?} */ recognizer = new ((base.constructor))(options);
804
+ inheritances.push(base);
805
+ inheritances.forEach(function (item) { return recognizer.recognizeWith(item); });
806
+ return recognizer;
807
+ };
808
+ GestureConfig.decorators = [
809
+ { type: _angular_core.Injectable },
810
+ ];
811
+ /**
812
+ * @nocollapse
813
+ */
814
+ GestureConfig.ctorParameters = function () { return []; };
815
+ return GestureConfig;
816
+ }(_angular_platformBrowser.HammerGestureConfig));
817
+
818
+ var RippleState = {};
819
+ RippleState.FADING_IN = 0;
820
+ RippleState.VISIBLE = 1;
821
+ RippleState.FADING_OUT = 2;
822
+ RippleState.HIDDEN = 3;
823
+ RippleState[RippleState.FADING_IN] = "FADING_IN";
824
+ RippleState[RippleState.VISIBLE] = "VISIBLE";
825
+ RippleState[RippleState.FADING_OUT] = "FADING_OUT";
826
+ RippleState[RippleState.HIDDEN] = "HIDDEN";
827
+ /**
828
+ * Reference to a previously launched ripple element.
829
+ */
830
+ var RippleRef = (function () {
831
+ /**
832
+ * @param {?} _renderer
833
+ * @param {?} element
834
+ * @param {?} config
835
+ */
836
+ function RippleRef(_renderer, element, config) {
837
+ this._renderer = _renderer;
838
+ this.element = element;
839
+ this.config = config;
840
+ /**
841
+ * Current state of the ripple reference.
842
+ */
843
+ this.state = RippleState.HIDDEN;
844
+ }
845
+ /**
846
+ * Fades out the ripple element.
847
+ * @return {?}
848
+ */
849
+ RippleRef.prototype.fadeOut = function () {
850
+ this._renderer.fadeOutRipple(this);
851
+ };
852
+ return RippleRef;
853
+ }());
854
+
855
+ /**
856
+ * Fade-in duration for the ripples. Can be modified with the speedFactor option.
857
+ */
858
+ var RIPPLE_FADE_IN_DURATION = 450;
859
+ /**
860
+ * Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor.
861
+ */
862
+ var RIPPLE_FADE_OUT_DURATION = 400;
863
+ /**
864
+ * Helper service that performs DOM manipulations. Not intended to be used outside this module.
865
+ * The constructor takes a reference to the ripple directive's host element and a map of DOM
866
+ * event handlers to be installed on the element that triggers ripple animations.
867
+ * This will eventually become a custom renderer once Angular support exists.
868
+ * \@docs-private
869
+ */
870
+ var RippleRenderer = (function () {
871
+ /**
872
+ * @param {?} elementRef
873
+ * @param {?} _ngZone
874
+ * @param {?} platform
875
+ */
876
+ function RippleRenderer(elementRef, _ngZone, platform) {
877
+ this._ngZone = _ngZone;
878
+ /**
879
+ * Whether the pointer is currently being held on the trigger or not.
880
+ */
881
+ this._isPointerDown = false;
882
+ /**
883
+ * Events to be registered on the trigger element.
884
+ */
885
+ this._triggerEvents = new Map();
886
+ /**
887
+ * Set of currently active ripple references.
888
+ */
889
+ this._activeRipples = new Set();
890
+ /**
891
+ * Ripple config for all ripples created by events.
892
+ */
893
+ this.rippleConfig = {};
894
+ /**
895
+ * Whether mouse ripples should be created or not.
896
+ */
897
+ this.rippleDisabled = false;
898
+ // Only do anything if we're on the browser.
899
+ if (platform.isBrowser) {
900
+ this._containerElement = elementRef.nativeElement;
901
+ // Specify events which need to be registered on the trigger.
902
+ this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
903
+ this._triggerEvents.set('touchstart', this.onTouchstart.bind(this));
904
+ this._triggerEvents.set('mouseup', this.onPointerUp.bind(this));
905
+ this._triggerEvents.set('touchend', this.onPointerUp.bind(this));
906
+ this._triggerEvents.set('mouseleave', this.onPointerLeave.bind(this));
907
+ // By default use the host element as trigger element.
908
+ this.setTriggerElement(this._containerElement);
909
+ }
910
+ }
911
+ /**
912
+ * Fades in a ripple at the given coordinates.
913
+ * @param {?} x Coordinate within the element, along the X axis at which to start the ripple.
914
+ * @param {?} y
915
+ * @param {?=} config Extra ripple options.
916
+ * @return {?}
917
+ */
918
+ RippleRenderer.prototype.fadeInRipple = function (x, y, config) {
919
+ var _this = this;
920
+ if (config === void 0) { config = {}; }
921
+ var /** @type {?} */ containerRect = this._containerElement.getBoundingClientRect();
922
+ if (config.centered) {
923
+ x = containerRect.left + containerRect.width / 2;
924
+ y = containerRect.top + containerRect.height / 2;
925
+ }
926
+ var /** @type {?} */ radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
927
+ var /** @type {?} */ duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
928
+ var /** @type {?} */ offsetX = x - containerRect.left;
929
+ var /** @type {?} */ offsetY = y - containerRect.top;
930
+ var /** @type {?} */ ripple = document.createElement('div');
931
+ ripple.classList.add('mat-ripple-element');
932
+ ripple.style.left = offsetX - radius + "px";
933
+ ripple.style.top = offsetY - radius + "px";
934
+ ripple.style.height = radius * 2 + "px";
935
+ ripple.style.width = radius * 2 + "px";
936
+ // If the color is not set, the default CSS color will be used.
937
+ ripple.style.backgroundColor = config.color || null;
938
+ ripple.style.transitionDuration = duration + "ms";
939
+ this._containerElement.appendChild(ripple);
940
+ // By default the browser does not recalculate the styles of dynamically created
941
+ // ripple elements. This is critical because then the `scale` would not animate properly.
942
+ enforceStyleRecalculation(ripple);
943
+ ripple.style.transform = 'scale(1)';
944
+ // Exposed reference to the ripple that will be returned.
945
+ var /** @type {?} */ rippleRef = new RippleRef(this, ripple, config);
946
+ rippleRef.state = RippleState.FADING_IN;
947
+ // Add the ripple reference to the list of all active ripples.
948
+ this._activeRipples.add(rippleRef);
949
+ // Wait for the ripple element to be completely faded in.
950
+ // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
951
+ this.runTimeoutOutsideZone(function () {
952
+ rippleRef.state = RippleState.VISIBLE;
953
+ if (!config.persistent && !_this._isPointerDown) {
954
+ rippleRef.fadeOut();
955
+ }
956
+ }, duration);
957
+ return rippleRef;
958
+ };
959
+ /**
960
+ * Fades out a ripple reference.
961
+ * @param {?} rippleRef
962
+ * @return {?}
963
+ */
964
+ RippleRenderer.prototype.fadeOutRipple = function (rippleRef) {
965
+ // For ripples that are not active anymore, don't re-un the fade-out animation.
966
+ if (!this._activeRipples.delete(rippleRef)) {
967
+ return;
968
+ }
969
+ var /** @type {?} */ rippleEl = rippleRef.element;
970
+ rippleEl.style.transitionDuration = RIPPLE_FADE_OUT_DURATION + "ms";
971
+ rippleEl.style.opacity = '0';
972
+ rippleRef.state = RippleState.FADING_OUT;
973
+ // Once the ripple faded out, the ripple can be safely removed from the DOM.
974
+ this.runTimeoutOutsideZone(function () {
975
+ rippleRef.state = RippleState.HIDDEN; /** @type {?} */
976
+ ((rippleEl.parentNode)).removeChild(rippleEl);
977
+ }, RIPPLE_FADE_OUT_DURATION);
978
+ };
979
+ /**
980
+ * Fades out all currently active ripples.
981
+ * @return {?}
982
+ */
983
+ RippleRenderer.prototype.fadeOutAll = function () {
984
+ this._activeRipples.forEach(function (ripple) { return ripple.fadeOut(); });
985
+ };
986
+ /**
987
+ * Sets the trigger element and registers the mouse events.
988
+ * @param {?} element
989
+ * @return {?}
990
+ */
991
+ RippleRenderer.prototype.setTriggerElement = function (element) {
992
+ var _this = this;
993
+ // Remove all previously register event listeners from the trigger element.
994
+ if (this._triggerElement) {
995
+ this._triggerEvents.forEach(function (fn, type) {
996
+ ((_this._triggerElement)).removeEventListener(type, fn);
997
+ });
998
+ }
999
+ if (element) {
1000
+ // If the element is not null, register all event listeners on the trigger element.
1001
+ this._ngZone.runOutsideAngular(function () {
1002
+ _this._triggerEvents.forEach(function (fn, type) { return element.addEventListener(type, fn); });
1003
+ });
1004
+ }
1005
+ this._triggerElement = element;
1006
+ };
1007
+ /**
1008
+ * Function being called whenever the trigger is being pressed.
1009
+ * @param {?} event
1010
+ * @return {?}
1011
+ */
1012
+ RippleRenderer.prototype.onMousedown = function (event) {
1013
+ if (!this.rippleDisabled) {
1014
+ this._isPointerDown = true;
1015
+ this.fadeInRipple(event.clientX, event.clientY, this.rippleConfig);
1016
+ }
1017
+ };
1018
+ /**
1019
+ * Function being called whenever the pointer is being released.
1020
+ * @return {?}
1021
+ */
1022
+ RippleRenderer.prototype.onPointerUp = function () {
1023
+ this._isPointerDown = false;
1024
+ // Fade-out all ripples that are completely visible and not persistent.
1025
+ this._activeRipples.forEach(function (ripple) {
1026
+ if (!ripple.config.persistent && ripple.state === RippleState.VISIBLE) {
1027
+ ripple.fadeOut();
1028
+ }
1029
+ });
1030
+ };
1031
+ /**
1032
+ * Function being called whenever the pointer leaves the trigger.
1033
+ * @return {?}
1034
+ */
1035
+ RippleRenderer.prototype.onPointerLeave = function () {
1036
+ if (this._isPointerDown) {
1037
+ this.onPointerUp();
1038
+ }
1039
+ };
1040
+ /**
1041
+ * Function being called whenever the trigger is being touched.
1042
+ * @param {?} event
1043
+ * @return {?}
1044
+ */
1045
+ RippleRenderer.prototype.onTouchstart = function (event) {
1046
+ if (!this.rippleDisabled) {
1047
+ var _a = event.touches[0], clientX = _a.clientX, clientY = _a.clientY;
1048
+ this._isPointerDown = true;
1049
+ this.fadeInRipple(clientX, clientY, this.rippleConfig);
1050
+ }
1051
+ };
1052
+ /**
1053
+ * Runs a timeout outside of the Angular zone to avoid triggering the change detection.
1054
+ * @param {?} fn
1055
+ * @param {?=} delay
1056
+ * @return {?}
1057
+ */
1058
+ RippleRenderer.prototype.runTimeoutOutsideZone = function (fn, delay) {
1059
+ if (delay === void 0) { delay = 0; }
1060
+ this._ngZone.runOutsideAngular(function () { return setTimeout(fn, delay); });
1061
+ };
1062
+ return RippleRenderer;
1063
+ }());
1064
+ /**
1065
+ * @param {?} element
1066
+ * @return {?}
1067
+ */
1068
+ function enforceStyleRecalculation(element) {
1069
+ // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1070
+ // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1071
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1072
+ window.getComputedStyle(element).getPropertyValue('opacity');
1073
+ }
1074
+ /**
1075
+ * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1076
+ * @param {?} x
1077
+ * @param {?} y
1078
+ * @param {?} rect
1079
+ * @return {?}
1080
+ */
1081
+ function distanceToFurthestCorner(x, y, rect) {
1082
+ var /** @type {?} */ distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
1083
+ var /** @type {?} */ distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
1084
+ return Math.sqrt(distX * distX + distY * distY);
1085
+ }
1086
+
1087
+ /**
1088
+ * Injection token that can be used to specify the global ripple options.
1089
+ */
1090
+ var MAT_RIPPLE_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-ripple-global-options');
1091
+ var MatRipple = (function () {
1092
+ /**
1093
+ * @param {?} elementRef
1094
+ * @param {?} ngZone
1095
+ * @param {?} platform
1096
+ * @param {?} globalOptions
1097
+ */
1098
+ function MatRipple(elementRef, ngZone, platform, globalOptions) {
1099
+ /**
1100
+ * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
1101
+ * will be the distance from the center of the ripple to the furthest corner of the host element's
1102
+ * bounding rectangle.
1103
+ */
1104
+ this.radius = 0;
1105
+ /**
1106
+ * If set, the normal duration of ripple animations is divided by this value. For example,
1107
+ * setting it to 0.5 will cause the animations to take twice as long.
1108
+ * A changed speedFactor will not modify the fade-out duration of the ripples.
1109
+ */
1110
+ this.speedFactor = 1;
1111
+ this._rippleRenderer = new RippleRenderer(elementRef, ngZone, platform);
1112
+ this._globalOptions = globalOptions ? globalOptions : {};
1113
+ this._updateRippleRenderer();
1114
+ }
1115
+ /**
1116
+ * @param {?} changes
1117
+ * @return {?}
1118
+ */
1119
+ MatRipple.prototype.ngOnChanges = function (changes) {
1120
+ if ((changes['trigger'] || changes['_matRippleTrigger']) && this.trigger) {
1121
+ this._rippleRenderer.setTriggerElement(this.trigger);
1122
+ }
1123
+ this._updateRippleRenderer();
1124
+ };
1125
+ /**
1126
+ * @return {?}
1127
+ */
1128
+ MatRipple.prototype.ngOnDestroy = function () {
1129
+ // Set the trigger element to null to cleanup all listeners.
1130
+ this._rippleRenderer.setTriggerElement(null);
1131
+ };
1132
+ /**
1133
+ * Launches a manual ripple at the specified position.
1134
+ * @param {?} x
1135
+ * @param {?} y
1136
+ * @param {?=} config
1137
+ * @return {?}
1138
+ */
1139
+ MatRipple.prototype.launch = function (x, y, config) {
1140
+ if (config === void 0) { config = this.rippleConfig; }
1141
+ return this._rippleRenderer.fadeInRipple(x, y, config);
1142
+ };
1143
+ /**
1144
+ * Fades out all currently showing ripple elements.
1145
+ * @return {?}
1146
+ */
1147
+ MatRipple.prototype.fadeOutAll = function () {
1148
+ this._rippleRenderer.fadeOutAll();
1149
+ };
1150
+ Object.defineProperty(MatRipple.prototype, "rippleConfig", {
1151
+ /**
1152
+ * Ripple configuration from the directive's input values.
1153
+ * @return {?}
1154
+ */
1155
+ get: function () {
1156
+ return {
1157
+ centered: this.centered,
1158
+ speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
1159
+ radius: this.radius,
1160
+ color: this.color
1161
+ };
1162
+ },
1163
+ enumerable: true,
1164
+ configurable: true
1165
+ });
1166
+ /**
1167
+ * Updates the ripple renderer with the latest ripple configuration.
1168
+ * @return {?}
1169
+ */
1170
+ MatRipple.prototype._updateRippleRenderer = function () {
1171
+ this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
1172
+ this._rippleRenderer.rippleConfig = this.rippleConfig;
1173
+ };
1174
+ MatRipple.decorators = [
1175
+ { type: _angular_core.Directive, args: [{
1176
+ selector: '[mat-ripple], [matRipple]',
1177
+ exportAs: 'matRipple',
1178
+ host: {
1179
+ 'class': 'mat-ripple',
1180
+ '[class.mat-ripple-unbounded]': 'unbounded'
1181
+ }
1182
+ },] },
1183
+ ];
1184
+ /**
1185
+ * @nocollapse
1186
+ */
1187
+ MatRipple.ctorParameters = function () { return [
1188
+ { type: _angular_core.ElementRef, },
1189
+ { type: _angular_core.NgZone, },
1190
+ { type: _angular_cdk_platform.Platform, },
1191
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] },] },
1192
+ ]; };
1193
+ MatRipple.propDecorators = {
1194
+ 'trigger': [{ type: _angular_core.Input, args: ['matRippleTrigger',] },],
1195
+ 'centered': [{ type: _angular_core.Input, args: ['matRippleCentered',] },],
1196
+ 'disabled': [{ type: _angular_core.Input, args: ['matRippleDisabled',] },],
1197
+ 'radius': [{ type: _angular_core.Input, args: ['matRippleRadius',] },],
1198
+ 'speedFactor': [{ type: _angular_core.Input, args: ['matRippleSpeedFactor',] },],
1199
+ 'color': [{ type: _angular_core.Input, args: ['matRippleColor',] },],
1200
+ 'unbounded': [{ type: _angular_core.Input, args: ['matRippleUnbounded',] },],
1201
+ };
1202
+ return MatRipple;
1203
+ }());
1204
+
1205
+ /**
1206
+ * \@docs-private
1207
+ */
1208
+ var MatOptgroupBase = (function () {
1209
+ function MatOptgroupBase() {
1210
+ }
1211
+ return MatOptgroupBase;
1212
+ }());
1213
+ var _MatOptgroupMixinBase = mixinDisabled(MatOptgroupBase);
1214
+ // Counter for unique group ids.
1215
+ var _uniqueOptgroupIdCounter = 0;
1216
+ /**
1217
+ * Component that is used to group instances of `mat-option`.
1218
+ */
1219
+ var MatOptgroup = (function (_super) {
1220
+ __extends(MatOptgroup, _super);
1221
+ function MatOptgroup() {
1222
+ var _this = _super !== null && _super.apply(this, arguments) || this;
1223
+ /**
1224
+ * Unique id for the underlying label.
1225
+ */
1226
+ _this._labelId = "mat-optgroup-label-" + _uniqueOptgroupIdCounter++;
1227
+ return _this;
1228
+ }
1229
+ MatOptgroup.decorators = [
1230
+ { type: _angular_core.Component, args: [{selector: 'mat-optgroup',
1231
+ exportAs: 'matOptgroup',
1232
+ template: "<label class=\"mat-optgroup-label\" [id]=\"_labelId\">{{ label }}</label><ng-content select=\"mat-option\"></ng-content>",
1233
+ encapsulation: _angular_core.ViewEncapsulation.None,
1234
+ preserveWhitespaces: false,
1235
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1236
+ inputs: ['disabled'],
1237
+ host: {
1238
+ 'class': 'mat-optgroup',
1239
+ 'role': 'group',
1240
+ '[class.mat-optgroup-disabled]': 'disabled',
1241
+ '[attr.aria-disabled]': 'disabled.toString()',
1242
+ '[attr.aria-labelledby]': '_labelId',
1243
+ }
1244
+ },] },
1245
+ ];
1246
+ /**
1247
+ * @nocollapse
1248
+ */
1249
+ MatOptgroup.ctorParameters = function () { return []; };
1250
+ MatOptgroup.propDecorators = {
1251
+ 'label': [{ type: _angular_core.Input },],
1252
+ };
1253
+ return MatOptgroup;
1254
+ }(_MatOptgroupMixinBase));
1255
+
1256
+ /**
1257
+ * Option IDs need to be unique across components, so this counter exists outside of
1258
+ * the component definition.
1259
+ */
1260
+ var _uniqueIdCounter = 0;
1261
+ /**
1262
+ * Event object emitted by MatOption when selected or deselected.
1263
+ */
1264
+ var MatOptionSelectionChange = (function () {
1265
+ /**
1266
+ * @param {?} source
1267
+ * @param {?=} isUserInput
1268
+ */
1269
+ function MatOptionSelectionChange(source, isUserInput) {
1270
+ if (isUserInput === void 0) { isUserInput = false; }
1271
+ this.source = source;
1272
+ this.isUserInput = isUserInput;
1273
+ }
1274
+ return MatOptionSelectionChange;
1275
+ }());
1276
+ /**
1277
+ * Single option inside of a `<mat-select>` element.
1278
+ */
1279
+ var MatOption = (function () {
1280
+ /**
1281
+ * @param {?} _element
1282
+ * @param {?} _changeDetectorRef
1283
+ * @param {?} group
1284
+ */
1285
+ function MatOption(_element, _changeDetectorRef, group) {
1286
+ this._element = _element;
1287
+ this._changeDetectorRef = _changeDetectorRef;
1288
+ this.group = group;
1289
+ this._selected = false;
1290
+ this._active = false;
1291
+ this._multiple = false;
1292
+ this._disableRipple = false;
1293
+ /**
1294
+ * Whether the option is disabled.
1295
+ */
1296
+ this._disabled = false;
1297
+ this._id = "mat-option-" + _uniqueIdCounter++;
1298
+ /**
1299
+ * Event emitted when the option is selected or deselected.
1300
+ */
1301
+ this.onSelectionChange = new _angular_core.EventEmitter();
1302
+ }
1303
+ Object.defineProperty(MatOption.prototype, "multiple", {
1304
+ /**
1305
+ * Whether the wrapping component is in multiple selection mode.
1306
+ * @return {?}
1307
+ */
1308
+ get: function () { return this._multiple; },
1309
+ /**
1310
+ * @param {?} value
1311
+ * @return {?}
1312
+ */
1313
+ set: function (value) {
1314
+ if (value !== this._multiple) {
1315
+ this._multiple = value;
1316
+ this._changeDetectorRef.markForCheck();
1317
+ }
1318
+ },
1319
+ enumerable: true,
1320
+ configurable: true
1321
+ });
1322
+ Object.defineProperty(MatOption.prototype, "id", {
1323
+ /**
1324
+ * The unique ID of the option.
1325
+ * @return {?}
1326
+ */
1327
+ get: function () { return this._id; },
1328
+ enumerable: true,
1329
+ configurable: true
1330
+ });
1331
+ Object.defineProperty(MatOption.prototype, "selected", {
1332
+ /**
1333
+ * Whether or not the option is currently selected.
1334
+ * @return {?}
1335
+ */
1336
+ get: function () { return this._selected; },
1337
+ enumerable: true,
1338
+ configurable: true
1339
+ });
1340
+ Object.defineProperty(MatOption.prototype, "disabled", {
1341
+ /**
1342
+ * Whether the option is disabled.
1343
+ * @return {?}
1344
+ */
1345
+ get: function () { return (this.group && this.group.disabled) || this._disabled; },
1346
+ /**
1347
+ * @param {?} value
1348
+ * @return {?}
1349
+ */
1350
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
1351
+ enumerable: true,
1352
+ configurable: true
1353
+ });
1354
+ Object.defineProperty(MatOption.prototype, "disableRipple", {
1355
+ /**
1356
+ * Whether ripples for the option are disabled.
1357
+ * @return {?}
1358
+ */
1359
+ get: function () { return this._disableRipple; },
1360
+ /**
1361
+ * @param {?} value
1362
+ * @return {?}
1363
+ */
1364
+ set: function (value) {
1365
+ this._disableRipple = value;
1366
+ this._changeDetectorRef.markForCheck();
1367
+ },
1368
+ enumerable: true,
1369
+ configurable: true
1370
+ });
1371
+ Object.defineProperty(MatOption.prototype, "active", {
1372
+ /**
1373
+ * Whether or not the option is currently active and ready to be selected.
1374
+ * An active option displays styles as if it is focused, but the
1375
+ * focus is actually retained somewhere else. This comes in handy
1376
+ * for components like autocomplete where focus must remain on the input.
1377
+ * @return {?}
1378
+ */
1379
+ get: function () {
1380
+ return this._active;
1381
+ },
1382
+ enumerable: true,
1383
+ configurable: true
1384
+ });
1385
+ Object.defineProperty(MatOption.prototype, "viewValue", {
1386
+ /**
1387
+ * The displayed value of the option. It is necessary to show the selected option in the
1388
+ * select's trigger.
1389
+ * @return {?}
1390
+ */
1391
+ get: function () {
1392
+ // TODO(kara): Add input property alternative for node envs.
1393
+ return (this._getHostElement().textContent || '').trim();
1394
+ },
1395
+ enumerable: true,
1396
+ configurable: true
1397
+ });
1398
+ /**
1399
+ * Selects the option.
1400
+ * @return {?}
1401
+ */
1402
+ MatOption.prototype.select = function () {
1403
+ this._selected = true;
1404
+ this._changeDetectorRef.markForCheck();
1405
+ this._emitSelectionChangeEvent();
1406
+ };
1407
+ /**
1408
+ * Deselects the option.
1409
+ * @return {?}
1410
+ */
1411
+ MatOption.prototype.deselect = function () {
1412
+ this._selected = false;
1413
+ this._changeDetectorRef.markForCheck();
1414
+ this._emitSelectionChangeEvent();
1415
+ };
1416
+ /**
1417
+ * Sets focus onto this option.
1418
+ * @return {?}
1419
+ */
1420
+ MatOption.prototype.focus = function () {
1421
+ var /** @type {?} */ element = this._getHostElement();
1422
+ if (typeof element.focus === 'function') {
1423
+ element.focus();
1424
+ }
1425
+ };
1426
+ /**
1427
+ * This method sets display styles on the option to make it appear
1428
+ * active. This is used by the ActiveDescendantKeyManager so key
1429
+ * events will display the proper options as active on arrow key events.
1430
+ * @return {?}
1431
+ */
1432
+ MatOption.prototype.setActiveStyles = function () {
1433
+ if (!this._active) {
1434
+ this._active = true;
1435
+ this._changeDetectorRef.markForCheck();
1436
+ }
1437
+ };
1438
+ /**
1439
+ * This method removes display styles on the option that made it appear
1440
+ * active. This is used by the ActiveDescendantKeyManager so key
1441
+ * events will display the proper options as active on arrow key events.
1442
+ * @return {?}
1443
+ */
1444
+ MatOption.prototype.setInactiveStyles = function () {
1445
+ if (this._active) {
1446
+ this._active = false;
1447
+ this._changeDetectorRef.markForCheck();
1448
+ }
1449
+ };
1450
+ /**
1451
+ * Gets the label to be used when determining whether the option should be focused.
1452
+ * @return {?}
1453
+ */
1454
+ MatOption.prototype.getLabel = function () {
1455
+ return this.viewValue;
1456
+ };
1457
+ /**
1458
+ * Ensures the option is selected when activated from the keyboard.
1459
+ * @param {?} event
1460
+ * @return {?}
1461
+ */
1462
+ MatOption.prototype._handleKeydown = function (event) {
1463
+ if (event.keyCode === _angular_cdk_keycodes.ENTER || event.keyCode === _angular_cdk_keycodes.SPACE) {
1464
+ this._selectViaInteraction();
1465
+ // Prevent the page from scrolling down and form submits.
1466
+ event.preventDefault();
1467
+ }
1468
+ };
1469
+ /**
1470
+ * Selects the option while indicating the selection came from the user. Used to
1471
+ * determine if the select's view -> model callback should be invoked.
1472
+ * @return {?}
1473
+ */
1474
+ MatOption.prototype._selectViaInteraction = function () {
1475
+ if (!this.disabled) {
1476
+ this._selected = this.multiple ? !this._selected : true;
1477
+ this._changeDetectorRef.markForCheck();
1478
+ this._emitSelectionChangeEvent(true);
1479
+ }
1480
+ };
1481
+ /**
1482
+ * Returns the correct tabindex for the option depending on disabled state.
1483
+ * @return {?}
1484
+ */
1485
+ MatOption.prototype._getTabIndex = function () {
1486
+ return this.disabled ? '-1' : '0';
1487
+ };
1488
+ /**
1489
+ * Gets the host DOM element.
1490
+ * @return {?}
1491
+ */
1492
+ MatOption.prototype._getHostElement = function () {
1493
+ return this._element.nativeElement;
1494
+ };
1495
+ /**
1496
+ * Emits the selection change event.
1497
+ * @param {?=} isUserInput
1498
+ * @return {?}
1499
+ */
1500
+ MatOption.prototype._emitSelectionChangeEvent = function (isUserInput) {
1501
+ if (isUserInput === void 0) { isUserInput = false; }
1502
+ this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
1503
+ };
1504
+ /**
1505
+ * Counts the amount of option group labels that precede the specified option.
1506
+ * @param {?} optionIndex Index of the option at which to start counting.
1507
+ * @param {?} options Flat list of all of the options.
1508
+ * @param {?} optionGroups Flat list of all of the option groups.
1509
+ * @return {?}
1510
+ */
1511
+ MatOption.countGroupLabelsBeforeOption = function (optionIndex, options, optionGroups) {
1512
+ if (optionGroups.length) {
1513
+ var /** @type {?} */ optionsArray = options.toArray();
1514
+ var /** @type {?} */ groups = optionGroups.toArray();
1515
+ var /** @type {?} */ groupCounter = 0;
1516
+ for (var /** @type {?} */ i = 0; i < optionIndex + 1; i++) {
1517
+ if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
1518
+ groupCounter++;
1519
+ }
1520
+ }
1521
+ return groupCounter;
1522
+ }
1523
+ return 0;
1524
+ };
1525
+ MatOption.decorators = [
1526
+ { type: _angular_core.Component, args: [{selector: 'mat-option',
1527
+ exportAs: 'matOption',
1528
+ host: {
1529
+ 'role': 'option',
1530
+ '[attr.tabindex]': '_getTabIndex()',
1531
+ '[class.mat-selected]': 'selected',
1532
+ '[class.mat-option-multiple]': 'multiple',
1533
+ '[class.mat-active]': 'active',
1534
+ '[id]': 'id',
1535
+ '[attr.aria-selected]': 'selected.toString()',
1536
+ '[attr.aria-disabled]': 'disabled.toString()',
1537
+ '[class.mat-option-disabled]': 'disabled',
1538
+ '(click)': '_selectViaInteraction()',
1539
+ '(keydown)': '_handleKeydown($event)',
1540
+ 'class': 'mat-option',
1541
+ },
1542
+ 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>",
1543
+ encapsulation: _angular_core.ViewEncapsulation.None,
1544
+ preserveWhitespaces: false,
1545
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1546
+ },] },
1547
+ ];
1548
+ /**
1549
+ * @nocollapse
1550
+ */
1551
+ MatOption.ctorParameters = function () { return [
1552
+ { type: _angular_core.ElementRef, },
1553
+ { type: _angular_core.ChangeDetectorRef, },
1554
+ { type: MatOptgroup, decorators: [{ type: _angular_core.Optional },] },
1555
+ ]; };
1556
+ MatOption.propDecorators = {
1557
+ 'value': [{ type: _angular_core.Input },],
1558
+ 'disabled': [{ type: _angular_core.Input },],
1559
+ 'onSelectionChange': [{ type: _angular_core.Output },],
1560
+ };
1561
+ return MatOption;
1562
+ }());
1563
+
1564
+ /**
1565
+ * InjectionToken that can be used to specify the global placeholder options.
1566
+ */
1567
+ var MAT_PLACEHOLDER_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-placeholder-global-options');
1568
+
1569
+ var nextUniqueId$1 = 0;
1570
+ /**
1571
+ * Single error message to be shown underneath the form field.
1572
+ */
1573
+ var MatError = (function () {
1574
+ function MatError() {
1575
+ this.id = "mat-error-" + nextUniqueId$1++;
1576
+ }
1577
+ MatError.decorators = [
1578
+ { type: _angular_core.Directive, args: [{
1579
+ selector: 'mat-error',
1580
+ host: {
1581
+ 'class': 'mat-error',
1582
+ 'role': 'alert',
1583
+ '[attr.id]': 'id',
1584
+ }
1585
+ },] },
1586
+ ];
1587
+ /**
1588
+ * @nocollapse
1589
+ */
1590
+ MatError.ctorParameters = function () { return []; };
1591
+ MatError.propDecorators = {
1592
+ 'id': [{ type: _angular_core.Input },],
1593
+ };
1594
+ return MatError;
1595
+ }());
1596
+
1597
+ /**
1598
+ * An interface which allows a control to work inside of a `MatFormField`.
1599
+ * @abstract
1600
+ */
1601
+ var MatFormFieldControl = (function () {
1602
+ function MatFormFieldControl() {
1603
+ }
1604
+ /**
1605
+ * Sets the list of element IDs that currently describe this control.
1606
+ * @abstract
1607
+ * @param {?} ids
1608
+ * @return {?}
1609
+ */
1610
+ MatFormFieldControl.prototype.setDescribedByIds = function (ids) { };
1611
+ /**
1612
+ * Handles a click on the control's container.
1613
+ * @abstract
1614
+ * @param {?} event
1615
+ * @return {?}
1616
+ */
1617
+ MatFormFieldControl.prototype.onContainerClick = function (event) { };
1618
+ return MatFormFieldControl;
1619
+ }());
1620
+
1621
+ /**
1622
+ * \@docs-private
1623
+ * @return {?}
1624
+ */
1625
+ function getMatFormFieldPlaceholderConflictError() {
1626
+ return Error('Placeholder attribute and child element were both specified.');
1627
+ }
1628
+ /**
1629
+ * \@docs-private
1630
+ * @param {?} align
1631
+ * @return {?}
1632
+ */
1633
+ function getMatFormFieldDuplicatedHintError(align) {
1634
+ return Error("A hint was already declared for 'align=\"" + align + "\"'.");
1635
+ }
1636
+ /**
1637
+ * \@docs-private
1638
+ * @return {?}
1639
+ */
1640
+ function getMatFormFieldMissingControlError() {
1641
+ return Error('mat-form-field must contain a MatFormFieldControl. ' +
1642
+ 'Did you forget to add matInput to the native input or textarea element?');
1643
+ }
1644
+
1645
+ var nextUniqueId$2 = 0;
1646
+ /**
1647
+ * Hint text to be shown underneath the form field control.
1648
+ */
1649
+ var MatHint = (function () {
1650
+ function MatHint() {
1651
+ /**
1652
+ * Whether to align the hint label at the start or end of the line.
1653
+ */
1654
+ this.align = 'start';
1655
+ /**
1656
+ * Unique ID for the hint. Used for the aria-describedby on the form field control.
1657
+ */
1658
+ this.id = "mat-hint-" + nextUniqueId$2++;
1659
+ }
1660
+ MatHint.decorators = [
1661
+ { type: _angular_core.Directive, args: [{
1662
+ selector: 'mat-hint',
1663
+ host: {
1664
+ 'class': 'mat-hint',
1665
+ '[class.mat-right]': 'align == "end"',
1666
+ '[attr.id]': 'id',
1667
+ // Remove align attribute to prevent it from interfering with layout.
1668
+ '[attr.align]': 'null',
1669
+ }
1670
+ },] },
1671
+ ];
1672
+ /**
1673
+ * @nocollapse
1674
+ */
1675
+ MatHint.ctorParameters = function () { return []; };
1676
+ MatHint.propDecorators = {
1677
+ 'align': [{ type: _angular_core.Input },],
1678
+ 'id': [{ type: _angular_core.Input },],
1679
+ };
1680
+ return MatHint;
1681
+ }());
1682
+
1683
+ /**
1684
+ * The floating placeholder for an `MatFormField`.
1685
+ */
1686
+ var MatPlaceholder = (function () {
1687
+ function MatPlaceholder() {
1688
+ }
1689
+ MatPlaceholder.decorators = [
1690
+ { type: _angular_core.Directive, args: [{
1691
+ selector: 'mat-placeholder'
1692
+ },] },
1693
+ ];
1694
+ /**
1695
+ * @nocollapse
1696
+ */
1697
+ MatPlaceholder.ctorParameters = function () { return []; };
1698
+ return MatPlaceholder;
1699
+ }());
1700
+
1701
+ /**
1702
+ * Prefix to be placed the the front of the form field.
1703
+ */
1704
+ var MatPrefix = (function () {
1705
+ function MatPrefix() {
1706
+ }
1707
+ MatPrefix.decorators = [
1708
+ { type: _angular_core.Directive, args: [{
1709
+ selector: '[matPrefix]',
1710
+ },] },
1711
+ ];
1712
+ /**
1713
+ * @nocollapse
1714
+ */
1715
+ MatPrefix.ctorParameters = function () { return []; };
1716
+ return MatPrefix;
1717
+ }());
1718
+
1719
+ /**
1720
+ * Suffix to be placed at the end of the form field.
1721
+ */
1722
+ var MatSuffix = (function () {
1723
+ function MatSuffix() {
1724
+ }
1725
+ MatSuffix.decorators = [
1726
+ { type: _angular_core.Directive, args: [{
1727
+ selector: '[matSuffix]',
1728
+ },] },
1729
+ ];
1730
+ /**
1731
+ * @nocollapse
1732
+ */
1733
+ MatSuffix.ctorParameters = function () { return []; };
1734
+ return MatSuffix;
1735
+ }());
1736
+
1737
+ var nextUniqueId$1$1 = 0;
1738
+ /**
1739
+ * Container for form controls that applies Material Design styling and behavior.
1740
+ */
1741
+ var MatFormField = (function () {
1742
+ /**
1743
+ * @param {?} _elementRef
1744
+ * @param {?} _renderer
1745
+ * @param {?} _changeDetectorRef
1746
+ * @param {?} placeholderOptions
1747
+ */
1748
+ function MatFormField(_elementRef, _renderer, _changeDetectorRef, placeholderOptions) {
1749
+ this._elementRef = _elementRef;
1750
+ this._renderer = _renderer;
1751
+ this._changeDetectorRef = _changeDetectorRef;
1752
+ /**
1753
+ * Color of the form field underline, based on the theme.
1754
+ */
1755
+ this.color = 'primary';
1756
+ /**
1757
+ * Override for the logic that disables the placeholder animation in certain cases.
1758
+ */
1759
+ this._showAlwaysAnimate = false;
1760
+ /**
1761
+ * State of the mat-hint and mat-error animations.
1762
+ */
1763
+ this._subscriptAnimationState = '';
1764
+ this._hintLabel = '';
1765
+ // Unique id for the hint label.
1766
+ this._hintLabelId = "mat-hint-" + nextUniqueId$1$1++;
1767
+ this._placeholderOptions = placeholderOptions ? placeholderOptions : {};
1768
+ this.floatPlaceholder = this._placeholderOptions.float || 'auto';
1769
+ }
1770
+ Object.defineProperty(MatFormField.prototype, "dividerColor", {
1771
+ /**
1772
+ * @deprecated Use `color` instead.
1773
+ * @return {?}
1774
+ */
1775
+ get: function () { return this.color; },
1776
+ /**
1777
+ * @param {?} value
1778
+ * @return {?}
1779
+ */
1780
+ set: function (value) { this.color = value; },
1781
+ enumerable: true,
1782
+ configurable: true
1783
+ });
1784
+ Object.defineProperty(MatFormField.prototype, "hideRequiredMarker", {
1785
+ /**
1786
+ * Whether the required marker should be hidden.
1787
+ * @return {?}
1788
+ */
1789
+ get: function () { return this._hideRequiredMarker; },
1790
+ /**
1791
+ * @param {?} value
1792
+ * @return {?}
1793
+ */
1794
+ set: function (value) {
1795
+ this._hideRequiredMarker = _angular_cdk_coercion.coerceBooleanProperty(value);
1796
+ },
1797
+ enumerable: true,
1798
+ configurable: true
1799
+ });
1800
+ Object.defineProperty(MatFormField.prototype, "_shouldAlwaysFloat", {
1801
+ /**
1802
+ * Whether the floating label should always float or not.
1803
+ * @return {?}
1804
+ */
1805
+ get: function () {
1806
+ return this._floatPlaceholder === 'always' && !this._showAlwaysAnimate;
1807
+ },
1808
+ enumerable: true,
1809
+ configurable: true
1810
+ });
1811
+ Object.defineProperty(MatFormField.prototype, "_canPlaceholderFloat", {
1812
+ /**
1813
+ * Whether the placeholder can float or not.
1814
+ * @return {?}
1815
+ */
1816
+ get: function () { return this._floatPlaceholder !== 'never'; },
1817
+ enumerable: true,
1818
+ configurable: true
1819
+ });
1820
+ Object.defineProperty(MatFormField.prototype, "hintLabel", {
1821
+ /**
1822
+ * Text for the form field hint.
1823
+ * @return {?}
1824
+ */
1825
+ get: function () { return this._hintLabel; },
1826
+ /**
1827
+ * @param {?} value
1828
+ * @return {?}
1829
+ */
1830
+ set: function (value) {
1831
+ this._hintLabel = value;
1832
+ this._processHints();
1833
+ },
1834
+ enumerable: true,
1835
+ configurable: true
1836
+ });
1837
+ Object.defineProperty(MatFormField.prototype, "floatPlaceholder", {
1838
+ /**
1839
+ * Whether the placeholder should always float, never float or float as the user types.
1840
+ * @return {?}
1841
+ */
1842
+ get: function () { return this._floatPlaceholder; },
1843
+ /**
1844
+ * @param {?} value
1845
+ * @return {?}
1846
+ */
1847
+ set: function (value) {
1848
+ if (value !== this._floatPlaceholder) {
1849
+ this._floatPlaceholder = value || this._placeholderOptions.float || 'auto';
1850
+ this._changeDetectorRef.markForCheck();
1851
+ }
1852
+ },
1853
+ enumerable: true,
1854
+ configurable: true
1855
+ });
1856
+ /**
1857
+ * @return {?}
1858
+ */
1859
+ MatFormField.prototype.ngAfterContentInit = function () {
1860
+ var _this = this;
1861
+ this._validateControlChild();
1862
+ if (this._control.controlType) {
1863
+ this._renderer.addClass(this._elementRef.nativeElement, "mat-form-field-type-" + this._control.controlType);
1864
+ }
1865
+ // Subscribe to changes in the child control state in order to update the form field UI.
1866
+ _angular_cdk_rxjs.startWith.call(this._control.stateChanges, null).subscribe(function () {
1867
+ _this._validatePlaceholders();
1868
+ _this._syncDescribedByIds();
1869
+ _this._changeDetectorRef.markForCheck();
1870
+ });
1871
+ var /** @type {?} */ ngControl = this._control.ngControl;
1872
+ if (ngControl && ngControl.valueChanges) {
1873
+ ngControl.valueChanges.subscribe(function () {
1874
+ _this._changeDetectorRef.markForCheck();
1875
+ });
1876
+ }
1877
+ // Re-validate when the number of hints changes.
1878
+ _angular_cdk_rxjs.startWith.call(this._hintChildren.changes, null).subscribe(function () {
1879
+ _this._processHints();
1880
+ _this._changeDetectorRef.markForCheck();
1881
+ });
1882
+ // Update the aria-described by when the number of errors changes.
1883
+ _angular_cdk_rxjs.startWith.call(this._errorChildren.changes, null).subscribe(function () {
1884
+ _this._syncDescribedByIds();
1885
+ _this._changeDetectorRef.markForCheck();
1886
+ });
1887
+ };
1888
+ /**
1889
+ * @return {?}
1890
+ */
1891
+ MatFormField.prototype.ngAfterContentChecked = function () {
1892
+ this._validateControlChild();
1893
+ };
1894
+ /**
1895
+ * @return {?}
1896
+ */
1897
+ MatFormField.prototype.ngAfterViewInit = function () {
1898
+ // Avoid animations on load.
1899
+ this._subscriptAnimationState = 'enter';
1900
+ this._changeDetectorRef.detectChanges();
1901
+ };
1902
+ /**
1903
+ * Determines whether a class from the NgControl should be forwarded to the host element.
1904
+ * @param {?} prop
1905
+ * @return {?}
1906
+ */
1907
+ MatFormField.prototype._shouldForward = function (prop) {
1908
+ var /** @type {?} */ ngControl = this._control ? this._control.ngControl : null;
1909
+ return ngControl && ((ngControl))[prop];
1910
+ };
1911
+ /**
1912
+ * Whether the form field has a placeholder.
1913
+ * @return {?}
1914
+ */
1915
+ MatFormField.prototype._hasPlaceholder = function () {
1916
+ return !!(this._control.placeholder || this._placeholderChild);
1917
+ };
1918
+ /**
1919
+ * Determines whether to display hints or errors.
1920
+ * @return {?}
1921
+ */
1922
+ MatFormField.prototype._getDisplayedMessages = function () {
1923
+ return (this._errorChildren && this._errorChildren.length > 0 &&
1924
+ this._control.errorState) ? 'error' : 'hint';
1925
+ };
1926
+ /**
1927
+ * Animates the placeholder up and locks it in position.
1928
+ * @return {?}
1929
+ */
1930
+ MatFormField.prototype._animateAndLockPlaceholder = function () {
1931
+ var _this = this;
1932
+ if (this._placeholder && this._canPlaceholderFloat) {
1933
+ this._showAlwaysAnimate = true;
1934
+ this._floatPlaceholder = 'always';
1935
+ _angular_cdk_rxjs.first.call(rxjs_observable_fromEvent.fromEvent(this._placeholder.nativeElement, 'transitionend')).subscribe(function () {
1936
+ _this._showAlwaysAnimate = false;
1937
+ });
1938
+ this._changeDetectorRef.markForCheck();
1939
+ }
1940
+ };
1941
+ /**
1942
+ * Ensure that there is only one placeholder (either `placeholder` attribute on the child control
1943
+ * or child element with the `mat-placeholder` directive).
1944
+ * @return {?}
1945
+ */
1946
+ MatFormField.prototype._validatePlaceholders = function () {
1947
+ if (this._control.placeholder && this._placeholderChild) {
1948
+ throw getMatFormFieldPlaceholderConflictError();
1949
+ }
1950
+ };
1951
+ /**
1952
+ * Does any extra processing that is required when handling the hints.
1953
+ * @return {?}
1954
+ */
1955
+ MatFormField.prototype._processHints = function () {
1956
+ this._validateHints();
1957
+ this._syncDescribedByIds();
1958
+ };
1959
+ /**
1960
+ * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the
1961
+ * attribute being considered as `align="start"`.
1962
+ * @return {?}
1963
+ */
1964
+ MatFormField.prototype._validateHints = function () {
1965
+ var _this = this;
1966
+ if (this._hintChildren) {
1967
+ var /** @type {?} */ startHint_1;
1968
+ var /** @type {?} */ endHint_1;
1969
+ this._hintChildren.forEach(function (hint) {
1970
+ if (hint.align == 'start') {
1971
+ if (startHint_1 || _this.hintLabel) {
1972
+ throw getMatFormFieldDuplicatedHintError('start');
1973
+ }
1974
+ startHint_1 = hint;
1975
+ }
1976
+ else if (hint.align == 'end') {
1977
+ if (endHint_1) {
1978
+ throw getMatFormFieldDuplicatedHintError('end');
1979
+ }
1980
+ endHint_1 = hint;
1981
+ }
1982
+ });
1983
+ }
1984
+ };
1985
+ /**
1986
+ * Sets the list of element IDs that describe the child control. This allows the control to update
1987
+ * its `aria-describedby` attribute accordingly.
1988
+ * @return {?}
1989
+ */
1990
+ MatFormField.prototype._syncDescribedByIds = function () {
1991
+ if (this._control) {
1992
+ var /** @type {?} */ ids = [];
1993
+ if (this._getDisplayedMessages() === 'hint') {
1994
+ var /** @type {?} */ startHint = this._hintChildren ?
1995
+ this._hintChildren.find(function (hint) { return hint.align === 'start'; }) : null;
1996
+ var /** @type {?} */ endHint = this._hintChildren ?
1997
+ this._hintChildren.find(function (hint) { return hint.align === 'end'; }) : null;
1998
+ if (startHint) {
1999
+ ids.push(startHint.id);
2000
+ }
2001
+ else if (this._hintLabel) {
2002
+ ids.push(this._hintLabelId);
2003
+ }
2004
+ if (endHint) {
2005
+ ids.push(endHint.id);
2006
+ }
2007
+ }
2008
+ else if (this._errorChildren) {
2009
+ ids = this._errorChildren.map(function (error) { return error.id; });
2010
+ }
2011
+ this._control.setDescribedByIds(ids);
2012
+ }
2013
+ };
2014
+ /**
2015
+ * Throws an error if the form field's control is missing.
2016
+ * @return {?}
2017
+ */
2018
+ MatFormField.prototype._validateControlChild = function () {
2019
+ if (!this._control) {
2020
+ throw getMatFormFieldMissingControlError();
2021
+ }
2022
+ };
2023
+ MatFormField.decorators = [
2024
+ { type: _angular_core.Component, args: [{// TODO(mmalerba): the input-container selectors and classes are deprecated and will be removed.
2025
+ selector: 'mat-input-container, mat-form-field',
2026
+ exportAs: 'matFormField',
2027
+ 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>",
2028
+ // MatInput is a directive and can't have styles, so we need to include its styles here.
2029
+ // The MatInput styles are fairly minimal so it shouldn't be a big deal for people who
2030
+ // aren't using MatInput.
2031
+ 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}"],
2032
+ animations: [
2033
+ // TODO(mmalerba): Use angular animations for placeholder animation as well.
2034
+ _angular_animations.trigger('transitionMessages', [
2035
+ _angular_animations.state('enter', _angular_animations.style({ opacity: 1, transform: 'translateY(0%)' })),
2036
+ _angular_animations.transition('void => enter', [
2037
+ _angular_animations.style({ opacity: 0, transform: 'translateY(-100%)' }),
2038
+ _angular_animations.animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),
2039
+ ]),
2040
+ ]),
2041
+ ],
2042
+ host: {
2043
+ 'class': 'mat-input-container mat-form-field',
2044
+ '[class.mat-input-invalid]': '_control.errorState',
2045
+ '[class.mat-form-field-invalid]': '_control.errorState',
2046
+ '[class.mat-form-field-can-float]': '_canPlaceholderFloat',
2047
+ '[class.mat-form-field-should-float]': '_control.shouldPlaceholderFloat || _shouldAlwaysFloat',
2048
+ '[class.mat-focused]': '_control.focused',
2049
+ '[class.mat-primary]': 'color == "primary"',
2050
+ '[class.mat-accent]': 'color == "accent"',
2051
+ '[class.mat-warn]': 'color == "warn"',
2052
+ '[class.ng-untouched]': '_shouldForward("untouched")',
2053
+ '[class.ng-touched]': '_shouldForward("touched")',
2054
+ '[class.ng-pristine]': '_shouldForward("pristine")',
2055
+ '[class.ng-dirty]': '_shouldForward("dirty")',
2056
+ '[class.ng-valid]': '_shouldForward("valid")',
2057
+ '[class.ng-invalid]': '_shouldForward("invalid")',
2058
+ '[class.ng-pending]': '_shouldForward("pending")',
2059
+ },
2060
+ encapsulation: _angular_core.ViewEncapsulation.None,
2061
+ preserveWhitespaces: false,
2062
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2063
+ },] },
2064
+ ];
2065
+ /**
2066
+ * @nocollapse
2067
+ */
2068
+ MatFormField.ctorParameters = function () { return [
2069
+ { type: _angular_core.ElementRef, },
2070
+ { type: _angular_core.Renderer2, },
2071
+ { type: _angular_core.ChangeDetectorRef, },
2072
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_PLACEHOLDER_GLOBAL_OPTIONS,] },] },
2073
+ ]; };
2074
+ MatFormField.propDecorators = {
2075
+ 'color': [{ type: _angular_core.Input },],
2076
+ 'dividerColor': [{ type: _angular_core.Input },],
2077
+ 'hideRequiredMarker': [{ type: _angular_core.Input },],
2078
+ 'hintLabel': [{ type: _angular_core.Input },],
2079
+ 'floatPlaceholder': [{ type: _angular_core.Input },],
2080
+ 'underlineRef': [{ type: _angular_core.ViewChild, args: ['underline',] },],
2081
+ '_connectionContainerRef': [{ type: _angular_core.ViewChild, args: ['connectionContainer',] },],
2082
+ '_placeholder': [{ type: _angular_core.ViewChild, args: ['placeholder',] },],
2083
+ '_control': [{ type: _angular_core.ContentChild, args: [MatFormFieldControl,] },],
2084
+ '_placeholderChild': [{ type: _angular_core.ContentChild, args: [MatPlaceholder,] },],
2085
+ '_errorChildren': [{ type: _angular_core.ContentChildren, args: [MatError,] },],
2086
+ '_hintChildren': [{ type: _angular_core.ContentChildren, args: [MatHint,] },],
2087
+ '_prefixChildren': [{ type: _angular_core.ContentChildren, args: [MatPrefix,] },],
2088
+ '_suffixChildren': [{ type: _angular_core.ContentChildren, args: [MatSuffix,] },],
2089
+ };
2090
+ return MatFormField;
2091
+ }());
2092
+
2093
+ /**
2094
+ * Event object emitted by MatChip when selected or deselected.
2095
+ */
2096
+ var MatChipSelectionChange = (function () {
2097
+ /**
2098
+ * @param {?} source
2099
+ * @param {?} selected
2100
+ * @param {?=} isUserInput
2101
+ */
2102
+ function MatChipSelectionChange(source, selected, isUserInput) {
2103
+ if (isUserInput === void 0) { isUserInput = false; }
2104
+ this.source = source;
2105
+ this.selected = selected;
2106
+ this.isUserInput = isUserInput;
2107
+ }
2108
+ return MatChipSelectionChange;
2109
+ }());
2110
+ /**
2111
+ * \@docs-private
2112
+ */
2113
+ var MatChipBase = (function () {
2114
+ /**
2115
+ * @param {?} _renderer
2116
+ * @param {?} _elementRef
2117
+ */
2118
+ function MatChipBase(_renderer, _elementRef) {
2119
+ this._renderer = _renderer;
2120
+ this._elementRef = _elementRef;
2121
+ }
2122
+ return MatChipBase;
2123
+ }());
2124
+ var _MatChipMixinBase = mixinColor(mixinDisabled(MatChipBase), 'primary');
2125
+ /**
2126
+ * Dummy directive to add CSS class to basic chips.
2127
+ * \@docs-private
2128
+ */
2129
+ var MatBasicChip = (function () {
2130
+ function MatBasicChip() {
2131
+ }
2132
+ MatBasicChip.decorators = [
2133
+ { type: _angular_core.Directive, args: [{
2134
+ selector: "mat-basic-chip, [mat-basic-chip]",
2135
+ host: { 'class': 'mat-basic-chip' },
2136
+ },] },
2137
+ ];
2138
+ /**
2139
+ * @nocollapse
2140
+ */
2141
+ MatBasicChip.ctorParameters = function () { return []; };
2142
+ return MatBasicChip;
2143
+ }());
2144
+ /**
2145
+ * Material design styled Chip component. Used inside the MatChipList component.
2146
+ */
2147
+ var MatChip = (function (_super) {
2148
+ __extends(MatChip, _super);
2149
+ /**
2150
+ * @param {?} renderer
2151
+ * @param {?} _elementRef
2152
+ */
2153
+ function MatChip(renderer, _elementRef) {
2154
+ var _this = _super.call(this, renderer, _elementRef) || this;
2155
+ _this._elementRef = _elementRef;
2156
+ _this._selected = false;
2157
+ _this._selectable = true;
2158
+ _this._removable = true;
2159
+ /**
2160
+ * Whether the chip has focus.
2161
+ */
2162
+ _this._hasFocus = false;
2163
+ /**
2164
+ * Emits when the chip is focused.
2165
+ */
2166
+ _this._onFocus = new rxjs_Subject.Subject();
2167
+ /**
2168
+ * Emits when the chip is blured.
2169
+ */
2170
+ _this._onBlur = new rxjs_Subject.Subject();
2171
+ /**
2172
+ * Emitted when the chip is selected or deselected.
2173
+ */
2174
+ _this.selectionChange = new _angular_core.EventEmitter();
2175
+ /**
2176
+ * Emitted when the chip is destroyed.
2177
+ */
2178
+ _this.destroyed = new _angular_core.EventEmitter();
2179
+ /**
2180
+ * Emitted when the chip is destroyed.
2181
+ * @deprecated Use 'destroyed' instead.
2182
+ */
2183
+ _this.destroy = _this.destroyed;
2184
+ /**
2185
+ * Emitted when a chip is to be removed.
2186
+ */
2187
+ _this.removed = new _angular_core.EventEmitter();
2188
+ /**
2189
+ * Emitted when a chip is to be removed.
2190
+ * @deprecated Use `removed` instead.
2191
+ */
2192
+ _this.onRemove = _this.removed;
2193
+ return _this;
2194
+ }
2195
+ Object.defineProperty(MatChip.prototype, "selected", {
2196
+ /**
2197
+ * Whether the chip is selected.
2198
+ * @return {?}
2199
+ */
2200
+ get: function () {
2201
+ return this._selected;
2202
+ },
2203
+ /**
2204
+ * @param {?} value
2205
+ * @return {?}
2206
+ */
2207
+ set: function (value) {
2208
+ this._selected = _angular_cdk_coercion.coerceBooleanProperty(value);
2209
+ this.selectionChange.emit({
2210
+ source: this,
2211
+ isUserInput: false,
2212
+ selected: value
2213
+ });
2214
+ },
2215
+ enumerable: true,
2216
+ configurable: true
2217
+ });
2218
+ Object.defineProperty(MatChip.prototype, "value", {
2219
+ /**
2220
+ * The value of the chip. Defaults to the content inside <mat-chip> tags.
2221
+ * @return {?}
2222
+ */
2223
+ get: function () {
2224
+ return this._value != undefined
2225
+ ? this._value
2226
+ : this._elementRef.nativeElement.textContent;
2227
+ },
2228
+ /**
2229
+ * @param {?} newValue
2230
+ * @return {?}
2231
+ */
2232
+ set: function (newValue) {
2233
+ this._value = newValue;
2234
+ },
2235
+ enumerable: true,
2236
+ configurable: true
2237
+ });
2238
+ Object.defineProperty(MatChip.prototype, "selectable", {
2239
+ /**
2240
+ * Whether or not the chips are selectable. When a chip is not selectable,
2241
+ * changes to it's selected state are always ignored.
2242
+ * @return {?}
2243
+ */
2244
+ get: function () {
2245
+ return this._selectable;
2246
+ },
2247
+ /**
2248
+ * @param {?} value
2249
+ * @return {?}
2250
+ */
2251
+ set: function (value) {
2252
+ this._selectable = _angular_cdk_coercion.coerceBooleanProperty(value);
2253
+ },
2254
+ enumerable: true,
2255
+ configurable: true
2256
+ });
2257
+ Object.defineProperty(MatChip.prototype, "removable", {
2258
+ /**
2259
+ * Determines whether or not the chip displays the remove styling and emits (remove) events.
2260
+ * @return {?}
2261
+ */
2262
+ get: function () {
2263
+ return this._removable;
2264
+ },
2265
+ /**
2266
+ * @param {?} value
2267
+ * @return {?}
2268
+ */
2269
+ set: function (value) {
2270
+ this._removable = _angular_cdk_coercion.coerceBooleanProperty(value);
2271
+ },
2272
+ enumerable: true,
2273
+ configurable: true
2274
+ });
2275
+ Object.defineProperty(MatChip.prototype, "ariaSelected", {
2276
+ /**
2277
+ * @return {?}
2278
+ */
2279
+ get: function () {
2280
+ return this.selectable ? this.selected.toString() : null;
2281
+ },
2282
+ enumerable: true,
2283
+ configurable: true
2284
+ });
2285
+ /**
2286
+ * @return {?}
2287
+ */
2288
+ MatChip.prototype.ngOnDestroy = function () {
2289
+ this.destroyed.emit({ chip: this });
2290
+ };
2291
+ /**
2292
+ * Selects the chip.
2293
+ * @return {?}
2294
+ */
2295
+ MatChip.prototype.select = function () {
2296
+ this._selected = true;
2297
+ this.selectionChange.emit({
2298
+ source: this,
2299
+ isUserInput: false,
2300
+ selected: true
2301
+ });
2302
+ };
2303
+ /**
2304
+ * Deselects the chip.
2305
+ * @return {?}
2306
+ */
2307
+ MatChip.prototype.deselect = function () {
2308
+ this._selected = false;
2309
+ this.selectionChange.emit({
2310
+ source: this,
2311
+ isUserInput: false,
2312
+ selected: false
2313
+ });
2314
+ };
2315
+ /**
2316
+ * Select this chip and emit selected event
2317
+ * @return {?}
2318
+ */
2319
+ MatChip.prototype.selectViaInteraction = function () {
2320
+ this._selected = true;
2321
+ // Emit select event when selected changes.
2322
+ this.selectionChange.emit({
2323
+ source: this,
2324
+ isUserInput: true,
2325
+ selected: true
2326
+ });
2327
+ };
2328
+ /**
2329
+ * Toggles the current selected state of this chip.
2330
+ * @param {?=} isUserInput
2331
+ * @return {?}
2332
+ */
2333
+ MatChip.prototype.toggleSelected = function (isUserInput) {
2334
+ if (isUserInput === void 0) { isUserInput = false; }
2335
+ this._selected = !this.selected;
2336
+ this.selectionChange.emit({
2337
+ source: this,
2338
+ isUserInput: isUserInput,
2339
+ selected: this._selected
2340
+ });
2341
+ return this.selected;
2342
+ };
2343
+ /**
2344
+ * Allows for programmatic focusing of the chip.
2345
+ * @return {?}
2346
+ */
2347
+ MatChip.prototype.focus = function () {
2348
+ this._elementRef.nativeElement.focus();
2349
+ this._onFocus.next({ chip: this });
2350
+ };
2351
+ /**
2352
+ * Allows for programmatic removal of the chip. Called by the MatChipList when the DELETE or
2353
+ * BACKSPACE keys are pressed.
2354
+ *
2355
+ * Informs any listeners of the removal request. Does not remove the chip from the DOM.
2356
+ * @return {?}
2357
+ */
2358
+ MatChip.prototype.remove = function () {
2359
+ if (this.removable) {
2360
+ this.removed.emit({ chip: this });
2361
+ }
2362
+ };
2363
+ /**
2364
+ * Ensures events fire properly upon click.
2365
+ * @param {?} event
2366
+ * @return {?}
2367
+ */
2368
+ MatChip.prototype._handleClick = function (event) {
2369
+ // Check disabled
2370
+ if (this.disabled) {
2371
+ return;
2372
+ }
2373
+ event.preventDefault();
2374
+ event.stopPropagation();
2375
+ this.focus();
2376
+ };
2377
+ /**
2378
+ * Handle custom key presses.
2379
+ * @param {?} event
2380
+ * @return {?}
2381
+ */
2382
+ MatChip.prototype._handleKeydown = function (event) {
2383
+ if (this.disabled) {
2384
+ return;
2385
+ }
2386
+ switch (event.keyCode) {
2387
+ case _angular_cdk_keycodes.DELETE:
2388
+ case _angular_cdk_keycodes.BACKSPACE:
2389
+ // If we are removable, remove the focused chip
2390
+ this.remove();
2391
+ // Always prevent so page navigation does not occur
2392
+ event.preventDefault();
2393
+ break;
2394
+ case _angular_cdk_keycodes.SPACE:
2395
+ // If we are selectable, toggle the focused chip
2396
+ if (this.selectable) {
2397
+ this.toggleSelected(true);
2398
+ }
2399
+ // Always prevent space from scrolling the page since the list has focus
2400
+ event.preventDefault();
2401
+ break;
2402
+ }
2403
+ };
2404
+ /**
2405
+ * @return {?}
2406
+ */
2407
+ MatChip.prototype._blur = function () {
2408
+ this._hasFocus = false;
2409
+ this._onBlur.next({ chip: this });
2410
+ };
2411
+ MatChip.decorators = [
2412
+ { type: _angular_core.Directive, args: [{
2413
+ selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]",
2414
+ inputs: ['color', 'disabled'],
2415
+ exportAs: 'matChip',
2416
+ host: {
2417
+ 'class': 'mat-chip',
2418
+ 'tabindex': '-1',
2419
+ 'role': 'option',
2420
+ '[class.mat-chip-selected]': 'selected',
2421
+ '[attr.disabled]': 'disabled || null',
2422
+ '[attr.aria-disabled]': 'disabled.toString()',
2423
+ '[attr.aria-selected]': 'ariaSelected',
2424
+ '(click)': '_handleClick($event)',
2425
+ '(keydown)': '_handleKeydown($event)',
2426
+ '(focus)': '_hasFocus = true',
2427
+ '(blur)': '_blur()',
2428
+ },
2429
+ },] },
2430
+ ];
2431
+ /**
2432
+ * @nocollapse
2433
+ */
2434
+ MatChip.ctorParameters = function () { return [
2435
+ { type: _angular_core.Renderer2, },
2436
+ { type: _angular_core.ElementRef, },
2437
+ ]; };
2438
+ MatChip.propDecorators = {
2439
+ 'selected': [{ type: _angular_core.Input },],
2440
+ 'value': [{ type: _angular_core.Input },],
2441
+ 'selectable': [{ type: _angular_core.Input },],
2442
+ 'removable': [{ type: _angular_core.Input },],
2443
+ 'selectionChange': [{ type: _angular_core.Output },],
2444
+ 'destroyed': [{ type: _angular_core.Output },],
2445
+ 'destroy': [{ type: _angular_core.Output },],
2446
+ 'removed': [{ type: _angular_core.Output },],
2447
+ 'onRemove': [{ type: _angular_core.Output, args: ['remove',] },],
2448
+ };
2449
+ return MatChip;
2450
+ }(_MatChipMixinBase));
2451
+ /**
2452
+ * Applies proper (click) support and adds styling for use with the Material Design "cancel" icon
2453
+ * available at https://material.io/icons/#ic_cancel.
2454
+ *
2455
+ * Example:
2456
+ *
2457
+ * <mat-chip>
2458
+ * <mat-icon matChipRemove>cancel</mat-icon>
2459
+ * </mat-chip>
2460
+ *
2461
+ * You *may* use a custom icon, but you may need to override the `mat-chip-remove` positioning
2462
+ * styles to properly center the icon within the chip.
2463
+ */
2464
+ var MatChipRemove = (function () {
2465
+ /**
2466
+ * @param {?} _parentChip
2467
+ */
2468
+ function MatChipRemove(_parentChip) {
2469
+ this._parentChip = _parentChip;
2470
+ }
2471
+ /**
2472
+ * Calls the parent chip's public `remove()` method if applicable.
2473
+ * @return {?}
2474
+ */
2475
+ MatChipRemove.prototype._handleClick = function () {
2476
+ if (this._parentChip.removable) {
2477
+ this._parentChip.remove();
2478
+ }
2479
+ };
2480
+ MatChipRemove.decorators = [
2481
+ { type: _angular_core.Directive, args: [{
2482
+ selector: '[matChipRemove]',
2483
+ host: {
2484
+ 'class': 'mat-chip-remove',
2485
+ '(click)': '_handleClick($event)',
2486
+ },
2487
+ },] },
2488
+ ];
2489
+ /**
2490
+ * @nocollapse
2491
+ */
2492
+ MatChipRemove.ctorParameters = function () { return [
2493
+ { type: MatChip, },
2494
+ ]; };
2495
+ return MatChipRemove;
2496
+ }());
2497
+
2498
+ // Increasing integer for generating unique ids for chip-list components.
2499
+ var nextUniqueId = 0;
2500
+ /**
2501
+ * Change event object that is emitted when the chip list value has changed.
2502
+ */
2503
+ var MatChipListChange = (function () {
2504
+ /**
2505
+ * @param {?} source
2506
+ * @param {?} value
2507
+ */
2508
+ function MatChipListChange(source, value) {
2509
+ this.source = source;
2510
+ this.value = value;
2511
+ }
2512
+ return MatChipListChange;
2513
+ }());
2514
+ /**
2515
+ * A material design chips component (named ChipList for it's similarity to the List component).
2516
+ */
2517
+ var MatChipList = (function () {
2518
+ /**
2519
+ * @param {?} _renderer
2520
+ * @param {?} _elementRef
2521
+ * @param {?} _changeDetectorRef
2522
+ * @param {?} _dir
2523
+ * @param {?} _parentForm
2524
+ * @param {?} _parentFormGroup
2525
+ * @param {?} ngControl
2526
+ */
2527
+ function MatChipList(_renderer, _elementRef, _changeDetectorRef, _dir, _parentForm, _parentFormGroup, ngControl) {
2528
+ this._renderer = _renderer;
2529
+ this._elementRef = _elementRef;
2530
+ this._changeDetectorRef = _changeDetectorRef;
2531
+ this._dir = _dir;
2532
+ this._parentForm = _parentForm;
2533
+ this._parentFormGroup = _parentFormGroup;
2534
+ this.ngControl = ngControl;
2535
+ this.controlType = 'mat-chip-list';
2536
+ /**
2537
+ * Stream that emits whenever the state of the input changes such that the wrapping `MatFormField`
2538
+ * needs to run change detection.
2539
+ */
2540
+ this.stateChanges = new rxjs_Subject.Subject();
2541
+ /**
2542
+ * When a chip is destroyed, we track the index so we can focus the appropriate next chip.
2543
+ */
2544
+ this._lastDestroyedIndex = null;
2545
+ /**
2546
+ * Track which chips we're listening to for focus/destruction.
2547
+ */
2548
+ this._chipSet = new WeakMap();
2549
+ /**
2550
+ * Subscription to tabbing out from the chip list.
2551
+ */
2552
+ this._tabOutSubscription = rxjs_Subscription.Subscription.EMPTY;
2553
+ /**
2554
+ * Whether or not the chip is selectable.
2555
+ */
2556
+ this._selectable = true;
2557
+ /**
2558
+ * Whether the component is in multiple selection mode.
2559
+ */
2560
+ this._multiple = false;
2561
+ /**
2562
+ * Uid of the chip list
2563
+ */
2564
+ this._uid = "mat-chip-list-" + nextUniqueId++;
2565
+ /**
2566
+ * Whether this is required
2567
+ */
2568
+ this._required = false;
2569
+ /**
2570
+ * Whether this is disabled
2571
+ */
2572
+ this._disabled = false;
2573
+ /**
2574
+ * Tab index for the chip list.
2575
+ */
2576
+ this._tabIndex = 0;
2577
+ /**
2578
+ * User defined tab index.
2579
+ * When it is not null, use user defined tab index. Otherwise use _tabIndex
2580
+ */
2581
+ this._userTabIndex = null;
2582
+ /**
2583
+ * Function when touched
2584
+ */
2585
+ this._onTouched = function () { };
2586
+ /**
2587
+ * Function when changed
2588
+ */
2589
+ this._onChange = function () { };
2590
+ /**
2591
+ * Comparison function to specify which option is displayed. Defaults to object equality.
2592
+ */
2593
+ this._compareWith = function (o1, o2) { return o1 === o2; };
2594
+ /**
2595
+ * Orientation of the chip list.
2596
+ */
2597
+ this.ariaOrientation = 'horizontal';
2598
+ /**
2599
+ * Event emitted when the selected chip list value has been changed by the user.
2600
+ */
2601
+ this.change = new _angular_core.EventEmitter();
2602
+ /**
2603
+ * Event that emits whenever the raw value of the chip-list changes. This is here primarily
2604
+ * to facilitate the two-way binding for the `value` input.
2605
+ * \@docs-private
2606
+ */
2607
+ this.valueChange = new _angular_core.EventEmitter();
2608
+ if (this.ngControl) {
2609
+ this.ngControl.valueAccessor = this;
2610
+ }
2611
+ }
2612
+ Object.defineProperty(MatChipList.prototype, "selected", {
2613
+ /**
2614
+ * The array of selected chips inside chip list.
2615
+ * @return {?}
2616
+ */
2617
+ get: function () {
2618
+ return this.multiple ? this._selectionModel.selected : this._selectionModel.selected[0];
2619
+ },
2620
+ enumerable: true,
2621
+ configurable: true
2622
+ });
2623
+ Object.defineProperty(MatChipList.prototype, "multiple", {
2624
+ /**
2625
+ * Whether the user should be allowed to select multiple chips.
2626
+ * @return {?}
2627
+ */
2628
+ get: function () { return this._multiple; },
2629
+ /**
2630
+ * @param {?} value
2631
+ * @return {?}
2632
+ */
2633
+ set: function (value) {
2634
+ this._multiple = _angular_cdk_coercion.coerceBooleanProperty(value);
2635
+ },
2636
+ enumerable: true,
2637
+ configurable: true
2638
+ });
2639
+ Object.defineProperty(MatChipList.prototype, "compareWith", {
2640
+ /**
2641
+ * A function to compare the option values with the selected values. The first argument
2642
+ * is a value from an option. The second is a value from the selection. A boolean
2643
+ * should be returned.
2644
+ * @return {?}
2645
+ */
2646
+ get: function () { return this._compareWith; },
2647
+ /**
2648
+ * @param {?} fn
2649
+ * @return {?}
2650
+ */
2651
+ set: function (fn) {
2652
+ this._compareWith = fn;
2653
+ if (this._selectionModel) {
2654
+ // A different comparator means the selection could change.
2655
+ this._initializeSelection();
2656
+ }
2657
+ },
2658
+ enumerable: true,
2659
+ configurable: true
2660
+ });
2661
+ Object.defineProperty(MatChipList.prototype, "value", {
2662
+ /**
2663
+ * Required for FormFieldControl
2664
+ * @return {?}
2665
+ */
2666
+ get: function () { return this._value; },
2667
+ /**
2668
+ * @param {?} newValue
2669
+ * @return {?}
2670
+ */
2671
+ set: function (newValue) {
2672
+ this.writeValue(newValue);
2673
+ this._value = newValue;
2674
+ },
2675
+ enumerable: true,
2676
+ configurable: true
2677
+ });
2678
+ Object.defineProperty(MatChipList.prototype, "id", {
2679
+ /**
2680
+ * @return {?}
2681
+ */
2682
+ get: function () { return this._id || this._uid; },
2683
+ /**
2684
+ * Required for FormFieldControl. The ID of the chip list
2685
+ * @param {?} value
2686
+ * @return {?}
2687
+ */
2688
+ set: function (value) {
2689
+ this._id = value;
2690
+ this.stateChanges.next();
2691
+ },
2692
+ enumerable: true,
2693
+ configurable: true
2694
+ });
2695
+ Object.defineProperty(MatChipList.prototype, "required", {
2696
+ /**
2697
+ * @return {?}
2698
+ */
2699
+ get: function () {
2700
+ return this._required;
2701
+ },
2702
+ /**
2703
+ * Required for FormFieldControl. Whether the chip list is required.
2704
+ * @param {?} value
2705
+ * @return {?}
2706
+ */
2707
+ set: function (value) {
2708
+ this._required = _angular_cdk_coercion.coerceBooleanProperty(value);
2709
+ this.stateChanges.next();
2710
+ },
2711
+ enumerable: true,
2712
+ configurable: true
2713
+ });
2714
+ Object.defineProperty(MatChipList.prototype, "placeholder", {
2715
+ /**
2716
+ * @return {?}
2717
+ */
2718
+ get: function () {
2719
+ return this._chipInput ? this._chipInput.placeholder : this._placeholder;
2720
+ },
2721
+ /**
2722
+ * For FormFieldControl. Use chip input's placholder if there's a chip input
2723
+ * @param {?} value
2724
+ * @return {?}
2725
+ */
2726
+ set: function (value) {
2727
+ this._placeholder = value;
2728
+ this.stateChanges.next();
2729
+ },
2730
+ enumerable: true,
2731
+ configurable: true
2732
+ });
2733
+ Object.defineProperty(MatChipList.prototype, "focused", {
2734
+ /**
2735
+ * Whether any chips or the matChipInput inside of this chip-list has focus.
2736
+ * @return {?}
2737
+ */
2738
+ get: function () {
2739
+ return this.chips.some(function (chip) { return chip._hasFocus; }) ||
2740
+ (this._chipInput && this._chipInput.focused);
2741
+ },
2742
+ enumerable: true,
2743
+ configurable: true
2744
+ });
2745
+ Object.defineProperty(MatChipList.prototype, "empty", {
2746
+ /**
2747
+ * Whether this chip-list contains no chips and no matChipInput.
2748
+ * @return {?}
2749
+ */
2750
+ get: function () {
2751
+ return (!this._chipInput || this._chipInput.empty) && this.chips.length === 0;
2752
+ },
2753
+ enumerable: true,
2754
+ configurable: true
2755
+ });
2756
+ Object.defineProperty(MatChipList.prototype, "shouldPlaceholderFloat", {
2757
+ /**
2758
+ * @return {?}
2759
+ */
2760
+ get: function () {
2761
+ return this.empty;
2762
+ },
2763
+ enumerable: true,
2764
+ configurable: true
2765
+ });
2766
+ Object.defineProperty(MatChipList.prototype, "disabled", {
2767
+ /**
2768
+ * Whether this chip-list is disabled.
2769
+ * @return {?}
2770
+ */
2771
+ get: function () { return this.ngControl ? this.ngControl.disabled : this._disabled; },
2772
+ /**
2773
+ * @param {?} value
2774
+ * @return {?}
2775
+ */
2776
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
2777
+ enumerable: true,
2778
+ configurable: true
2779
+ });
2780
+ Object.defineProperty(MatChipList.prototype, "errorState", {
2781
+ /**
2782
+ * Whether the chip list is in an error state.
2783
+ * @return {?}
2784
+ */
2785
+ get: function () {
2786
+ var /** @type {?} */ isInvalid = this.ngControl && this.ngControl.invalid;
2787
+ var /** @type {?} */ isTouched = this.ngControl && this.ngControl.touched;
2788
+ var /** @type {?} */ isSubmitted = (this._parentFormGroup && this._parentFormGroup.submitted) ||
2789
+ (this._parentForm && this._parentForm.submitted);
2790
+ return !!(isInvalid && (isTouched || isSubmitted));
2791
+ },
2792
+ enumerable: true,
2793
+ configurable: true
2794
+ });
2795
+ Object.defineProperty(MatChipList.prototype, "selectable", {
2796
+ /**
2797
+ * Whether or not this chip is selectable. When a chip is not selectable,
2798
+ * its selected state is always ignored.
2799
+ * @return {?}
2800
+ */
2801
+ get: function () { return this._selectable; },
2802
+ /**
2803
+ * @param {?} value
2804
+ * @return {?}
2805
+ */
2806
+ set: function (value) { this._selectable = _angular_cdk_coercion.coerceBooleanProperty(value); },
2807
+ enumerable: true,
2808
+ configurable: true
2809
+ });
2810
+ Object.defineProperty(MatChipList.prototype, "tabIndex", {
2811
+ /**
2812
+ * @param {?} value
2813
+ * @return {?}
2814
+ */
2815
+ set: function (value) {
2816
+ this._userTabIndex = value;
2817
+ this._tabIndex = value;
2818
+ },
2819
+ enumerable: true,
2820
+ configurable: true
2821
+ });
2822
+ Object.defineProperty(MatChipList.prototype, "chipSelectionChanges", {
2823
+ /**
2824
+ * Combined stream of all of the child chips' selection change events.
2825
+ * @return {?}
2826
+ */
2827
+ get: function () {
2828
+ return rxjs_observable_merge.merge.apply(void 0, this.chips.map(function (chip) { return chip.selectionChange; }));
2829
+ },
2830
+ enumerable: true,
2831
+ configurable: true
2832
+ });
2833
+ Object.defineProperty(MatChipList.prototype, "chipFocusChanges", {
2834
+ /**
2835
+ * Combined stream of all of the child chips' focus change events.
2836
+ * @return {?}
2837
+ */
2838
+ get: function () {
2839
+ return rxjs_observable_merge.merge.apply(void 0, this.chips.map(function (chip) { return chip._onFocus; }));
2840
+ },
2841
+ enumerable: true,
2842
+ configurable: true
2843
+ });
2844
+ Object.defineProperty(MatChipList.prototype, "chipBlurChanges", {
2845
+ /**
2846
+ * Combined stream of all of the child chips' blur change events.
2847
+ * @return {?}
2848
+ */
2849
+ get: function () {
2850
+ return rxjs_observable_merge.merge.apply(void 0, this.chips.map(function (chip) { return chip._onBlur; }));
2851
+ },
2852
+ enumerable: true,
2853
+ configurable: true
2854
+ });
2855
+ Object.defineProperty(MatChipList.prototype, "chipRemoveChanges", {
2856
+ /**
2857
+ * Combined stream of all of the child chips' remove change events.
2858
+ * @return {?}
2859
+ */
2860
+ get: function () {
2861
+ return rxjs_observable_merge.merge.apply(void 0, this.chips.map(function (chip) { return chip.destroy; }));
2862
+ },
2863
+ enumerable: true,
2864
+ configurable: true
2865
+ });
2866
+ /**
2867
+ * @return {?}
2868
+ */
2869
+ MatChipList.prototype.ngAfterContentInit = function () {
2870
+ var _this = this;
2871
+ this._keyManager = new _angular_cdk_a11y.FocusKeyManager(this.chips).withWrap();
2872
+ // Prevents the chip list from capturing focus and redirecting
2873
+ // it back to the first chip when the user tabs out.
2874
+ this._tabOutSubscription = this._keyManager.tabOut.subscribe(function () {
2875
+ _this._tabIndex = -1;
2876
+ setTimeout(function () { return _this._tabIndex = _this._userTabIndex || 0; });
2877
+ });
2878
+ // When the list changes, re-subscribe
2879
+ this._changeSubscription = _angular_cdk_rxjs.startWith.call(this.chips.changes, null).subscribe(function () {
2880
+ _this._resetChips();
2881
+ // Reset chips selected/deselected status
2882
+ _this._initializeSelection();
2883
+ // Check to see if we need to update our tab index
2884
+ _this._updateTabIndex();
2885
+ // Check to see if we have a destroyed chip and need to refocus
2886
+ _this._updateFocusForDestroyedChips();
2887
+ });
2888
+ };
2889
+ /**
2890
+ * @return {?}
2891
+ */
2892
+ MatChipList.prototype.ngOnInit = function () {
2893
+ this._selectionModel = new _angular_cdk_collections.SelectionModel(this.multiple, undefined, false);
2894
+ this.stateChanges.next();
2895
+ };
2896
+ /**
2897
+ * @return {?}
2898
+ */
2899
+ MatChipList.prototype.ngOnDestroy = function () {
2900
+ this._tabOutSubscription.unsubscribe();
2901
+ if (this._changeSubscription) {
2902
+ this._changeSubscription.unsubscribe();
2903
+ }
2904
+ this._dropSubscriptions();
2905
+ };
2906
+ /**
2907
+ * Associates an HTML input element with this chip list.
2908
+ * @param {?} inputElement
2909
+ * @return {?}
2910
+ */
2911
+ MatChipList.prototype.registerInput = function (inputElement) {
2912
+ this._chipInput = inputElement;
2913
+ };
2914
+ /**
2915
+ * @param {?} ids
2916
+ * @return {?}
2917
+ */
2918
+ MatChipList.prototype.setDescribedByIds = function (ids) { this._ariaDescribedby = ids.join(' '); };
2919
+ /**
2920
+ * @param {?} value
2921
+ * @return {?}
2922
+ */
2923
+ MatChipList.prototype.writeValue = function (value) {
2924
+ if (this.chips) {
2925
+ this._setSelectionByValue(value, false);
2926
+ }
2927
+ };
2928
+ /**
2929
+ * @param {?} fn
2930
+ * @return {?}
2931
+ */
2932
+ MatChipList.prototype.registerOnChange = function (fn) {
2933
+ this._onChange = fn;
2934
+ };
2935
+ /**
2936
+ * @param {?} fn
2937
+ * @return {?}
2938
+ */
2939
+ MatChipList.prototype.registerOnTouched = function (fn) {
2940
+ this._onTouched = fn;
2941
+ };
2942
+ /**
2943
+ * @param {?} disabled
2944
+ * @return {?}
2945
+ */
2946
+ MatChipList.prototype.setDisabledState = function (disabled) {
2947
+ this.disabled = disabled;
2948
+ this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', disabled);
2949
+ this.stateChanges.next();
2950
+ };
2951
+ /**
2952
+ * @return {?}
2953
+ */
2954
+ MatChipList.prototype.onContainerClick = function () {
2955
+ this.focus();
2956
+ };
2957
+ /**
2958
+ * Focuses the the first non-disabled chip in this chip list, or the associated input when there
2959
+ * are no eligible chips.
2960
+ * @return {?}
2961
+ */
2962
+ MatChipList.prototype.focus = function () {
2963
+ // TODO: ARIA says this should focus the first `selected` chip if any are selected.
2964
+ // Focus on first element if there's no chipInput inside chip-list
2965
+ if (this._chipInput && this._chipInput.focused) {
2966
+ // do nothing
2967
+ }
2968
+ else if (this.chips.length > 0) {
2969
+ this._keyManager.setFirstItemActive();
2970
+ this.stateChanges.next();
2971
+ }
2972
+ else {
2973
+ this._focusInput();
2974
+ this.stateChanges.next();
2975
+ }
2976
+ };
2977
+ /**
2978
+ * Attempt to focus an input if we have one.
2979
+ * @return {?}
2980
+ */
2981
+ MatChipList.prototype._focusInput = function () {
2982
+ if (this._chipInput) {
2983
+ this._chipInput.focus();
2984
+ }
2985
+ };
2986
+ /**
2987
+ * Pass events to the keyboard manager. Available here for tests.
2988
+ * @param {?} event
2989
+ * @return {?}
2990
+ */
2991
+ MatChipList.prototype._keydown = function (event) {
2992
+ var /** @type {?} */ code = event.keyCode;
2993
+ var /** @type {?} */ target = (event.target);
2994
+ var /** @type {?} */ isInputEmpty = this._isInputEmpty(target);
2995
+ var /** @type {?} */ isRtl = this._dir && this._dir.value == 'rtl';
2996
+ var /** @type {?} */ isPrevKey = (code === (isRtl ? _angular_cdk_keycodes.RIGHT_ARROW : _angular_cdk_keycodes.LEFT_ARROW));
2997
+ var /** @type {?} */ isNextKey = (code === (isRtl ? _angular_cdk_keycodes.LEFT_ARROW : _angular_cdk_keycodes.RIGHT_ARROW));
2998
+ var /** @type {?} */ isBackKey = code === _angular_cdk_keycodes.BACKSPACE;
2999
+ // If they are on an empty input and hit backspace, focus the last chip
3000
+ if (isInputEmpty && isBackKey) {
3001
+ this._keyManager.setLastItemActive();
3002
+ event.preventDefault();
3003
+ return;
3004
+ }
3005
+ // If they are on a chip, check for space/left/right, otherwise pass to our key manager (like
3006
+ // up/down keys)
3007
+ if (target && target.classList.contains('mat-chip')) {
3008
+ if (isPrevKey) {
3009
+ this._keyManager.setPreviousItemActive();
3010
+ event.preventDefault();
3011
+ }
3012
+ else if (isNextKey) {
3013
+ this._keyManager.setNextItemActive();
3014
+ event.preventDefault();
3015
+ }
3016
+ else {
3017
+ this._keyManager.onKeydown(event);
3018
+ }
3019
+ }
3020
+ this.stateChanges.next();
3021
+ };
3022
+ /**
3023
+ * Check the tab index as you should not be allowed to focus an empty list.
3024
+ * @return {?}
3025
+ */
3026
+ MatChipList.prototype._updateTabIndex = function () {
3027
+ // If we have 0 chips, we should not allow keyboard focus
3028
+ this._tabIndex = this._userTabIndex || (this.chips.length === 0 ? -1 : 0);
3029
+ };
3030
+ /**
3031
+ * Update key manager's active item when chip is deleted.
3032
+ * If the deleted chip is the last chip in chip list, focus the new last chip.
3033
+ * Otherwise focus the next chip in the list.
3034
+ * Save `_lastDestroyedIndex` so we can set the correct focus.
3035
+ * @param {?} chip
3036
+ * @return {?}
3037
+ */
3038
+ MatChipList.prototype._updateKeyManager = function (chip) {
3039
+ var /** @type {?} */ chipIndex = this.chips.toArray().indexOf(chip);
3040
+ if (this._isValidIndex(chipIndex)) {
3041
+ if (chip._hasFocus) {
3042
+ // Check whether the chip is not the last item
3043
+ if (chipIndex < this.chips.length - 1) {
3044
+ this._keyManager.setActiveItem(chipIndex);
3045
+ }
3046
+ else if (chipIndex - 1 >= 0) {
3047
+ this._keyManager.setActiveItem(chipIndex - 1);
3048
+ }
3049
+ }
3050
+ if (this._keyManager.activeItemIndex === chipIndex) {
3051
+ this._lastDestroyedIndex = chipIndex;
3052
+ }
3053
+ }
3054
+ };
3055
+ /**
3056
+ * Checks to see if a focus chip was recently destroyed so that we can refocus the next closest
3057
+ * one.
3058
+ * @return {?}
3059
+ */
3060
+ MatChipList.prototype._updateFocusForDestroyedChips = function () {
3061
+ var /** @type {?} */ chipsArray = this.chips;
3062
+ if (this._lastDestroyedIndex != null && chipsArray.length > 0) {
3063
+ // Check whether the destroyed chip was the last item
3064
+ var /** @type {?} */ newFocusIndex = Math.min(this._lastDestroyedIndex, chipsArray.length - 1);
3065
+ this._keyManager.setActiveItem(newFocusIndex);
3066
+ var /** @type {?} */ focusChip = this._keyManager.activeItem;
3067
+ // Focus the chip
3068
+ if (focusChip) {
3069
+ focusChip.focus();
3070
+ }
3071
+ }
3072
+ // Reset our destroyed index
3073
+ this._lastDestroyedIndex = null;
3074
+ };
3075
+ /**
3076
+ * Utility to ensure all indexes are valid.
3077
+ *
3078
+ * @param {?} index The index to be checked.
3079
+ * @return {?} True if the index is valid for our list of chips.
3080
+ */
3081
+ MatChipList.prototype._isValidIndex = function (index) {
3082
+ return index >= 0 && index < this.chips.length;
3083
+ };
3084
+ /**
3085
+ * @param {?} element
3086
+ * @return {?}
3087
+ */
3088
+ MatChipList.prototype._isInputEmpty = function (element) {
3089
+ if (element && element.nodeName.toLowerCase() === 'input') {
3090
+ var /** @type {?} */ input = (element);
3091
+ return !input.value;
3092
+ }
3093
+ return false;
3094
+ };
3095
+ /**
3096
+ * @param {?} value
3097
+ * @param {?=} isUserInput
3098
+ * @return {?}
3099
+ */
3100
+ MatChipList.prototype._setSelectionByValue = function (value, isUserInput) {
3101
+ var _this = this;
3102
+ if (isUserInput === void 0) { isUserInput = true; }
3103
+ this._clearSelection();
3104
+ this.chips.forEach(function (chip) { return chip.deselect(); });
3105
+ if (Array.isArray(value)) {
3106
+ value.forEach(function (currentValue) { return _this._selectValue(currentValue, isUserInput); });
3107
+ this._sortValues();
3108
+ }
3109
+ else {
3110
+ var /** @type {?} */ correspondingChip = this._selectValue(value, isUserInput);
3111
+ // Shift focus to the active item. Note that we shouldn't do this in multiple
3112
+ // mode, because we don't know what chip the user interacted with last.
3113
+ if (correspondingChip) {
3114
+ this._keyManager.setActiveItem(this.chips.toArray().indexOf(correspondingChip));
3115
+ }
3116
+ }
3117
+ };
3118
+ /**
3119
+ * Finds and selects the chip based on its value.
3120
+ * @param {?} value
3121
+ * @param {?=} isUserInput
3122
+ * @return {?} Chip that has the corresponding value.
3123
+ */
3124
+ MatChipList.prototype._selectValue = function (value, isUserInput) {
3125
+ var _this = this;
3126
+ if (isUserInput === void 0) { isUserInput = true; }
3127
+ var /** @type {?} */ correspondingChip = this.chips.find(function (chip) {
3128
+ return chip.value != null && _this._compareWith(chip.value, value);
3129
+ });
3130
+ if (correspondingChip) {
3131
+ isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();
3132
+ this._selectionModel.select(correspondingChip);
3133
+ }
3134
+ return correspondingChip;
3135
+ };
3136
+ /**
3137
+ * @return {?}
3138
+ */
3139
+ MatChipList.prototype._initializeSelection = function () {
3140
+ var _this = this;
3141
+ // Defer setting the value in order to avoid the "Expression
3142
+ // has changed after it was checked" errors from Angular.
3143
+ Promise.resolve().then(function () {
3144
+ if (_this.ngControl || _this._value) {
3145
+ _this._setSelectionByValue(_this.ngControl ? _this.ngControl.value : _this._value, false);
3146
+ _this.stateChanges.next();
3147
+ }
3148
+ });
3149
+ };
3150
+ /**
3151
+ * Deselects every chip in the list.
3152
+ * @param {?=} skip Chip that should not be deselected.
3153
+ * @return {?}
3154
+ */
3155
+ MatChipList.prototype._clearSelection = function (skip) {
3156
+ this._selectionModel.clear();
3157
+ this.chips.forEach(function (chip) {
3158
+ if (chip !== skip) {
3159
+ chip.deselect();
3160
+ }
3161
+ });
3162
+ this.stateChanges.next();
3163
+ };
3164
+ /**
3165
+ * Sorts the model values, ensuring that they keep the same
3166
+ * order that they have in the panel.
3167
+ * @return {?}
3168
+ */
3169
+ MatChipList.prototype._sortValues = function () {
3170
+ var _this = this;
3171
+ if (this._multiple) {
3172
+ this._selectionModel.clear();
3173
+ this.chips.forEach(function (chip) {
3174
+ if (chip.selected) {
3175
+ _this._selectionModel.select(chip);
3176
+ }
3177
+ });
3178
+ this.stateChanges.next();
3179
+ }
3180
+ };
3181
+ /**
3182
+ * Emits change event to set the model value.
3183
+ * @param {?=} fallbackValue
3184
+ * @return {?}
3185
+ */
3186
+ MatChipList.prototype._propagateChanges = function (fallbackValue) {
3187
+ var /** @type {?} */ valueToEmit = null;
3188
+ if (Array.isArray(this.selected)) {
3189
+ valueToEmit = this.selected.map(function (chip) { return chip.value; });
3190
+ }
3191
+ else {
3192
+ valueToEmit = this.selected ? this.selected.value : fallbackValue;
3193
+ }
3194
+ this._value = valueToEmit;
3195
+ this.change.emit(new MatChipListChange(this, valueToEmit));
3196
+ this.valueChange.emit(valueToEmit);
3197
+ this._onChange(valueToEmit);
3198
+ this._changeDetectorRef.markForCheck();
3199
+ };
3200
+ /**
3201
+ * When blurred, mark the field as touched when focus moved outside the chip list.
3202
+ * @return {?}
3203
+ */
3204
+ MatChipList.prototype._blur = function () {
3205
+ var _this = this;
3206
+ if (!this.disabled) {
3207
+ if (this._chipInput) {
3208
+ // If there's a chip input, we should check whether the focus moved to chip input.
3209
+ // If the focus is not moved to chip input, mark the field as touched. If the focus moved
3210
+ // to chip input, do nothing.
3211
+ // Timeout is needed to wait for the focus() event trigger on chip input.
3212
+ setTimeout(function () {
3213
+ if (!_this.focused) {
3214
+ _this._markAsTouched();
3215
+ }
3216
+ });
3217
+ }
3218
+ else {
3219
+ // If there's no chip input, then mark the field as touched.
3220
+ this._markAsTouched();
3221
+ }
3222
+ }
3223
+ };
3224
+ /**
3225
+ * Mark the field as touched
3226
+ * @return {?}
3227
+ */
3228
+ MatChipList.prototype._markAsTouched = function () {
3229
+ this._onTouched();
3230
+ this._changeDetectorRef.markForCheck();
3231
+ this.stateChanges.next();
3232
+ };
3233
+ /**
3234
+ * @return {?}
3235
+ */
3236
+ MatChipList.prototype._resetChips = function () {
3237
+ this._dropSubscriptions();
3238
+ this._listenToChipsFocus();
3239
+ this._listenToChipsSelection();
3240
+ this._listenToChipsRemoved();
3241
+ };
3242
+ /**
3243
+ * @return {?}
3244
+ */
3245
+ MatChipList.prototype._dropSubscriptions = function () {
3246
+ if (this._chipFocusSubscription) {
3247
+ this._chipFocusSubscription.unsubscribe();
3248
+ this._chipFocusSubscription = null;
3249
+ }
3250
+ if (this._chipBlurSubscription) {
3251
+ this._chipBlurSubscription.unsubscribe();
3252
+ this._chipBlurSubscription = null;
3253
+ }
3254
+ if (this._chipSelectionSubscription) {
3255
+ this._chipSelectionSubscription.unsubscribe();
3256
+ this._chipSelectionSubscription = null;
3257
+ }
3258
+ };
3259
+ /**
3260
+ * Listens to user-generated selection events on each chip.
3261
+ * @return {?}
3262
+ */
3263
+ MatChipList.prototype._listenToChipsSelection = function () {
3264
+ var _this = this;
3265
+ this._chipSelectionSubscription = this.chipSelectionChanges.subscribe(function (event) {
3266
+ event.source.selected
3267
+ ? _this._selectionModel.select(event.source)
3268
+ : _this._selectionModel.deselect(event.source);
3269
+ // For single selection chip list, make sure the deselected value is unselected.
3270
+ if (!_this.multiple) {
3271
+ _this.chips.forEach(function (chip) {
3272
+ if (!_this._selectionModel.isSelected(chip) && chip.selected) {
3273
+ chip.deselect();
3274
+ }
3275
+ });
3276
+ }
3277
+ if (event.isUserInput) {
3278
+ _this._propagateChanges();
3279
+ }
3280
+ });
3281
+ };
3282
+ /**
3283
+ * Listens to user-generated selection events on each chip.
3284
+ * @return {?}
3285
+ */
3286
+ MatChipList.prototype._listenToChipsFocus = function () {
3287
+ var _this = this;
3288
+ this._chipFocusSubscription = this.chipFocusChanges.subscribe(function (event) {
3289
+ var /** @type {?} */ chipIndex = _this.chips.toArray().indexOf(event.chip);
3290
+ if (_this._isValidIndex(chipIndex)) {
3291
+ _this._keyManager.updateActiveItemIndex(chipIndex);
3292
+ }
3293
+ _this.stateChanges.next();
3294
+ });
3295
+ this._chipBlurSubscription = this.chipBlurChanges.subscribe(function (_) {
3296
+ _this._blur();
3297
+ _this.stateChanges.next();
3298
+ });
3299
+ };
3300
+ /**
3301
+ * @return {?}
3302
+ */
3303
+ MatChipList.prototype._listenToChipsRemoved = function () {
3304
+ var _this = this;
3305
+ this._chipRemoveSubscription = this.chipRemoveChanges.subscribe(function (event) {
3306
+ _this._updateKeyManager(event.chip);
3307
+ });
3308
+ };
3309
+ MatChipList.decorators = [
3310
+ { type: _angular_core.Component, args: [{selector: 'mat-chip-list',
3311
+ template: "<div class=\"mat-chip-list-wrapper\"><ng-content></ng-content></div>",
3312
+ exportAs: 'matChipList',
3313
+ host: {
3314
+ '[attr.tabindex]': '_tabIndex',
3315
+ '[attr.aria-describedby]': '_ariaDescribedby || null',
3316
+ '[attr.aria-required]': 'required.toString()',
3317
+ '[attr.aria-disabled]': 'disabled.toString()',
3318
+ '[attr.aria-invalid]': 'errorState',
3319
+ '[attr.aria-multiselectable]': 'multiple',
3320
+ '[class.mat-chip-list-disabled]': 'disabled',
3321
+ '[class.mat-chip-list-invalid]': 'errorState',
3322
+ '[class.mat-chip-list-required]': 'required',
3323
+ 'role': 'listbox',
3324
+ '[attr.aria-orientation]': 'ariaOrientation',
3325
+ 'class': 'mat-chip-list',
3326
+ '(focus)': 'focus()',
3327
+ '(blur)': '_blur()',
3328
+ '(keydown)': '_keydown($event)'
3329
+ },
3330
+ providers: [{ provide: MatFormFieldControl, useExisting: MatChipList }],
3331
+ styles: [".mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.mat-chip:not(.mat-basic-chip){transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:inline-flex;padding:7px 12px;border-radius:24px;align-items:center;cursor:default}.mat-chip:not(.mat-basic-chip)+.mat-chip:not(.mat-basic-chip){margin:0 0 3px 8px}[dir=rtl] .mat-chip:not(.mat-basic-chip)+.mat-chip:not(.mat-basic-chip){margin:0 8px 3px 0}.mat-form-field-prefix .mat-chip:not(.mat-basic-chip):last-child{margin-right:8px}[dir=rtl] .mat-form-field-prefix .mat-chip:not(.mat-basic-chip):last-child{margin-left:8px}.mat-chip:not(.mat-basic-chip) .mat-chip-remove.mat-icon{width:1em;height:1em}.mat-chip:not(.mat-basic-chip):focus{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);outline:0}@media screen and (-ms-high-contrast:active){.mat-chip:not(.mat-basic-chip){outline:solid 1px}}.mat-chip-list-stacked .mat-chip-list-wrapper{display:block}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-chip:not(.mat-basic-chip){display:block;margin:0;margin-bottom:8px}[dir=rtl] .mat-chip-list-stacked .mat-chip-list-wrapper .mat-chip:not(.mat-basic-chip){margin:0;margin-bottom:8px}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-chip:not(.mat-basic-chip):last-child,[dir=rtl] .mat-chip-list-stacked .mat-chip-list-wrapper .mat-chip:not(.mat-basic-chip):last-child{margin-bottom:0}.mat-form-field-prefix .mat-chip-list-wrapper{margin-bottom:8px}.mat-chip-remove{margin-right:-4px;margin-left:6px;cursor:pointer}[dir=rtl] .mat-chip-remove{margin-right:6px;margin-left:-4px}input.mat-chip-input{width:150px;margin:3px}"],
3332
+ encapsulation: _angular_core.ViewEncapsulation.None,
3333
+ preserveWhitespaces: false,
3334
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush
3335
+ },] },
3336
+ ];
3337
+ /**
3338
+ * @nocollapse
3339
+ */
3340
+ MatChipList.ctorParameters = function () { return [
3341
+ { type: _angular_core.Renderer2, },
3342
+ { type: _angular_core.ElementRef, },
3343
+ { type: _angular_core.ChangeDetectorRef, },
3344
+ { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
3345
+ { type: _angular_forms.NgForm, decorators: [{ type: _angular_core.Optional },] },
3346
+ { type: _angular_forms.FormGroupDirective, decorators: [{ type: _angular_core.Optional },] },
3347
+ { type: _angular_forms.NgControl, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Self },] },
3348
+ ]; };
3349
+ MatChipList.propDecorators = {
3350
+ 'multiple': [{ type: _angular_core.Input },],
3351
+ 'compareWith': [{ type: _angular_core.Input },],
3352
+ 'value': [{ type: _angular_core.Input },],
3353
+ 'id': [{ type: _angular_core.Input },],
3354
+ 'required': [{ type: _angular_core.Input },],
3355
+ 'placeholder': [{ type: _angular_core.Input },],
3356
+ 'disabled': [{ type: _angular_core.Input },],
3357
+ 'ariaOrientation': [{ type: _angular_core.Input, args: ['aria-orientation',] },],
3358
+ 'selectable': [{ type: _angular_core.Input },],
3359
+ 'tabIndex': [{ type: _angular_core.Input },],
3360
+ 'change': [{ type: _angular_core.Output },],
3361
+ 'valueChange': [{ type: _angular_core.Output },],
3362
+ 'chips': [{ type: _angular_core.ContentChildren, args: [MatChip,] },],
3363
+ };
3364
+ return MatChipList;
3365
+ }());
3366
+
3367
+ /**
3368
+ * Directive that adds chip-specific behaviors to an input element inside <mat-form-field>.
3369
+ * May be placed inside or outside of an <mat-chip-list>.
3370
+ */
3371
+ var MatChipInput = (function () {
3372
+ /**
3373
+ * @param {?} _elementRef
3374
+ */
3375
+ function MatChipInput(_elementRef) {
3376
+ this._elementRef = _elementRef;
3377
+ this.focused = false;
3378
+ this._addOnBlur = false;
3379
+ /**
3380
+ * The list of key codes that will trigger a chipEnd event.
3381
+ *
3382
+ * Defaults to `[ENTER]`.
3383
+ */
3384
+ // TODO(tinayuangao): Support Set here
3385
+ this.separatorKeyCodes = [_angular_cdk_keycodes.ENTER];
3386
+ /**
3387
+ * Emitted when a chip is to be added.
3388
+ */
3389
+ this.chipEnd = new _angular_core.EventEmitter();
3390
+ this.placeholder = '';
3391
+ this._inputElement = this._elementRef.nativeElement;
3392
+ }
3393
+ Object.defineProperty(MatChipInput.prototype, "chipList", {
3394
+ /**
3395
+ * Register input for chip list
3396
+ * @param {?} value
3397
+ * @return {?}
3398
+ */
3399
+ set: function (value) {
3400
+ if (value) {
3401
+ this._chipList = value;
3402
+ this._chipList.registerInput(this);
3403
+ }
3404
+ },
3405
+ enumerable: true,
3406
+ configurable: true
3407
+ });
3408
+ Object.defineProperty(MatChipInput.prototype, "addOnBlur", {
3409
+ /**
3410
+ * Whether or not the chipEnd event will be emitted when the input is blurred.
3411
+ * @return {?}
3412
+ */
3413
+ get: function () { return this._addOnBlur; },
3414
+ /**
3415
+ * @param {?} value
3416
+ * @return {?}
3417
+ */
3418
+ set: function (value) { this._addOnBlur = _angular_cdk_coercion.coerceBooleanProperty(value); },
3419
+ enumerable: true,
3420
+ configurable: true
3421
+ });
3422
+ Object.defineProperty(MatChipInput.prototype, "empty", {
3423
+ /**
3424
+ * @return {?}
3425
+ */
3426
+ get: function () {
3427
+ var /** @type {?} */ value = this._inputElement.value;
3428
+ return value == null || value === '';
3429
+ },
3430
+ enumerable: true,
3431
+ configurable: true
3432
+ });
3433
+ /**
3434
+ * Utility method to make host definition/tests more clear.
3435
+ * @param {?=} event
3436
+ * @return {?}
3437
+ */
3438
+ MatChipInput.prototype._keydown = function (event) {
3439
+ this._emitChipEnd(event);
3440
+ };
3441
+ /**
3442
+ * Checks to see if the blur should emit the (chipEnd) event.
3443
+ * @return {?}
3444
+ */
3445
+ MatChipInput.prototype._blur = function () {
3446
+ if (this.addOnBlur) {
3447
+ this._emitChipEnd();
3448
+ }
3449
+ this.focused = false;
3450
+ // Blur the chip list if it is not focused
3451
+ if (!this._chipList.focused) {
3452
+ this._chipList._blur();
3453
+ }
3454
+ this._chipList.stateChanges.next();
3455
+ };
3456
+ /**
3457
+ * @return {?}
3458
+ */
3459
+ MatChipInput.prototype._focus = function () {
3460
+ this.focused = true;
3461
+ this._chipList.stateChanges.next();
3462
+ };
3463
+ /**
3464
+ * Checks to see if the (chipEnd) event needs to be emitted.
3465
+ * @param {?=} event
3466
+ * @return {?}
3467
+ */
3468
+ MatChipInput.prototype._emitChipEnd = function (event) {
3469
+ if (!this._inputElement.value && !!event) {
3470
+ this._chipList._keydown(event);
3471
+ }
3472
+ if (!event || this.separatorKeyCodes.indexOf(event.keyCode) > -1) {
3473
+ this.chipEnd.emit({ input: this._inputElement, value: this._inputElement.value });
3474
+ if (event) {
3475
+ event.preventDefault();
3476
+ }
3477
+ }
3478
+ };
3479
+ /**
3480
+ * @return {?}
3481
+ */
3482
+ MatChipInput.prototype.focus = function () { this._inputElement.focus(); };
3483
+ MatChipInput.decorators = [
3484
+ { type: _angular_core.Directive, args: [{
3485
+ selector: 'input[matChipInputFor]',
3486
+ exportAs: 'matChipInput, matChipInputFor',
3487
+ host: {
3488
+ 'class': 'mat-chip-input mat-input-element',
3489
+ '(keydown)': '_keydown($event)',
3490
+ '(blur)': '_blur()',
3491
+ '(focus)': '_focus()',
3492
+ }
3493
+ },] },
3494
+ ];
3495
+ /**
3496
+ * @nocollapse
3497
+ */
3498
+ MatChipInput.ctorParameters = function () { return [
3499
+ { type: _angular_core.ElementRef, },
3500
+ ]; };
3501
+ MatChipInput.propDecorators = {
3502
+ 'chipList': [{ type: _angular_core.Input, args: ['matChipInputFor',] },],
3503
+ 'addOnBlur': [{ type: _angular_core.Input, args: ['matChipInputAddOnBlur',] },],
3504
+ 'separatorKeyCodes': [{ type: _angular_core.Input, args: ['matChipInputSeparatorKeyCodes',] },],
3505
+ 'chipEnd': [{ type: _angular_core.Output, args: ['matChipInputTokenEnd',] },],
3506
+ 'placeholder': [{ type: _angular_core.Input },],
3507
+ };
3508
+ return MatChipInput;
3509
+ }());
3510
+
3511
+ var MatChipsModule = (function () {
3512
+ function MatChipsModule() {
3513
+ }
3514
+ MatChipsModule.decorators = [
3515
+ { type: _angular_core.NgModule, args: [{
3516
+ imports: [],
3517
+ exports: [MatChipList, MatChip, MatChipInput, MatChipRemove, MatChipRemove, MatBasicChip],
3518
+ declarations: [MatChipList, MatChip, MatChipInput, MatChipRemove, MatChipRemove, MatBasicChip]
3519
+ },] },
3520
+ ];
3521
+ /**
3522
+ * @nocollapse
3523
+ */
3524
+ MatChipsModule.ctorParameters = function () { return []; };
3525
+ return MatChipsModule;
3526
+ }());
3527
+
3528
+ exports.MatChipsModule = MatChipsModule;
3529
+ exports.MatChipListChange = MatChipListChange;
3530
+ exports.MatChipList = MatChipList;
3531
+ exports.MatChipSelectionChange = MatChipSelectionChange;
3532
+ exports.MatChipBase = MatChipBase;
3533
+ exports._MatChipMixinBase = _MatChipMixinBase;
3534
+ exports.MatBasicChip = MatBasicChip;
3535
+ exports.MatChip = MatChip;
3536
+ exports.MatChipRemove = MatChipRemove;
3537
+ exports.MatChipInput = MatChipInput;
3538
+
3539
+ Object.defineProperty(exports, '__esModule', { value: true });
3540
+
3541
+ })));
3542
+ //# sourceMappingURL=material-chips.umd.js.map