@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,3341 @@
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/cdk/observers'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/common'), require('@angular/core'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('rxjs/Subject'), require('@angular/platform-browser'), require('@angular/cdk/platform'), require('@angular/cdk/keycodes'), require('@angular/animations'), require('rxjs/Subscription'), require('rxjs/observable/merge'), require('@angular/cdk/rxjs'), require('rxjs/observable/of')) :
10
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/cdk/observers', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/common', '@angular/core', '@angular/cdk/bidi', '@angular/cdk/coercion', 'rxjs/Subject', '@angular/platform-browser', '@angular/cdk/platform', '@angular/cdk/keycodes', '@angular/animations', 'rxjs/Subscription', 'rxjs/observable/merge', '@angular/cdk/rxjs', 'rxjs/observable/of'], factory) :
11
+ (factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tabs = global.ng.material.tabs || {}),global.ng.cdk.observers,global.ng.cdk.portal,global.ng.cdk.scrolling,global.ng.common,global.ng.core,global.ng.cdk.bidi,global.ng.cdk.coercion,global.Rx,global.ng.platformBrowser,global.ng.cdk.platform,global.ng.cdk.keycodes,global.ng.animations,global.Rx,global.Rx.Observable,global.ng.cdk.rxjs,global.Rx.Observable));
12
+ }(this, (function (exports,_angular_cdk_observers,_angular_cdk_portal,_angular_cdk_scrolling,_angular_common,_angular_core,_angular_cdk_bidi,_angular_cdk_coercion,rxjs_Subject,_angular_platformBrowser,_angular_cdk_platform,_angular_cdk_keycodes,_angular_animations,rxjs_Subscription,rxjs_observable_merge,_angular_cdk_rxjs,rxjs_observable_of) { 'use strict';
13
+
14
+ /*! *****************************************************************************
15
+ Copyright (c) Microsoft Corporation. All rights reserved.
16
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
17
+ this file except in compliance with the License. You may obtain a copy of the
18
+ License at http://www.apache.org/licenses/LICENSE-2.0
19
+
20
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
22
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
23
+ MERCHANTABLITY OR NON-INFRINGEMENT.
24
+
25
+ See the Apache Version 2.0 License for specific language governing permissions
26
+ and limitations under the License.
27
+ ***************************************************************************** */
28
+ /* global Reflect, Promise */
29
+
30
+ var extendStatics = Object.setPrototypeOf ||
31
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
32
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
33
+
34
+ function __extends(d, b) {
35
+ extendStatics(d, b);
36
+ function __() { this.constructor = d; }
37
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
38
+ }
39
+
40
+ var MATERIAL_COMPATIBILITY_MODE = new _angular_core.InjectionToken('md-compatibility-mode');
41
+ /**
42
+ * Selector that matches all elements that may have style collisions with AngularJS Material.
43
+ */
44
+ var MAT_ELEMENTS_SELECTOR = "\n [mat-button],\n [mat-fab],\n [mat-icon-button],\n [mat-mini-fab],\n [mat-raised-button],\n [matCardSubtitle],\n [matCardTitle],\n [matCellDef],\n [matColumnDef],\n [matDialogActions],\n [matDialogClose],\n [matDialogContent],\n [matDialogTitle],\n [matHeaderCellDef],\n [matHeaderRowDef],\n [matLine],\n [matRowDef],\n [matStepLabel],\n [matStepperNext],\n [matStepperPrevious],\n [matTabLabel],\n [matTabLink],\n [matTabNav],\n [matTooltip],\n [matInput],\n [matPrefix],\n [matSuffix],\n mat-autocomplete,\n mat-button-toggle,\n mat-button-toggle,\n mat-button-toggle-group,\n mat-card,\n mat-card-actions,\n mat-card-content,\n mat-card-footer,\n mat-card-header,\n mat-card-subtitle,\n mat-card-title,\n mat-card-title-group,\n mat-cell,\n mat-checkbox,\n mat-chip,\n mat-dialog-actions,\n mat-dialog-container,\n mat-dialog-content,\n mat-divider,\n mat-error,\n mat-grid-list,\n mat-grid-tile,\n mat-grid-tile-footer,\n mat-grid-tile-header,\n mat-header-cell,\n mat-header-row,\n mat-hint,\n mat-horizontal-stepper,\n mat-icon,\n mat-input-container,\n mat-form-field,\n mat-list,\n mat-list-item,\n mat-menu,\n mat-nav-list,\n mat-option,\n mat-placeholder,\n mat-progress-bar,\n mat-pseudo-checkbox,\n mat-radio-button,\n mat-radio-group,\n mat-row,\n mat-select,\n mat-sidenav,\n mat-sidenav-container,\n mat-slider,\n mat-spinner,\n mat-step,\n mat-tab,\n mat-table,\n mat-tab-group,\n mat-toolbar,\n mat-vertical-stepper";
45
+ /**
46
+ * Selector that matches all elements that may have style collisions with AngularJS Material.
47
+ */
48
+ var MD_ELEMENTS_SELECTOR = "\n [md-button],\n [md-fab],\n [md-icon-button],\n [md-mini-fab],\n [md-raised-button],\n [mdCardSubtitle],\n [mdCardTitle],\n [mdCellDef],\n [mdColumnDef],\n [mdDialogActions],\n [mdDialogClose],\n [mdDialogContent],\n [mdDialogTitle],\n [mdHeaderCellDef],\n [mdHeaderRowDef],\n [mdLine],\n [mdRowDef],\n [mdStepLabel],\n [mdStepperNext],\n [mdStepperPrevious],\n [mdTabLabel],\n [mdTabLink],\n [mdTabNav],\n [mdTooltip],\n [mdInput],\n [mdPrefix],\n [mdSuffix],\n md-autocomplete,\n md-button-toggle,\n md-button-toggle,\n md-button-toggle-group,\n md-card,\n md-card-actions,\n md-card-content,\n md-card-footer,\n md-card-header,\n md-card-subtitle,\n md-card-title,\n md-card-title-group,\n md-cell,\n md-checkbox,\n md-chip,\n md-dialog-actions,\n md-dialog-container,\n md-dialog-content,\n md-divider,\n md-error,\n md-grid-list,\n md-grid-tile,\n md-grid-tile-footer,\n md-grid-tile-header,\n md-header-cell,\n md-header-row,\n md-hint,\n md-horizontal-stepper,\n md-icon,\n md-input-container,\n md-form-field,\n md-list,\n md-list-item,\n md-menu,\n md-nav-list,\n md-option,\n md-placeholder,\n md-progress-bar,\n md-pseudo-checkbox,\n md-radio-button,\n md-radio-group,\n md-row,\n md-select,\n md-sidenav,\n md-sidenav-container,\n md-slider,\n md-spinner,\n md-step,\n md-tab,\n md-table,\n md-tab-group,\n md-toolbar,\n md-vertical-stepper";
49
+ /**
50
+ * Directive that enforces that the `mat-` prefix cannot be used.
51
+ */
52
+ var MatPrefixRejector = (function () {
53
+ function MatPrefixRejector() {
54
+ }
55
+ MatPrefixRejector.decorators = [
56
+ { type: _angular_core.Directive, args: [{ selector: MAT_ELEMENTS_SELECTOR },] },
57
+ ];
58
+ /**
59
+ * @nocollapse
60
+ */
61
+ MatPrefixRejector.ctorParameters = function () { return []; };
62
+ return MatPrefixRejector;
63
+ }());
64
+ /**
65
+ * Directive that enforces that the `md-` prefix cannot be used.
66
+ */
67
+ var MdPrefixRejector = (function () {
68
+ function MdPrefixRejector() {
69
+ }
70
+ MdPrefixRejector.decorators = [
71
+ { type: _angular_core.Directive, args: [{ selector: MD_ELEMENTS_SELECTOR },] },
72
+ ];
73
+ /**
74
+ * @nocollapse
75
+ */
76
+ MdPrefixRejector.ctorParameters = function () { return []; };
77
+ return MdPrefixRejector;
78
+ }());
79
+ /**
80
+ * Module that enforces the default compatibility mode settings. When this module is loaded
81
+ * without NoConflictStyleCompatibilityMode also being imported, it will throw an error if
82
+ * there are any uses of the `mat-` prefix.
83
+ */
84
+ var CompatibilityModule = (function () {
85
+ function CompatibilityModule() {
86
+ }
87
+ CompatibilityModule.decorators = [
88
+ { type: _angular_core.NgModule, args: [{
89
+ declarations: [MatPrefixRejector, MdPrefixRejector],
90
+ exports: [MatPrefixRejector, MdPrefixRejector],
91
+ },] },
92
+ ];
93
+ /**
94
+ * @nocollapse
95
+ */
96
+ CompatibilityModule.ctorParameters = function () { return []; };
97
+ return CompatibilityModule;
98
+ }());
99
+ /**
100
+ * Injection token that configures whether the Material sanity checks are enabled.
101
+ */
102
+ var MATERIAL_SANITY_CHECKS = new _angular_core.InjectionToken('mat-sanity-checks');
103
+ /**
104
+ * Module that captures anything that should be loaded and/or run for *all* Angular Material
105
+ * components. This includes Bidi, compatibility mode, etc.
106
+ *
107
+ * This module should be imported to each top-level component module (e.g., MatTabsModule).
108
+ */
109
+ var MatCommonModule = (function () {
110
+ /**
111
+ * @param {?} sanityChecksEnabled
112
+ */
113
+ function MatCommonModule(sanityChecksEnabled) {
114
+ /**
115
+ * Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).
116
+ */
117
+ this._hasDoneGlobalChecks = false;
118
+ /**
119
+ * Reference to the global `document` object.
120
+ */
121
+ this._document = typeof document === 'object' && document ? document : null;
122
+ if (sanityChecksEnabled && !this._hasDoneGlobalChecks && _angular_core.isDevMode()) {
123
+ this._checkDoctype();
124
+ this._checkTheme();
125
+ this._hasDoneGlobalChecks = true;
126
+ }
127
+ }
128
+ /**
129
+ * @return {?}
130
+ */
131
+ MatCommonModule.prototype._checkDoctype = function () {
132
+ if (this._document && !this._document.doctype) {
133
+ console.warn('Current document does not have a doctype. This may cause ' +
134
+ 'some Angular Material components not to behave as expected.');
135
+ }
136
+ };
137
+ /**
138
+ * @return {?}
139
+ */
140
+ MatCommonModule.prototype._checkTheme = function () {
141
+ if (this._document && typeof getComputedStyle === 'function') {
142
+ var /** @type {?} */ testElement = this._document.createElement('div');
143
+ testElement.classList.add('mat-theme-loaded-marker');
144
+ this._document.body.appendChild(testElement);
145
+ var /** @type {?} */ computedStyle = getComputedStyle(testElement);
146
+ // In some situations, the computed style of the test element can be null. For example in
147
+ // Firefox, the computed style is null if an application is running inside of a hidden iframe.
148
+ // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
149
+ if (computedStyle && computedStyle.display !== 'none') {
150
+ console.warn('Could not find Angular Material core theme. Most Material ' +
151
+ 'components may not work as expected. For more info refer ' +
152
+ 'to the theming guide: https://material.angular.io/guide/theming');
153
+ }
154
+ this._document.body.removeChild(testElement);
155
+ }
156
+ };
157
+ MatCommonModule.decorators = [
158
+ { type: _angular_core.NgModule, args: [{
159
+ imports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
160
+ exports: [CompatibilityModule, _angular_cdk_bidi.BidiModule],
161
+ providers: [{
162
+ provide: MATERIAL_SANITY_CHECKS, useValue: true,
163
+ }],
164
+ },] },
165
+ ];
166
+ /**
167
+ * @nocollapse
168
+ */
169
+ MatCommonModule.ctorParameters = function () { return [
170
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MATERIAL_SANITY_CHECKS,] },] },
171
+ ]; };
172
+ return MatCommonModule;
173
+ }());
174
+
175
+ /**
176
+ * Mixin to augment a directive with a `disabled` property.
177
+ * @template T
178
+ * @param {?} base
179
+ * @return {?}
180
+ */
181
+ function mixinDisabled(base) {
182
+ return (function (_super) {
183
+ __extends(class_1, _super);
184
+ /**
185
+ * @param {...?} args
186
+ */
187
+ function class_1() {
188
+ var args = [];
189
+ for (var _i = 0; _i < arguments.length; _i++) {
190
+ args[_i] = arguments[_i];
191
+ }
192
+ var _this = _super.apply(this, args) || this;
193
+ _this._disabled = false;
194
+ return _this;
195
+ }
196
+ Object.defineProperty(class_1.prototype, "disabled", {
197
+ /**
198
+ * @return {?}
199
+ */
200
+ get: function () { return this._disabled; },
201
+ /**
202
+ * @param {?} value
203
+ * @return {?}
204
+ */
205
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
206
+ enumerable: true,
207
+ configurable: true
208
+ });
209
+ return class_1;
210
+ }(base));
211
+ }
212
+
213
+ /**
214
+ * Mixin to augment a directive with a `color` property.
215
+ * @template T
216
+ * @param {?} base
217
+ * @param {?=} defaultColor
218
+ * @return {?}
219
+ */
220
+ function mixinColor(base, defaultColor) {
221
+ return (function (_super) {
222
+ __extends(class_1, _super);
223
+ /**
224
+ * @param {...?} args
225
+ */
226
+ function class_1() {
227
+ var args = [];
228
+ for (var _i = 0; _i < arguments.length; _i++) {
229
+ args[_i] = arguments[_i];
230
+ }
231
+ var _this = _super.apply(this, args) || this;
232
+ // Set the default color that can be specified from the mixin.
233
+ _this.color = defaultColor;
234
+ return _this;
235
+ }
236
+ Object.defineProperty(class_1.prototype, "color", {
237
+ /**
238
+ * @return {?}
239
+ */
240
+ get: function () { return this._color; },
241
+ /**
242
+ * @param {?} value
243
+ * @return {?}
244
+ */
245
+ set: function (value) {
246
+ var /** @type {?} */ colorPalette = value || defaultColor;
247
+ if (colorPalette !== this._color) {
248
+ if (this._color) {
249
+ this._renderer.removeClass(this._elementRef.nativeElement, "mat-" + this._color);
250
+ }
251
+ if (colorPalette) {
252
+ this._renderer.addClass(this._elementRef.nativeElement, "mat-" + colorPalette);
253
+ }
254
+ this._color = colorPalette;
255
+ }
256
+ },
257
+ enumerable: true,
258
+ configurable: true
259
+ });
260
+ return class_1;
261
+ }(base));
262
+ }
263
+
264
+ /**
265
+ * Mixin to augment a directive with a `disableRipple` property.
266
+ * @template T
267
+ * @param {?} base
268
+ * @return {?}
269
+ */
270
+ function mixinDisableRipple(base) {
271
+ return (function (_super) {
272
+ __extends(class_1, _super);
273
+ /**
274
+ * @param {...?} args
275
+ */
276
+ function class_1() {
277
+ var args = [];
278
+ for (var _i = 0; _i < arguments.length; _i++) {
279
+ args[_i] = arguments[_i];
280
+ }
281
+ var _this = _super.apply(this, args) || this;
282
+ _this._disableRipple = false;
283
+ return _this;
284
+ }
285
+ Object.defineProperty(class_1.prototype, "disableRipple", {
286
+ /**
287
+ * Whether the ripple effect is disabled or not.
288
+ * @return {?}
289
+ */
290
+ get: function () { return this._disableRipple; },
291
+ /**
292
+ * @param {?} value
293
+ * @return {?}
294
+ */
295
+ set: function (value) { this._disableRipple = _angular_cdk_coercion.coerceBooleanProperty(value); },
296
+ enumerable: true,
297
+ configurable: true
298
+ });
299
+ return class_1;
300
+ }(base));
301
+ }
302
+
303
+ /**
304
+ * InjectionToken for datepicker that can be used to override default locale code.
305
+ */
306
+ var MAT_DATE_LOCALE = new _angular_core.InjectionToken('MAT_DATE_LOCALE');
307
+ /**
308
+ * Adapts type `D` to be usable as a date by cdk-based components that work with dates.
309
+ * @abstract
310
+ */
311
+ var DateAdapter = (function () {
312
+ function DateAdapter() {
313
+ this._localeChanges = new rxjs_Subject.Subject();
314
+ }
315
+ Object.defineProperty(DateAdapter.prototype, "localeChanges", {
316
+ /**
317
+ * A stream that emits when the locale changes.
318
+ * @return {?}
319
+ */
320
+ get: function () { return this._localeChanges; },
321
+ enumerable: true,
322
+ configurable: true
323
+ });
324
+ /**
325
+ * Gets the year component of the given date.
326
+ * @abstract
327
+ * @param {?} date The date to extract the year from.
328
+ * @return {?} The year component.
329
+ */
330
+ DateAdapter.prototype.getYear = function (date) { };
331
+ /**
332
+ * Gets the month component of the given date.
333
+ * @abstract
334
+ * @param {?} date The date to extract the month from.
335
+ * @return {?} The month component (0-indexed, 0 = January).
336
+ */
337
+ DateAdapter.prototype.getMonth = function (date) { };
338
+ /**
339
+ * Gets the date of the month component of the given date.
340
+ * @abstract
341
+ * @param {?} date The date to extract the date of the month from.
342
+ * @return {?} The month component (1-indexed, 1 = first of month).
343
+ */
344
+ DateAdapter.prototype.getDate = function (date) { };
345
+ /**
346
+ * Gets the day of the week component of the given date.
347
+ * @abstract
348
+ * @param {?} date The date to extract the day of the week from.
349
+ * @return {?} The month component (0-indexed, 0 = Sunday).
350
+ */
351
+ DateAdapter.prototype.getDayOfWeek = function (date) { };
352
+ /**
353
+ * Gets a list of names for the months.
354
+ * @abstract
355
+ * @param {?} style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').
356
+ * @return {?} An ordered list of all month names, starting with January.
357
+ */
358
+ DateAdapter.prototype.getMonthNames = function (style$$1) { };
359
+ /**
360
+ * Gets a list of names for the dates of the month.
361
+ * @abstract
362
+ * @return {?} An ordered list of all date of the month names, starting with '1'.
363
+ */
364
+ DateAdapter.prototype.getDateNames = function () { };
365
+ /**
366
+ * Gets a list of names for the days of the week.
367
+ * @abstract
368
+ * @param {?} style The naming style (e.g. long = 'Sunday', short = 'Sun', narrow = 'S').
369
+ * @return {?} An ordered list of all weekday names, starting with Sunday.
370
+ */
371
+ DateAdapter.prototype.getDayOfWeekNames = function (style$$1) { };
372
+ /**
373
+ * Gets the name for the year of the given date.
374
+ * @abstract
375
+ * @param {?} date The date to get the year name for.
376
+ * @return {?} The name of the given year (e.g. '2017').
377
+ */
378
+ DateAdapter.prototype.getYearName = function (date) { };
379
+ /**
380
+ * Gets the first day of the week.
381
+ * @abstract
382
+ * @return {?} The first day of the week (0-indexed, 0 = Sunday).
383
+ */
384
+ DateAdapter.prototype.getFirstDayOfWeek = function () { };
385
+ /**
386
+ * Gets the number of days in the month of the given date.
387
+ * @abstract
388
+ * @param {?} date The date whose month should be checked.
389
+ * @return {?} The number of days in the month of the given date.
390
+ */
391
+ DateAdapter.prototype.getNumDaysInMonth = function (date) { };
392
+ /**
393
+ * Clones the given date.
394
+ * @abstract
395
+ * @param {?} date The date to clone
396
+ * @return {?} A new date equal to the given date.
397
+ */
398
+ DateAdapter.prototype.clone = function (date) { };
399
+ /**
400
+ * Creates a date with the given year, month, and date. Does not allow over/under-flow of the
401
+ * month and date.
402
+ * @abstract
403
+ * @param {?} year The full year of the date. (e.g. 89 means the year 89, not the year 1989).
404
+ * @param {?} month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.
405
+ * @param {?} date The date of month of the date. Must be an integer 1 - length of the given month.
406
+ * @return {?} The new date, or null if invalid.
407
+ */
408
+ DateAdapter.prototype.createDate = function (year, month, date) { };
409
+ /**
410
+ * Gets today's date.
411
+ * @abstract
412
+ * @return {?} Today's date.
413
+ */
414
+ DateAdapter.prototype.today = function () { };
415
+ /**
416
+ * Parses a date from a value.
417
+ * @abstract
418
+ * @param {?} value The value to parse.
419
+ * @param {?} parseFormat The expected format of the value being parsed
420
+ * (type is implementation-dependent).
421
+ * @return {?} The parsed date.
422
+ */
423
+ DateAdapter.prototype.parse = function (value, parseFormat) { };
424
+ /**
425
+ * Formats a date as a string.
426
+ * @abstract
427
+ * @param {?} date The value to format.
428
+ * @param {?} displayFormat The format to use to display the date as a string.
429
+ * @return {?} The formatted date string.
430
+ */
431
+ DateAdapter.prototype.format = function (date, displayFormat) { };
432
+ /**
433
+ * Adds the given number of years to the date. Years are counted as if flipping 12 pages on the
434
+ * calendar for each year and then finding the closest date in the new month. For example when
435
+ * adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.
436
+ * @abstract
437
+ * @param {?} date The date to add years to.
438
+ * @param {?} years The number of years to add (may be negative).
439
+ * @return {?} A new date equal to the given one with the specified number of years added.
440
+ */
441
+ DateAdapter.prototype.addCalendarYears = function (date, years) { };
442
+ /**
443
+ * Adds the given number of months to the date. Months are counted as if flipping a page on the
444
+ * calendar for each month and then finding the closest date in the new month. For example when
445
+ * adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.
446
+ * @abstract
447
+ * @param {?} date The date to add months to.
448
+ * @param {?} months The number of months to add (may be negative).
449
+ * @return {?} A new date equal to the given one with the specified number of months added.
450
+ */
451
+ DateAdapter.prototype.addCalendarMonths = function (date, months) { };
452
+ /**
453
+ * Adds the given number of days to the date. Days are counted as if moving one cell on the
454
+ * calendar for each day.
455
+ * @abstract
456
+ * @param {?} date The date to add days to.
457
+ * @param {?} days The number of days to add (may be negative).
458
+ * @return {?} A new date equal to the given one with the specified number of days added.
459
+ */
460
+ DateAdapter.prototype.addCalendarDays = function (date, days) { };
461
+ /**
462
+ * Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.
463
+ * @abstract
464
+ * @param {?} date The date to get the ISO date string for.
465
+ * @return {?} The ISO date string date string.
466
+ */
467
+ DateAdapter.prototype.toIso8601 = function (date) { };
468
+ /**
469
+ * Creates a date from an RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339).
470
+ * @abstract
471
+ * @param {?} iso8601String The ISO date string to create a date from
472
+ * @return {?} The date created from the ISO date string.
473
+ */
474
+ DateAdapter.prototype.fromIso8601 = function (iso8601String) { };
475
+ /**
476
+ * Checks whether the given object is considered a date instance by this DateAdapter.
477
+ * @abstract
478
+ * @param {?} obj The object to check
479
+ * @return {?} Whether the object is a date instance.
480
+ */
481
+ DateAdapter.prototype.isDateInstance = function (obj) { };
482
+ /**
483
+ * Checks whether the given date is valid.
484
+ * @abstract
485
+ * @param {?} date The date to check.
486
+ * @return {?} Whether the date is valid.
487
+ */
488
+ DateAdapter.prototype.isValid = function (date) { };
489
+ /**
490
+ * Sets the locale used for all dates.
491
+ * @param {?} locale The new locale.
492
+ * @return {?}
493
+ */
494
+ DateAdapter.prototype.setLocale = function (locale) {
495
+ this.locale = locale;
496
+ this._localeChanges.next();
497
+ };
498
+ /**
499
+ * Compares two dates.
500
+ * @param {?} first The first date to compare.
501
+ * @param {?} second The second date to compare.
502
+ * @return {?} 0 if the dates are equal, a number less than 0 if the first date is earlier,
503
+ * a number greater than 0 if the first date is later.
504
+ */
505
+ DateAdapter.prototype.compareDate = function (first, second) {
506
+ return this.getYear(first) - this.getYear(second) ||
507
+ this.getMonth(first) - this.getMonth(second) ||
508
+ this.getDate(first) - this.getDate(second);
509
+ };
510
+ /**
511
+ * Checks if two dates are equal.
512
+ * @param {?} first The first date to check.
513
+ * @param {?} second The second date to check.
514
+ * Null dates are considered equal to other null dates.
515
+ * @return {?}
516
+ */
517
+ DateAdapter.prototype.sameDate = function (first, second) {
518
+ return first && second ? !this.compareDate(first, second) : first == second;
519
+ };
520
+ /**
521
+ * Clamp the given date between min and max dates.
522
+ * @param {?} date The date to clamp.
523
+ * @param {?=} min The minimum value to allow. If null or omitted no min is enforced.
524
+ * @param {?=} max The maximum value to allow. If null or omitted no max is enforced.
525
+ * @return {?} `min` if `date` is less than `min`, `max` if date is greater than `max`,
526
+ * otherwise `date`.
527
+ */
528
+ DateAdapter.prototype.clampDate = function (date, min, max) {
529
+ if (min && this.compareDate(date, min) < 0) {
530
+ return min;
531
+ }
532
+ if (max && this.compareDate(date, max) > 0) {
533
+ return max;
534
+ }
535
+ return date;
536
+ };
537
+ return DateAdapter;
538
+ }());
539
+
540
+ /**
541
+ * Extends an object with the *enumerable* and *own* properties of one or more source objects,
542
+ * similar to Object.assign.
543
+ *
544
+ * @param {?} dest The object which will have properties copied to it.
545
+ * @param {...?} sources The source objects from which properties will be copied.
546
+ * @return {?}
547
+ */
548
+ function extendObject(dest) {
549
+ var sources = [];
550
+ for (var _i = 1; _i < arguments.length; _i++) {
551
+ sources[_i - 1] = arguments[_i];
552
+ }
553
+ if (dest == null) {
554
+ throw TypeError('Cannot convert undefined or null to object');
555
+ }
556
+ for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
557
+ var source = sources_1[_a];
558
+ if (source != null) {
559
+ for (var /** @type {?} */ key in source) {
560
+ if (source.hasOwnProperty(key)) {
561
+ dest[key] = source[key];
562
+ }
563
+ }
564
+ }
565
+ }
566
+ return dest;
567
+ }
568
+
569
+ /**
570
+ * Whether the browser supports the Intl API.
571
+ */
572
+ var SUPPORTS_INTL_API = typeof Intl != 'undefined';
573
+ /**
574
+ * The default month names to use if Intl API is not available.
575
+ */
576
+ var DEFAULT_MONTH_NAMES = {
577
+ 'long': [
578
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',
579
+ 'October', 'November', 'December'
580
+ ],
581
+ 'short': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
582
+ 'narrow': ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']
583
+ };
584
+ /**
585
+ * The default date names to use if Intl API is not available.
586
+ */
587
+ var DEFAULT_DATE_NAMES = range(31, function (i) { return String(i + 1); });
588
+ /**
589
+ * The default day of the week names to use if Intl API is not available.
590
+ */
591
+ var DEFAULT_DAY_OF_WEEK_NAMES = {
592
+ 'long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
593
+ 'short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
594
+ 'narrow': ['S', 'M', 'T', 'W', 'T', 'F', 'S']
595
+ };
596
+ /**
597
+ * Matches strings that have the form of a valid RFC 3339 string
598
+ * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
599
+ * because the regex will match strings an with out of bounds month, date, etc.
600
+ */
601
+ var ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
602
+ /**
603
+ * Creates an array and fills it with values.
604
+ * @template T
605
+ * @param {?} length
606
+ * @param {?} valueFunction
607
+ * @return {?}
608
+ */
609
+ function range(length, valueFunction) {
610
+ var /** @type {?} */ valuesArray = Array(length);
611
+ for (var /** @type {?} */ i = 0; i < length; i++) {
612
+ valuesArray[i] = valueFunction(i);
613
+ }
614
+ return valuesArray;
615
+ }
616
+ /**
617
+ * Adapts the native JS Date for use with cdk-based components that work with dates.
618
+ */
619
+ var NativeDateAdapter = (function (_super) {
620
+ __extends(NativeDateAdapter, _super);
621
+ /**
622
+ * @param {?} matDateLocale
623
+ */
624
+ function NativeDateAdapter(matDateLocale) {
625
+ var _this = _super.call(this) || this;
626
+ /**
627
+ * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.
628
+ * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off
629
+ * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`
630
+ * will produce `'8/13/1800'`.
631
+ */
632
+ _this.useUtcForDisplay = true;
633
+ _super.prototype.setLocale.call(_this, matDateLocale);
634
+ return _this;
635
+ }
636
+ /**
637
+ * @param {?} date
638
+ * @return {?}
639
+ */
640
+ NativeDateAdapter.prototype.getYear = function (date) {
641
+ return date.getFullYear();
642
+ };
643
+ /**
644
+ * @param {?} date
645
+ * @return {?}
646
+ */
647
+ NativeDateAdapter.prototype.getMonth = function (date) {
648
+ return date.getMonth();
649
+ };
650
+ /**
651
+ * @param {?} date
652
+ * @return {?}
653
+ */
654
+ NativeDateAdapter.prototype.getDate = function (date) {
655
+ return date.getDate();
656
+ };
657
+ /**
658
+ * @param {?} date
659
+ * @return {?}
660
+ */
661
+ NativeDateAdapter.prototype.getDayOfWeek = function (date) {
662
+ return date.getDay();
663
+ };
664
+ /**
665
+ * @param {?} style
666
+ * @return {?}
667
+ */
668
+ NativeDateAdapter.prototype.getMonthNames = function (style$$1) {
669
+ var _this = this;
670
+ if (SUPPORTS_INTL_API) {
671
+ var /** @type {?} */ dtf_1 = new Intl.DateTimeFormat(this.locale, { month: style$$1 });
672
+ return range(12, function (i) { return _this._stripDirectionalityCharacters(dtf_1.format(new Date(2017, i, 1))); });
673
+ }
674
+ return DEFAULT_MONTH_NAMES[style$$1];
675
+ };
676
+ /**
677
+ * @return {?}
678
+ */
679
+ NativeDateAdapter.prototype.getDateNames = function () {
680
+ var _this = this;
681
+ if (SUPPORTS_INTL_API) {
682
+ var /** @type {?} */ dtf_2 = new Intl.DateTimeFormat(this.locale, { day: 'numeric' });
683
+ return range(31, function (i) { return _this._stripDirectionalityCharacters(dtf_2.format(new Date(2017, 0, i + 1))); });
684
+ }
685
+ return DEFAULT_DATE_NAMES;
686
+ };
687
+ /**
688
+ * @param {?} style
689
+ * @return {?}
690
+ */
691
+ NativeDateAdapter.prototype.getDayOfWeekNames = function (style$$1) {
692
+ var _this = this;
693
+ if (SUPPORTS_INTL_API) {
694
+ var /** @type {?} */ dtf_3 = new Intl.DateTimeFormat(this.locale, { weekday: style$$1 });
695
+ return range(7, function (i) { return _this._stripDirectionalityCharacters(dtf_3.format(new Date(2017, 0, i + 1))); });
696
+ }
697
+ return DEFAULT_DAY_OF_WEEK_NAMES[style$$1];
698
+ };
699
+ /**
700
+ * @param {?} date
701
+ * @return {?}
702
+ */
703
+ NativeDateAdapter.prototype.getYearName = function (date) {
704
+ if (SUPPORTS_INTL_API) {
705
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric' });
706
+ return this._stripDirectionalityCharacters(dtf.format(date));
707
+ }
708
+ return String(this.getYear(date));
709
+ };
710
+ /**
711
+ * @return {?}
712
+ */
713
+ NativeDateAdapter.prototype.getFirstDayOfWeek = function () {
714
+ // We can't tell using native JS Date what the first day of the week is, we default to Sunday.
715
+ return 0;
716
+ };
717
+ /**
718
+ * @param {?} date
719
+ * @return {?}
720
+ */
721
+ NativeDateAdapter.prototype.getNumDaysInMonth = function (date) {
722
+ return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
723
+ };
724
+ /**
725
+ * @param {?} date
726
+ * @return {?}
727
+ */
728
+ NativeDateAdapter.prototype.clone = function (date) {
729
+ return this.createDate(this.getYear(date), this.getMonth(date), this.getDate(date));
730
+ };
731
+ /**
732
+ * @param {?} year
733
+ * @param {?} month
734
+ * @param {?} date
735
+ * @return {?}
736
+ */
737
+ NativeDateAdapter.prototype.createDate = function (year, month, date) {
738
+ // Check for invalid month and date (except upper bound on date which we have to check after
739
+ // creating the Date).
740
+ if (month < 0 || month > 11) {
741
+ throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
742
+ }
743
+ if (date < 1) {
744
+ throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
745
+ }
746
+ var /** @type {?} */ result = this._createDateWithOverflow(year, month, date);
747
+ // Check that the date wasn't above the upper bound for the month, causing the month to overflow
748
+ if (result.getMonth() != month) {
749
+ throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
750
+ }
751
+ return result;
752
+ };
753
+ /**
754
+ * @return {?}
755
+ */
756
+ NativeDateAdapter.prototype.today = function () {
757
+ return new Date();
758
+ };
759
+ /**
760
+ * @param {?} value
761
+ * @return {?}
762
+ */
763
+ NativeDateAdapter.prototype.parse = function (value) {
764
+ // We have no way using the native JS Date to set the parse format or locale, so we ignore these
765
+ // parameters.
766
+ if (typeof value == 'number') {
767
+ return new Date(value);
768
+ }
769
+ return value ? new Date(Date.parse(value)) : null;
770
+ };
771
+ /**
772
+ * @param {?} date
773
+ * @param {?} displayFormat
774
+ * @return {?}
775
+ */
776
+ NativeDateAdapter.prototype.format = function (date, displayFormat) {
777
+ if (!this.isValid(date)) {
778
+ throw Error('NativeDateAdapter: Cannot format invalid date.');
779
+ }
780
+ if (SUPPORTS_INTL_API) {
781
+ if (this.useUtcForDisplay) {
782
+ date = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
783
+ displayFormat = extendObject({}, displayFormat, { timeZone: 'utc' });
784
+ }
785
+ var /** @type {?} */ dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
786
+ return this._stripDirectionalityCharacters(dtf.format(date));
787
+ }
788
+ return this._stripDirectionalityCharacters(date.toDateString());
789
+ };
790
+ /**
791
+ * @param {?} date
792
+ * @param {?} years
793
+ * @return {?}
794
+ */
795
+ NativeDateAdapter.prototype.addCalendarYears = function (date, years) {
796
+ return this.addCalendarMonths(date, years * 12);
797
+ };
798
+ /**
799
+ * @param {?} date
800
+ * @param {?} months
801
+ * @return {?}
802
+ */
803
+ NativeDateAdapter.prototype.addCalendarMonths = function (date, months) {
804
+ var /** @type {?} */ newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
805
+ // It's possible to wind up in the wrong month if the original month has more days than the new
806
+ // month. In this case we want to go to the last day of the desired month.
807
+ // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
808
+ // guarantee this.
809
+ if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
810
+ newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
811
+ }
812
+ return newDate;
813
+ };
814
+ /**
815
+ * @param {?} date
816
+ * @param {?} days
817
+ * @return {?}
818
+ */
819
+ NativeDateAdapter.prototype.addCalendarDays = function (date, days) {
820
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
821
+ };
822
+ /**
823
+ * @param {?} date
824
+ * @return {?}
825
+ */
826
+ NativeDateAdapter.prototype.toIso8601 = function (date) {
827
+ return [
828
+ date.getUTCFullYear(),
829
+ this._2digit(date.getUTCMonth() + 1),
830
+ this._2digit(date.getUTCDate())
831
+ ].join('-');
832
+ };
833
+ /**
834
+ * @param {?} iso8601String
835
+ * @return {?}
836
+ */
837
+ NativeDateAdapter.prototype.fromIso8601 = function (iso8601String) {
838
+ // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
839
+ // string is the right format first.
840
+ if (ISO_8601_REGEX.test(iso8601String)) {
841
+ var /** @type {?} */ d = new Date(iso8601String);
842
+ if (this.isValid(d)) {
843
+ return d;
844
+ }
845
+ }
846
+ return null;
847
+ };
848
+ /**
849
+ * @param {?} obj
850
+ * @return {?}
851
+ */
852
+ NativeDateAdapter.prototype.isDateInstance = function (obj) {
853
+ return obj instanceof Date;
854
+ };
855
+ /**
856
+ * @param {?} date
857
+ * @return {?}
858
+ */
859
+ NativeDateAdapter.prototype.isValid = function (date) {
860
+ return !isNaN(date.getTime());
861
+ };
862
+ /**
863
+ * Creates a date but allows the month and date to overflow.
864
+ * @param {?} year
865
+ * @param {?} month
866
+ * @param {?} date
867
+ * @return {?}
868
+ */
869
+ NativeDateAdapter.prototype._createDateWithOverflow = function (year, month, date) {
870
+ var /** @type {?} */ result = new Date(year, month, date);
871
+ // We need to correct for the fact that JS native Date treats years in range [0, 99] as
872
+ // abbreviations for 19xx.
873
+ if (year >= 0 && year < 100) {
874
+ result.setFullYear(this.getYear(result) - 1900);
875
+ }
876
+ return result;
877
+ };
878
+ /**
879
+ * Pads a number to make it two digits.
880
+ * @param {?} n The number to pad.
881
+ * @return {?} The padded number.
882
+ */
883
+ NativeDateAdapter.prototype._2digit = function (n) {
884
+ return ('00' + n).slice(-2);
885
+ };
886
+ /**
887
+ * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
888
+ * other browsers do not. We remove them to make output consistent and because they interfere with
889
+ * date parsing.
890
+ * @param {?} str The string to strip direction characters from.
891
+ * @return {?} The stripped string.
892
+ */
893
+ NativeDateAdapter.prototype._stripDirectionalityCharacters = function (str) {
894
+ return str.replace(/[\u200e\u200f]/g, '');
895
+ };
896
+ NativeDateAdapter.decorators = [
897
+ { type: _angular_core.Injectable },
898
+ ];
899
+ /**
900
+ * @nocollapse
901
+ */
902
+ NativeDateAdapter.ctorParameters = function () { return [
903
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_DATE_LOCALE,] },] },
904
+ ]; };
905
+ return NativeDateAdapter;
906
+ }(DateAdapter));
907
+
908
+ var MAT_DATE_FORMATS = new _angular_core.InjectionToken('mat-date-formats');
909
+
910
+ var GestureConfig = (function (_super) {
911
+ __extends(GestureConfig, _super);
912
+ function GestureConfig() {
913
+ var _this = _super.call(this) || this;
914
+ _this._hammer = typeof window !== 'undefined' ? ((window)).Hammer : null;
915
+ /* List of new event names to add to the gesture support list */
916
+ _this.events = _this._hammer ? [
917
+ 'longpress',
918
+ 'slide',
919
+ 'slidestart',
920
+ 'slideend',
921
+ 'slideright',
922
+ 'slideleft'
923
+ ] : [];
924
+ if (!_this._hammer && _angular_core.isDevMode()) {
925
+ console.warn('Could not find HammerJS. Certain Angular Material ' +
926
+ 'components may not work correctly.');
927
+ }
928
+ return _this;
929
+ }
930
+ /**
931
+ * Builds Hammer instance manually to add custom recognizers that match the Material Design spec.
932
+ *
933
+ * Our gesture names come from the Material Design gestures spec:
934
+ * https://www.google.com/design/spec/patterns/gestures.html#gestures-touch-mechanics
935
+ *
936
+ * More information on default recognizers can be found in Hammer docs:
937
+ * http://hammerjs.github.io/recognizer-pan/
938
+ * http://hammerjs.github.io/recognizer-press/
939
+ *
940
+ * @param {?} element Element to which to assign the new HammerJS gestures.
941
+ * @return {?} Newly-created HammerJS instance.
942
+ */
943
+ GestureConfig.prototype.buildHammer = function (element) {
944
+ var /** @type {?} */ mc = new this._hammer(element);
945
+ // Default Hammer Recognizers.
946
+ var /** @type {?} */ pan = new this._hammer.Pan();
947
+ var /** @type {?} */ swipe = new this._hammer.Swipe();
948
+ var /** @type {?} */ press = new this._hammer.Press();
949
+ // Notice that a HammerJS recognizer can only depend on one other recognizer once.
950
+ // Otherwise the previous `recognizeWith` will be dropped.
951
+ // TODO: Confirm threshold numbers with Material Design UX Team
952
+ var /** @type {?} */ slide = this._createRecognizer(pan, { event: 'slide', threshold: 0 }, swipe);
953
+ var /** @type {?} */ longpress = this._createRecognizer(press, { event: 'longpress', time: 500 });
954
+ // Overwrite the default `pan` event to use the swipe event.
955
+ pan.recognizeWith(swipe);
956
+ // Add customized gestures to Hammer manager
957
+ mc.add([swipe, press, pan, slide, longpress]);
958
+ return (mc);
959
+ };
960
+ /**
961
+ * Creates a new recognizer, without affecting the default recognizers of HammerJS
962
+ * @param {?} base
963
+ * @param {?} options
964
+ * @param {...?} inheritances
965
+ * @return {?}
966
+ */
967
+ GestureConfig.prototype._createRecognizer = function (base, options) {
968
+ var inheritances = [];
969
+ for (var _i = 2; _i < arguments.length; _i++) {
970
+ inheritances[_i - 2] = arguments[_i];
971
+ }
972
+ var /** @type {?} */ recognizer = new ((base.constructor))(options);
973
+ inheritances.push(base);
974
+ inheritances.forEach(function (item) { return recognizer.recognizeWith(item); });
975
+ return recognizer;
976
+ };
977
+ GestureConfig.decorators = [
978
+ { type: _angular_core.Injectable },
979
+ ];
980
+ /**
981
+ * @nocollapse
982
+ */
983
+ GestureConfig.ctorParameters = function () { return []; };
984
+ return GestureConfig;
985
+ }(_angular_platformBrowser.HammerGestureConfig));
986
+
987
+ var RippleState = {};
988
+ RippleState.FADING_IN = 0;
989
+ RippleState.VISIBLE = 1;
990
+ RippleState.FADING_OUT = 2;
991
+ RippleState.HIDDEN = 3;
992
+ RippleState[RippleState.FADING_IN] = "FADING_IN";
993
+ RippleState[RippleState.VISIBLE] = "VISIBLE";
994
+ RippleState[RippleState.FADING_OUT] = "FADING_OUT";
995
+ RippleState[RippleState.HIDDEN] = "HIDDEN";
996
+ /**
997
+ * Reference to a previously launched ripple element.
998
+ */
999
+ var RippleRef = (function () {
1000
+ /**
1001
+ * @param {?} _renderer
1002
+ * @param {?} element
1003
+ * @param {?} config
1004
+ */
1005
+ function RippleRef(_renderer, element, config) {
1006
+ this._renderer = _renderer;
1007
+ this.element = element;
1008
+ this.config = config;
1009
+ /**
1010
+ * Current state of the ripple reference.
1011
+ */
1012
+ this.state = RippleState.HIDDEN;
1013
+ }
1014
+ /**
1015
+ * Fades out the ripple element.
1016
+ * @return {?}
1017
+ */
1018
+ RippleRef.prototype.fadeOut = function () {
1019
+ this._renderer.fadeOutRipple(this);
1020
+ };
1021
+ return RippleRef;
1022
+ }());
1023
+
1024
+ /**
1025
+ * Fade-in duration for the ripples. Can be modified with the speedFactor option.
1026
+ */
1027
+ var RIPPLE_FADE_IN_DURATION = 450;
1028
+ /**
1029
+ * Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor.
1030
+ */
1031
+ var RIPPLE_FADE_OUT_DURATION = 400;
1032
+ /**
1033
+ * Helper service that performs DOM manipulations. Not intended to be used outside this module.
1034
+ * The constructor takes a reference to the ripple directive's host element and a map of DOM
1035
+ * event handlers to be installed on the element that triggers ripple animations.
1036
+ * This will eventually become a custom renderer once Angular support exists.
1037
+ * \@docs-private
1038
+ */
1039
+ var RippleRenderer = (function () {
1040
+ /**
1041
+ * @param {?} elementRef
1042
+ * @param {?} _ngZone
1043
+ * @param {?} platform
1044
+ */
1045
+ function RippleRenderer(elementRef, _ngZone, platform) {
1046
+ this._ngZone = _ngZone;
1047
+ /**
1048
+ * Whether the pointer is currently being held on the trigger or not.
1049
+ */
1050
+ this._isPointerDown = false;
1051
+ /**
1052
+ * Events to be registered on the trigger element.
1053
+ */
1054
+ this._triggerEvents = new Map();
1055
+ /**
1056
+ * Set of currently active ripple references.
1057
+ */
1058
+ this._activeRipples = new Set();
1059
+ /**
1060
+ * Ripple config for all ripples created by events.
1061
+ */
1062
+ this.rippleConfig = {};
1063
+ /**
1064
+ * Whether mouse ripples should be created or not.
1065
+ */
1066
+ this.rippleDisabled = false;
1067
+ // Only do anything if we're on the browser.
1068
+ if (platform.isBrowser) {
1069
+ this._containerElement = elementRef.nativeElement;
1070
+ // Specify events which need to be registered on the trigger.
1071
+ this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
1072
+ this._triggerEvents.set('touchstart', this.onTouchstart.bind(this));
1073
+ this._triggerEvents.set('mouseup', this.onPointerUp.bind(this));
1074
+ this._triggerEvents.set('touchend', this.onPointerUp.bind(this));
1075
+ this._triggerEvents.set('mouseleave', this.onPointerLeave.bind(this));
1076
+ // By default use the host element as trigger element.
1077
+ this.setTriggerElement(this._containerElement);
1078
+ }
1079
+ }
1080
+ /**
1081
+ * Fades in a ripple at the given coordinates.
1082
+ * @param {?} x Coordinate within the element, along the X axis at which to start the ripple.
1083
+ * @param {?} y
1084
+ * @param {?=} config Extra ripple options.
1085
+ * @return {?}
1086
+ */
1087
+ RippleRenderer.prototype.fadeInRipple = function (x, y, config) {
1088
+ var _this = this;
1089
+ if (config === void 0) { config = {}; }
1090
+ var /** @type {?} */ containerRect = this._containerElement.getBoundingClientRect();
1091
+ if (config.centered) {
1092
+ x = containerRect.left + containerRect.width / 2;
1093
+ y = containerRect.top + containerRect.height / 2;
1094
+ }
1095
+ var /** @type {?} */ radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
1096
+ var /** @type {?} */ duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
1097
+ var /** @type {?} */ offsetX = x - containerRect.left;
1098
+ var /** @type {?} */ offsetY = y - containerRect.top;
1099
+ var /** @type {?} */ ripple = document.createElement('div');
1100
+ ripple.classList.add('mat-ripple-element');
1101
+ ripple.style.left = offsetX - radius + "px";
1102
+ ripple.style.top = offsetY - radius + "px";
1103
+ ripple.style.height = radius * 2 + "px";
1104
+ ripple.style.width = radius * 2 + "px";
1105
+ // If the color is not set, the default CSS color will be used.
1106
+ ripple.style.backgroundColor = config.color || null;
1107
+ ripple.style.transitionDuration = duration + "ms";
1108
+ this._containerElement.appendChild(ripple);
1109
+ // By default the browser does not recalculate the styles of dynamically created
1110
+ // ripple elements. This is critical because then the `scale` would not animate properly.
1111
+ enforceStyleRecalculation(ripple);
1112
+ ripple.style.transform = 'scale(1)';
1113
+ // Exposed reference to the ripple that will be returned.
1114
+ var /** @type {?} */ rippleRef = new RippleRef(this, ripple, config);
1115
+ rippleRef.state = RippleState.FADING_IN;
1116
+ // Add the ripple reference to the list of all active ripples.
1117
+ this._activeRipples.add(rippleRef);
1118
+ // Wait for the ripple element to be completely faded in.
1119
+ // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
1120
+ this.runTimeoutOutsideZone(function () {
1121
+ rippleRef.state = RippleState.VISIBLE;
1122
+ if (!config.persistent && !_this._isPointerDown) {
1123
+ rippleRef.fadeOut();
1124
+ }
1125
+ }, duration);
1126
+ return rippleRef;
1127
+ };
1128
+ /**
1129
+ * Fades out a ripple reference.
1130
+ * @param {?} rippleRef
1131
+ * @return {?}
1132
+ */
1133
+ RippleRenderer.prototype.fadeOutRipple = function (rippleRef) {
1134
+ // For ripples that are not active anymore, don't re-un the fade-out animation.
1135
+ if (!this._activeRipples.delete(rippleRef)) {
1136
+ return;
1137
+ }
1138
+ var /** @type {?} */ rippleEl = rippleRef.element;
1139
+ rippleEl.style.transitionDuration = RIPPLE_FADE_OUT_DURATION + "ms";
1140
+ rippleEl.style.opacity = '0';
1141
+ rippleRef.state = RippleState.FADING_OUT;
1142
+ // Once the ripple faded out, the ripple can be safely removed from the DOM.
1143
+ this.runTimeoutOutsideZone(function () {
1144
+ rippleRef.state = RippleState.HIDDEN; /** @type {?} */
1145
+ ((rippleEl.parentNode)).removeChild(rippleEl);
1146
+ }, RIPPLE_FADE_OUT_DURATION);
1147
+ };
1148
+ /**
1149
+ * Fades out all currently active ripples.
1150
+ * @return {?}
1151
+ */
1152
+ RippleRenderer.prototype.fadeOutAll = function () {
1153
+ this._activeRipples.forEach(function (ripple) { return ripple.fadeOut(); });
1154
+ };
1155
+ /**
1156
+ * Sets the trigger element and registers the mouse events.
1157
+ * @param {?} element
1158
+ * @return {?}
1159
+ */
1160
+ RippleRenderer.prototype.setTriggerElement = function (element) {
1161
+ var _this = this;
1162
+ // Remove all previously register event listeners from the trigger element.
1163
+ if (this._triggerElement) {
1164
+ this._triggerEvents.forEach(function (fn, type) {
1165
+ ((_this._triggerElement)).removeEventListener(type, fn);
1166
+ });
1167
+ }
1168
+ if (element) {
1169
+ // If the element is not null, register all event listeners on the trigger element.
1170
+ this._ngZone.runOutsideAngular(function () {
1171
+ _this._triggerEvents.forEach(function (fn, type) { return element.addEventListener(type, fn); });
1172
+ });
1173
+ }
1174
+ this._triggerElement = element;
1175
+ };
1176
+ /**
1177
+ * Function being called whenever the trigger is being pressed.
1178
+ * @param {?} event
1179
+ * @return {?}
1180
+ */
1181
+ RippleRenderer.prototype.onMousedown = function (event) {
1182
+ if (!this.rippleDisabled) {
1183
+ this._isPointerDown = true;
1184
+ this.fadeInRipple(event.clientX, event.clientY, this.rippleConfig);
1185
+ }
1186
+ };
1187
+ /**
1188
+ * Function being called whenever the pointer is being released.
1189
+ * @return {?}
1190
+ */
1191
+ RippleRenderer.prototype.onPointerUp = function () {
1192
+ this._isPointerDown = false;
1193
+ // Fade-out all ripples that are completely visible and not persistent.
1194
+ this._activeRipples.forEach(function (ripple) {
1195
+ if (!ripple.config.persistent && ripple.state === RippleState.VISIBLE) {
1196
+ ripple.fadeOut();
1197
+ }
1198
+ });
1199
+ };
1200
+ /**
1201
+ * Function being called whenever the pointer leaves the trigger.
1202
+ * @return {?}
1203
+ */
1204
+ RippleRenderer.prototype.onPointerLeave = function () {
1205
+ if (this._isPointerDown) {
1206
+ this.onPointerUp();
1207
+ }
1208
+ };
1209
+ /**
1210
+ * Function being called whenever the trigger is being touched.
1211
+ * @param {?} event
1212
+ * @return {?}
1213
+ */
1214
+ RippleRenderer.prototype.onTouchstart = function (event) {
1215
+ if (!this.rippleDisabled) {
1216
+ var _a = event.touches[0], clientX = _a.clientX, clientY = _a.clientY;
1217
+ this._isPointerDown = true;
1218
+ this.fadeInRipple(clientX, clientY, this.rippleConfig);
1219
+ }
1220
+ };
1221
+ /**
1222
+ * Runs a timeout outside of the Angular zone to avoid triggering the change detection.
1223
+ * @param {?} fn
1224
+ * @param {?=} delay
1225
+ * @return {?}
1226
+ */
1227
+ RippleRenderer.prototype.runTimeoutOutsideZone = function (fn, delay) {
1228
+ if (delay === void 0) { delay = 0; }
1229
+ this._ngZone.runOutsideAngular(function () { return setTimeout(fn, delay); });
1230
+ };
1231
+ return RippleRenderer;
1232
+ }());
1233
+ /**
1234
+ * @param {?} element
1235
+ * @return {?}
1236
+ */
1237
+ function enforceStyleRecalculation(element) {
1238
+ // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1239
+ // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1240
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1241
+ window.getComputedStyle(element).getPropertyValue('opacity');
1242
+ }
1243
+ /**
1244
+ * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1245
+ * @param {?} x
1246
+ * @param {?} y
1247
+ * @param {?} rect
1248
+ * @return {?}
1249
+ */
1250
+ function distanceToFurthestCorner(x, y, rect) {
1251
+ var /** @type {?} */ distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
1252
+ var /** @type {?} */ distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
1253
+ return Math.sqrt(distX * distX + distY * distY);
1254
+ }
1255
+
1256
+ /**
1257
+ * Injection token that can be used to specify the global ripple options.
1258
+ */
1259
+ var MAT_RIPPLE_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-ripple-global-options');
1260
+ var MatRipple = (function () {
1261
+ /**
1262
+ * @param {?} elementRef
1263
+ * @param {?} ngZone
1264
+ * @param {?} platform
1265
+ * @param {?} globalOptions
1266
+ */
1267
+ function MatRipple(elementRef, ngZone, platform, globalOptions) {
1268
+ /**
1269
+ * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
1270
+ * will be the distance from the center of the ripple to the furthest corner of the host element's
1271
+ * bounding rectangle.
1272
+ */
1273
+ this.radius = 0;
1274
+ /**
1275
+ * If set, the normal duration of ripple animations is divided by this value. For example,
1276
+ * setting it to 0.5 will cause the animations to take twice as long.
1277
+ * A changed speedFactor will not modify the fade-out duration of the ripples.
1278
+ */
1279
+ this.speedFactor = 1;
1280
+ this._rippleRenderer = new RippleRenderer(elementRef, ngZone, platform);
1281
+ this._globalOptions = globalOptions ? globalOptions : {};
1282
+ this._updateRippleRenderer();
1283
+ }
1284
+ /**
1285
+ * @param {?} changes
1286
+ * @return {?}
1287
+ */
1288
+ MatRipple.prototype.ngOnChanges = function (changes) {
1289
+ if ((changes['trigger'] || changes['_matRippleTrigger']) && this.trigger) {
1290
+ this._rippleRenderer.setTriggerElement(this.trigger);
1291
+ }
1292
+ this._updateRippleRenderer();
1293
+ };
1294
+ /**
1295
+ * @return {?}
1296
+ */
1297
+ MatRipple.prototype.ngOnDestroy = function () {
1298
+ // Set the trigger element to null to cleanup all listeners.
1299
+ this._rippleRenderer.setTriggerElement(null);
1300
+ };
1301
+ /**
1302
+ * Launches a manual ripple at the specified position.
1303
+ * @param {?} x
1304
+ * @param {?} y
1305
+ * @param {?=} config
1306
+ * @return {?}
1307
+ */
1308
+ MatRipple.prototype.launch = function (x, y, config) {
1309
+ if (config === void 0) { config = this.rippleConfig; }
1310
+ return this._rippleRenderer.fadeInRipple(x, y, config);
1311
+ };
1312
+ /**
1313
+ * Fades out all currently showing ripple elements.
1314
+ * @return {?}
1315
+ */
1316
+ MatRipple.prototype.fadeOutAll = function () {
1317
+ this._rippleRenderer.fadeOutAll();
1318
+ };
1319
+ Object.defineProperty(MatRipple.prototype, "rippleConfig", {
1320
+ /**
1321
+ * Ripple configuration from the directive's input values.
1322
+ * @return {?}
1323
+ */
1324
+ get: function () {
1325
+ return {
1326
+ centered: this.centered,
1327
+ speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
1328
+ radius: this.radius,
1329
+ color: this.color
1330
+ };
1331
+ },
1332
+ enumerable: true,
1333
+ configurable: true
1334
+ });
1335
+ /**
1336
+ * Updates the ripple renderer with the latest ripple configuration.
1337
+ * @return {?}
1338
+ */
1339
+ MatRipple.prototype._updateRippleRenderer = function () {
1340
+ this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
1341
+ this._rippleRenderer.rippleConfig = this.rippleConfig;
1342
+ };
1343
+ MatRipple.decorators = [
1344
+ { type: _angular_core.Directive, args: [{
1345
+ selector: '[mat-ripple], [matRipple]',
1346
+ exportAs: 'matRipple',
1347
+ host: {
1348
+ 'class': 'mat-ripple',
1349
+ '[class.mat-ripple-unbounded]': 'unbounded'
1350
+ }
1351
+ },] },
1352
+ ];
1353
+ /**
1354
+ * @nocollapse
1355
+ */
1356
+ MatRipple.ctorParameters = function () { return [
1357
+ { type: _angular_core.ElementRef, },
1358
+ { type: _angular_core.NgZone, },
1359
+ { type: _angular_cdk_platform.Platform, },
1360
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] },] },
1361
+ ]; };
1362
+ MatRipple.propDecorators = {
1363
+ 'trigger': [{ type: _angular_core.Input, args: ['matRippleTrigger',] },],
1364
+ 'centered': [{ type: _angular_core.Input, args: ['matRippleCentered',] },],
1365
+ 'disabled': [{ type: _angular_core.Input, args: ['matRippleDisabled',] },],
1366
+ 'radius': [{ type: _angular_core.Input, args: ['matRippleRadius',] },],
1367
+ 'speedFactor': [{ type: _angular_core.Input, args: ['matRippleSpeedFactor',] },],
1368
+ 'color': [{ type: _angular_core.Input, args: ['matRippleColor',] },],
1369
+ 'unbounded': [{ type: _angular_core.Input, args: ['matRippleUnbounded',] },],
1370
+ };
1371
+ return MatRipple;
1372
+ }());
1373
+
1374
+ var MatRippleModule = (function () {
1375
+ function MatRippleModule() {
1376
+ }
1377
+ MatRippleModule.decorators = [
1378
+ { type: _angular_core.NgModule, args: [{
1379
+ imports: [MatCommonModule, _angular_cdk_platform.PlatformModule],
1380
+ exports: [MatRipple, MatCommonModule],
1381
+ declarations: [MatRipple],
1382
+ },] },
1383
+ ];
1384
+ /**
1385
+ * @nocollapse
1386
+ */
1387
+ MatRippleModule.ctorParameters = function () { return []; };
1388
+ return MatRippleModule;
1389
+ }());
1390
+
1391
+ /**
1392
+ * \@docs-private
1393
+ */
1394
+ var MatOptgroupBase = (function () {
1395
+ function MatOptgroupBase() {
1396
+ }
1397
+ return MatOptgroupBase;
1398
+ }());
1399
+ var _MatOptgroupMixinBase = mixinDisabled(MatOptgroupBase);
1400
+ // Counter for unique group ids.
1401
+ var _uniqueOptgroupIdCounter = 0;
1402
+ /**
1403
+ * Component that is used to group instances of `mat-option`.
1404
+ */
1405
+ var MatOptgroup = (function (_super) {
1406
+ __extends(MatOptgroup, _super);
1407
+ function MatOptgroup() {
1408
+ var _this = _super !== null && _super.apply(this, arguments) || this;
1409
+ /**
1410
+ * Unique id for the underlying label.
1411
+ */
1412
+ _this._labelId = "mat-optgroup-label-" + _uniqueOptgroupIdCounter++;
1413
+ return _this;
1414
+ }
1415
+ MatOptgroup.decorators = [
1416
+ { type: _angular_core.Component, args: [{selector: 'mat-optgroup',
1417
+ exportAs: 'matOptgroup',
1418
+ template: "<label class=\"mat-optgroup-label\" [id]=\"_labelId\">{{ label }}</label><ng-content select=\"mat-option\"></ng-content>",
1419
+ encapsulation: _angular_core.ViewEncapsulation.None,
1420
+ preserveWhitespaces: false,
1421
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1422
+ inputs: ['disabled'],
1423
+ host: {
1424
+ 'class': 'mat-optgroup',
1425
+ 'role': 'group',
1426
+ '[class.mat-optgroup-disabled]': 'disabled',
1427
+ '[attr.aria-disabled]': 'disabled.toString()',
1428
+ '[attr.aria-labelledby]': '_labelId',
1429
+ }
1430
+ },] },
1431
+ ];
1432
+ /**
1433
+ * @nocollapse
1434
+ */
1435
+ MatOptgroup.ctorParameters = function () { return []; };
1436
+ MatOptgroup.propDecorators = {
1437
+ 'label': [{ type: _angular_core.Input },],
1438
+ };
1439
+ return MatOptgroup;
1440
+ }(_MatOptgroupMixinBase));
1441
+
1442
+ /**
1443
+ * Option IDs need to be unique across components, so this counter exists outside of
1444
+ * the component definition.
1445
+ */
1446
+ var _uniqueIdCounter = 0;
1447
+ /**
1448
+ * Event object emitted by MatOption when selected or deselected.
1449
+ */
1450
+ var MatOptionSelectionChange = (function () {
1451
+ /**
1452
+ * @param {?} source
1453
+ * @param {?=} isUserInput
1454
+ */
1455
+ function MatOptionSelectionChange(source, isUserInput) {
1456
+ if (isUserInput === void 0) { isUserInput = false; }
1457
+ this.source = source;
1458
+ this.isUserInput = isUserInput;
1459
+ }
1460
+ return MatOptionSelectionChange;
1461
+ }());
1462
+ /**
1463
+ * Single option inside of a `<mat-select>` element.
1464
+ */
1465
+ var MatOption = (function () {
1466
+ /**
1467
+ * @param {?} _element
1468
+ * @param {?} _changeDetectorRef
1469
+ * @param {?} group
1470
+ */
1471
+ function MatOption(_element, _changeDetectorRef, group) {
1472
+ this._element = _element;
1473
+ this._changeDetectorRef = _changeDetectorRef;
1474
+ this.group = group;
1475
+ this._selected = false;
1476
+ this._active = false;
1477
+ this._multiple = false;
1478
+ this._disableRipple = false;
1479
+ /**
1480
+ * Whether the option is disabled.
1481
+ */
1482
+ this._disabled = false;
1483
+ this._id = "mat-option-" + _uniqueIdCounter++;
1484
+ /**
1485
+ * Event emitted when the option is selected or deselected.
1486
+ */
1487
+ this.onSelectionChange = new _angular_core.EventEmitter();
1488
+ }
1489
+ Object.defineProperty(MatOption.prototype, "multiple", {
1490
+ /**
1491
+ * Whether the wrapping component is in multiple selection mode.
1492
+ * @return {?}
1493
+ */
1494
+ get: function () { return this._multiple; },
1495
+ /**
1496
+ * @param {?} value
1497
+ * @return {?}
1498
+ */
1499
+ set: function (value) {
1500
+ if (value !== this._multiple) {
1501
+ this._multiple = value;
1502
+ this._changeDetectorRef.markForCheck();
1503
+ }
1504
+ },
1505
+ enumerable: true,
1506
+ configurable: true
1507
+ });
1508
+ Object.defineProperty(MatOption.prototype, "id", {
1509
+ /**
1510
+ * The unique ID of the option.
1511
+ * @return {?}
1512
+ */
1513
+ get: function () { return this._id; },
1514
+ enumerable: true,
1515
+ configurable: true
1516
+ });
1517
+ Object.defineProperty(MatOption.prototype, "selected", {
1518
+ /**
1519
+ * Whether or not the option is currently selected.
1520
+ * @return {?}
1521
+ */
1522
+ get: function () { return this._selected; },
1523
+ enumerable: true,
1524
+ configurable: true
1525
+ });
1526
+ Object.defineProperty(MatOption.prototype, "disabled", {
1527
+ /**
1528
+ * Whether the option is disabled.
1529
+ * @return {?}
1530
+ */
1531
+ get: function () { return (this.group && this.group.disabled) || this._disabled; },
1532
+ /**
1533
+ * @param {?} value
1534
+ * @return {?}
1535
+ */
1536
+ set: function (value) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
1537
+ enumerable: true,
1538
+ configurable: true
1539
+ });
1540
+ Object.defineProperty(MatOption.prototype, "disableRipple", {
1541
+ /**
1542
+ * Whether ripples for the option are disabled.
1543
+ * @return {?}
1544
+ */
1545
+ get: function () { return this._disableRipple; },
1546
+ /**
1547
+ * @param {?} value
1548
+ * @return {?}
1549
+ */
1550
+ set: function (value) {
1551
+ this._disableRipple = value;
1552
+ this._changeDetectorRef.markForCheck();
1553
+ },
1554
+ enumerable: true,
1555
+ configurable: true
1556
+ });
1557
+ Object.defineProperty(MatOption.prototype, "active", {
1558
+ /**
1559
+ * Whether or not the option is currently active and ready to be selected.
1560
+ * An active option displays styles as if it is focused, but the
1561
+ * focus is actually retained somewhere else. This comes in handy
1562
+ * for components like autocomplete where focus must remain on the input.
1563
+ * @return {?}
1564
+ */
1565
+ get: function () {
1566
+ return this._active;
1567
+ },
1568
+ enumerable: true,
1569
+ configurable: true
1570
+ });
1571
+ Object.defineProperty(MatOption.prototype, "viewValue", {
1572
+ /**
1573
+ * The displayed value of the option. It is necessary to show the selected option in the
1574
+ * select's trigger.
1575
+ * @return {?}
1576
+ */
1577
+ get: function () {
1578
+ // TODO(kara): Add input property alternative for node envs.
1579
+ return (this._getHostElement().textContent || '').trim();
1580
+ },
1581
+ enumerable: true,
1582
+ configurable: true
1583
+ });
1584
+ /**
1585
+ * Selects the option.
1586
+ * @return {?}
1587
+ */
1588
+ MatOption.prototype.select = function () {
1589
+ this._selected = true;
1590
+ this._changeDetectorRef.markForCheck();
1591
+ this._emitSelectionChangeEvent();
1592
+ };
1593
+ /**
1594
+ * Deselects the option.
1595
+ * @return {?}
1596
+ */
1597
+ MatOption.prototype.deselect = function () {
1598
+ this._selected = false;
1599
+ this._changeDetectorRef.markForCheck();
1600
+ this._emitSelectionChangeEvent();
1601
+ };
1602
+ /**
1603
+ * Sets focus onto this option.
1604
+ * @return {?}
1605
+ */
1606
+ MatOption.prototype.focus = function () {
1607
+ var /** @type {?} */ element = this._getHostElement();
1608
+ if (typeof element.focus === 'function') {
1609
+ element.focus();
1610
+ }
1611
+ };
1612
+ /**
1613
+ * This method sets display styles on the option to make it appear
1614
+ * active. This is used by the ActiveDescendantKeyManager so key
1615
+ * events will display the proper options as active on arrow key events.
1616
+ * @return {?}
1617
+ */
1618
+ MatOption.prototype.setActiveStyles = function () {
1619
+ if (!this._active) {
1620
+ this._active = true;
1621
+ this._changeDetectorRef.markForCheck();
1622
+ }
1623
+ };
1624
+ /**
1625
+ * This method removes display styles on the option that made it appear
1626
+ * active. This is used by the ActiveDescendantKeyManager so key
1627
+ * events will display the proper options as active on arrow key events.
1628
+ * @return {?}
1629
+ */
1630
+ MatOption.prototype.setInactiveStyles = function () {
1631
+ if (this._active) {
1632
+ this._active = false;
1633
+ this._changeDetectorRef.markForCheck();
1634
+ }
1635
+ };
1636
+ /**
1637
+ * Gets the label to be used when determining whether the option should be focused.
1638
+ * @return {?}
1639
+ */
1640
+ MatOption.prototype.getLabel = function () {
1641
+ return this.viewValue;
1642
+ };
1643
+ /**
1644
+ * Ensures the option is selected when activated from the keyboard.
1645
+ * @param {?} event
1646
+ * @return {?}
1647
+ */
1648
+ MatOption.prototype._handleKeydown = function (event) {
1649
+ if (event.keyCode === _angular_cdk_keycodes.ENTER || event.keyCode === _angular_cdk_keycodes.SPACE) {
1650
+ this._selectViaInteraction();
1651
+ // Prevent the page from scrolling down and form submits.
1652
+ event.preventDefault();
1653
+ }
1654
+ };
1655
+ /**
1656
+ * Selects the option while indicating the selection came from the user. Used to
1657
+ * determine if the select's view -> model callback should be invoked.
1658
+ * @return {?}
1659
+ */
1660
+ MatOption.prototype._selectViaInteraction = function () {
1661
+ if (!this.disabled) {
1662
+ this._selected = this.multiple ? !this._selected : true;
1663
+ this._changeDetectorRef.markForCheck();
1664
+ this._emitSelectionChangeEvent(true);
1665
+ }
1666
+ };
1667
+ /**
1668
+ * Returns the correct tabindex for the option depending on disabled state.
1669
+ * @return {?}
1670
+ */
1671
+ MatOption.prototype._getTabIndex = function () {
1672
+ return this.disabled ? '-1' : '0';
1673
+ };
1674
+ /**
1675
+ * Gets the host DOM element.
1676
+ * @return {?}
1677
+ */
1678
+ MatOption.prototype._getHostElement = function () {
1679
+ return this._element.nativeElement;
1680
+ };
1681
+ /**
1682
+ * Emits the selection change event.
1683
+ * @param {?=} isUserInput
1684
+ * @return {?}
1685
+ */
1686
+ MatOption.prototype._emitSelectionChangeEvent = function (isUserInput) {
1687
+ if (isUserInput === void 0) { isUserInput = false; }
1688
+ this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
1689
+ };
1690
+ /**
1691
+ * Counts the amount of option group labels that precede the specified option.
1692
+ * @param {?} optionIndex Index of the option at which to start counting.
1693
+ * @param {?} options Flat list of all of the options.
1694
+ * @param {?} optionGroups Flat list of all of the option groups.
1695
+ * @return {?}
1696
+ */
1697
+ MatOption.countGroupLabelsBeforeOption = function (optionIndex, options, optionGroups) {
1698
+ if (optionGroups.length) {
1699
+ var /** @type {?} */ optionsArray = options.toArray();
1700
+ var /** @type {?} */ groups = optionGroups.toArray();
1701
+ var /** @type {?} */ groupCounter = 0;
1702
+ for (var /** @type {?} */ i = 0; i < optionIndex + 1; i++) {
1703
+ if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
1704
+ groupCounter++;
1705
+ }
1706
+ }
1707
+ return groupCounter;
1708
+ }
1709
+ return 0;
1710
+ };
1711
+ MatOption.decorators = [
1712
+ { type: _angular_core.Component, args: [{selector: 'mat-option',
1713
+ exportAs: 'matOption',
1714
+ host: {
1715
+ 'role': 'option',
1716
+ '[attr.tabindex]': '_getTabIndex()',
1717
+ '[class.mat-selected]': 'selected',
1718
+ '[class.mat-option-multiple]': 'multiple',
1719
+ '[class.mat-active]': 'active',
1720
+ '[id]': 'id',
1721
+ '[attr.aria-selected]': 'selected.toString()',
1722
+ '[attr.aria-disabled]': 'disabled.toString()',
1723
+ '[class.mat-option-disabled]': 'disabled',
1724
+ '(click)': '_selectViaInteraction()',
1725
+ '(keydown)': '_handleKeydown($event)',
1726
+ 'class': 'mat-option',
1727
+ },
1728
+ 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>",
1729
+ encapsulation: _angular_core.ViewEncapsulation.None,
1730
+ preserveWhitespaces: false,
1731
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1732
+ },] },
1733
+ ];
1734
+ /**
1735
+ * @nocollapse
1736
+ */
1737
+ MatOption.ctorParameters = function () { return [
1738
+ { type: _angular_core.ElementRef, },
1739
+ { type: _angular_core.ChangeDetectorRef, },
1740
+ { type: MatOptgroup, decorators: [{ type: _angular_core.Optional },] },
1741
+ ]; };
1742
+ MatOption.propDecorators = {
1743
+ 'value': [{ type: _angular_core.Input },],
1744
+ 'disabled': [{ type: _angular_core.Input },],
1745
+ 'onSelectionChange': [{ type: _angular_core.Output },],
1746
+ };
1747
+ return MatOption;
1748
+ }());
1749
+
1750
+ /**
1751
+ * InjectionToken that can be used to specify the global placeholder options.
1752
+ */
1753
+ var MAT_PLACEHOLDER_GLOBAL_OPTIONS = new _angular_core.InjectionToken('mat-placeholder-global-options');
1754
+
1755
+ /**
1756
+ * The ink-bar is used to display and animate the line underneath the current active tab label.
1757
+ * \@docs-private
1758
+ */
1759
+ var MatInkBar = (function () {
1760
+ /**
1761
+ * @param {?} _renderer
1762
+ * @param {?} _elementRef
1763
+ * @param {?} _ngZone
1764
+ */
1765
+ function MatInkBar(_renderer, _elementRef, _ngZone) {
1766
+ this._renderer = _renderer;
1767
+ this._elementRef = _elementRef;
1768
+ this._ngZone = _ngZone;
1769
+ }
1770
+ /**
1771
+ * Calculates the styles from the provided element in order to align the ink-bar to that element.
1772
+ * Shows the ink bar if previously set as hidden.
1773
+ * @param {?} element
1774
+ * @return {?}
1775
+ */
1776
+ MatInkBar.prototype.alignToElement = function (element) {
1777
+ var _this = this;
1778
+ this.show();
1779
+ if (typeof requestAnimationFrame !== 'undefined') {
1780
+ this._ngZone.runOutsideAngular(function () {
1781
+ requestAnimationFrame(function () { return _this._setStyles(element); });
1782
+ });
1783
+ }
1784
+ else {
1785
+ this._setStyles(element);
1786
+ }
1787
+ };
1788
+ /**
1789
+ * Shows the ink bar.
1790
+ * @return {?}
1791
+ */
1792
+ MatInkBar.prototype.show = function () {
1793
+ this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'visible');
1794
+ };
1795
+ /**
1796
+ * Hides the ink bar.
1797
+ * @return {?}
1798
+ */
1799
+ MatInkBar.prototype.hide = function () {
1800
+ this._renderer.setStyle(this._elementRef.nativeElement, 'visibility', 'hidden');
1801
+ };
1802
+ /**
1803
+ * Sets the proper styles to the ink bar element.
1804
+ * @param {?} element
1805
+ * @return {?}
1806
+ */
1807
+ MatInkBar.prototype._setStyles = function (element) {
1808
+ var /** @type {?} */ left = element ? (element.offsetLeft || 0) + 'px' : '0';
1809
+ var /** @type {?} */ width = element ? (element.offsetWidth || 0) + 'px' : '0';
1810
+ this._renderer.setStyle(this._elementRef.nativeElement, 'left', left);
1811
+ this._renderer.setStyle(this._elementRef.nativeElement, 'width', width);
1812
+ };
1813
+ MatInkBar.decorators = [
1814
+ { type: _angular_core.Directive, args: [{
1815
+ selector: 'mat-ink-bar',
1816
+ host: {
1817
+ 'class': 'mat-ink-bar',
1818
+ },
1819
+ },] },
1820
+ ];
1821
+ /**
1822
+ * @nocollapse
1823
+ */
1824
+ MatInkBar.ctorParameters = function () { return [
1825
+ { type: _angular_core.Renderer2, },
1826
+ { type: _angular_core.ElementRef, },
1827
+ { type: _angular_core.NgZone, },
1828
+ ]; };
1829
+ return MatInkBar;
1830
+ }());
1831
+
1832
+ /**
1833
+ * Workaround for https://github.com/angular/angular/issues/17849
1834
+ */
1835
+ var _MatTabLabelBaseClass = _angular_cdk_portal.TemplatePortalDirective;
1836
+ /**
1837
+ * Used to flag tab labels for use with the portal directive
1838
+ */
1839
+ var MatTabLabel = (function (_super) {
1840
+ __extends(MatTabLabel, _super);
1841
+ /**
1842
+ * @param {?} templateRef
1843
+ * @param {?} viewContainerRef
1844
+ */
1845
+ function MatTabLabel(templateRef, viewContainerRef) {
1846
+ return _super.call(this, templateRef, viewContainerRef) || this;
1847
+ }
1848
+ MatTabLabel.decorators = [
1849
+ { type: _angular_core.Directive, args: [{
1850
+ selector: '[mat-tab-label], [matTabLabel]',
1851
+ },] },
1852
+ ];
1853
+ /**
1854
+ * @nocollapse
1855
+ */
1856
+ MatTabLabel.ctorParameters = function () { return [
1857
+ { type: _angular_core.TemplateRef, },
1858
+ { type: _angular_core.ViewContainerRef, },
1859
+ ]; };
1860
+ return MatTabLabel;
1861
+ }(_MatTabLabelBaseClass));
1862
+
1863
+ /**
1864
+ * \@docs-private
1865
+ */
1866
+ var MatTabBase = (function () {
1867
+ function MatTabBase() {
1868
+ }
1869
+ return MatTabBase;
1870
+ }());
1871
+ var _MatTabMixinBase = mixinDisabled(MatTabBase);
1872
+ var MatTab = (function (_super) {
1873
+ __extends(MatTab, _super);
1874
+ /**
1875
+ * @param {?} _viewContainerRef
1876
+ */
1877
+ function MatTab(_viewContainerRef) {
1878
+ var _this = _super.call(this) || this;
1879
+ _this._viewContainerRef = _viewContainerRef;
1880
+ /**
1881
+ * The plain text label for the tab, used when there is no template label.
1882
+ */
1883
+ _this.textLabel = '';
1884
+ /**
1885
+ * The portal that will be the hosted content of the tab
1886
+ */
1887
+ _this._contentPortal = null;
1888
+ /**
1889
+ * Emits whenever the label changes.
1890
+ */
1891
+ _this._labelChange = new rxjs_Subject.Subject();
1892
+ /**
1893
+ * Emits whenevfer the disable changes
1894
+ */
1895
+ _this._disableChange = new rxjs_Subject.Subject();
1896
+ /**
1897
+ * The relatively indexed position where 0 represents the center, negative is left, and positive
1898
+ * represents the right.
1899
+ */
1900
+ _this.position = null;
1901
+ /**
1902
+ * The initial relatively index origin of the tab if it was created and selected after there
1903
+ * was already a selected tab. Provides context of what position the tab should originate from.
1904
+ */
1905
+ _this.origin = null;
1906
+ /**
1907
+ * Whether the tab is currently active.
1908
+ */
1909
+ _this.isActive = false;
1910
+ return _this;
1911
+ }
1912
+ Object.defineProperty(MatTab.prototype, "content", {
1913
+ /**
1914
+ * @return {?}
1915
+ */
1916
+ get: function () { return this._contentPortal; },
1917
+ enumerable: true,
1918
+ configurable: true
1919
+ });
1920
+ /**
1921
+ * @param {?} changes
1922
+ * @return {?}
1923
+ */
1924
+ MatTab.prototype.ngOnChanges = function (changes) {
1925
+ if (changes.hasOwnProperty('textLabel')) {
1926
+ this._labelChange.next();
1927
+ }
1928
+ if (changes.hasOwnProperty('disabled')) {
1929
+ this._disableChange.next();
1930
+ }
1931
+ };
1932
+ /**
1933
+ * @return {?}
1934
+ */
1935
+ MatTab.prototype.ngOnDestroy = function () {
1936
+ this._disableChange.complete();
1937
+ this._labelChange.complete();
1938
+ };
1939
+ /**
1940
+ * @return {?}
1941
+ */
1942
+ MatTab.prototype.ngOnInit = function () {
1943
+ this._contentPortal = new _angular_cdk_portal.TemplatePortal(this._content, this._viewContainerRef);
1944
+ };
1945
+ MatTab.decorators = [
1946
+ { type: _angular_core.Component, args: [{selector: 'mat-tab',
1947
+ template: "<ng-template><ng-content></ng-content></ng-template>",
1948
+ inputs: ['disabled'],
1949
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
1950
+ encapsulation: _angular_core.ViewEncapsulation.None,
1951
+ preserveWhitespaces: false,
1952
+ exportAs: 'matTab',
1953
+ },] },
1954
+ ];
1955
+ /**
1956
+ * @nocollapse
1957
+ */
1958
+ MatTab.ctorParameters = function () { return [
1959
+ { type: _angular_core.ViewContainerRef, },
1960
+ ]; };
1961
+ MatTab.propDecorators = {
1962
+ 'templateLabel': [{ type: _angular_core.ContentChild, args: [MatTabLabel,] },],
1963
+ '_content': [{ type: _angular_core.ViewChild, args: [_angular_core.TemplateRef,] },],
1964
+ 'textLabel': [{ type: _angular_core.Input, args: ['label',] },],
1965
+ };
1966
+ return MatTab;
1967
+ }(_MatTabMixinBase));
1968
+
1969
+ /**
1970
+ * Wrapper for the contents of a tab.
1971
+ * \@docs-private
1972
+ */
1973
+ var MatTabBody = (function () {
1974
+ /**
1975
+ * @param {?} _elementRef
1976
+ * @param {?} _dir
1977
+ */
1978
+ function MatTabBody(_elementRef, _dir) {
1979
+ this._elementRef = _elementRef;
1980
+ this._dir = _dir;
1981
+ /**
1982
+ * Event emitted when the tab begins to animate towards the center as the active tab.
1983
+ */
1984
+ this._onCentering = new _angular_core.EventEmitter();
1985
+ /**
1986
+ * Event emitted when the tab completes its animation towards the center.
1987
+ */
1988
+ this._onCentered = new _angular_core.EventEmitter(true);
1989
+ }
1990
+ Object.defineProperty(MatTabBody.prototype, "position", {
1991
+ /**
1992
+ * @param {?} position
1993
+ * @return {?}
1994
+ */
1995
+ set: function (position) {
1996
+ if (position < 0) {
1997
+ this._position = this._getLayoutDirection() == 'ltr' ? 'left' : 'right';
1998
+ }
1999
+ else if (position > 0) {
2000
+ this._position = this._getLayoutDirection() == 'ltr' ? 'right' : 'left';
2001
+ }
2002
+ else {
2003
+ this._position = 'center';
2004
+ }
2005
+ },
2006
+ enumerable: true,
2007
+ configurable: true
2008
+ });
2009
+ Object.defineProperty(MatTabBody.prototype, "origin", {
2010
+ /**
2011
+ * The origin position from which this tab should appear when it is centered into view.
2012
+ * @param {?} origin
2013
+ * @return {?}
2014
+ */
2015
+ set: function (origin) {
2016
+ if (origin == null) {
2017
+ return;
2018
+ }
2019
+ var /** @type {?} */ dir = this._getLayoutDirection();
2020
+ if ((dir == 'ltr' && origin <= 0) || (dir == 'rtl' && origin > 0)) {
2021
+ this._origin = 'left';
2022
+ }
2023
+ else {
2024
+ this._origin = 'right';
2025
+ }
2026
+ },
2027
+ enumerable: true,
2028
+ configurable: true
2029
+ });
2030
+ /**
2031
+ * After initialized, check if the content is centered and has an origin. If so, set the
2032
+ * special position states that transition the tab from the left or right before centering.
2033
+ * @return {?}
2034
+ */
2035
+ MatTabBody.prototype.ngOnInit = function () {
2036
+ if (this._position == 'center' && this._origin) {
2037
+ this._position = this._origin == 'left' ? 'left-origin-center' : 'right-origin-center';
2038
+ }
2039
+ };
2040
+ /**
2041
+ * After the view has been set, check if the tab content is set to the center and attach the
2042
+ * content if it is not already attached.
2043
+ * @return {?}
2044
+ */
2045
+ MatTabBody.prototype.ngAfterViewChecked = function () {
2046
+ if (this._isCenterPosition(this._position) && !this._portalHost.hasAttached()) {
2047
+ this._portalHost.attach(this._content);
2048
+ }
2049
+ };
2050
+ /**
2051
+ * @param {?} e
2052
+ * @return {?}
2053
+ */
2054
+ MatTabBody.prototype._onTranslateTabStarted = function (e) {
2055
+ if (this._isCenterPosition(e.toState)) {
2056
+ this._onCentering.emit(this._elementRef.nativeElement.clientHeight);
2057
+ }
2058
+ };
2059
+ /**
2060
+ * @param {?} e
2061
+ * @return {?}
2062
+ */
2063
+ MatTabBody.prototype._onTranslateTabComplete = function (e) {
2064
+ // If the end state is that the tab is not centered, then detach the content.
2065
+ if (!this._isCenterPosition(e.toState) && !this._isCenterPosition(this._position)) {
2066
+ this._portalHost.detach();
2067
+ }
2068
+ // If the transition to the center is complete, emit an event.
2069
+ if (this._isCenterPosition(e.toState) && this._isCenterPosition(this._position)) {
2070
+ this._onCentered.emit();
2071
+ }
2072
+ };
2073
+ /**
2074
+ * The text direction of the containing app.
2075
+ * @return {?}
2076
+ */
2077
+ MatTabBody.prototype._getLayoutDirection = function () {
2078
+ return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
2079
+ };
2080
+ /**
2081
+ * Whether the provided position state is considered center, regardless of origin.
2082
+ * @param {?} position
2083
+ * @return {?}
2084
+ */
2085
+ MatTabBody.prototype._isCenterPosition = function (position) {
2086
+ return position == 'center' ||
2087
+ position == 'left-origin-center' ||
2088
+ position == 'right-origin-center';
2089
+ };
2090
+ MatTabBody.decorators = [
2091
+ { type: _angular_core.Component, args: [{selector: 'mat-tab-body',
2092
+ template: "<div class=\"mat-tab-body-content\" #content [@translateTab]=\"_position\" (@translateTab.start)=\"_onTranslateTabStarted($event)\" (@translateTab.done)=\"_onTranslateTabComplete($event)\"><ng-template cdkPortalHost></ng-template></div>",
2093
+ styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],
2094
+ encapsulation: _angular_core.ViewEncapsulation.None,
2095
+ preserveWhitespaces: false,
2096
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2097
+ host: {
2098
+ 'class': 'mat-tab-body',
2099
+ },
2100
+ animations: [
2101
+ _angular_animations.trigger('translateTab', [
2102
+ // Note: transitions to `none` instead of 0, because some browsers might blur the content.
2103
+ _angular_animations.state('center, void, left-origin-center, right-origin-center', _angular_animations.style({ transform: 'none' })),
2104
+ _angular_animations.state('left', _angular_animations.style({ transform: 'translate3d(-100%, 0, 0)' })),
2105
+ _angular_animations.state('right', _angular_animations.style({ transform: 'translate3d(100%, 0, 0)' })),
2106
+ _angular_animations.transition('* => left, * => right, left => center, right => center', _angular_animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),
2107
+ _angular_animations.transition('void => left-origin-center', [
2108
+ _angular_animations.style({ transform: 'translate3d(-100%, 0, 0)' }),
2109
+ _angular_animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
2110
+ ]),
2111
+ _angular_animations.transition('void => right-origin-center', [
2112
+ _angular_animations.style({ transform: 'translate3d(100%, 0, 0)' }),
2113
+ _angular_animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
2114
+ ])
2115
+ ])
2116
+ ]
2117
+ },] },
2118
+ ];
2119
+ /**
2120
+ * @nocollapse
2121
+ */
2122
+ MatTabBody.ctorParameters = function () { return [
2123
+ { type: _angular_core.ElementRef, },
2124
+ { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
2125
+ ]; };
2126
+ MatTabBody.propDecorators = {
2127
+ '_portalHost': [{ type: _angular_core.ViewChild, args: [_angular_cdk_portal.PortalHostDirective,] },],
2128
+ '_onCentering': [{ type: _angular_core.Output },],
2129
+ '_onCentered': [{ type: _angular_core.Output },],
2130
+ '_content': [{ type: _angular_core.Input, args: ['content',] },],
2131
+ 'position': [{ type: _angular_core.Input, args: ['position',] },],
2132
+ 'origin': [{ type: _angular_core.Input, args: ['origin',] },],
2133
+ };
2134
+ return MatTabBody;
2135
+ }());
2136
+
2137
+ /**
2138
+ * Used to generate unique ID's for each tab component
2139
+ */
2140
+ var nextId = 0;
2141
+ /**
2142
+ * A simple change event emitted on focus or selection changes.
2143
+ */
2144
+ var MatTabChangeEvent = (function () {
2145
+ function MatTabChangeEvent() {
2146
+ }
2147
+ return MatTabChangeEvent;
2148
+ }());
2149
+ /**
2150
+ * \@docs-private
2151
+ */
2152
+ var MatTabGroupBase = (function () {
2153
+ /**
2154
+ * @param {?} _renderer
2155
+ * @param {?} _elementRef
2156
+ */
2157
+ function MatTabGroupBase(_renderer, _elementRef) {
2158
+ this._renderer = _renderer;
2159
+ this._elementRef = _elementRef;
2160
+ }
2161
+ return MatTabGroupBase;
2162
+ }());
2163
+ var _MatTabGroupMixinBase = mixinColor(mixinDisableRipple(MatTabGroupBase), 'primary');
2164
+ /**
2165
+ * Material design tab-group component. Supports basic tab pairs (label + content) and includes
2166
+ * animated ink-bar, keyboard navigation, and screen reader.
2167
+ * See: https://www.google.com/design/spec/components/tabs.html
2168
+ */
2169
+ var MatTabGroup = (function (_super) {
2170
+ __extends(MatTabGroup, _super);
2171
+ /**
2172
+ * @param {?} _renderer
2173
+ * @param {?} elementRef
2174
+ * @param {?} _changeDetectorRef
2175
+ */
2176
+ function MatTabGroup(_renderer, elementRef, _changeDetectorRef) {
2177
+ var _this = _super.call(this, _renderer, elementRef) || this;
2178
+ _this._changeDetectorRef = _changeDetectorRef;
2179
+ /**
2180
+ * Whether this component has been initialized.
2181
+ */
2182
+ _this._isInitialized = false;
2183
+ /**
2184
+ * The tab index that should be selected after the content has been checked.
2185
+ */
2186
+ _this._indexToSelect = 0;
2187
+ /**
2188
+ * Snapshot of the height of the tab body wrapper before another tab is activated.
2189
+ */
2190
+ _this._tabBodyWrapperHeight = 0;
2191
+ /**
2192
+ * Subscription to tabs being added/removed.
2193
+ */
2194
+ _this._tabsSubscription = rxjs_Subscription.Subscription.EMPTY;
2195
+ /**
2196
+ * Subscription to changes in the tab labels.
2197
+ */
2198
+ _this._tabLabelSubscription = rxjs_Subscription.Subscription.EMPTY;
2199
+ _this._dynamicHeight = false;
2200
+ _this._selectedIndex = null;
2201
+ /**
2202
+ * Position of the tab header.
2203
+ */
2204
+ _this.headerPosition = 'above';
2205
+ /**
2206
+ * Output to enable support for two-way binding on `[(selectedIndex)]`
2207
+ */
2208
+ _this.selectedIndexChange = new _angular_core.EventEmitter();
2209
+ /**
2210
+ * Event emitted when focus has changed within a tab group.
2211
+ */
2212
+ _this.focusChange = new _angular_core.EventEmitter();
2213
+ /**
2214
+ * Event emitted when the tab selection has changed.
2215
+ */
2216
+ _this.selectedTabChange = new _angular_core.EventEmitter(true);
2217
+ /**
2218
+ * Event emitted when the tab selection has changed.
2219
+ * @deprecated Use `selectedTabChange` instead.
2220
+ */
2221
+ _this.selectChange = _this.selectedTabChange;
2222
+ _this._groupId = nextId++;
2223
+ return _this;
2224
+ }
2225
+ Object.defineProperty(MatTabGroup.prototype, "dynamicHeight", {
2226
+ /**
2227
+ * Whether the tab group should grow to the size of the active tab.
2228
+ * @return {?}
2229
+ */
2230
+ get: function () { return this._dynamicHeight; },
2231
+ /**
2232
+ * @param {?} value
2233
+ * @return {?}
2234
+ */
2235
+ set: function (value) { this._dynamicHeight = _angular_cdk_coercion.coerceBooleanProperty(value); },
2236
+ enumerable: true,
2237
+ configurable: true
2238
+ });
2239
+ Object.defineProperty(MatTabGroup.prototype, "_dynamicHeightDeprecated", {
2240
+ /**
2241
+ * @deprecated
2242
+ * @return {?}
2243
+ */
2244
+ get: function () { return this._dynamicHeight; },
2245
+ /**
2246
+ * @param {?} value
2247
+ * @return {?}
2248
+ */
2249
+ set: function (value) { this._dynamicHeight = value; },
2250
+ enumerable: true,
2251
+ configurable: true
2252
+ });
2253
+ Object.defineProperty(MatTabGroup.prototype, "selectedIndex", {
2254
+ /**
2255
+ * @return {?}
2256
+ */
2257
+ get: function () { return this._selectedIndex; },
2258
+ /**
2259
+ * The index of the active tab.
2260
+ * @param {?} value
2261
+ * @return {?}
2262
+ */
2263
+ set: function (value) { this._indexToSelect = value; },
2264
+ enumerable: true,
2265
+ configurable: true
2266
+ });
2267
+ Object.defineProperty(MatTabGroup.prototype, "backgroundColor", {
2268
+ /**
2269
+ * Background color of the tab group.
2270
+ * @return {?}
2271
+ */
2272
+ get: function () { return this._backgroundColor; },
2273
+ /**
2274
+ * @param {?} value
2275
+ * @return {?}
2276
+ */
2277
+ set: function (value) {
2278
+ var /** @type {?} */ nativeElement = this._elementRef.nativeElement;
2279
+ this._renderer.removeClass(nativeElement, "mat-background-" + this.backgroundColor);
2280
+ if (value) {
2281
+ this._renderer.addClass(nativeElement, "mat-background-" + value);
2282
+ }
2283
+ this._backgroundColor = value;
2284
+ },
2285
+ enumerable: true,
2286
+ configurable: true
2287
+ });
2288
+ /**
2289
+ * After the content is checked, this component knows what tabs have been defined
2290
+ * and what the selected index should be. This is where we can know exactly what position
2291
+ * each tab should be in according to the new selected index, and additionally we know how
2292
+ * a new selected tab should transition in (from the left or right).
2293
+ * @return {?}
2294
+ */
2295
+ MatTabGroup.prototype.ngAfterContentChecked = function () {
2296
+ var _this = this;
2297
+ // Clamp the next selected index to the boundsof 0 and the tabs length.
2298
+ // Note the `|| 0`, which ensures that values like NaN can't get through
2299
+ // and which would otherwise throw the component into an infinite loop
2300
+ // (since Math.max(NaN, 0) === NaN).
2301
+ var /** @type {?} */ indexToSelect = this._indexToSelect =
2302
+ Math.min(this._tabs.length - 1, Math.max(this._indexToSelect || 0, 0));
2303
+ // If there is a change in selected index, emit a change event. Should not trigger if
2304
+ // the selected index has not yet been initialized.
2305
+ if (this._selectedIndex != indexToSelect && this._selectedIndex != null) {
2306
+ var /** @type {?} */ tabChangeEvent = this._createChangeEvent(indexToSelect);
2307
+ this.selectedTabChange.emit(tabChangeEvent);
2308
+ // Emitting this value after change detection has run
2309
+ // since the checked content may contain this variable'
2310
+ Promise.resolve().then(function () { return _this.selectedIndexChange.emit(indexToSelect); });
2311
+ }
2312
+ // Setup the position for each tab and optionally setup an origin on the next selected tab.
2313
+ this._tabs.forEach(function (tab, index) {
2314
+ tab.position = index - indexToSelect;
2315
+ tab.isActive = index === indexToSelect;
2316
+ // If there is already a selected tab, then set up an origin for the next selected tab
2317
+ // if it doesn't have one already.
2318
+ if (_this._selectedIndex != null && tab.position == 0 && !tab.origin) {
2319
+ tab.origin = indexToSelect - _this._selectedIndex;
2320
+ }
2321
+ });
2322
+ if (this._selectedIndex !== indexToSelect) {
2323
+ this._selectedIndex = indexToSelect;
2324
+ this._changeDetectorRef.markForCheck();
2325
+ }
2326
+ };
2327
+ /**
2328
+ * @return {?}
2329
+ */
2330
+ MatTabGroup.prototype.ngAfterContentInit = function () {
2331
+ var _this = this;
2332
+ this._subscribeToTabLabels();
2333
+ // Subscribe to changes in the amount of tabs, in order to be
2334
+ // able to re-render the content as new tabs are added or removed.
2335
+ this._tabsSubscription = this._tabs.changes.subscribe(function () {
2336
+ _this._subscribeToTabLabels();
2337
+ _this._changeDetectorRef.markForCheck();
2338
+ });
2339
+ };
2340
+ /**
2341
+ * @return {?}
2342
+ */
2343
+ MatTabGroup.prototype.ngOnDestroy = function () {
2344
+ this._tabsSubscription.unsubscribe();
2345
+ this._tabLabelSubscription.unsubscribe();
2346
+ };
2347
+ /**
2348
+ * Waits one frame for the view to update, then updates the ink bar
2349
+ * Note: This must be run outside of the zone or it will create an infinite change detection loop.
2350
+ * @return {?}
2351
+ */
2352
+ MatTabGroup.prototype.ngAfterViewChecked = function () {
2353
+ this._isInitialized = true;
2354
+ };
2355
+ /**
2356
+ * @param {?} index
2357
+ * @return {?}
2358
+ */
2359
+ MatTabGroup.prototype._focusChanged = function (index) {
2360
+ this.focusChange.emit(this._createChangeEvent(index));
2361
+ };
2362
+ /**
2363
+ * @param {?} index
2364
+ * @return {?}
2365
+ */
2366
+ MatTabGroup.prototype._createChangeEvent = function (index) {
2367
+ var /** @type {?} */ event = new MatTabChangeEvent;
2368
+ event.index = index;
2369
+ if (this._tabs && this._tabs.length) {
2370
+ event.tab = this._tabs.toArray()[index];
2371
+ }
2372
+ return event;
2373
+ };
2374
+ /**
2375
+ * Subscribes to changes in the tab labels. This is needed, because the \@Input for the label is
2376
+ * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
2377
+ * binding to be updated, we need to subscribe to changes in it and trigger change detection
2378
+ * manually.
2379
+ * @return {?}
2380
+ */
2381
+ MatTabGroup.prototype._subscribeToTabLabels = function () {
2382
+ var _this = this;
2383
+ if (this._tabLabelSubscription) {
2384
+ this._tabLabelSubscription.unsubscribe();
2385
+ }
2386
+ this._tabLabelSubscription = rxjs_observable_merge.merge.apply(void 0, this._tabs.map(function (tab) { return tab._disableChange; }).concat(this._tabs.map(function (tab) { return tab._labelChange; }))).subscribe(function () {
2387
+ _this._changeDetectorRef.markForCheck();
2388
+ });
2389
+ };
2390
+ /**
2391
+ * Returns a unique id for each tab label element
2392
+ * @param {?} i
2393
+ * @return {?}
2394
+ */
2395
+ MatTabGroup.prototype._getTabLabelId = function (i) {
2396
+ return "mat-tab-label-" + this._groupId + "-" + i;
2397
+ };
2398
+ /**
2399
+ * Returns a unique id for each tab content element
2400
+ * @param {?} i
2401
+ * @return {?}
2402
+ */
2403
+ MatTabGroup.prototype._getTabContentId = function (i) {
2404
+ return "mat-tab-content-" + this._groupId + "-" + i;
2405
+ };
2406
+ /**
2407
+ * Sets the height of the body wrapper to the height of the activating tab if dynamic
2408
+ * height property is true.
2409
+ * @param {?} tabHeight
2410
+ * @return {?}
2411
+ */
2412
+ MatTabGroup.prototype._setTabBodyWrapperHeight = function (tabHeight) {
2413
+ if (!this._dynamicHeight || !this._tabBodyWrapperHeight) {
2414
+ return;
2415
+ }
2416
+ this._renderer.setStyle(this._tabBodyWrapper.nativeElement, 'height', this._tabBodyWrapperHeight + 'px');
2417
+ // This conditional forces the browser to paint the height so that
2418
+ // the animation to the new height can have an origin.
2419
+ if (this._tabBodyWrapper.nativeElement.offsetHeight) {
2420
+ this._renderer.setStyle(this._tabBodyWrapper.nativeElement, 'height', tabHeight + 'px');
2421
+ }
2422
+ };
2423
+ /**
2424
+ * Removes the height of the tab body wrapper.
2425
+ * @return {?}
2426
+ */
2427
+ MatTabGroup.prototype._removeTabBodyWrapperHeight = function () {
2428
+ this._tabBodyWrapperHeight = this._tabBodyWrapper.nativeElement.clientHeight;
2429
+ this._renderer.setStyle(this._tabBodyWrapper.nativeElement, 'height', '');
2430
+ };
2431
+ MatTabGroup.decorators = [
2432
+ { type: _angular_core.Component, args: [{selector: 'mat-tab-group',
2433
+ exportAs: 'matTabGroup',
2434
+ template: "<mat-tab-header #tabHeader [selectedIndex]=\"selectedIndex\" [disableRipple]=\"disableRipple\" (indexFocused)=\"_focusChanged($event)\" (selectFocusedIndex)=\"selectedIndex = $event\"><div class=\"mat-tab-label\" role=\"tab\" matTabLabelWrapper mat-ripple *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabLabelId(i)\" [tabIndex]=\"selectedIndex == i ? 0 : -1\" [attr.aria-controls]=\"_getTabContentId(i)\" [attr.aria-selected]=\"selectedIndex == i\" [class.mat-tab-label-active]=\"selectedIndex == i\" [disabled]=\"tab.disabled\" [matRippleDisabled]=\"disableRipple\" (click)=\"tabHeader.focusIndex = selectedIndex = i\"><ng-template [ngIf]=\"tab.templateLabel\"><ng-template [cdkPortalHost]=\"tab.templateLabel\"></ng-template></ng-template><ng-template [ngIf]=\"!tab.templateLabel\">{{tab.textLabel}}</ng-template></div></mat-tab-header><div class=\"mat-tab-body-wrapper\" #tabBodyWrapper><mat-tab-body role=\"tabpanel\" *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabContentId(i)\" [attr.aria-labelledby]=\"_getTabLabelId(i)\" [class.mat-tab-body-active]=\"selectedIndex == i\" [content]=\"tab.content\" [position]=\"tab.position\" [origin]=\"tab.origin\" (_onCentered)=\"_removeTabBodyWrapperHeight()\" (_onCentering)=\"_setTabBodyWrapperHeight($event)\"></mat-tab-body></div>",
2435
+ styles: [".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0;opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default;pointer-events:none}@media (max-width:600px){.mat-tab-label{padding:0 12px}}@media (max-width:960px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs] .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height .5s cubic-bezier(.35,0,.25,1)}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],
2436
+ encapsulation: _angular_core.ViewEncapsulation.None,
2437
+ preserveWhitespaces: false,
2438
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2439
+ inputs: ['color', 'disableRipple'],
2440
+ host: {
2441
+ 'class': 'mat-tab-group',
2442
+ '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
2443
+ '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
2444
+ },
2445
+ },] },
2446
+ ];
2447
+ /**
2448
+ * @nocollapse
2449
+ */
2450
+ MatTabGroup.ctorParameters = function () { return [
2451
+ { type: _angular_core.Renderer2, },
2452
+ { type: _angular_core.ElementRef, },
2453
+ { type: _angular_core.ChangeDetectorRef, },
2454
+ ]; };
2455
+ MatTabGroup.propDecorators = {
2456
+ '_tabs': [{ type: _angular_core.ContentChildren, args: [MatTab,] },],
2457
+ '_tabBodyWrapper': [{ type: _angular_core.ViewChild, args: ['tabBodyWrapper',] },],
2458
+ 'dynamicHeight': [{ type: _angular_core.Input },],
2459
+ '_dynamicHeightDeprecated': [{ type: _angular_core.Input, args: ['mat-dynamic-height',] },],
2460
+ 'selectedIndex': [{ type: _angular_core.Input },],
2461
+ 'headerPosition': [{ type: _angular_core.Input },],
2462
+ 'backgroundColor': [{ type: _angular_core.Input },],
2463
+ 'selectedIndexChange': [{ type: _angular_core.Output },],
2464
+ 'focusChange': [{ type: _angular_core.Output },],
2465
+ 'selectedTabChange': [{ type: _angular_core.Output },],
2466
+ 'selectChange': [{ type: _angular_core.Output },],
2467
+ };
2468
+ return MatTabGroup;
2469
+ }(_MatTabGroupMixinBase));
2470
+
2471
+ /**
2472
+ * \@docs-private
2473
+ */
2474
+ var MatTabLabelWrapperBase = (function () {
2475
+ function MatTabLabelWrapperBase() {
2476
+ }
2477
+ return MatTabLabelWrapperBase;
2478
+ }());
2479
+ var _MatTabLabelWrapperMixinBase = mixinDisabled(MatTabLabelWrapperBase);
2480
+ /**
2481
+ * Used in the `mat-tab-group` view to display tab labels.
2482
+ * \@docs-private
2483
+ */
2484
+ var MatTabLabelWrapper = (function (_super) {
2485
+ __extends(MatTabLabelWrapper, _super);
2486
+ /**
2487
+ * @param {?} elementRef
2488
+ */
2489
+ function MatTabLabelWrapper(elementRef) {
2490
+ var _this = _super.call(this) || this;
2491
+ _this.elementRef = elementRef;
2492
+ return _this;
2493
+ }
2494
+ /**
2495
+ * Sets focus on the wrapper element
2496
+ * @return {?}
2497
+ */
2498
+ MatTabLabelWrapper.prototype.focus = function () {
2499
+ this.elementRef.nativeElement.focus();
2500
+ };
2501
+ /**
2502
+ * @return {?}
2503
+ */
2504
+ MatTabLabelWrapper.prototype.getOffsetLeft = function () {
2505
+ return this.elementRef.nativeElement.offsetLeft;
2506
+ };
2507
+ /**
2508
+ * @return {?}
2509
+ */
2510
+ MatTabLabelWrapper.prototype.getOffsetWidth = function () {
2511
+ return this.elementRef.nativeElement.offsetWidth;
2512
+ };
2513
+ MatTabLabelWrapper.decorators = [
2514
+ { type: _angular_core.Directive, args: [{
2515
+ selector: '[matTabLabelWrapper]',
2516
+ inputs: ['disabled'],
2517
+ host: {
2518
+ '[class.mat-tab-disabled]': 'disabled'
2519
+ }
2520
+ },] },
2521
+ ];
2522
+ /**
2523
+ * @nocollapse
2524
+ */
2525
+ MatTabLabelWrapper.ctorParameters = function () { return [
2526
+ { type: _angular_core.ElementRef, },
2527
+ ]; };
2528
+ return MatTabLabelWrapper;
2529
+ }(_MatTabLabelWrapperMixinBase));
2530
+
2531
+ /**
2532
+ * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
2533
+ * provide a small affordance to the label next to it.
2534
+ */
2535
+ var EXAGGERATED_OVERSCROLL = 60;
2536
+ /**
2537
+ * \@docs-private
2538
+ */
2539
+ var MatTabHeaderBase = (function () {
2540
+ function MatTabHeaderBase() {
2541
+ }
2542
+ return MatTabHeaderBase;
2543
+ }());
2544
+ var _MatTabHeaderMixinBase = mixinDisableRipple(MatTabHeaderBase);
2545
+ /**
2546
+ * The header of the tab group which displays a list of all the tabs in the tab group. Includes
2547
+ * an ink bar that follows the currently selected tab. When the tabs list's width exceeds the
2548
+ * width of the header container, then arrows will be displayed to allow the user to scroll
2549
+ * left and right across the header.
2550
+ * \@docs-private
2551
+ */
2552
+ var MatTabHeader = (function (_super) {
2553
+ __extends(MatTabHeader, _super);
2554
+ /**
2555
+ * @param {?} _elementRef
2556
+ * @param {?} _renderer
2557
+ * @param {?} _changeDetectorRef
2558
+ * @param {?} _viewportRuler
2559
+ * @param {?} _dir
2560
+ */
2561
+ function MatTabHeader(_elementRef, _renderer, _changeDetectorRef, _viewportRuler, _dir) {
2562
+ var _this = _super.call(this) || this;
2563
+ _this._elementRef = _elementRef;
2564
+ _this._renderer = _renderer;
2565
+ _this._changeDetectorRef = _changeDetectorRef;
2566
+ _this._viewportRuler = _viewportRuler;
2567
+ _this._dir = _dir;
2568
+ /**
2569
+ * The tab index that is focused.
2570
+ */
2571
+ _this._focusIndex = 0;
2572
+ /**
2573
+ * The distance in pixels that the tab labels should be translated to the left.
2574
+ */
2575
+ _this._scrollDistance = 0;
2576
+ /**
2577
+ * Whether the header should scroll to the selected index after the view has been checked.
2578
+ */
2579
+ _this._selectedIndexChanged = false;
2580
+ /**
2581
+ * Combines listeners that will re-align the ink bar whenever they're invoked.
2582
+ */
2583
+ _this._realignInkBar = rxjs_Subscription.Subscription.EMPTY;
2584
+ /**
2585
+ * Whether the controls for pagination should be displayed
2586
+ */
2587
+ _this._showPaginationControls = false;
2588
+ /**
2589
+ * Whether the tab list can be scrolled more towards the end of the tab label list.
2590
+ */
2591
+ _this._disableScrollAfter = true;
2592
+ /**
2593
+ * Whether the tab list can be scrolled more towards the beginning of the tab label list.
2594
+ */
2595
+ _this._disableScrollBefore = true;
2596
+ _this._selectedIndex = 0;
2597
+ /**
2598
+ * Event emitted when the option is selected.
2599
+ */
2600
+ _this.selectFocusedIndex = new _angular_core.EventEmitter();
2601
+ /**
2602
+ * Event emitted when a label is focused.
2603
+ */
2604
+ _this.indexFocused = new _angular_core.EventEmitter();
2605
+ return _this;
2606
+ }
2607
+ Object.defineProperty(MatTabHeader.prototype, "selectedIndex", {
2608
+ /**
2609
+ * The index of the active tab.
2610
+ * @return {?}
2611
+ */
2612
+ get: function () { return this._selectedIndex; },
2613
+ /**
2614
+ * @param {?} value
2615
+ * @return {?}
2616
+ */
2617
+ set: function (value) {
2618
+ this._selectedIndexChanged = this._selectedIndex != value;
2619
+ this._selectedIndex = value;
2620
+ this._focusIndex = value;
2621
+ },
2622
+ enumerable: true,
2623
+ configurable: true
2624
+ });
2625
+ /**
2626
+ * @return {?}
2627
+ */
2628
+ MatTabHeader.prototype.ngAfterContentChecked = function () {
2629
+ // If the number of tab labels have changed, check if scrolling should be enabled
2630
+ if (this._tabLabelCount != this._labelWrappers.length) {
2631
+ this._updatePagination();
2632
+ this._tabLabelCount = this._labelWrappers.length;
2633
+ this._changeDetectorRef.markForCheck();
2634
+ }
2635
+ // If the selected index has changed, scroll to the label and check if the scrolling controls
2636
+ // should be disabled.
2637
+ if (this._selectedIndexChanged) {
2638
+ this._scrollToLabel(this._selectedIndex);
2639
+ this._checkScrollingControls();
2640
+ this._alignInkBarToSelectedTab();
2641
+ this._selectedIndexChanged = false;
2642
+ this._changeDetectorRef.markForCheck();
2643
+ }
2644
+ // If the scroll distance has been changed (tab selected, focused, scroll controls activated),
2645
+ // then translate the header to reflect this.
2646
+ if (this._scrollDistanceChanged) {
2647
+ this._updateTabScrollPosition();
2648
+ this._scrollDistanceChanged = false;
2649
+ this._changeDetectorRef.markForCheck();
2650
+ }
2651
+ };
2652
+ /**
2653
+ * @param {?} event
2654
+ * @return {?}
2655
+ */
2656
+ MatTabHeader.prototype._handleKeydown = function (event) {
2657
+ switch (event.keyCode) {
2658
+ case _angular_cdk_keycodes.RIGHT_ARROW:
2659
+ this._focusNextTab();
2660
+ break;
2661
+ case _angular_cdk_keycodes.LEFT_ARROW:
2662
+ this._focusPreviousTab();
2663
+ break;
2664
+ case _angular_cdk_keycodes.ENTER:
2665
+ case _angular_cdk_keycodes.SPACE:
2666
+ this.selectFocusedIndex.emit(this.focusIndex);
2667
+ event.preventDefault();
2668
+ break;
2669
+ }
2670
+ };
2671
+ /**
2672
+ * Aligns the ink bar to the selected tab on load.
2673
+ * @return {?}
2674
+ */
2675
+ MatTabHeader.prototype.ngAfterContentInit = function () {
2676
+ var _this = this;
2677
+ var /** @type {?} */ dirChange = this._dir ? this._dir.change : rxjs_observable_of.of(null);
2678
+ var /** @type {?} */ resize = this._viewportRuler.change(150);
2679
+ this._realignInkBar = _angular_cdk_rxjs.startWith.call(rxjs_observable_merge.merge(dirChange, resize), null).subscribe(function () {
2680
+ _this._updatePagination();
2681
+ _this._alignInkBarToSelectedTab();
2682
+ });
2683
+ };
2684
+ /**
2685
+ * @return {?}
2686
+ */
2687
+ MatTabHeader.prototype.ngOnDestroy = function () {
2688
+ this._realignInkBar.unsubscribe();
2689
+ };
2690
+ /**
2691
+ * Callback for when the MutationObserver detects that the content has changed.
2692
+ * @return {?}
2693
+ */
2694
+ MatTabHeader.prototype._onContentChanges = function () {
2695
+ this._updatePagination();
2696
+ this._alignInkBarToSelectedTab();
2697
+ this._changeDetectorRef.markForCheck();
2698
+ };
2699
+ /**
2700
+ * Updating the view whether pagination should be enabled or not
2701
+ * @return {?}
2702
+ */
2703
+ MatTabHeader.prototype._updatePagination = function () {
2704
+ this._checkPaginationEnabled();
2705
+ this._checkScrollingControls();
2706
+ this._updateTabScrollPosition();
2707
+ };
2708
+ Object.defineProperty(MatTabHeader.prototype, "focusIndex", {
2709
+ /**
2710
+ * Tracks which element has focus; used for keyboard navigation
2711
+ * @return {?}
2712
+ */
2713
+ get: function () { return this._focusIndex; },
2714
+ /**
2715
+ * When the focus index is set, we must manually send focus to the correct label
2716
+ * @param {?} value
2717
+ * @return {?}
2718
+ */
2719
+ set: function (value) {
2720
+ if (!this._isValidIndex(value) || this._focusIndex == value) {
2721
+ return;
2722
+ }
2723
+ this._focusIndex = value;
2724
+ this.indexFocused.emit(value);
2725
+ this._setTabFocus(value);
2726
+ },
2727
+ enumerable: true,
2728
+ configurable: true
2729
+ });
2730
+ /**
2731
+ * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
2732
+ * providing a valid index and return true.
2733
+ * @param {?} index
2734
+ * @return {?}
2735
+ */
2736
+ MatTabHeader.prototype._isValidIndex = function (index) {
2737
+ if (!this._labelWrappers) {
2738
+ return true;
2739
+ }
2740
+ var /** @type {?} */ tab = this._labelWrappers ? this._labelWrappers.toArray()[index] : null;
2741
+ return !!tab && !tab.disabled;
2742
+ };
2743
+ /**
2744
+ * Sets focus on the HTML element for the label wrapper and scrolls it into the view if
2745
+ * scrolling is enabled.
2746
+ * @param {?} tabIndex
2747
+ * @return {?}
2748
+ */
2749
+ MatTabHeader.prototype._setTabFocus = function (tabIndex) {
2750
+ if (this._showPaginationControls) {
2751
+ this._scrollToLabel(tabIndex);
2752
+ }
2753
+ if (this._labelWrappers && this._labelWrappers.length) {
2754
+ this._labelWrappers.toArray()[tabIndex].focus();
2755
+ // Do not let the browser manage scrolling to focus the element, this will be handled
2756
+ // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
2757
+ // should be the full width minus the offset width.
2758
+ var /** @type {?} */ containerEl = this._tabListContainer.nativeElement;
2759
+ var /** @type {?} */ dir = this._getLayoutDirection();
2760
+ if (dir == 'ltr') {
2761
+ containerEl.scrollLeft = 0;
2762
+ }
2763
+ else {
2764
+ containerEl.scrollLeft = containerEl.scrollWidth - containerEl.offsetWidth;
2765
+ }
2766
+ }
2767
+ };
2768
+ /**
2769
+ * Moves the focus towards the beginning or the end of the list depending on the offset provided.
2770
+ * Valid offsets are 1 and -1.
2771
+ * @param {?} offset
2772
+ * @return {?}
2773
+ */
2774
+ MatTabHeader.prototype._moveFocus = function (offset) {
2775
+ if (this._labelWrappers) {
2776
+ var /** @type {?} */ tabs = this._labelWrappers.toArray();
2777
+ for (var /** @type {?} */ i = this.focusIndex + offset; i < tabs.length && i >= 0; i += offset) {
2778
+ if (this._isValidIndex(i)) {
2779
+ this.focusIndex = i;
2780
+ return;
2781
+ }
2782
+ }
2783
+ }
2784
+ };
2785
+ /**
2786
+ * Increment the focus index by 1 until a valid tab is found.
2787
+ * @return {?}
2788
+ */
2789
+ MatTabHeader.prototype._focusNextTab = function () {
2790
+ this._moveFocus(this._getLayoutDirection() == 'ltr' ? 1 : -1);
2791
+ };
2792
+ /**
2793
+ * Decrement the focus index by 1 until a valid tab is found.
2794
+ * @return {?}
2795
+ */
2796
+ MatTabHeader.prototype._focusPreviousTab = function () {
2797
+ this._moveFocus(this._getLayoutDirection() == 'ltr' ? -1 : 1);
2798
+ };
2799
+ /**
2800
+ * The layout direction of the containing app.
2801
+ * @return {?}
2802
+ */
2803
+ MatTabHeader.prototype._getLayoutDirection = function () {
2804
+ return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
2805
+ };
2806
+ /**
2807
+ * Performs the CSS transformation on the tab list that will cause the list to scroll.
2808
+ * @return {?}
2809
+ */
2810
+ MatTabHeader.prototype._updateTabScrollPosition = function () {
2811
+ var /** @type {?} */ scrollDistance = this.scrollDistance;
2812
+ var /** @type {?} */ translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;
2813
+ this._renderer.setStyle(this._tabList.nativeElement, 'transform', "translate3d(" + translateX + "px, 0, 0)");
2814
+ };
2815
+ Object.defineProperty(MatTabHeader.prototype, "scrollDistance", {
2816
+ /**
2817
+ * @return {?}
2818
+ */
2819
+ get: function () { return this._scrollDistance; },
2820
+ /**
2821
+ * Sets the distance in pixels that the tab header should be transformed in the X-axis.
2822
+ * @param {?} v
2823
+ * @return {?}
2824
+ */
2825
+ set: function (v) {
2826
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));
2827
+ // Mark that the scroll distance has changed so that after the view is checked, the CSS
2828
+ // transformation can move the header.
2829
+ this._scrollDistanceChanged = true;
2830
+ this._checkScrollingControls();
2831
+ },
2832
+ enumerable: true,
2833
+ configurable: true
2834
+ });
2835
+ /**
2836
+ * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
2837
+ * the end of the list, respectively). The distance to scroll is computed to be a third of the
2838
+ * length of the tab list view window.
2839
+ *
2840
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
2841
+ * should be called sparingly.
2842
+ * @param {?} scrollDir
2843
+ * @return {?}
2844
+ */
2845
+ MatTabHeader.prototype._scrollHeader = function (scrollDir) {
2846
+ var /** @type {?} */ viewLength = this._tabListContainer.nativeElement.offsetWidth;
2847
+ // Move the scroll distance one-third the length of the tab list's viewport.
2848
+ this.scrollDistance += (scrollDir == 'before' ? -1 : 1) * viewLength / 3;
2849
+ };
2850
+ /**
2851
+ * Moves the tab list such that the desired tab label (marked by index) is moved into view.
2852
+ *
2853
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
2854
+ * should be called sparingly.
2855
+ * @param {?} labelIndex
2856
+ * @return {?}
2857
+ */
2858
+ MatTabHeader.prototype._scrollToLabel = function (labelIndex) {
2859
+ var /** @type {?} */ selectedLabel = this._labelWrappers ? this._labelWrappers.toArray()[labelIndex] : null;
2860
+ if (!selectedLabel) {
2861
+ return;
2862
+ }
2863
+ // The view length is the visible width of the tab labels.
2864
+ var /** @type {?} */ viewLength = this._tabListContainer.nativeElement.offsetWidth;
2865
+ var /** @type {?} */ labelBeforePos, /** @type {?} */ labelAfterPos;
2866
+ if (this._getLayoutDirection() == 'ltr') {
2867
+ labelBeforePos = selectedLabel.getOffsetLeft();
2868
+ labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();
2869
+ }
2870
+ else {
2871
+ labelAfterPos = this._tabList.nativeElement.offsetWidth - selectedLabel.getOffsetLeft();
2872
+ labelBeforePos = labelAfterPos - selectedLabel.getOffsetWidth();
2873
+ }
2874
+ var /** @type {?} */ beforeVisiblePos = this.scrollDistance;
2875
+ var /** @type {?} */ afterVisiblePos = this.scrollDistance + viewLength;
2876
+ if (labelBeforePos < beforeVisiblePos) {
2877
+ // Scroll header to move label to the before direction
2878
+ this.scrollDistance -= beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
2879
+ }
2880
+ else if (labelAfterPos > afterVisiblePos) {
2881
+ // Scroll header to move label to the after direction
2882
+ this.scrollDistance += labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
2883
+ }
2884
+ };
2885
+ /**
2886
+ * Evaluate whether the pagination controls should be displayed. If the scroll width of the
2887
+ * tab list is wider than the size of the header container, then the pagination controls should
2888
+ * be shown.
2889
+ *
2890
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
2891
+ * should be called sparingly.
2892
+ * @return {?}
2893
+ */
2894
+ MatTabHeader.prototype._checkPaginationEnabled = function () {
2895
+ var /** @type {?} */ isEnabled = this._tabList.nativeElement.scrollWidth > this._elementRef.nativeElement.offsetWidth;
2896
+ if (!isEnabled) {
2897
+ this.scrollDistance = 0;
2898
+ }
2899
+ if (isEnabled !== this._showPaginationControls) {
2900
+ this._changeDetectorRef.markForCheck();
2901
+ }
2902
+ this._showPaginationControls = isEnabled;
2903
+ };
2904
+ /**
2905
+ * Evaluate whether the before and after controls should be enabled or disabled.
2906
+ * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the
2907
+ * before button. If the header is at the end of the list (scroll distance is equal to the
2908
+ * maximum distance we can scroll), then disable the after button.
2909
+ *
2910
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
2911
+ * should be called sparingly.
2912
+ * @return {?}
2913
+ */
2914
+ MatTabHeader.prototype._checkScrollingControls = function () {
2915
+ // Check if the pagination arrows should be activated.
2916
+ this._disableScrollBefore = this.scrollDistance == 0;
2917
+ this._disableScrollAfter = this.scrollDistance == this._getMaxScrollDistance();
2918
+ this._changeDetectorRef.markForCheck();
2919
+ };
2920
+ /**
2921
+ * Determines what is the maximum length in pixels that can be set for the scroll distance. This
2922
+ * is equal to the difference in width between the tab list container and tab header container.
2923
+ *
2924
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
2925
+ * should be called sparingly.
2926
+ * @return {?}
2927
+ */
2928
+ MatTabHeader.prototype._getMaxScrollDistance = function () {
2929
+ var /** @type {?} */ lengthOfTabList = this._tabList.nativeElement.scrollWidth;
2930
+ var /** @type {?} */ viewLength = this._tabListContainer.nativeElement.offsetWidth;
2931
+ return (lengthOfTabList - viewLength) || 0;
2932
+ };
2933
+ /**
2934
+ * Tells the ink-bar to align itself to the current label wrapper
2935
+ * @return {?}
2936
+ */
2937
+ MatTabHeader.prototype._alignInkBarToSelectedTab = function () {
2938
+ var /** @type {?} */ selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
2939
+ this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
2940
+ null;
2941
+ this._inkBar.alignToElement(selectedLabelWrapper);
2942
+ };
2943
+ MatTabHeader.decorators = [
2944
+ { type: _angular_core.Component, args: [{selector: 'mat-tab-header',
2945
+ template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\" aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\" (click)=\"_scrollHeader('before')\"><div class=\"mat-tab-header-pagination-chevron\"></div></div><div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\"><div class=\"mat-tab-list\" #tabList role=\"tablist\" (cdkObserveContent)=\"_onContentChanges()\"><div class=\"mat-tab-labels\"><ng-content></ng-content></div><mat-ink-bar></mat-ink-bar></div></div><div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\" aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\" (click)=\"_scrollHeader('after')\"><div class=\"mat-tab-header-pagination-chevron\"></div></div>",
2946
+ styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0;opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default;pointer-events:none}@media (max-width:600px){.mat-tab-label{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.mat-tab-header-pagination{position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-pagination-after,.mat-tab-header-rtl .mat-tab-header-pagination-before{padding-right:4px}.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:'';height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-labels{display:flex}"],
2947
+ inputs: ['disableRipple'],
2948
+ encapsulation: _angular_core.ViewEncapsulation.None,
2949
+ preserveWhitespaces: false,
2950
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
2951
+ host: {
2952
+ 'class': 'mat-tab-header',
2953
+ '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
2954
+ '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
2955
+ },
2956
+ },] },
2957
+ ];
2958
+ /**
2959
+ * @nocollapse
2960
+ */
2961
+ MatTabHeader.ctorParameters = function () { return [
2962
+ { type: _angular_core.ElementRef, },
2963
+ { type: _angular_core.Renderer2, },
2964
+ { type: _angular_core.ChangeDetectorRef, },
2965
+ { type: _angular_cdk_scrolling.ViewportRuler, },
2966
+ { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
2967
+ ]; };
2968
+ MatTabHeader.propDecorators = {
2969
+ '_labelWrappers': [{ type: _angular_core.ContentChildren, args: [MatTabLabelWrapper,] },],
2970
+ '_inkBar': [{ type: _angular_core.ViewChild, args: [MatInkBar,] },],
2971
+ '_tabListContainer': [{ type: _angular_core.ViewChild, args: ['tabListContainer',] },],
2972
+ '_tabList': [{ type: _angular_core.ViewChild, args: ['tabList',] },],
2973
+ 'selectedIndex': [{ type: _angular_core.Input },],
2974
+ 'selectFocusedIndex': [{ type: _angular_core.Output },],
2975
+ 'indexFocused': [{ type: _angular_core.Output },],
2976
+ };
2977
+ return MatTabHeader;
2978
+ }(_MatTabHeaderMixinBase));
2979
+
2980
+ /**
2981
+ * \@docs-private
2982
+ */
2983
+ var MatTabNavBase = (function () {
2984
+ /**
2985
+ * @param {?} _renderer
2986
+ * @param {?} _elementRef
2987
+ */
2988
+ function MatTabNavBase(_renderer, _elementRef) {
2989
+ this._renderer = _renderer;
2990
+ this._elementRef = _elementRef;
2991
+ }
2992
+ return MatTabNavBase;
2993
+ }());
2994
+ var _MatTabNavMixinBase = mixinDisableRipple(mixinColor(MatTabNavBase, 'primary'));
2995
+ /**
2996
+ * Navigation component matching the styles of the tab group header.
2997
+ * Provides anchored navigation with animated ink bar.
2998
+ */
2999
+ var MatTabNav = (function (_super) {
3000
+ __extends(MatTabNav, _super);
3001
+ /**
3002
+ * @param {?} renderer
3003
+ * @param {?} elementRef
3004
+ * @param {?} _dir
3005
+ * @param {?} _ngZone
3006
+ * @param {?} _changeDetectorRef
3007
+ * @param {?} _viewportRuler
3008
+ */
3009
+ function MatTabNav(renderer, elementRef, _dir, _ngZone, _changeDetectorRef, _viewportRuler) {
3010
+ var _this = _super.call(this, renderer, elementRef) || this;
3011
+ _this._dir = _dir;
3012
+ _this._ngZone = _ngZone;
3013
+ _this._changeDetectorRef = _changeDetectorRef;
3014
+ _this._viewportRuler = _viewportRuler;
3015
+ /**
3016
+ * Subject that emits when the component has been destroyed.
3017
+ */
3018
+ _this._onDestroy = new rxjs_Subject.Subject();
3019
+ _this._disableRipple = false;
3020
+ return _this;
3021
+ }
3022
+ Object.defineProperty(MatTabNav.prototype, "backgroundColor", {
3023
+ /**
3024
+ * Background color of the tab nav.
3025
+ * @return {?}
3026
+ */
3027
+ get: function () { return this._backgroundColor; },
3028
+ /**
3029
+ * @param {?} value
3030
+ * @return {?}
3031
+ */
3032
+ set: function (value) {
3033
+ var /** @type {?} */ nativeElement = this._elementRef.nativeElement;
3034
+ this._renderer.removeClass(nativeElement, "mat-background-" + this.backgroundColor);
3035
+ if (value) {
3036
+ this._renderer.addClass(nativeElement, "mat-background-" + value);
3037
+ }
3038
+ this._backgroundColor = value;
3039
+ },
3040
+ enumerable: true,
3041
+ configurable: true
3042
+ });
3043
+ Object.defineProperty(MatTabNav.prototype, "disableRipple", {
3044
+ /**
3045
+ * Whether ripples should be disabled for all links or not.
3046
+ * @return {?}
3047
+ */
3048
+ get: function () { return this._disableRipple; },
3049
+ /**
3050
+ * @param {?} value
3051
+ * @return {?}
3052
+ */
3053
+ set: function (value) {
3054
+ this._disableRipple = _angular_cdk_coercion.coerceBooleanProperty(value);
3055
+ this._setLinkDisableRipple();
3056
+ },
3057
+ enumerable: true,
3058
+ configurable: true
3059
+ });
3060
+ /**
3061
+ * Notifies the component that the active link has been changed.
3062
+ * @param {?} element
3063
+ * @return {?}
3064
+ */
3065
+ MatTabNav.prototype.updateActiveLink = function (element) {
3066
+ this._activeLinkChanged = this._activeLinkElement != element;
3067
+ this._activeLinkElement = element;
3068
+ if (this._activeLinkChanged) {
3069
+ this._changeDetectorRef.markForCheck();
3070
+ }
3071
+ };
3072
+ /**
3073
+ * @return {?}
3074
+ */
3075
+ MatTabNav.prototype.ngAfterContentInit = function () {
3076
+ var _this = this;
3077
+ this._ngZone.runOutsideAngular(function () {
3078
+ var /** @type {?} */ dirChange = _this._dir ? _this._dir.change : rxjs_observable_of.of(null);
3079
+ return _angular_cdk_rxjs.takeUntil.call(rxjs_observable_merge.merge(dirChange, _this._viewportRuler.change(10)), _this._onDestroy)
3080
+ .subscribe(function () { return _this._alignInkBar(); });
3081
+ });
3082
+ this._setLinkDisableRipple();
3083
+ };
3084
+ /**
3085
+ * Checks if the active link has been changed and, if so, will update the ink bar.
3086
+ * @return {?}
3087
+ */
3088
+ MatTabNav.prototype.ngAfterContentChecked = function () {
3089
+ if (this._activeLinkChanged) {
3090
+ this._alignInkBar();
3091
+ this._activeLinkChanged = false;
3092
+ }
3093
+ };
3094
+ /**
3095
+ * @return {?}
3096
+ */
3097
+ MatTabNav.prototype.ngOnDestroy = function () {
3098
+ this._onDestroy.next();
3099
+ this._onDestroy.complete();
3100
+ };
3101
+ /**
3102
+ * Aligns the ink bar to the active link.
3103
+ * @return {?}
3104
+ */
3105
+ MatTabNav.prototype._alignInkBar = function () {
3106
+ if (this._activeLinkElement) {
3107
+ this._inkBar.alignToElement(this._activeLinkElement.nativeElement);
3108
+ }
3109
+ };
3110
+ /**
3111
+ * Sets the `disableRipple` property on each link of the navigation bar.
3112
+ * @return {?}
3113
+ */
3114
+ MatTabNav.prototype._setLinkDisableRipple = function () {
3115
+ var _this = this;
3116
+ if (this._tabLinks) {
3117
+ this._tabLinks.forEach(function (link) { return link.disableRipple = _this.disableRipple; });
3118
+ }
3119
+ };
3120
+ MatTabNav.decorators = [
3121
+ { type: _angular_core.Component, args: [{selector: '[mat-tab-nav-bar]',
3122
+ exportAs: 'matTabNavBar, matTabNav',
3123
+ inputs: ['color', 'disableRipple'],
3124
+ template: "<div class=\"mat-tab-links\" (cdkObserveContent)=\"_alignInkBar()\"><ng-content></ng-content><mat-ink-bar></mat-ink-bar></div>",
3125
+ styles: [".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden}.mat-tab-link:focus{outline:0;opacity:1}.mat-tab-link.mat-tab-disabled{cursor:default;pointer-events:none}@media (max-width:600px){.mat-tab-link{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}"],
3126
+ host: { 'class': 'mat-tab-nav-bar' },
3127
+ encapsulation: _angular_core.ViewEncapsulation.None,
3128
+ preserveWhitespaces: false,
3129
+ changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
3130
+ },] },
3131
+ ];
3132
+ /**
3133
+ * @nocollapse
3134
+ */
3135
+ MatTabNav.ctorParameters = function () { return [
3136
+ { type: _angular_core.Renderer2, },
3137
+ { type: _angular_core.ElementRef, },
3138
+ { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
3139
+ { type: _angular_core.NgZone, },
3140
+ { type: _angular_core.ChangeDetectorRef, },
3141
+ { type: _angular_cdk_scrolling.ViewportRuler, },
3142
+ ]; };
3143
+ MatTabNav.propDecorators = {
3144
+ '_inkBar': [{ type: _angular_core.ViewChild, args: [MatInkBar,] },],
3145
+ '_tabLinks': [{ type: _angular_core.ContentChildren, args: [_angular_core.forwardRef(function () { return MatTabLink; }), { descendants: true },] },],
3146
+ 'backgroundColor': [{ type: _angular_core.Input },],
3147
+ };
3148
+ return MatTabNav;
3149
+ }(_MatTabNavMixinBase));
3150
+ var MatTabLinkBase = (function () {
3151
+ function MatTabLinkBase() {
3152
+ }
3153
+ return MatTabLinkBase;
3154
+ }());
3155
+ var _MatTabLinkMixinBase = mixinDisabled(MatTabLinkBase);
3156
+ /**
3157
+ * Link inside of a `mat-tab-nav-bar`.
3158
+ */
3159
+ var MatTabLink = (function (_super) {
3160
+ __extends(MatTabLink, _super);
3161
+ /**
3162
+ * @param {?} _tabNavBar
3163
+ * @param {?} _elementRef
3164
+ * @param {?} ngZone
3165
+ * @param {?} platform
3166
+ * @param {?} globalOptions
3167
+ */
3168
+ function MatTabLink(_tabNavBar, _elementRef, ngZone, platform, globalOptions) {
3169
+ var _this = _super.call(this) || this;
3170
+ _this._tabNavBar = _tabNavBar;
3171
+ _this._elementRef = _elementRef;
3172
+ /**
3173
+ * Whether the tab link is active or not.
3174
+ */
3175
+ _this._isActive = false;
3176
+ /**
3177
+ * Whether the ripples for this tab should be disabled or not.
3178
+ */
3179
+ _this._disableRipple = false;
3180
+ // Manually create a ripple instance that uses the tab link element as trigger element.
3181
+ // Notice that the lifecycle hooks for the ripple config won't be called anymore.
3182
+ _this._tabLinkRipple = new MatRipple(_elementRef, ngZone, platform, globalOptions);
3183
+ return _this;
3184
+ }
3185
+ Object.defineProperty(MatTabLink.prototype, "active", {
3186
+ /**
3187
+ * Whether the link is active.
3188
+ * @return {?}
3189
+ */
3190
+ get: function () { return this._isActive; },
3191
+ /**
3192
+ * @param {?} value
3193
+ * @return {?}
3194
+ */
3195
+ set: function (value) {
3196
+ this._isActive = value;
3197
+ if (value) {
3198
+ this._tabNavBar.updateActiveLink(this._elementRef);
3199
+ }
3200
+ },
3201
+ enumerable: true,
3202
+ configurable: true
3203
+ });
3204
+ Object.defineProperty(MatTabLink.prototype, "disableRipple", {
3205
+ /**
3206
+ * Whether ripples should be disabled or not.
3207
+ * @return {?}
3208
+ */
3209
+ get: function () { return this._disableRipple; },
3210
+ /**
3211
+ * @param {?} value
3212
+ * @return {?}
3213
+ */
3214
+ set: function (value) {
3215
+ this._disableRipple = value;
3216
+ this._tabLinkRipple.disabled = this.disableRipple;
3217
+ this._tabLinkRipple._updateRippleRenderer();
3218
+ },
3219
+ enumerable: true,
3220
+ configurable: true
3221
+ });
3222
+ Object.defineProperty(MatTabLink.prototype, "tabIndex", {
3223
+ /**
3224
+ * \@docs-private
3225
+ * @return {?}
3226
+ */
3227
+ get: function () {
3228
+ return this.disabled ? -1 : 0;
3229
+ },
3230
+ enumerable: true,
3231
+ configurable: true
3232
+ });
3233
+ /**
3234
+ * @return {?}
3235
+ */
3236
+ MatTabLink.prototype.ngOnDestroy = function () {
3237
+ // Manually call the ngOnDestroy lifecycle hook of the ripple instance because it won't be
3238
+ // called automatically since its instance is not created by Angular.
3239
+ this._tabLinkRipple.ngOnDestroy();
3240
+ };
3241
+ MatTabLink.decorators = [
3242
+ { type: _angular_core.Directive, args: [{
3243
+ selector: '[mat-tab-link], [matTabLink]',
3244
+ exportAs: 'matTabLink',
3245
+ inputs: ['disabled'],
3246
+ host: {
3247
+ 'class': 'mat-tab-link',
3248
+ '[attr.aria-disabled]': 'disabled.toString()',
3249
+ '[attr.tabindex]': 'tabIndex',
3250
+ '[class.mat-tab-disabled]': 'disabled',
3251
+ '[class.mat-tab-label-active]': 'active',
3252
+ }
3253
+ },] },
3254
+ ];
3255
+ /**
3256
+ * @nocollapse
3257
+ */
3258
+ MatTabLink.ctorParameters = function () { return [
3259
+ { type: MatTabNav, },
3260
+ { type: _angular_core.ElementRef, },
3261
+ { type: _angular_core.NgZone, },
3262
+ { type: _angular_cdk_platform.Platform, },
3263
+ { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] },] },
3264
+ ]; };
3265
+ MatTabLink.propDecorators = {
3266
+ 'active': [{ type: _angular_core.Input },],
3267
+ };
3268
+ return MatTabLink;
3269
+ }(_MatTabLinkMixinBase));
3270
+
3271
+ var MatTabsModule = (function () {
3272
+ function MatTabsModule() {
3273
+ }
3274
+ MatTabsModule.decorators = [
3275
+ { type: _angular_core.NgModule, args: [{
3276
+ imports: [
3277
+ _angular_common.CommonModule,
3278
+ MatCommonModule,
3279
+ _angular_cdk_portal.PortalModule,
3280
+ MatRippleModule,
3281
+ _angular_cdk_observers.ObserversModule,
3282
+ _angular_cdk_scrolling.ScrollDispatchModule,
3283
+ ],
3284
+ // Don't export all components because some are only to be used internally.
3285
+ exports: [
3286
+ MatCommonModule,
3287
+ MatTabGroup,
3288
+ MatTabLabel,
3289
+ MatTab,
3290
+ MatTabNav,
3291
+ MatTabLink,
3292
+ ],
3293
+ declarations: [
3294
+ MatTabGroup,
3295
+ MatTabLabel,
3296
+ MatTab,
3297
+ MatInkBar,
3298
+ MatTabLabelWrapper,
3299
+ MatTabNav,
3300
+ MatTabLink,
3301
+ MatTabBody,
3302
+ MatTabHeader
3303
+ ],
3304
+ providers: [_angular_cdk_scrolling.VIEWPORT_RULER_PROVIDER],
3305
+ },] },
3306
+ ];
3307
+ /**
3308
+ * @nocollapse
3309
+ */
3310
+ MatTabsModule.ctorParameters = function () { return []; };
3311
+ return MatTabsModule;
3312
+ }());
3313
+
3314
+ exports.MatInkBar = MatInkBar;
3315
+ exports.MatTabBody = MatTabBody;
3316
+ exports.MatTabHeader = MatTabHeader;
3317
+ exports.MatTabLabelWrapper = MatTabLabelWrapper;
3318
+ exports.MatTab = MatTab;
3319
+ exports.MatTabLabel = MatTabLabel;
3320
+ exports.MatTabNav = MatTabNav;
3321
+ exports.MatTabLink = MatTabLink;
3322
+ exports.MatTabsModule = MatTabsModule;
3323
+ exports.MatTabChangeEvent = MatTabChangeEvent;
3324
+ exports.MatTabGroupBase = MatTabGroupBase;
3325
+ exports._MatTabGroupMixinBase = _MatTabGroupMixinBase;
3326
+ exports.MatTabGroup = MatTabGroup;
3327
+ exports.ɵe23 = MatTabBase;
3328
+ exports.ɵf23 = _MatTabMixinBase;
3329
+ exports.ɵa23 = MatTabHeaderBase;
3330
+ exports.ɵb23 = _MatTabHeaderMixinBase;
3331
+ exports.ɵc23 = MatTabLabelWrapperBase;
3332
+ exports.ɵd23 = _MatTabLabelWrapperMixinBase;
3333
+ exports.ɵi23 = MatTabLinkBase;
3334
+ exports.ɵg23 = MatTabNavBase;
3335
+ exports.ɵj23 = _MatTabLinkMixinBase;
3336
+ exports.ɵh23 = _MatTabNavMixinBase;
3337
+
3338
+ Object.defineProperty(exports, '__esModule', { value: true });
3339
+
3340
+ })));
3341
+ //# sourceMappingURL=material-tabs.umd.js.map