@angular/material 7.0.4 → 7.2.1

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 (488) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +61 -44
  3. package/autocomplete/typings/index.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/index.metadata.json +1 -1
  6. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +126 -32
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +38 -5
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js +68 -21
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +36 -13
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +21 -14
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +3 -3
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +56 -15
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +124 -34
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +189 -126
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -1
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +231 -53
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +138 -40
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-divider.umd.js +2 -2
  54. package/bundles/material-divider.umd.js.map +1 -1
  55. package/bundles/material-divider.umd.min.js.map +1 -1
  56. package/bundles/material-expansion.umd.js +53 -27
  57. package/bundles/material-expansion.umd.js.map +1 -1
  58. package/bundles/material-expansion.umd.min.js +1 -1
  59. package/bundles/material-expansion.umd.min.js.map +1 -1
  60. package/bundles/material-form-field.umd.js +121 -32
  61. package/bundles/material-form-field.umd.js.map +1 -1
  62. package/bundles/material-form-field.umd.min.js +1 -1
  63. package/bundles/material-form-field.umd.min.js.map +1 -1
  64. package/bundles/material-grid-list.umd.js +66 -15
  65. package/bundles/material-grid-list.umd.js.map +1 -1
  66. package/bundles/material-grid-list.umd.min.js +1 -1
  67. package/bundles/material-grid-list.umd.min.js.map +1 -1
  68. package/bundles/material-icon.umd.js +277 -78
  69. package/bundles/material-icon.umd.js.map +1 -1
  70. package/bundles/material-icon.umd.min.js +1 -1
  71. package/bundles/material-icon.umd.min.js.map +1 -1
  72. package/bundles/material-input.umd.js +50 -22
  73. package/bundles/material-input.umd.js.map +1 -1
  74. package/bundles/material-input.umd.min.js +1 -1
  75. package/bundles/material-input.umd.min.js.map +1 -1
  76. package/bundles/material-list.umd.js +69 -21
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -6
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +171 -66
  81. package/bundles/material-menu.umd.js.map +1 -1
  82. package/bundles/material-menu.umd.min.js +1 -1
  83. package/bundles/material-menu.umd.min.js.map +1 -1
  84. package/bundles/material-paginator.umd.js +52 -10
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js +1 -1
  87. package/bundles/material-paginator.umd.min.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.js +31 -12
  89. package/bundles/material-progress-bar.umd.js.map +1 -1
  90. package/bundles/material-progress-bar.umd.min.js +1 -1
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.js +29 -13
  93. package/bundles/material-progress-spinner.umd.js.map +1 -1
  94. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  95. package/bundles/material-radio.umd.js +38 -40
  96. package/bundles/material-radio.umd.js.map +1 -1
  97. package/bundles/material-radio.umd.min.js +1 -1
  98. package/bundles/material-radio.umd.min.js.map +1 -1
  99. package/bundles/material-select.umd.js +189 -51
  100. package/bundles/material-select.umd.js.map +1 -1
  101. package/bundles/material-select.umd.min.js +1 -1
  102. package/bundles/material-select.umd.min.js.map +1 -1
  103. package/bundles/material-sidenav.umd.js +104 -25
  104. package/bundles/material-sidenav.umd.js.map +1 -1
  105. package/bundles/material-sidenav.umd.min.js +1 -1
  106. package/bundles/material-sidenav.umd.min.js.map +1 -1
  107. package/bundles/material-slide-toggle.umd.js +30 -14
  108. package/bundles/material-slide-toggle.umd.js.map +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js +1 -1
  110. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  111. package/bundles/material-slider.umd.js +91 -21
  112. package/bundles/material-slider.umd.js.map +1 -1
  113. package/bundles/material-slider.umd.min.js +1 -1
  114. package/bundles/material-slider.umd.min.js.map +1 -1
  115. package/bundles/material-snack-bar.umd.js +71 -19
  116. package/bundles/material-snack-bar.umd.js.map +1 -1
  117. package/bundles/material-snack-bar.umd.min.js +1 -1
  118. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  119. package/bundles/material-sort.umd.js +46 -24
  120. package/bundles/material-sort.umd.js.map +1 -1
  121. package/bundles/material-sort.umd.min.js +1 -1
  122. package/bundles/material-sort.umd.min.js.map +1 -1
  123. package/bundles/material-stepper.umd.js +37 -35
  124. package/bundles/material-stepper.umd.js.map +1 -1
  125. package/bundles/material-stepper.umd.min.js +1 -1
  126. package/bundles/material-stepper.umd.min.js.map +1 -1
  127. package/bundles/material-table.umd.js +29 -9
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +170 -68
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +14 -4
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +53 -26
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js +1 -1
  141. package/bundles/material-tooltip.umd.min.js.map +1 -1
  142. package/bundles/material-tree.umd.js +25 -16
  143. package/bundles/material-tree.umd.js.map +1 -1
  144. package/bundles/material-tree.umd.min.js +1 -1
  145. package/bundles/material-tree.umd.min.js.map +1 -1
  146. package/bundles/material.umd.js +2853 -1010
  147. package/bundles/material.umd.js.map +1 -1
  148. package/bundles/material.umd.min.js +19 -21
  149. package/bundles/material.umd.min.js.map +1 -1
  150. package/button/typings/button.d.ts +0 -5
  151. package/button/typings/index.metadata.json +1 -1
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/card/typings/index.metadata.json +1 -1
  154. package/checkbox/typings/index.metadata.json +1 -1
  155. package/chips/typings/chip-list.d.ts +1 -1
  156. package/chips/typings/chip.d.ts +2 -2
  157. package/chips/typings/index.metadata.json +1 -1
  158. package/core/typings/index.metadata.json +1 -1
  159. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  160. package/core/typings/public-api.d.ts +1 -1
  161. package/datepicker/typings/calendar-body.d.ts +21 -5
  162. package/datepicker/typings/calendar.d.ts +4 -1
  163. package/datepicker/typings/datepicker.d.ts +3 -0
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/datepicker/typings/month-view.d.ts +4 -2
  166. package/dialog/typings/index.metadata.json +1 -1
  167. package/esm2015/autocomplete.js +60 -29
  168. package/esm2015/autocomplete.js.map +1 -1
  169. package/esm2015/badge.js +29 -6
  170. package/esm2015/badge.js.map +1 -1
  171. package/esm2015/bottom-sheet.js +45 -22
  172. package/esm2015/bottom-sheet.js.map +1 -1
  173. package/esm2015/button-toggle.js +20 -11
  174. package/esm2015/button-toggle.js.map +1 -1
  175. package/esm2015/button.js +20 -15
  176. package/esm2015/button.js.map +1 -1
  177. package/esm2015/card.js +5 -5
  178. package/esm2015/card.js.map +1 -1
  179. package/esm2015/checkbox.js +30 -12
  180. package/esm2015/checkbox.js.map +1 -1
  181. package/esm2015/chips.js +64 -28
  182. package/esm2015/chips.js.map +1 -1
  183. package/esm2015/core.js +148 -129
  184. package/esm2015/core.js.map +1 -1
  185. package/esm2015/datepicker.js +124 -41
  186. package/esm2015/datepicker.js.map +1 -1
  187. package/esm2015/dialog.js +77 -40
  188. package/esm2015/dialog.js.map +1 -1
  189. package/esm2015/divider.js +4 -4
  190. package/esm2015/divider.js.map +1 -1
  191. package/esm2015/expansion.js +58 -31
  192. package/esm2015/expansion.js.map +1 -1
  193. package/esm2015/form-field.js +94 -34
  194. package/esm2015/form-field.js.map +1 -1
  195. package/esm2015/grid-list.js +45 -17
  196. package/esm2015/grid-list.js.map +1 -1
  197. package/esm2015/icon.js +136 -67
  198. package/esm2015/icon.js.map +1 -1
  199. package/esm2015/input.js +44 -23
  200. package/esm2015/input.js.map +1 -1
  201. package/esm2015/list.js +47 -22
  202. package/esm2015/list.js.map +1 -1
  203. package/esm2015/material.js +13 -12
  204. package/esm2015/material.js.map +1 -1
  205. package/esm2015/menu.js +109 -63
  206. package/esm2015/menu.js.map +1 -1
  207. package/esm2015/paginator.js +35 -12
  208. package/esm2015/paginator.js.map +1 -1
  209. package/esm2015/progress-bar.js +26 -13
  210. package/esm2015/progress-bar.js.map +1 -1
  211. package/esm2015/progress-spinner.js +24 -14
  212. package/esm2015/progress-spinner.js.map +1 -1
  213. package/esm2015/radio.js +22 -21
  214. package/esm2015/radio.js.map +1 -1
  215. package/esm2015/select.js +116 -53
  216. package/esm2015/select.js.map +1 -1
  217. package/esm2015/sidenav.js +75 -28
  218. package/esm2015/sidenav.js.map +1 -1
  219. package/esm2015/slide-toggle.js +23 -15
  220. package/esm2015/slide-toggle.js.map +1 -1
  221. package/esm2015/slider.js +54 -24
  222. package/esm2015/slider.js.map +1 -1
  223. package/esm2015/snack-bar.js +41 -21
  224. package/esm2015/snack-bar.js.map +1 -1
  225. package/esm2015/sort.js +47 -24
  226. package/esm2015/sort.js.map +1 -1
  227. package/esm2015/stepper.js +35 -32
  228. package/esm2015/stepper.js.map +1 -1
  229. package/esm2015/table.js +31 -11
  230. package/esm2015/table.js.map +1 -1
  231. package/esm2015/tabs.js +113 -53
  232. package/esm2015/tabs.js.map +1 -1
  233. package/esm2015/toolbar.js +9 -5
  234. package/esm2015/toolbar.js.map +1 -1
  235. package/esm2015/tooltip.js +43 -28
  236. package/esm2015/tooltip.js.map +1 -1
  237. package/esm2015/tree.js +22 -17
  238. package/esm2015/tree.js.map +1 -1
  239. package/esm5/autocomplete.es5.js +128 -34
  240. package/esm5/autocomplete.es5.js.map +1 -1
  241. package/esm5/badge.es5.js +40 -7
  242. package/esm5/badge.es5.js.map +1 -1
  243. package/esm5/bottom-sheet.es5.js +70 -23
  244. package/esm5/bottom-sheet.es5.js.map +1 -1
  245. package/esm5/button-toggle.es5.js +38 -15
  246. package/esm5/button-toggle.es5.js.map +1 -1
  247. package/esm5/button.es5.js +23 -16
  248. package/esm5/button.es5.js.map +1 -1
  249. package/esm5/card.es5.js +5 -5
  250. package/esm5/card.es5.js.map +1 -1
  251. package/esm5/checkbox.es5.js +58 -17
  252. package/esm5/checkbox.es5.js.map +1 -1
  253. package/esm5/chips.es5.js +127 -37
  254. package/esm5/chips.es5.js.map +1 -1
  255. package/esm5/core.es5.js +192 -129
  256. package/esm5/core.es5.js.map +1 -1
  257. package/esm5/datepicker.es5.js +233 -55
  258. package/esm5/datepicker.es5.js.map +1 -1
  259. package/esm5/dialog.es5.js +140 -42
  260. package/esm5/dialog.es5.js.map +1 -1
  261. package/esm5/divider.es5.js +4 -4
  262. package/esm5/divider.es5.js.map +1 -1
  263. package/esm5/expansion.es5.js +56 -31
  264. package/esm5/expansion.es5.js.map +1 -1
  265. package/esm5/form-field.es5.js +125 -36
  266. package/esm5/form-field.es5.js.map +1 -1
  267. package/esm5/grid-list.es5.js +68 -17
  268. package/esm5/grid-list.es5.js.map +1 -1
  269. package/esm5/icon.es5.js +279 -80
  270. package/esm5/icon.es5.js.map +1 -1
  271. package/esm5/input.es5.js +52 -24
  272. package/esm5/input.es5.js.map +1 -1
  273. package/esm5/list.es5.js +72 -24
  274. package/esm5/list.es5.js.map +1 -1
  275. package/esm5/material.es5.js +13 -12
  276. package/esm5/material.es5.js.map +1 -1
  277. package/esm5/menu.es5.js +170 -65
  278. package/esm5/menu.es5.js.map +1 -1
  279. package/esm5/paginator.es5.js +55 -13
  280. package/esm5/paginator.es5.js.map +1 -1
  281. package/esm5/progress-bar.es5.js +33 -14
  282. package/esm5/progress-bar.es5.js.map +1 -1
  283. package/esm5/progress-spinner.es5.js +31 -15
  284. package/esm5/progress-spinner.es5.js.map +1 -1
  285. package/esm5/radio.es5.js +42 -42
  286. package/esm5/radio.es5.js.map +1 -1
  287. package/esm5/select.es5.js +193 -55
  288. package/esm5/select.es5.js.map +1 -1
  289. package/esm5/sidenav.es5.js +107 -28
  290. package/esm5/sidenav.es5.js.map +1 -1
  291. package/esm5/slide-toggle.es5.js +32 -16
  292. package/esm5/slide-toggle.es5.js.map +1 -1
  293. package/esm5/slider.es5.js +94 -24
  294. package/esm5/slider.es5.js.map +1 -1
  295. package/esm5/snack-bar.es5.js +73 -21
  296. package/esm5/snack-bar.es5.js.map +1 -1
  297. package/esm5/sort.es5.js +53 -26
  298. package/esm5/sort.es5.js.map +1 -1
  299. package/esm5/stepper.es5.js +40 -38
  300. package/esm5/stepper.es5.js.map +1 -1
  301. package/esm5/table.es5.js +31 -11
  302. package/esm5/table.es5.js.map +1 -1
  303. package/esm5/tabs.es5.js +162 -61
  304. package/esm5/tabs.es5.js.map +1 -1
  305. package/esm5/toolbar.es5.js +16 -6
  306. package/esm5/toolbar.es5.js.map +1 -1
  307. package/esm5/tooltip.es5.js +55 -28
  308. package/esm5/tooltip.es5.js.map +1 -1
  309. package/esm5/tree.es5.js +27 -18
  310. package/esm5/tree.es5.js.map +1 -1
  311. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  312. package/expansion/typings/expansion-panel.d.ts +19 -2
  313. package/expansion/typings/index.metadata.json +1 -1
  314. package/form-field/typings/form-field.d.ts +15 -4
  315. package/form-field/typings/index.metadata.json +1 -1
  316. package/grid-list/typings/index.d.ts +1 -1
  317. package/grid-list/typings/index.metadata.json +1 -1
  318. package/icon/typings/index.metadata.json +1 -1
  319. package/list/typings/index.metadata.json +1 -1
  320. package/material.d.ts +1 -1
  321. package/material.metadata.json +3 -3
  322. package/menu/typings/index.d.ts +4 -4
  323. package/menu/typings/index.metadata.json +1 -1
  324. package/menu/typings/menu-directive.d.ts +1 -0
  325. package/menu/typings/menu-item.d.ts +2 -0
  326. package/package.json +5 -5
  327. package/paginator/typings/index.metadata.json +1 -1
  328. package/paginator/typings/paginator.d.ts +7 -3
  329. package/prebuilt-themes/deeppurple-amber.css +1 -1
  330. package/prebuilt-themes/indigo-pink.css +1 -1
  331. package/prebuilt-themes/pink-bluegrey.css +1 -1
  332. package/prebuilt-themes/purple-green.css +1 -1
  333. package/progress-bar/typings/index.metadata.json +1 -1
  334. package/radio/typings/index.metadata.json +1 -1
  335. package/radio/typings/radio.d.ts +2 -6
  336. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  337. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  338. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  339. package/schematics/ng-add/theming/theming.js +35 -19
  340. package/schematics/ng-add/theming/theming.js.map +1 -1
  341. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  342. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  343. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/select/typings/index.metadata.json +1 -1
  347. package/select/typings/select.d.ts +12 -2
  348. package/sidenav/typings/drawer.d.ts +9 -2
  349. package/sidenav/typings/index.metadata.json +1 -1
  350. package/slide-toggle/typings/index.metadata.json +1 -1
  351. package/slider/typings/index.metadata.json +1 -1
  352. package/snack-bar/typings/index.metadata.json +1 -1
  353. package/sort/typings/index.metadata.json +1 -1
  354. package/stepper/typings/index.metadata.json +1 -1
  355. package/stepper/typings/step-header.d.ts +3 -5
  356. package/tabs/typings/index.d.ts +5 -5
  357. package/tabs/typings/index.metadata.json +1 -1
  358. package/tabs/typings/tab-body.d.ts +2 -0
  359. package/tabs/typings/tab-group.d.ts +11 -2
  360. package/tabs/typings/tab-header.d.ts +9 -3
  361. package/toolbar/typings/index.metadata.json +1 -1
  362. package/tooltip/typings/index.metadata.json +1 -1
  363. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  364. package/tree/typings/index.metadata.json +1 -1
  365. package/typings/autocomplete/index.d.ts +1 -1
  366. package/typings/autocomplete/index.metadata.json +1 -1
  367. package/typings/badge/index.metadata.json +1 -1
  368. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  369. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  370. package/typings/bottom-sheet/index.metadata.json +1 -1
  371. package/typings/button/button.d.ts +0 -5
  372. package/typings/button/index.metadata.json +1 -1
  373. package/typings/button-toggle/index.metadata.json +1 -1
  374. package/typings/card/index.metadata.json +1 -1
  375. package/typings/checkbox/index.metadata.json +1 -1
  376. package/typings/chips/chip-list.d.ts +1 -1
  377. package/typings/chips/chip.d.ts +2 -2
  378. package/typings/chips/index.metadata.json +1 -1
  379. package/typings/core/index.metadata.json +1 -1
  380. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  381. package/typings/core/public-api.d.ts +1 -1
  382. package/typings/datepicker/calendar-body.d.ts +21 -5
  383. package/typings/datepicker/calendar.d.ts +4 -1
  384. package/typings/datepicker/datepicker.d.ts +3 -0
  385. package/typings/datepicker/index.metadata.json +1 -1
  386. package/typings/datepicker/month-view.d.ts +4 -2
  387. package/typings/dialog/index.metadata.json +1 -1
  388. package/typings/esm5/autocomplete/index.d.ts +1 -1
  389. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  390. package/typings/esm5/badge/index.metadata.json +1 -1
  391. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  392. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  393. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  394. package/typings/esm5/button/button.d.ts +0 -5
  395. package/typings/esm5/button/index.metadata.json +1 -1
  396. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  397. package/typings/esm5/card/index.metadata.json +1 -1
  398. package/typings/esm5/checkbox/index.metadata.json +1 -1
  399. package/typings/esm5/chips/chip-list.d.ts +1 -1
  400. package/typings/esm5/chips/chip.d.ts +2 -2
  401. package/typings/esm5/chips/index.metadata.json +1 -1
  402. package/typings/esm5/core/index.metadata.json +1 -1
  403. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  404. package/typings/esm5/core/public-api.d.ts +1 -1
  405. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  406. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  407. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  410. package/typings/esm5/dialog/index.metadata.json +1 -1
  411. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  412. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  413. package/typings/esm5/expansion/index.metadata.json +1 -1
  414. package/typings/esm5/form-field/form-field.d.ts +15 -4
  415. package/typings/esm5/form-field/index.metadata.json +1 -1
  416. package/typings/esm5/grid-list/index.d.ts +1 -1
  417. package/typings/esm5/grid-list/index.metadata.json +1 -1
  418. package/typings/esm5/icon/index.metadata.json +1 -1
  419. package/typings/esm5/index.metadata.json +1 -1
  420. package/typings/esm5/list/index.metadata.json +1 -1
  421. package/typings/esm5/menu/index.d.ts +4 -4
  422. package/typings/esm5/menu/index.metadata.json +1 -1
  423. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  424. package/typings/esm5/menu/menu-item.d.ts +2 -0
  425. package/typings/esm5/paginator/index.metadata.json +1 -1
  426. package/typings/esm5/paginator/paginator.d.ts +7 -3
  427. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  428. package/typings/esm5/radio/index.metadata.json +1 -1
  429. package/typings/esm5/radio/radio.d.ts +2 -6
  430. package/typings/esm5/select/index.metadata.json +1 -1
  431. package/typings/esm5/select/select.d.ts +12 -2
  432. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  433. package/typings/esm5/sidenav/index.metadata.json +1 -1
  434. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  435. package/typings/esm5/slider/index.metadata.json +1 -1
  436. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  437. package/typings/esm5/sort/index.metadata.json +1 -1
  438. package/typings/esm5/stepper/index.metadata.json +1 -1
  439. package/typings/esm5/stepper/step-header.d.ts +3 -5
  440. package/typings/esm5/tabs/index.d.ts +5 -5
  441. package/typings/esm5/tabs/index.metadata.json +1 -1
  442. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  443. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  444. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  445. package/typings/esm5/toolbar/index.metadata.json +1 -1
  446. package/typings/esm5/tooltip/index.metadata.json +1 -1
  447. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  448. package/typings/esm5/tree/index.metadata.json +1 -1
  449. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  450. package/typings/expansion/expansion-panel.d.ts +19 -2
  451. package/typings/expansion/index.metadata.json +1 -1
  452. package/typings/form-field/form-field.d.ts +15 -4
  453. package/typings/form-field/index.metadata.json +1 -1
  454. package/typings/grid-list/index.d.ts +1 -1
  455. package/typings/grid-list/index.metadata.json +1 -1
  456. package/typings/icon/index.metadata.json +1 -1
  457. package/typings/index.metadata.json +1 -1
  458. package/typings/list/index.metadata.json +1 -1
  459. package/typings/menu/index.d.ts +4 -4
  460. package/typings/menu/index.metadata.json +1 -1
  461. package/typings/menu/menu-directive.d.ts +1 -0
  462. package/typings/menu/menu-item.d.ts +2 -0
  463. package/typings/paginator/index.metadata.json +1 -1
  464. package/typings/paginator/paginator.d.ts +7 -3
  465. package/typings/progress-bar/index.metadata.json +1 -1
  466. package/typings/radio/index.metadata.json +1 -1
  467. package/typings/radio/radio.d.ts +2 -6
  468. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  469. package/typings/select/index.metadata.json +1 -1
  470. package/typings/select/select.d.ts +12 -2
  471. package/typings/sidenav/drawer.d.ts +9 -2
  472. package/typings/sidenav/index.metadata.json +1 -1
  473. package/typings/slide-toggle/index.metadata.json +1 -1
  474. package/typings/slider/index.metadata.json +1 -1
  475. package/typings/snack-bar/index.metadata.json +1 -1
  476. package/typings/sort/index.metadata.json +1 -1
  477. package/typings/stepper/index.metadata.json +1 -1
  478. package/typings/stepper/step-header.d.ts +3 -5
  479. package/typings/tabs/index.d.ts +5 -5
  480. package/typings/tabs/index.metadata.json +1 -1
  481. package/typings/tabs/tab-body.d.ts +2 -0
  482. package/typings/tabs/tab-group.d.ts +11 -2
  483. package/typings/tabs/tab-header.d.ts +9 -3
  484. package/typings/toolbar/index.metadata.json +1 -1
  485. package/typings/tooltip/index.metadata.json +1 -1
  486. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  487. package/typings/tree/index.metadata.json +1 -1
  488. 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
