@angular/material 7.0.3 → 7.2.0

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 (447) hide show
  1. package/_theming.scss +57 -49
  2. package/autocomplete/typings/index.d.ts +1 -1
  3. package/autocomplete/typings/index.metadata.json +1 -1
  4. package/badge/typings/index.metadata.json +1 -1
  5. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  6. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  7. package/bottom-sheet/typings/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js +124 -30
  9. package/bundles/material-autocomplete.umd.js.map +1 -1
  10. package/bundles/material-autocomplete.umd.min.js +1 -1
  11. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/material-badge.umd.js +38 -5
  13. package/bundles/material-badge.umd.js.map +1 -1
  14. package/bundles/material-badge.umd.min.js +1 -1
  15. package/bundles/material-badge.umd.min.js.map +1 -1
  16. package/bundles/material-bottom-sheet.umd.js +68 -25
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle.umd.js +40 -15
  21. package/bundles/material-button-toggle.umd.js.map +1 -1
  22. package/bundles/material-button-toggle.umd.min.js +1 -1
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  24. package/bundles/material-button.umd.js +19 -12
  25. package/bundles/material-button.umd.js.map +1 -1
  26. package/bundles/material-button.umd.min.js +1 -1
  27. package/bundles/material-button.umd.min.js.map +1 -1
  28. package/bundles/material-card.umd.js +2 -2
  29. package/bundles/material-card.umd.js.map +1 -1
  30. package/bundles/material-card.umd.min.js.map +1 -1
  31. package/bundles/material-checkbox.umd.js +56 -15
  32. package/bundles/material-checkbox.umd.js.map +1 -1
  33. package/bundles/material-checkbox.umd.min.js +1 -1
  34. package/bundles/material-checkbox.umd.min.js.map +1 -1
  35. package/bundles/material-chips.umd.js +124 -34
  36. package/bundles/material-chips.umd.js.map +1 -1
  37. package/bundles/material-chips.umd.min.js +1 -1
  38. package/bundles/material-chips.umd.min.js.map +1 -1
  39. package/bundles/material-core.umd.js +186 -123
  40. package/bundles/material-core.umd.js.map +1 -1
  41. package/bundles/material-core.umd.min.js +2 -1
  42. package/bundles/material-core.umd.min.js.map +1 -1
  43. package/bundles/material-datepicker.umd.js +241 -59
  44. package/bundles/material-datepicker.umd.js.map +1 -1
  45. package/bundles/material-datepicker.umd.min.js +2 -2
  46. package/bundles/material-datepicker.umd.min.js.map +1 -1
  47. package/bundles/material-dialog.umd.js +136 -44
  48. package/bundles/material-dialog.umd.js.map +1 -1
  49. package/bundles/material-dialog.umd.min.js +1 -1
  50. package/bundles/material-dialog.umd.min.js.map +1 -1
  51. package/bundles/material-divider.umd.js +2 -2
  52. package/bundles/material-divider.umd.js.map +1 -1
  53. package/bundles/material-divider.umd.min.js.map +1 -1
  54. package/bundles/material-expansion.umd.js +32 -22
  55. package/bundles/material-expansion.umd.js.map +1 -1
  56. package/bundles/material-expansion.umd.min.js +1 -1
  57. package/bundles/material-expansion.umd.min.js.map +1 -1
  58. package/bundles/material-form-field.umd.js +120 -32
  59. package/bundles/material-form-field.umd.js.map +1 -1
  60. package/bundles/material-form-field.umd.min.js +1 -1
  61. package/bundles/material-form-field.umd.min.js.map +1 -1
  62. package/bundles/material-grid-list.umd.js +66 -15
  63. package/bundles/material-grid-list.umd.js.map +1 -1
  64. package/bundles/material-grid-list.umd.min.js +1 -1
  65. package/bundles/material-grid-list.umd.min.js.map +1 -1
  66. package/bundles/material-icon.umd.js +280 -79
  67. package/bundles/material-icon.umd.js.map +1 -1
  68. package/bundles/material-icon.umd.min.js +1 -1
  69. package/bundles/material-icon.umd.min.js.map +1 -1
  70. package/bundles/material-input.umd.js +46 -24
  71. package/bundles/material-input.umd.js.map +1 -1
  72. package/bundles/material-input.umd.min.js +1 -1
  73. package/bundles/material-input.umd.min.js.map +1 -1
  74. package/bundles/material-list.umd.js +71 -22
  75. package/bundles/material-list.umd.js.map +1 -1
  76. package/bundles/material-list.umd.min.js +2 -6
  77. package/bundles/material-list.umd.min.js.map +1 -1
  78. package/bundles/material-menu.umd.js +157 -55
  79. package/bundles/material-menu.umd.js.map +1 -1
  80. package/bundles/material-menu.umd.min.js +1 -1
  81. package/bundles/material-menu.umd.min.js.map +1 -1
  82. package/bundles/material-paginator.umd.js +52 -10
  83. package/bundles/material-paginator.umd.js.map +1 -1
  84. package/bundles/material-paginator.umd.min.js +1 -1
  85. package/bundles/material-paginator.umd.min.js.map +1 -1
  86. package/bundles/material-progress-bar.umd.js +35 -14
  87. package/bundles/material-progress-bar.umd.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.min.js +1 -1
  89. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  90. package/bundles/material-progress-spinner.umd.js +29 -13
  91. package/bundles/material-progress-spinner.umd.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  93. package/bundles/material-radio.umd.js +26 -7
  94. package/bundles/material-radio.umd.js.map +1 -1
  95. package/bundles/material-radio.umd.min.js.map +1 -1
  96. package/bundles/material-select.umd.js +178 -49
  97. package/bundles/material-select.umd.js.map +1 -1
  98. package/bundles/material-select.umd.min.js +1 -1
  99. package/bundles/material-select.umd.min.js.map +1 -1
  100. package/bundles/material-sidenav.umd.js +102 -23
  101. package/bundles/material-sidenav.umd.js.map +1 -1
  102. package/bundles/material-sidenav.umd.min.js +1 -1
  103. package/bundles/material-sidenav.umd.min.js.map +1 -1
  104. package/bundles/material-slide-toggle.umd.js +33 -15
  105. package/bundles/material-slide-toggle.umd.js.map +1 -1
  106. package/bundles/material-slide-toggle.umd.min.js +1 -1
  107. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  108. package/bundles/material-slider.umd.js +89 -19
  109. package/bundles/material-slider.umd.js.map +1 -1
  110. package/bundles/material-slider.umd.min.js +1 -1
  111. package/bundles/material-slider.umd.min.js.map +1 -1
  112. package/bundles/material-snack-bar.umd.js +74 -22
  113. package/bundles/material-snack-bar.umd.js.map +1 -1
  114. package/bundles/material-snack-bar.umd.min.js +1 -1
  115. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  116. package/bundles/material-sort.umd.js +45 -23
  117. package/bundles/material-sort.umd.js.map +1 -1
  118. package/bundles/material-sort.umd.min.js.map +1 -1
  119. package/bundles/material-stepper.umd.js +37 -44
  120. package/bundles/material-stepper.umd.js.map +1 -1
  121. package/bundles/material-stepper.umd.min.js +1 -1
  122. package/bundles/material-stepper.umd.min.js.map +1 -1
  123. package/bundles/material-table.umd.js +29 -19
  124. package/bundles/material-table.umd.js.map +1 -1
  125. package/bundles/material-table.umd.min.js +1 -1
  126. package/bundles/material-table.umd.min.js.map +1 -1
  127. package/bundles/material-tabs.umd.js +156 -56
  128. package/bundles/material-tabs.umd.js.map +1 -1
  129. package/bundles/material-tabs.umd.min.js +2 -2
  130. package/bundles/material-tabs.umd.min.js.map +1 -1
  131. package/bundles/material-toolbar.umd.js +13 -3
  132. package/bundles/material-toolbar.umd.js.map +1 -1
  133. package/bundles/material-toolbar.umd.min.js.map +1 -1
  134. package/bundles/material-tooltip.umd.js +52 -25
  135. package/bundles/material-tooltip.umd.js.map +1 -1
  136. package/bundles/material-tooltip.umd.min.js.map +1 -1
  137. package/bundles/material-tree.umd.js +25 -26
  138. package/bundles/material-tree.umd.js.map +1 -1
  139. package/bundles/material-tree.umd.min.js +1 -1
  140. package/bundles/material-tree.umd.min.js.map +1 -1
  141. package/bundles/material.umd.js +2780 -979
  142. package/bundles/material.umd.js.map +1 -1
  143. package/bundles/material.umd.min.js +19 -21
  144. package/bundles/material.umd.min.js.map +1 -1
  145. package/button/typings/button.d.ts +0 -5
  146. package/button/typings/index.metadata.json +1 -1
  147. package/button-toggle/typings/index.metadata.json +1 -1
  148. package/checkbox/typings/index.metadata.json +1 -1
  149. package/chips/typings/chip-list.d.ts +1 -1
  150. package/chips/typings/chip.d.ts +2 -2
  151. package/chips/typings/index.metadata.json +1 -1
  152. package/core/typings/index.metadata.json +1 -1
  153. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  154. package/core/typings/public-api.d.ts +1 -1
  155. package/datepicker/typings/calendar-body.d.ts +21 -5
  156. package/datepicker/typings/calendar.d.ts +4 -1
  157. package/datepicker/typings/datepicker-toggle.d.ts +5 -0
  158. package/datepicker/typings/datepicker.d.ts +3 -0
  159. package/datepicker/typings/index.metadata.json +1 -1
  160. package/datepicker/typings/month-view.d.ts +4 -2
  161. package/dialog/typings/index.metadata.json +1 -1
  162. package/esm2015/autocomplete.js +58 -27
  163. package/esm2015/autocomplete.js.map +1 -1
  164. package/esm2015/badge.js +29 -6
  165. package/esm2015/badge.js.map +1 -1
  166. package/esm2015/bottom-sheet.js +46 -27
  167. package/esm2015/bottom-sheet.js.map +1 -1
  168. package/esm2015/button-toggle.js +24 -13
  169. package/esm2015/button-toggle.js.map +1 -1
  170. package/esm2015/button.js +18 -13
  171. package/esm2015/button.js.map +1 -1
  172. package/esm2015/card.js +4 -4
  173. package/esm2015/card.js.map +1 -1
  174. package/esm2015/checkbox.js +30 -12
  175. package/esm2015/checkbox.js.map +1 -1
  176. package/esm2015/chips.js +64 -28
  177. package/esm2015/chips.js.map +1 -1
  178. package/esm2015/core.js +145 -126
  179. package/esm2015/core.js.map +1 -1
  180. package/esm2015/datepicker.js +131 -44
  181. package/esm2015/datepicker.js.map +1 -1
  182. package/esm2015/dialog.js +76 -45
  183. package/esm2015/dialog.js.map +1 -1
  184. package/esm2015/divider.js +4 -4
  185. package/esm2015/divider.js.map +1 -1
  186. package/esm2015/expansion.js +35 -25
  187. package/esm2015/expansion.js.map +1 -1
  188. package/esm2015/form-field.js +93 -34
  189. package/esm2015/form-field.js.map +1 -1
  190. package/esm2015/grid-list.js +45 -17
  191. package/esm2015/grid-list.js.map +1 -1
  192. package/esm2015/icon.js +139 -68
  193. package/esm2015/icon.js.map +1 -1
  194. package/esm2015/input.js +40 -23
  195. package/esm2015/input.js.map +1 -1
  196. package/esm2015/list.js +49 -23
  197. package/esm2015/list.js.map +1 -1
  198. package/esm2015/material.js +10 -9
  199. package/esm2015/material.js.map +1 -1
  200. package/esm2015/menu.js +100 -53
  201. package/esm2015/menu.js.map +1 -1
  202. package/esm2015/paginator.js +35 -12
  203. package/esm2015/paginator.js.map +1 -1
  204. package/esm2015/progress-bar.js +30 -15
  205. package/esm2015/progress-bar.js.map +1 -1
  206. package/esm2015/progress-spinner.js +24 -14
  207. package/esm2015/progress-spinner.js.map +1 -1
  208. package/esm2015/radio.js +17 -7
  209. package/esm2015/radio.js.map +1 -1
  210. package/esm2015/select.js +103 -50
  211. package/esm2015/select.js.map +1 -1
  212. package/esm2015/sidenav.js +73 -26
  213. package/esm2015/sidenav.js.map +1 -1
  214. package/esm2015/slide-toggle.js +26 -16
  215. package/esm2015/slide-toggle.js.map +1 -1
  216. package/esm2015/slider.js +50 -20
  217. package/esm2015/slider.js.map +1 -1
  218. package/esm2015/snack-bar.js +44 -24
  219. package/esm2015/snack-bar.js.map +1 -1
  220. package/esm2015/sort.js +46 -23
  221. package/esm2015/sort.js.map +1 -1
  222. package/esm2015/stepper.js +35 -39
  223. package/esm2015/stepper.js.map +1 -1
  224. package/esm2015/table.js +31 -21
  225. package/esm2015/table.js.map +1 -1
  226. package/esm2015/tabs.js +110 -52
  227. package/esm2015/tabs.js.map +1 -1
  228. package/esm2015/toolbar.js +8 -4
  229. package/esm2015/toolbar.js.map +1 -1
  230. package/esm2015/tooltip.js +42 -27
  231. package/esm2015/tooltip.js.map +1 -1
  232. package/esm2015/tree.js +22 -25
  233. package/esm2015/tree.js.map +1 -1
  234. package/esm5/autocomplete.es5.js +126 -32
  235. package/esm5/autocomplete.es5.js.map +1 -1
  236. package/esm5/badge.es5.js +40 -7
  237. package/esm5/badge.es5.js.map +1 -1
  238. package/esm5/bottom-sheet.es5.js +71 -28
  239. package/esm5/bottom-sheet.es5.js.map +1 -1
  240. package/esm5/button-toggle.es5.js +42 -17
  241. package/esm5/button-toggle.es5.js.map +1 -1
  242. package/esm5/button.es5.js +21 -14
  243. package/esm5/button.es5.js.map +1 -1
  244. package/esm5/card.es5.js +4 -4
  245. package/esm5/card.es5.js.map +1 -1
  246. package/esm5/checkbox.es5.js +58 -17
  247. package/esm5/checkbox.es5.js.map +1 -1
  248. package/esm5/chips.es5.js +127 -37
  249. package/esm5/chips.es5.js.map +1 -1
  250. package/esm5/core.es5.js +189 -126
  251. package/esm5/core.es5.js.map +1 -1
  252. package/esm5/datepicker.es5.js +240 -58
  253. package/esm5/datepicker.es5.js.map +1 -1
  254. package/esm5/dialog.es5.js +139 -47
  255. package/esm5/dialog.es5.js.map +1 -1
  256. package/esm5/divider.es5.js +4 -4
  257. package/esm5/divider.es5.js.map +1 -1
  258. package/esm5/expansion.es5.js +35 -25
  259. package/esm5/expansion.es5.js.map +1 -1
  260. package/esm5/form-field.es5.js +124 -36
  261. package/esm5/form-field.es5.js.map +1 -1
  262. package/esm5/grid-list.es5.js +68 -17
  263. package/esm5/grid-list.es5.js.map +1 -1
  264. package/esm5/icon.es5.js +282 -81
  265. package/esm5/icon.es5.js.map +1 -1
  266. package/esm5/input.es5.js +48 -26
  267. package/esm5/input.es5.js.map +1 -1
  268. package/esm5/list.es5.js +74 -25
  269. package/esm5/list.es5.js.map +1 -1
  270. package/esm5/material.es5.js +10 -9
  271. package/esm5/material.es5.js.map +1 -1
  272. package/esm5/menu.es5.js +158 -55
  273. package/esm5/menu.es5.js.map +1 -1
  274. package/esm5/paginator.es5.js +55 -13
  275. package/esm5/paginator.es5.js.map +1 -1
  276. package/esm5/progress-bar.es5.js +37 -16
  277. package/esm5/progress-bar.es5.js.map +1 -1
  278. package/esm5/progress-spinner.es5.js +31 -15
  279. package/esm5/progress-spinner.es5.js.map +1 -1
  280. package/esm5/radio.es5.js +28 -9
  281. package/esm5/radio.es5.js.map +1 -1
  282. package/esm5/select.es5.js +181 -52
  283. package/esm5/select.es5.js.map +1 -1
  284. package/esm5/sidenav.es5.js +105 -26
  285. package/esm5/sidenav.es5.js.map +1 -1
  286. package/esm5/slide-toggle.es5.js +35 -17
  287. package/esm5/slide-toggle.es5.js.map +1 -1
  288. package/esm5/slider.es5.js +91 -21
  289. package/esm5/slider.es5.js.map +1 -1
  290. package/esm5/snack-bar.es5.js +76 -24
  291. package/esm5/snack-bar.es5.js.map +1 -1
  292. package/esm5/sort.es5.js +52 -25
  293. package/esm5/sort.es5.js.map +1 -1
  294. package/esm5/stepper.es5.js +40 -47
  295. package/esm5/stepper.es5.js.map +1 -1
  296. package/esm5/table.es5.js +31 -21
  297. package/esm5/table.es5.js.map +1 -1
  298. package/esm5/tabs.es5.js +159 -60
  299. package/esm5/tabs.es5.js.map +1 -1
  300. package/esm5/toolbar.es5.js +15 -5
  301. package/esm5/toolbar.es5.js.map +1 -1
  302. package/esm5/tooltip.es5.js +54 -27
  303. package/esm5/tooltip.es5.js.map +1 -1
  304. package/esm5/tree.es5.js +27 -28
  305. package/esm5/tree.es5.js.map +1 -1
  306. package/form-field/typings/form-field.d.ts +15 -4
  307. package/form-field/typings/index.metadata.json +1 -1
  308. package/grid-list/typings/index.d.ts +1 -1
  309. package/grid-list/typings/index.metadata.json +1 -1
  310. package/icon/typings/index.metadata.json +1 -1
  311. package/list/typings/index.metadata.json +1 -1
  312. package/material.d.ts +1 -1
  313. package/material.metadata.json +3 -3
  314. package/menu/typings/index.metadata.json +1 -1
  315. package/menu/typings/menu-item.d.ts +2 -0
  316. package/menu/typings/menu-trigger.d.ts +5 -0
  317. package/package.json +5 -5
  318. package/paginator/typings/index.metadata.json +1 -1
  319. package/paginator/typings/paginator.d.ts +7 -3
  320. package/prebuilt-themes/deeppurple-amber.css +1 -1
  321. package/prebuilt-themes/indigo-pink.css +1 -1
  322. package/prebuilt-themes/pink-bluegrey.css +1 -1
  323. package/prebuilt-themes/purple-green.css +1 -1
  324. package/progress-bar/typings/index.metadata.json +1 -1
  325. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  326. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  327. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  328. package/schematics/ng-add/theming/theming.js +35 -19
  329. package/schematics/ng-add/theming/theming.js.map +1 -1
  330. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  331. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  332. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  333. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  334. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  335. package/select/typings/index.metadata.json +1 -1
  336. package/sidenav/typings/drawer.d.ts +9 -2
  337. package/sidenav/typings/index.metadata.json +1 -1
  338. package/slide-toggle/typings/index.metadata.json +1 -1
  339. package/stepper/typings/index.metadata.json +1 -1
  340. package/stepper/typings/step-header.d.ts +3 -5
  341. package/table/typings/index.metadata.json +1 -1
  342. package/tabs/typings/index.metadata.json +1 -1
  343. package/tabs/typings/tab-body.d.ts +2 -0
  344. package/tabs/typings/tab-group.d.ts +11 -2
  345. package/tabs/typings/tab-header.d.ts +9 -3
  346. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  347. package/tree/typings/index.metadata.json +1 -1
  348. package/typings/autocomplete/index.d.ts +1 -1
  349. package/typings/autocomplete/index.metadata.json +1 -1
  350. package/typings/badge/index.metadata.json +1 -1
  351. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  352. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  353. package/typings/bottom-sheet/index.metadata.json +1 -1
  354. package/typings/button/button.d.ts +0 -5
  355. package/typings/button/index.metadata.json +1 -1
  356. package/typings/button-toggle/index.metadata.json +1 -1
  357. package/typings/checkbox/index.metadata.json +1 -1
  358. package/typings/chips/chip-list.d.ts +1 -1
  359. package/typings/chips/chip.d.ts +2 -2
  360. package/typings/chips/index.metadata.json +1 -1
  361. package/typings/core/index.metadata.json +1 -1
  362. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  363. package/typings/core/public-api.d.ts +1 -1
  364. package/typings/datepicker/calendar-body.d.ts +21 -5
  365. package/typings/datepicker/calendar.d.ts +4 -1
  366. package/typings/datepicker/datepicker-toggle.d.ts +5 -0
  367. package/typings/datepicker/datepicker.d.ts +3 -0
  368. package/typings/datepicker/index.metadata.json +1 -1
  369. package/typings/datepicker/month-view.d.ts +4 -2
  370. package/typings/dialog/index.metadata.json +1 -1
  371. package/typings/esm5/autocomplete/index.d.ts +1 -1
  372. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  373. package/typings/esm5/badge/index.metadata.json +1 -1
  374. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  375. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  376. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  377. package/typings/esm5/button/button.d.ts +0 -5
  378. package/typings/esm5/button/index.metadata.json +1 -1
  379. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  380. package/typings/esm5/checkbox/index.metadata.json +1 -1
  381. package/typings/esm5/chips/chip-list.d.ts +1 -1
  382. package/typings/esm5/chips/chip.d.ts +2 -2
  383. package/typings/esm5/chips/index.metadata.json +1 -1
  384. package/typings/esm5/core/index.metadata.json +1 -1
  385. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  386. package/typings/esm5/core/public-api.d.ts +1 -1
  387. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  388. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  389. package/typings/esm5/datepicker/datepicker-toggle.d.ts +5 -0
  390. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  391. package/typings/esm5/datepicker/index.metadata.json +1 -1
  392. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  393. package/typings/esm5/dialog/index.metadata.json +1 -1
  394. package/typings/esm5/form-field/form-field.d.ts +15 -4
  395. package/typings/esm5/form-field/index.metadata.json +1 -1
  396. package/typings/esm5/grid-list/index.d.ts +1 -1
  397. package/typings/esm5/grid-list/index.metadata.json +1 -1
  398. package/typings/esm5/icon/index.metadata.json +1 -1
  399. package/typings/esm5/index.metadata.json +1 -1
  400. package/typings/esm5/list/index.metadata.json +1 -1
  401. package/typings/esm5/menu/index.metadata.json +1 -1
  402. package/typings/esm5/menu/menu-item.d.ts +2 -0
  403. package/typings/esm5/menu/menu-trigger.d.ts +5 -0
  404. package/typings/esm5/paginator/index.metadata.json +1 -1
  405. package/typings/esm5/paginator/paginator.d.ts +7 -3
  406. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  407. package/typings/esm5/select/index.metadata.json +1 -1
  408. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  409. package/typings/esm5/sidenav/index.metadata.json +1 -1
  410. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  411. package/typings/esm5/stepper/index.metadata.json +1 -1
  412. package/typings/esm5/stepper/step-header.d.ts +3 -5
  413. package/typings/esm5/table/index.metadata.json +1 -1
  414. package/typings/esm5/tabs/index.metadata.json +1 -1
  415. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  416. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  417. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  418. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  419. package/typings/esm5/tree/index.metadata.json +1 -1
  420. package/typings/form-field/form-field.d.ts +15 -4
  421. package/typings/form-field/index.metadata.json +1 -1
  422. package/typings/grid-list/index.d.ts +1 -1
  423. package/typings/grid-list/index.metadata.json +1 -1
  424. package/typings/icon/index.metadata.json +1 -1
  425. package/typings/index.metadata.json +1 -1
  426. package/typings/list/index.metadata.json +1 -1
  427. package/typings/menu/index.metadata.json +1 -1
  428. package/typings/menu/menu-item.d.ts +2 -0
  429. package/typings/menu/menu-trigger.d.ts +5 -0
  430. package/typings/paginator/index.metadata.json +1 -1
  431. package/typings/paginator/paginator.d.ts +7 -3
  432. package/typings/progress-bar/index.metadata.json +1 -1
  433. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  434. package/typings/select/index.metadata.json +1 -1
  435. package/typings/sidenav/drawer.d.ts +9 -2
  436. package/typings/sidenav/index.metadata.json +1 -1
  437. package/typings/slide-toggle/index.metadata.json +1 -1
  438. package/typings/stepper/index.metadata.json +1 -1
  439. package/typings/stepper/step-header.d.ts +3 -5
  440. package/typings/table/index.metadata.json +1 -1
  441. package/typings/tabs/index.metadata.json +1 -1
  442. package/typings/tabs/tab-body.d.ts +2 -0
  443. package/typings/tabs/tab-group.d.ts +11 -2
  444. package/typings/tabs/tab-header.d.ts +9 -3
  445. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  446. package/typings/tree/index.metadata.json +1 -1
  447. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -42,11 +42,12 @@ function __extends(d, b) {
42
42
 
43
43
  /**
44
44
  * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
45
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
46
  */
47
- /** *
47
+ /**
48
48
  * Injection token for the MatInkBar's Positioner.
49
- @type {?} */
49
+ * @type {?}
50
+ */
50
51
  var _MAT_INK_BAR_POSITIONER = new core.InjectionToken('MatInkBarPositioner', {
51
52
  providedIn: 'root',
52
53
  factory: _MAT_INK_BAR_POSITIONER_FACTORY
@@ -129,11 +130,17 @@ var MatInkBar = /** @class */ (function () {
129
130
  };
130
131
  /**
131
132
  * Sets the proper styles to the ink bar element.
133
+ * @param element
134
+ */
135
+ /**
136
+ * Sets the proper styles to the ink bar element.
137
+ * @private
132
138
  * @param {?} element
133
139
  * @return {?}
134
140
  */
135
141
  MatInkBar.prototype._setStyles = /**
136
142
  * Sets the proper styles to the ink bar element.
143
+ * @private
137
144
  * @param {?} element
138
145
  * @return {?}
139
146
  */
@@ -164,7 +171,7 @@ var MatInkBar = /** @class */ (function () {
164
171
 
165
172
  /**
166
173
  * @fileoverview added by tsickle
167
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
174
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
168
175
  */
169
176
  /**
170
177
  * Decorates the `ng-template` tags and reads out the template from it.
@@ -185,7 +192,7 @@ var MatTabContent = /** @class */ (function () {
185
192
 
186
193
  /**
187
194
  * @fileoverview added by tsickle
188
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
195
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
189
196
  */
190
197
  /**
191
198
  * Used to flag tab labels for use with the portal directive
@@ -202,17 +209,18 @@ var MatTabLabel = /** @class */ (function (_super) {
202
209
  ];
203
210
  return MatTabLabel;
204
211
  }(portal.CdkPortal));
205
- // TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
206
- (/** @type {?} */ (MatTabLabel))['ctorParameters'] = function () { return (/** @type {?} */ (portal.CdkPortal))['ctorParameters']; };
207
212
 
208
213
  /**
209
214
  * @fileoverview added by tsickle
210
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
215
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
211
216
  */
217
+ // Boilerplate for applying mixins to MatTab.
212
218
  /**
213
219
  * \@docs-private
214
220
  */
215
- var /**
221
+ var
222
+ // Boilerplate for applying mixins to MatTab.
223
+ /**
216
224
  * \@docs-private
217
225
  */
218
226
  MatTabBase = /** @class */ (function () {
@@ -324,14 +332,17 @@ var MatTab = /** @class */ (function (_super) {
324
332
 
325
333
  /**
326
334
  * @fileoverview added by tsickle
327
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
335
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
328
336
  */
329
- /** *
337
+ /**
330
338
  * Animations used by the Material tabs.
331
339
  * \@docs-private
332
- @type {?} */
340
+ * @type {?}
341
+ */
333
342
  var matTabsAnimations = {
334
- /** Animation translates a tab along the X axis. */
343
+ /**
344
+ * Animation translates a tab along the X axis.
345
+ */
335
346
  translateTab: animations.trigger('translateTab', [
336
347
  // Note: transitions to `none` instead of 0, because some browsers might blur the content.
337
348
  animations.state('center, void, left-origin-center, right-origin-center', animations.style({ transform: 'none' })),
@@ -341,21 +352,21 @@ var matTabsAnimations = {
341
352
  // not have a static height and is not rendered. See related issue: #9465
342
353
  animations.state('left', animations.style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
343
354
  animations.state('right', animations.style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
344
- animations.transition('* => left, * => right, left => center, right => center', animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),
355
+ animations.transition('* => left, * => right, left => center, right => center', animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
345
356
  animations.transition('void => left-origin-center', [
346
357
  animations.style({ transform: 'translate3d(-100%, 0, 0)' }),
347
- animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
358
+ animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
348
359
  ]),
349
360
  animations.transition('void => right-origin-center', [
350
361
  animations.style({ transform: 'translate3d(100%, 0, 0)' }),
351
- animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
362
+ animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
352
363
  ])
353
364
  ])
354
365
  };
355
366
 
356
367
  /**
357
368
  * @fileoverview added by tsickle
358
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
369
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
359
370
  */
360
371
  /**
361
372
  * The portal host directive for the contents of the tab.
@@ -431,9 +442,10 @@ var MatTabBodyPortal = /** @class */ (function (_super) {
431
442
  * \@docs-private
432
443
  */
433
444
  var MatTabBody = /** @class */ (function () {
434
- function MatTabBody(_elementRef, _dir, /**
435
- * @breaking-change 8.0.0 changeDetectorRef to be made required.
436
- */
445
+ function MatTabBody(_elementRef, _dir,
446
+ /**
447
+ * @breaking-change 8.0.0 changeDetectorRef to be made required.
448
+ */
437
449
  changeDetectorRef) {
438
450
  var _this = this;
439
451
  this._elementRef = _elementRef;
@@ -462,6 +474,12 @@ var MatTabBody = /** @class */ (function () {
462
474
  * Event emitted when the tab completes its animation towards the center.
463
475
  */
464
476
  this._onCentered = new core.EventEmitter(true);
477
+ // Note that the default value will always be overwritten by `MatTabBody`, but we need one
478
+ // anyway to prevent the animations module from throwing an error if the body is used on its own.
479
+ /**
480
+ * Duration for the tab's animation.
481
+ */
482
+ this.animationDuration = '500ms';
465
483
  if (this._dir && changeDetectorRef) {
466
484
  this._dirChangeSubscription = this._dir.change.subscribe(function (dir) {
467
485
  _this._computePositionAnimationState(dir);
@@ -569,13 +587,16 @@ var MatTabBody = /** @class */ (function () {
569
587
  position == 'left-origin-center' ||
570
588
  position == 'right-origin-center';
571
589
  };
590
+ /** Computes the position state that will be used for the tab-body animation trigger. */
572
591
  /**
573
592
  * Computes the position state that will be used for the tab-body animation trigger.
593
+ * @private
574
594
  * @param {?=} dir
575
595
  * @return {?}
576
596
  */
577
597
  MatTabBody.prototype._computePositionAnimationState = /**
578
598
  * Computes the position state that will be used for the tab-body animation trigger.
599
+ * @private
579
600
  * @param {?=} dir
580
601
  * @return {?}
581
602
  */
@@ -594,11 +615,17 @@ var MatTabBody = /** @class */ (function () {
594
615
  /**
595
616
  * Computes the position state based on the specified origin position. This is used if the
596
617
  * tab is becoming visible immediately after creation.
618
+ */
619
+ /**
620
+ * Computes the position state based on the specified origin position. This is used if the
621
+ * tab is becoming visible immediately after creation.
622
+ * @private
597
623
  * @return {?}
598
624
  */
599
625
  MatTabBody.prototype._computePositionFromOrigin = /**
600
626
  * Computes the position state based on the specified origin position. This is used if the
601
627
  * tab is becoming visible immediately after creation.
628
+ * @private
602
629
  * @return {?}
603
630
  */
604
631
  function () {
@@ -611,7 +638,7 @@ var MatTabBody = /** @class */ (function () {
611
638
  };
612
639
  MatTabBody.decorators = [
613
640
  { type: core.Component, args: [{selector: 'mat-tab-body',
614
- template: "<div class=\"mat-tab-body-content\" #content [@translateTab]=\"_position\" (@translateTab.start)=\"_onTranslateTabStarted($event)\" (@translateTab.done)=\"_translateTabComplete.next($event)\"><ng-template matTabBodyHost></ng-template></div>",
641
+ template: "<div class=\"mat-tab-body-content\" #content [@translateTab]=\"{ value: _position, params: {animationDuration: animationDuration} }\" (@translateTab.start)=\"_onTranslateTabStarted($event)\" (@translateTab.done)=\"_translateTabComplete.next($event)\"><ng-template matTabBodyHost></ng-template></div>",
615
642
  styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],
616
643
  encapsulation: core.ViewEncapsulation.None,
617
644
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -635,6 +662,7 @@ var MatTabBody = /** @class */ (function () {
635
662
  _portalHost: [{ type: core.ViewChild, args: [portal.PortalHostDirective,] }],
636
663
  _content: [{ type: core.Input, args: ['content',] }],
637
664
  origin: [{ type: core.Input }],
665
+ animationDuration: [{ type: core.Input }],
638
666
  position: [{ type: core.Input }]
639
667
  };
640
668
  return MatTabBody;
@@ -642,12 +670,15 @@ var MatTabBody = /** @class */ (function () {
642
670
 
643
671
  /**
644
672
  * @fileoverview added by tsickle
645
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
673
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
646
674
  */
675
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
647
676
  /**
648
677
  * \@docs-private
649
678
  */
650
- var /**
679
+ var
680
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
681
+ /**
651
682
  * \@docs-private
652
683
  */
653
684
  MatTabLabelWrapperBase = /** @class */ (function () {
@@ -717,17 +748,21 @@ var MatTabLabelWrapper = /** @class */ (function (_super) {
717
748
 
718
749
  /**
719
750
  * @fileoverview added by tsickle
720
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
751
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
721
752
  */
722
- /** *
753
+ /**
723
754
  * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
724
755
  * provide a small affordance to the label next to it.
725
- @type {?} */
756
+ * @type {?}
757
+ */
726
758
  var EXAGGERATED_OVERSCROLL = 60;
759
+ // Boilerplate for applying mixins to MatTabHeader.
727
760
  /**
728
761
  * \@docs-private
729
762
  */
730
- var /**
763
+ var
764
+ // Boilerplate for applying mixins to MatTabHeader.
765
+ /**
731
766
  * \@docs-private
732
767
  */
733
768
  MatTabHeaderBase = /** @class */ (function () {
@@ -819,7 +854,7 @@ var MatTabHeader = /** @class */ (function (_super) {
819
854
  function () {
820
855
  // If the number of tab labels have changed, check if scrolling should be enabled
821
856
  if (this._tabLabelCount != this._labelWrappers.length) {
822
- this._updatePagination();
857
+ this.updatePagination();
823
858
  this._tabLabelCount = this._labelWrappers.length;
824
859
  this._changeDetectorRef.markForCheck();
825
860
  }
@@ -886,7 +921,7 @@ var MatTabHeader = /** @class */ (function (_super) {
886
921
  var resize = this._viewportRuler.change(150);
887
922
  /** @type {?} */
888
923
  var realign = function () {
889
- _this._updatePagination();
924
+ _this.updatePagination();
890
925
  _this._alignInkBarToSelectedTab();
891
926
  };
892
927
  this._keyManager = new a11y.FocusKeyManager(this._labelWrappers)
@@ -934,25 +969,45 @@ var MatTabHeader = /** @class */ (function (_super) {
934
969
  function () {
935
970
  var _this = this;
936
971
  /** @type {?} */
937
- var zoneCallback = function () {
938
- _this._updatePagination();
939
- _this._alignInkBarToSelectedTab();
940
- _this._changeDetectorRef.markForCheck();
941
- };
942
- // The content observer runs outside the `NgZone` by default, which
943
- // means that we need to bring the callback back in ourselves.
944
- // @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
945
- this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
972
+ var textContent = this._elementRef.nativeElement.textContent;
973
+ // We need to diff the text content of the header, because the MutationObserver callback
974
+ // will fire even if the text content didn't change which is inefficient and is prone
975
+ // to infinite loops if a poorly constructed expression is passed in (see #14249).
976
+ if (textContent !== this._currentTextContent) {
977
+ this._currentTextContent = textContent;
978
+ /** @type {?} */
979
+ var zoneCallback = function () {
980
+ _this.updatePagination();
981
+ _this._alignInkBarToSelectedTab();
982
+ _this._changeDetectorRef.markForCheck();
983
+ };
984
+ // The content observer runs outside the `NgZone` by default, which
985
+ // means that we need to bring the callback back in ourselves.
986
+ // @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
987
+ this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
988
+ }
946
989
  };
947
990
  /**
948
- * Updating the view whether pagination should be enabled or not
991
+ * Updates the view whether pagination should be enabled or not.
992
+ *
993
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
994
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
995
+ * page.
949
996
  */
950
997
  /**
951
- * Updating the view whether pagination should be enabled or not
998
+ * Updates the view whether pagination should be enabled or not.
999
+ *
1000
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
1001
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
1002
+ * page.
952
1003
  * @return {?}
953
1004
  */
954
- MatTabHeader.prototype._updatePagination = /**
955
- * Updating the view whether pagination should be enabled or not
1005
+ MatTabHeader.prototype.updatePagination = /**
1006
+ * Updates the view whether pagination should be enabled or not.
1007
+ *
1008
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
1009
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
1010
+ * page.
956
1011
  * @return {?}
957
1012
  */
958
1013
  function () {
@@ -967,7 +1022,7 @@ var MatTabHeader = /** @class */ (function (_super) {
967
1022
  * @return {?}
968
1023
  */
969
1024
  function () {
970
- return this._keyManager ? /** @type {?} */ ((this._keyManager.activeItemIndex)) : 0;
1025
+ return this._keyManager ? (/** @type {?} */ (this._keyManager.activeItemIndex)) : 0;
971
1026
  },
972
1027
  /** When the focus index is set, we must manually send focus to the correct label */
973
1028
  set: /**
@@ -1030,6 +1085,9 @@ var MatTabHeader = /** @class */ (function (_super) {
1030
1085
  }
1031
1086
  if (this._labelWrappers && this._labelWrappers.length) {
1032
1087
  this._labelWrappers.toArray()[tabIndex].focus();
1088
+ // Do not let the browser manage scrolling to focus the element, this will be handled
1089
+ // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
1090
+ // should be the full width minus the offset width.
1033
1091
  /** @type {?} */
1034
1092
  var containerEl = this._tabListContainer.nativeElement;
1035
1093
  /** @type {?} */
@@ -1072,7 +1130,13 @@ var MatTabHeader = /** @class */ (function (_super) {
1072
1130
  // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
1073
1131
  // and ripples will exceed the boundaries of the visible tab bar.
1074
1132
  // See: https://github.com/angular/material2/issues/10276
1075
- this._tabList.nativeElement.style.transform = "translateX(" + translateX + "px)";
1133
+ // We round the `transform` here, because transforms with sub-pixel precision cause some
1134
+ // browsers to blur the content of the element.
1135
+ this._tabList.nativeElement.style.transform = "translateX(" + Math.round(translateX) + "px)";
1136
+ // Setting the `transform` on IE will change the scroll offset of the parent, causing the
1137
+ // position to be thrown off in some cases. We have to reset it ourselves to ensure that
1138
+ // it doesn't get thrown off.
1139
+ this._tabListContainer.nativeElement.scrollLeft = 0;
1076
1140
  };
1077
1141
  Object.defineProperty(MatTabHeader.prototype, "scrollDistance", {
1078
1142
  /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
@@ -1157,6 +1221,7 @@ var MatTabHeader = /** @class */ (function (_super) {
1157
1221
  if (!selectedLabel) {
1158
1222
  return;
1159
1223
  }
1224
+ // The view length is the visible width of the tab labels.
1160
1225
  /** @type {?} */
1161
1226
  var viewLength = this._tabListContainer.nativeElement.offsetWidth;
1162
1227
  /** @type {?} */
@@ -1300,7 +1365,7 @@ var MatTabHeader = /** @class */ (function (_super) {
1300
1365
  var selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
1301
1366
  this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
1302
1367
  null;
1303
- this._inkBar.alignToElement(/** @type {?} */ ((selectedLabelWrapper)));
1368
+ this._inkBar.alignToElement((/** @type {?} */ (selectedLabelWrapper)));
1304
1369
  };
1305
1370
  MatTabHeader.decorators = [
1306
1371
  { type: core.Component, args: [{selector: 'mat-tab-header',
@@ -1338,11 +1403,12 @@ var MatTabHeader = /** @class */ (function (_super) {
1338
1403
 
1339
1404
  /**
1340
1405
  * @fileoverview added by tsickle
1341
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1406
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1342
1407
  */
1343
- /** *
1408
+ /**
1344
1409
  * Used to generate unique ID's for each tab component
1345
- @type {?} */
1410
+ * @type {?}
1411
+ */
1346
1412
  var nextId = 0;
1347
1413
  /**
1348
1414
  * A simple change event emitted on focus or selection changes.
@@ -1355,10 +1421,18 @@ MatTabChangeEvent = /** @class */ (function () {
1355
1421
  }
1356
1422
  return MatTabChangeEvent;
1357
1423
  }());
1424
+ /**
1425
+ * Injection token that can be used to provide the default options the tabs module.
1426
+ * @type {?}
1427
+ */
1428
+ var MAT_TABS_CONFIG = new core.InjectionToken('MAT_TABS_CONFIG');
1429
+ // Boilerplate for applying mixins to MatTabGroup.
1358
1430
  /**
1359
1431
  * \@docs-private
1360
1432
  */
1361
- var /**
1433
+ var
1434
+ // Boilerplate for applying mixins to MatTabGroup.
1435
+ /**
1362
1436
  * \@docs-private
1363
1437
  */
1364
1438
  MatTabGroupBase = /** @class */ (function () {
@@ -1376,7 +1450,7 @@ var _MatTabGroupMixinBase = core$1.mixinColor(core$1.mixinDisableRipple(MatTabGr
1376
1450
  */
1377
1451
  var MatTabGroup = /** @class */ (function (_super) {
1378
1452
  __extends(MatTabGroup, _super);
1379
- function MatTabGroup(elementRef, _changeDetectorRef) {
1453
+ function MatTabGroup(elementRef, _changeDetectorRef, defaultConfig) {
1380
1454
  var _this = _super.call(this, elementRef) || this;
1381
1455
  _this._changeDetectorRef = _changeDetectorRef;
1382
1456
  /**
@@ -1418,6 +1492,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1418
1492
  */
1419
1493
  _this.selectedTabChange = new core.EventEmitter(true);
1420
1494
  _this._groupId = nextId++;
1495
+ _this.animationDuration = defaultConfig && defaultConfig.animationDuration ?
1496
+ defaultConfig.animationDuration : '500ms';
1421
1497
  return _this;
1422
1498
  }
1423
1499
  Object.defineProperty(MatTabGroup.prototype, "dynamicHeight", {
@@ -1497,6 +1573,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1497
1573
  */
1498
1574
  function () {
1499
1575
  var _this = this;
1576
+ // Don't clamp the `indexToSelect` immediately in the setter because it can happen that
1577
+ // the amount of tabs changes before the actual change detection runs.
1500
1578
  /** @type {?} */
1501
1579
  var indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);
1502
1580
  // If there is a change in selected index, emit a change event. Should not trigger if
@@ -1599,10 +1677,12 @@ var MatTabGroup = /** @class */ (function (_super) {
1599
1677
  this.focusChange.emit(this._createChangeEvent(index));
1600
1678
  };
1601
1679
  /**
1680
+ * @private
1602
1681
  * @param {?} index
1603
1682
  * @return {?}
1604
1683
  */
1605
1684
  MatTabGroup.prototype._createChangeEvent = /**
1685
+ * @private
1606
1686
  * @param {?} index
1607
1687
  * @return {?}
1608
1688
  */
@@ -1615,11 +1695,18 @@ var MatTabGroup = /** @class */ (function (_super) {
1615
1695
  }
1616
1696
  return event;
1617
1697
  };
1698
+ /**
1699
+ * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is
1700
+ * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1701
+ * binding to be updated, we need to subscribe to changes in it and trigger change detection
1702
+ * manually.
1703
+ */
1618
1704
  /**
1619
1705
  * Subscribes to changes in the tab labels. This is needed, because the \@Input for the label is
1620
1706
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1621
1707
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1622
1708
  * manually.
1709
+ * @private
1623
1710
  * @return {?}
1624
1711
  */
1625
1712
  MatTabGroup.prototype._subscribeToTabLabels = /**
@@ -1627,6 +1714,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1627
1714
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1628
1715
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1629
1716
  * manually.
1717
+ * @private
1630
1718
  * @return {?}
1631
1719
  */
1632
1720
  function () {
@@ -1636,13 +1724,16 @@ var MatTabGroup = /** @class */ (function (_super) {
1636
1724
  }
1637
1725
  this._tabLabelSubscription = rxjs.merge.apply(void 0, this._tabs.map(function (tab) { return tab._stateChanges; })).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
1638
1726
  };
1727
+ /** Clamps the given index to the bounds of 0 and the tabs length. */
1639
1728
  /**
1640
1729
  * Clamps the given index to the bounds of 0 and the tabs length.
1730
+ * @private
1641
1731
  * @param {?} index
1642
1732
  * @return {?}
1643
1733
  */
1644
1734
  MatTabGroup.prototype._clampTabIndex = /**
1645
1735
  * Clamps the given index to the bounds of 0 and the tabs length.
1736
+ * @private
1646
1737
  * @param {?} index
1647
1738
  * @return {?}
1648
1739
  */
@@ -1767,7 +1858,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1767
1858
  MatTabGroup.decorators = [
1768
1859
  { type: core.Component, args: [{selector: 'mat-tab-group',
1769
1860
  exportAs: 'matTabGroup',
1770
- 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 cdkMonitorElementFocus *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabLabelId(i)\" [attr.tabIndex]=\"_getTabIndex(tab, i)\" [attr.aria-posinset]=\"i + 1\" [attr.aria-setsize]=\"_tabs.length\" [attr.aria-controls]=\"_getTabContentId(i)\" [attr.aria-selected]=\"selectedIndex == i\" [attr.aria-label]=\"tab.ariaLabel || null\" [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\" [class.mat-tab-label-active]=\"selectedIndex == i\" [disabled]=\"tab.disabled\" [matRippleDisabled]=\"tab.disabled || disableRipple\" (click)=\"_handleClick(tab, tabHeader, i)\"><div class=\"mat-tab-label-content\"><ng-template [ngIf]=\"tab.templateLabel\"><ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template></ng-template><ng-template [ngIf]=\"!tab.templateLabel\">{{tab.textLabel}}</ng-template></div></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>",
1861
+ 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 cdkMonitorElementFocus *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabLabelId(i)\" [attr.tabIndex]=\"_getTabIndex(tab, i)\" [attr.aria-posinset]=\"i + 1\" [attr.aria-setsize]=\"_tabs.length\" [attr.aria-controls]=\"_getTabContentId(i)\" [attr.aria-selected]=\"selectedIndex == i\" [attr.aria-label]=\"tab.ariaLabel || null\" [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\" [class.mat-tab-label-active]=\"selectedIndex == i\" [disabled]=\"tab.disabled\" [matRippleDisabled]=\"tab.disabled || disableRipple\" (click)=\"_handleClick(tab, tabHeader, i)\"><div class=\"mat-tab-label-content\"><ng-template [ngIf]=\"tab.templateLabel\"><ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template></ng-template><ng-template [ngIf]=\"!tab.templateLabel\">{{tab.textLabel}}</ng-template></div></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\" [animationDuration]=\"animationDuration\" (_onCentered)=\"_removeTabBodyWrapperHeight()\" (_onCentering)=\"_setTabBodyWrapperHeight($event)\"></mat-tab-body></div>",
1771
1862
  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}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media screen and (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media screen and (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media screen and (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{padding:0 12px}}@media (max-width:959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .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;flex-basis:100%}.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}"],
1772
1863
  encapsulation: core.ViewEncapsulation.None,
1773
1864
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -1782,7 +1873,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1782
1873
  /** @nocollapse */
1783
1874
  MatTabGroup.ctorParameters = function () { return [
1784
1875
  { type: core.ElementRef },
1785
- { type: core.ChangeDetectorRef }
1876
+ { type: core.ChangeDetectorRef },
1877
+ { type: undefined, decorators: [{ type: core.Inject, args: [MAT_TABS_CONFIG,] }, { type: core.Optional }] }
1786
1878
  ]; };
1787
1879
  MatTabGroup.propDecorators = {
1788
1880
  _tabs: [{ type: core.ContentChildren, args: [MatTab,] }],
@@ -1791,6 +1883,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1791
1883
  dynamicHeight: [{ type: core.Input }],
1792
1884
  selectedIndex: [{ type: core.Input }],
1793
1885
  headerPosition: [{ type: core.Input }],
1886
+ animationDuration: [{ type: core.Input }],
1794
1887
  backgroundColor: [{ type: core.Input }],
1795
1888
  selectedIndexChange: [{ type: core.Output }],
1796
1889
  focusChange: [{ type: core.Output }],
@@ -1802,12 +1895,15 @@ var MatTabGroup = /** @class */ (function (_super) {
1802
1895
 
1803
1896
  /**
1804
1897
  * @fileoverview added by tsickle
1805
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1898
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1806
1899
  */
1900
+ // Boilerplate for applying mixins to MatTabNav.
1807
1901
  /**
1808
1902
  * \@docs-private
1809
1903
  */
1810
- var /**
1904
+ var
1905
+ // Boilerplate for applying mixins to MatTabNav.
1906
+ /**
1811
1907
  * \@docs-private
1812
1908
  */
1813
1909
  MatTabNavBase = /** @class */ (function () {
@@ -1969,7 +2065,10 @@ var MatTabNav = /** @class */ (function (_super) {
1969
2065
  };
1970
2066
  return MatTabNav;
1971
2067
  }(_MatTabNavMixinBase));
1972
- var MatTabLinkBase = /** @class */ (function () {
2068
+ // Boilerplate for applying mixins to MatTabLink.
2069
+ var
2070
+ // Boilerplate for applying mixins to MatTabLink.
2071
+ MatTabLinkBase = /** @class */ (function () {
1973
2072
  function MatTabLinkBase() {
1974
2073
  }
1975
2074
  return MatTabLinkBase;
@@ -2097,7 +2196,7 @@ var MatTabLink = /** @class */ (function (_super) {
2097
2196
 
2098
2197
  /**
2099
2198
  * @fileoverview added by tsickle
2100
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2199
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2101
2200
  */
2102
2201
  var MatTabsModule = /** @class */ (function () {
2103
2202
  function MatTabsModule() {
@@ -2153,6 +2252,7 @@ exports.MatTabLink = MatTabLink;
2153
2252
  exports.MatTabContent = MatTabContent;
2154
2253
  exports.MatTabsModule = MatTabsModule;
2155
2254
  exports.MatTabChangeEvent = MatTabChangeEvent;
2255
+ exports.MAT_TABS_CONFIG = MAT_TABS_CONFIG;
2156
2256
  exports.MatTabGroupBase = MatTabGroupBase;
2157
2257
  exports._MatTabGroupMixinBase = _MatTabGroupMixinBase;
2158
2258
  exports.MatTabGroup = MatTabGroup;