@@ -205,12 +212,15 @@ var MatTabLabel = /** @class */ (function (_super) {
205
212
 
206
213
  /**
207
214
  * @fileoverview added by tsickle
208
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
215
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
209
216
  */
217
+ // Boilerplate for applying mixins to MatTab.
210
218
  /**
211
219
  * \@docs-private
212
220
  */
213
- var /**
221
+ var
222
+ // Boilerplate for applying mixins to MatTab.
223
+ /**
214
224
  * \@docs-private
215
225
  */
216
226
  MatTabBase = /** @class */ (function () {
@@ -322,14 +332,17 @@ var MatTab = /** @class */ (function (_super) {
322
332
 
323
333
  /**
324
334
  * @fileoverview added by tsickle
325
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
335
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
326
336
  */
327
- /** *
337
+ /**
328
338
  * Animations used by the Material tabs.
329
339
  * \@docs-private
330
- @type {?} */
340
+ * @type {?}
341
+ */
331
342
  var matTabsAnimations = {
332
- /** Animation translates a tab along the X axis. */
343
+ /**
344
+ * Animation translates a tab along the X axis.
345
+ */
333
346
  translateTab: animations.trigger('translateTab', [
334
347
  // Note: transitions to `none` instead of 0, because some browsers might blur the content.
335
348
  animations.state('center, void, left-origin-center, right-origin-center', animations.style({ transform: 'none' })),
@@ -339,21 +352,21 @@ var matTabsAnimations = {
339
352
  // not have a static height and is not rendered. See related issue: #9465
340
353
  animations.state('left', animations.style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
341
354
  animations.state('right', animations.style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
342
- 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)')),
343
356
  animations.transition('void => left-origin-center', [
344
357
  animations.style({ transform: 'translate3d(-100%, 0, 0)' }),
345
- animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
358
+ animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
346
359
  ]),
347
360
  animations.transition('void => right-origin-center', [
348
361
  animations.style({ transform: 'translate3d(100%, 0, 0)' }),
349
- animations.animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
362
+ animations.animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
350
363
  ])
351
364
  ])
352
365
  };
353
366
 
354
367
  /**
355
368
  * @fileoverview added by tsickle
356
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
369
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
357
370
  */
358
371
  /**
359
372
  * The portal host directive for the contents of the tab.
@@ -429,9 +442,10 @@ var MatTabBodyPortal = /** @class */ (function (_super) {
429
442
  * \@docs-private
430
443
  */
431
444
  var MatTabBody = /** @class */ (function () {
432
- function MatTabBody(_elementRef, _dir, /**
433
- * @breaking-change 8.0.0 changeDetectorRef to be made required.
434
- */
445
+ function MatTabBody(_elementRef, _dir,
446
+ /**
447
+ * @breaking-change 8.0.0 changeDetectorRef to be made required.
448
+ */
435
449
  changeDetectorRef) {
436
450
  var _this = this;
437
451
  this._elementRef = _elementRef;
@@ -460,6 +474,12 @@ var MatTabBody = /** @class */ (function () {
460
474
  * Event emitted when the tab completes its animation towards the center.
461
475
  */
462
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';
463
483
  if (this._dir && changeDetectorRef) {
464
484
  this._dirChangeSubscription = this._dir.change.subscribe(function (dir) {
465
485
  _this._computePositionAnimationState(dir);
@@ -567,13 +587,16 @@ var MatTabBody = /** @class */ (function () {
567
587
  position == 'left-origin-center' ||
568
588
  position == 'right-origin-center';
569
589
  };
590
+ /** Computes the position state that will be used for the tab-body animation trigger. */
570
591
  /**
571
592
  * Computes the position state that will be used for the tab-body animation trigger.
593
+ * @private
572
594
  * @param {?=} dir
573
595
  * @return {?}
574
596
  */
575
597
  MatTabBody.prototype._computePositionAnimationState = /**
576
598
  * Computes the position state that will be used for the tab-body animation trigger.
599
+ * @private
577
600
  * @param {?=} dir
578
601
  * @return {?}
579
602
  */
@@ -592,11 +615,17 @@ var MatTabBody = /** @class */ (function () {
592
615
  /**
593
616
  * Computes the position state based on the specified origin position. This is used if the
594
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
595
623
  * @return {?}
596
624
  */
597
625
  MatTabBody.prototype._computePositionFromOrigin = /**
598
626
  * Computes the position state based on the specified origin position. This is used if the
599
627
  * tab is becoming visible immediately after creation.
628
+ * @private
600
629
  * @return {?}
601
630
  */
602
631
  function () {
@@ -609,7 +638,7 @@ var MatTabBody = /** @class */ (function () {
609
638
  };
610
639
  MatTabBody.decorators = [
611
640
  { type: core.Component, args: [{selector: 'mat-tab-body',
612
- 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>",
613
642
  styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],
614
643
  encapsulation: core.ViewEncapsulation.None,
615
644
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -633,6 +662,7 @@ var MatTabBody = /** @class */ (function () {
633
662
  _portalHost: [{ type: core.ViewChild, args: [portal.PortalHostDirective,] }],
634
663
  _content: [{ type: core.Input, args: ['content',] }],
635
664
  origin: [{ type: core.Input }],
665
+ animationDuration: [{ type: core.Input }],
636
666
  position: [{ type: core.Input }]
637
667
  };
638
668
  return MatTabBody;
@@ -640,12 +670,15 @@ var MatTabBody = /** @class */ (function () {
640
670
 
641
671
  /**
642
672
  * @fileoverview added by tsickle
643
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
673
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
644
674
  */
675
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
645
676
  /**
646
677
  * \@docs-private
647
678
  */
648
- var /**
679
+ var
680
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
681
+ /**
649
682
  * \@docs-private
650
683
  */
651
684
  MatTabLabelWrapperBase = /** @class */ (function () {
@@ -715,17 +748,21 @@ var MatTabLabelWrapper = /** @class */ (function (_super) {
715
748
 
716
749
  /**
717
750
  * @fileoverview added by tsickle
718
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
751
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
719
752
  */
720
- /** *
753
+ /**
721
754
  * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
722
755
  * provide a small affordance to the label next to it.
723
- @type {?} */
756
+ * @type {?}
757
+ */
724
758
  var EXAGGERATED_OVERSCROLL = 60;
759
+ // Boilerplate for applying mixins to MatTabHeader.
725
760
  /**
726
761
  * \@docs-private
727
762
  */
728
- var /**
763
+ var
764
+ // Boilerplate for applying mixins to MatTabHeader.
765
+ /**
729
766
  * \@docs-private
730
767
  */
731
768
  MatTabHeaderBase = /** @class */ (function () {
@@ -817,7 +854,7 @@ var MatTabHeader = /** @class */ (function (_super) {
817
854
  function () {
818
855
  // If the number of tab labels have changed, check if scrolling should be enabled
819
856
  if (this._tabLabelCount != this._labelWrappers.length) {
820
- this._updatePagination();
857
+ this.updatePagination();
821
858
  this._tabLabelCount = this._labelWrappers.length;
822
859
  this._changeDetectorRef.markForCheck();
823
860
  }
@@ -884,7 +921,7 @@ var MatTabHeader = /** @class */ (function (_super) {
884
921
  var resize = this._viewportRuler.change(150);
885
922
  /** @type {?} */
886
923
  var realign = function () {
887
- _this._updatePagination();
924
+ _this.updatePagination();
888
925
  _this._alignInkBarToSelectedTab();
889
926
  };
890
927
  this._keyManager = new a11y.FocusKeyManager(this._labelWrappers)
@@ -932,25 +969,45 @@ var MatTabHeader = /** @class */ (function (_super) {
932
969
  function () {
933
970
  var _this = this;
934
971
  /** @type {?} */
935
- var zoneCallback = function () {
936
- _this._updatePagination();
937
- _this._alignInkBarToSelectedTab();
938
- _this._changeDetectorRef.markForCheck();
939
- };
940
- // The content observer runs outside the `NgZone` by default, which
941
- // means that we need to bring the callback back in ourselves.
942
- // @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
943
- 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
+ }
944
989
  };
945
990
  /**
946
- * 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.
947
996
  */
948
997
  /**
949
- * 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.
950
1003
  * @return {?}
951
1004
  */
952
- MatTabHeader.prototype._updatePagination = /**
953
- * 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.
954
1011
  * @return {?}
955
1012
  */
956
1013
  function () {
@@ -965,7 +1022,7 @@ var MatTabHeader = /** @class */ (function (_super) {
965
1022
  * @return {?}
966
1023
  */
967
1024
  function () {
968
- return this._keyManager ? /** @type {?} */ ((this._keyManager.activeItemIndex)) : 0;
1025
+ return this._keyManager ? (/** @type {?} */ (this._keyManager.activeItemIndex)) : 0;
969
1026
  },
970
1027
  /** When the focus index is set, we must manually send focus to the correct label */
971
1028
  set: /**
@@ -1028,6 +1085,9 @@ var MatTabHeader = /** @class */ (function (_super) {
1028
1085
  }
1029
1086
  if (this._labelWrappers && this._labelWrappers.length) {
1030
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.
1031
1091
  /** @type {?} */
1032
1092
  var containerEl = this._tabListContainer.nativeElement;
1033
1093
  /** @type {?} */
@@ -1070,7 +1130,13 @@ var MatTabHeader = /** @class */ (function (_super) {
1070
1130
  // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
1071
1131
  // and ripples will exceed the boundaries of the visible tab bar.
1072
1132
  // See: https://github.com/angular/material2/issues/10276
1073
- 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;
1074
1140
  };
1075
1141
  Object.defineProperty(MatTabHeader.prototype, "scrollDistance", {
1076
1142
  /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
@@ -1155,6 +1221,7 @@ var MatTabHeader = /** @class */ (function (_super) {
1155
1221
  if (!selectedLabel) {
1156
1222
  return;
1157
1223
  }
1224
+ // The view length is the visible width of the tab labels.
1158
1225
  /** @type {?} */
1159
1226
  var viewLength = this._tabListContainer.nativeElement.offsetWidth;
1160
1227
  /** @type {?} */
@@ -1298,12 +1365,12 @@ var MatTabHeader = /** @class */ (function (_super) {
1298
1365
  var selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
1299
1366
  this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
1300
1367
  null;
1301
- this._inkBar.alignToElement(/** @type {?} */ ((selectedLabelWrapper)));
1368
+ this._inkBar.alignToElement((/** @type {?} */ (selectedLabelWrapper)));
1302
1369
  };
1303
1370
  MatTabHeader.decorators = [
1304
1371
  { type: core.Component, args: [{selector: 'mat-tab-header',
1305
1372
  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>",
1306
- 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}.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{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}@media screen and (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height: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}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],
1373
+ 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}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-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 (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.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}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height: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}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],
1307
1374
  inputs: ['disableRipple'],
1308
1375
  encapsulation: core.ViewEncapsulation.None,
1309
1376
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -1336,11 +1403,12 @@ var MatTabHeader = /** @class */ (function (_super) {
1336
1403
 
1337
1404
  /**
1338
1405
  * @fileoverview added by tsickle
1339
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1406
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1340
1407
  */
1341
- /** *
1408
+ /**
1342
1409
  * Used to generate unique ID's for each tab component
1343
- @type {?} */
1410
+ * @type {?}
1411
+ */
1344
1412
  var nextId = 0;
1345
1413
  /**
1346
1414
  * A simple change event emitted on focus or selection changes.
@@ -1353,10 +1421,18 @@ MatTabChangeEvent = /** @class */ (function () {
1353
1421
  }
1354
1422
  return MatTabChangeEvent;
1355
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.
1356
1430
  /**
1357
1431
  * \@docs-private
1358
1432
  */
1359
- var /**
1433
+ var
1434
+ // Boilerplate for applying mixins to MatTabGroup.
1435
+ /**
1360
1436
  * \@docs-private
1361
1437
  */
1362
1438
  MatTabGroupBase = /** @class */ (function () {
@@ -1374,7 +1450,7 @@ var _MatTabGroupMixinBase = core$1.mixinColor(core$1.mixinDisableRipple(MatTabGr
1374
1450
  */
1375
1451
  var MatTabGroup = /** @class */ (function (_super) {
1376
1452
  __extends(MatTabGroup, _super);
1377
- function MatTabGroup(elementRef, _changeDetectorRef) {
1453
+ function MatTabGroup(elementRef, _changeDetectorRef, defaultConfig) {
1378
1454
  var _this = _super.call(this, elementRef) || this;
1379
1455
  _this._changeDetectorRef = _changeDetectorRef;
1380
1456
  /**
@@ -1416,6 +1492,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1416
1492
  */
1417
1493
  _this.selectedTabChange = new core.EventEmitter(true);
1418
1494
  _this._groupId = nextId++;
1495
+ _this.animationDuration = defaultConfig && defaultConfig.animationDuration ?
1496
+ defaultConfig.animationDuration : '500ms';
1419
1497
  return _this;
1420
1498
  }
1421
1499
  Object.defineProperty(MatTabGroup.prototype, "dynamicHeight", {
@@ -1495,6 +1573,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1495
1573
  */
1496
1574
  function () {
1497
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.
1498
1578
  /** @type {?} */
1499
1579
  var indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);
1500
1580
  // If there is a change in selected index, emit a change event. Should not trigger if
@@ -1597,10 +1677,12 @@ var MatTabGroup = /** @class */ (function (_super) {
1597
1677
  this.focusChange.emit(this._createChangeEvent(index));
1598
1678
  };
1599
1679
  /**
1680
+ * @private
1600
1681
  * @param {?} index
1601
1682
  * @return {?}
1602
1683
  */
1603
1684
  MatTabGroup.prototype._createChangeEvent = /**
1685
+ * @private
1604
1686
  * @param {?} index
1605
1687
  * @return {?}
1606
1688
  */
@@ -1613,11 +1695,18 @@ var MatTabGroup = /** @class */ (function (_super) {
1613
1695
  }
1614
1696
  return event;
1615
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
+ */
1616
1704
  /**
1617
1705
  * Subscribes to changes in the tab labels. This is needed, because the \@Input for the label is
1618
1706
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1619
1707
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1620
1708
  * manually.
1709
+ * @private
1621
1710
  * @return {?}
1622
1711
  */
1623
1712
  MatTabGroup.prototype._subscribeToTabLabels = /**
@@ -1625,6 +1714,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1625
1714
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1626
1715
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1627
1716
  * manually.
1717
+ * @private
1628
1718
  * @return {?}
1629
1719
  */
1630
1720
  function () {
@@ -1634,13 +1724,16 @@ var MatTabGroup = /** @class */ (function (_super) {
1634
1724
  }
1635
1725
  this._tabLabelSubscription = rxjs.merge.apply(void 0, this._tabs.map(function (tab) { return tab._stateChanges; })).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
1636
1726
  };
1727
+ /** Clamps the given index to the bounds of 0 and the tabs length. */
1637
1728
  /**
1638
1729
  * Clamps the given index to the bounds of 0 and the tabs length.
1730
+ * @private
1639
1731
  * @param {?} index
1640
1732
  * @return {?}
1641
1733
  */
1642
1734
  MatTabGroup.prototype._clampTabIndex = /**
1643
1735
  * Clamps the given index to the bounds of 0 and the tabs length.
1736
+ * @private
1644
1737
  * @param {?} index
1645
1738
  * @return {?}
1646
1739
  */
@@ -1765,8 +1858,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1765
1858
  MatTabGroup.decorators = [
1766
1859
  { type: core.Component, args: [{selector: 'mat-tab-group',
1767
1860
  exportAs: 'matTabGroup',
1768
- 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>",
1769
- 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}"],
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>",
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 (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-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 (-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}"],
1770
1863
  encapsulation: core.ViewEncapsulation.None,
1771
1864
  changeDetection: core.ChangeDetectionStrategy.OnPush,
1772
1865
  inputs: ['color', 'disableRipple'],
@@ -1780,7 +1873,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1780
1873
  /** @nocollapse */
1781
1874
  MatTabGroup.ctorParameters = function () { return [
1782
1875
  { type: core.ElementRef },
1783
- { type: core.ChangeDetectorRef }
1876
+ { type: core.ChangeDetectorRef },
1877
+ { type: undefined, decorators: [{ type: core.Inject, args: [MAT_TABS_CONFIG,] }, { type: core.Optional }] }
1784
1878
  ]; };
1785
1879
  MatTabGroup.propDecorators = {
1786
1880
  _tabs: [{ type: core.ContentChildren, args: [MatTab,] }],
@@ -1789,6 +1883,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1789
1883
  dynamicHeight: [{ type: core.Input }],
1790
1884
  selectedIndex: [{ type: core.Input }],
1791
1885
  headerPosition: [{ type: core.Input }],
1886
+ animationDuration: [{ type: core.Input }],
1792
1887
  backgroundColor: [{ type: core.Input }],
1793
1888
  selectedIndexChange: [{ type: core.Output }],
1794
1889
  focusChange: [{ type: core.Output }],
@@ -1800,12 +1895,15 @@ var MatTabGroup = /** @class */ (function (_super) {
1800
1895
 
1801
1896
  /**
1802
1897
  * @fileoverview added by tsickle
1803
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1898
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1804
1899
  */
1900
+ // Boilerplate for applying mixins to MatTabNav.
1805
1901
  /**
1806
1902
  * \@docs-private
1807
1903
  */
1808
- var /**
1904
+ var
1905
+ // Boilerplate for applying mixins to MatTabNav.
1906
+ /**
1809
1907
  * \@docs-private
1810
1908
  */
1811
1909
  MatTabNavBase = /** @class */ (function () {
@@ -1946,7 +2044,7 @@ var MatTabNav = /** @class */ (function (_super) {
1946
2044
  exportAs: 'matTabNavBar, matTabNav',
1947
2045
  inputs: ['color', 'disableRipple'],
1948
2046
  template: "<div class=\"mat-tab-links\" (cdkObserveContent)=\"_alignInkBar()\"><ng-content></ng-content><mat-ink-bar></mat-ink-bar></div>",
1949
- styles: [".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.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;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media screen and (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media screen and (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .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-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.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}@media screen and (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],
2047
+ styles: [".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.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;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.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}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],
1950
2048
  host: { 'class': 'mat-tab-nav-bar' },
1951
2049
  encapsulation: core.ViewEncapsulation.None,
1952
2050
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -1967,7 +2065,10 @@ var MatTabNav = /** @class */ (function (_super) {
1967
2065
  };
1968
2066
  return MatTabNav;
1969
2067
  }(_MatTabNavMixinBase));
1970
- var MatTabLinkBase = /** @class */ (function () {
2068
+ // Boilerplate for applying mixins to MatTabLink.
2069
+ var
2070
+ // Boilerplate for applying mixins to MatTabLink.
2071
+ MatTabLinkBase = /** @class */ (function () {
1971
2072
  function MatTabLinkBase() {
1972
2073
  }
1973
2074
  return MatTabLinkBase;
@@ -2095,7 +2196,7 @@ var MatTabLink = /** @class */ (function (_super) {
2095
2196
 
2096
2197
  /**
2097
2198
  * @fileoverview added by tsickle
2098
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2199
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2099
2200
  */
2100
2201
  var MatTabsModule = /** @class */ (function () {
2101
2202
  function MatTabsModule() {
@@ -2151,21 +2252,22 @@ exports.MatTabLink = MatTabLink;
2151
2252
  exports.MatTabContent = MatTabContent;
2152
2253
  exports.MatTabsModule = MatTabsModule;
2153
2254
  exports.MatTabChangeEvent = MatTabChangeEvent;
2255
+ exports.MAT_TABS_CONFIG = MAT_TABS_CONFIG;
2154
2256
  exports.MatTabGroupBase = MatTabGroupBase;
2155
2257
  exports._MatTabGroupMixinBase = _MatTabGroupMixinBase;
2156
2258
  exports.MatTabGroup = MatTabGroup;
2157
2259
  exports.matTabsAnimations = matTabsAnimations;
2158
- exports.ɵa23 = _MAT_INK_BAR_POSITIONER_FACTORY;
2159
- exports.ɵf23 = MatTabBase;
2160
- exports.ɵg23 = _MatTabMixinBase;
2161
- exports.ɵb23 = MatTabHeaderBase;
2162
- exports.ɵc23 = _MatTabHeaderMixinBase;
2163
- exports.ɵd23 = MatTabLabelWrapperBase;
2164
- exports.ɵe23 = _MatTabLabelWrapperMixinBase;
2165
- exports.ɵj23 = MatTabLinkBase;
2166
- exports.ɵh23 = MatTabNavBase;
2167
- exports.ɵk23 = _MatTabLinkMixinBase;
2168
- exports.ɵi23 = _MatTabNavMixinBase;
2260
+ exports.ɵa17 = _MAT_INK_BAR_POSITIONER_FACTORY;
2261
+ exports.ɵf17 = MatTabBase;
2262
+ exports.ɵg17 = _MatTabMixinBase;
2263
+ exports.ɵb17 = MatTabHeaderBase;
2264
+ exports.ɵc17 = _MatTabHeaderMixinBase;
2265
+ exports.ɵd17 = MatTabLabelWrapperBase;
2266
+ exports.ɵe17 = _MatTabLabelWrapperMixinBase;
2267
+ exports.ɵj17 = MatTabLinkBase;
2268
+ exports.ɵh17 = MatTabNavBase;
2269
+ exports.ɵk17 = _MatTabLinkMixinBase;
2270
+ exports.ɵi17 = _MatTabNavMixinBase;
2169
2271
 
2170
2272
  Object.defineProperty(exports, '__esModule', { value: true });
2171
2273