@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
package/esm5/tabs.es5.js CHANGED
@@ -23,11 +23,12 @@ import { CommonModule } from '@angular/common';
23
23
 
24
24
  /**
25
25
  * @fileoverview added by tsickle
26
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
26
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
27
27
  */
28
- /** *
28
+ /**
29
29
  * Injection token for the MatInkBar's Positioner.
30
- @type {?} */
30
+ * @type {?}
31
+ */
31
32
  var _MAT_INK_BAR_POSITIONER = new InjectionToken('MatInkBarPositioner', {
32
33
  providedIn: 'root',
33
34
  factory: _MAT_INK_BAR_POSITIONER_FACTORY
@@ -110,11 +111,17 @@ var MatInkBar = /** @class */ (function () {
110
111
  };
111
112
  /**
112
113
  * Sets the proper styles to the ink bar element.
114
+ * @param element
115
+ */
116
+ /**
117
+ * Sets the proper styles to the ink bar element.
118
+ * @private
113
119
  * @param {?} element
114
120
  * @return {?}
115
121
  */
116
122
  MatInkBar.prototype._setStyles = /**
117
123
  * Sets the proper styles to the ink bar element.
124
+ * @private
118
125
  * @param {?} element
119
126
  * @return {?}
120
127
  */
@@ -145,7 +152,7 @@ var MatInkBar = /** @class */ (function () {
145
152
 
146
153
  /**
147
154
  * @fileoverview added by tsickle
148
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
155
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
149
156
  */
150
157
  /**
151
158
  * Decorates the `ng-template` tags and reads out the template from it.
@@ -166,7 +173,7 @@ var MatTabContent = /** @class */ (function () {
166
173
 
167
174
  /**
168
175
  * @fileoverview added by tsickle
169
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
176
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
170
177
  */
171
178
  /**
172
179
  * Used to flag tab labels for use with the portal directive
@@ -186,12 +193,15 @@ var MatTabLabel = /** @class */ (function (_super) {
186
193
 
187
194
  /**
188
195
  * @fileoverview added by tsickle
189
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
196
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
190
197
  */
198
+ // Boilerplate for applying mixins to MatTab.
191
199
  /**
192
200
  * \@docs-private
193
201
  */
194
- var /**
202
+ var
203
+ // Boilerplate for applying mixins to MatTab.
204
+ /**
195
205
  * \@docs-private
196
206
  */
197
207
  MatTabBase = /** @class */ (function () {
@@ -303,14 +313,17 @@ var MatTab = /** @class */ (function (_super) {
303
313
 
304
314
  /**
305
315
  * @fileoverview added by tsickle
306
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
316
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
307
317
  */
308
- /** *
318
+ /**
309
319
  * Animations used by the Material tabs.
310
320
  * \@docs-private
311
- @type {?} */
321
+ * @type {?}
322
+ */
312
323
  var matTabsAnimations = {
313
- /** Animation translates a tab along the X axis. */
324
+ /**
325
+ * Animation translates a tab along the X axis.
326
+ */
314
327
  translateTab: trigger('translateTab', [
315
328
  // Note: transitions to `none` instead of 0, because some browsers might blur the content.
316
329
  state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),
@@ -320,21 +333,21 @@ var matTabsAnimations = {
320
333
  // not have a static height and is not rendered. See related issue: #9465
321
334
  state('left', style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
322
335
  state('right', style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
323
- transition('* => left, * => right, left => center, right => center', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),
336
+ transition('* => left, * => right, left => center, right => center', animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
324
337
  transition('void => left-origin-center', [
325
338
  style({ transform: 'translate3d(-100%, 0, 0)' }),
326
- animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
339
+ animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
327
340
  ]),
328
341
  transition('void => right-origin-center', [
329
342
  style({ transform: 'translate3d(100%, 0, 0)' }),
330
- animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')
343
+ animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
331
344
  ])
332
345
  ])
333
346
  };
334
347
 
335
348
  /**
336
349
  * @fileoverview added by tsickle
337
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
350
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
338
351
  */
339
352
  /**
340
353
  * The portal host directive for the contents of the tab.
@@ -410,9 +423,10 @@ var MatTabBodyPortal = /** @class */ (function (_super) {
410
423
  * \@docs-private
411
424
  */
412
425
  var MatTabBody = /** @class */ (function () {
413
- function MatTabBody(_elementRef, _dir, /**
414
- * @breaking-change 8.0.0 changeDetectorRef to be made required.
415
- */
426
+ function MatTabBody(_elementRef, _dir,
427
+ /**
428
+ * @breaking-change 8.0.0 changeDetectorRef to be made required.
429
+ */
416
430
  changeDetectorRef) {
417
431
  var _this = this;
418
432
  this._elementRef = _elementRef;
@@ -441,6 +455,12 @@ var MatTabBody = /** @class */ (function () {
441
455
  * Event emitted when the tab completes its animation towards the center.
442
456
  */
443
457
  this._onCentered = new EventEmitter(true);
458
+ // Note that the default value will always be overwritten by `MatTabBody`, but we need one
459
+ // anyway to prevent the animations module from throwing an error if the body is used on its own.
460
+ /**
461
+ * Duration for the tab's animation.
462
+ */
463
+ this.animationDuration = '500ms';
444
464
  if (this._dir && changeDetectorRef) {
445
465
  this._dirChangeSubscription = this._dir.change.subscribe(function (dir) {
446
466
  _this._computePositionAnimationState(dir);
@@ -548,13 +568,16 @@ var MatTabBody = /** @class */ (function () {
548
568
  position == 'left-origin-center' ||
549
569
  position == 'right-origin-center';
550
570
  };
571
+ /** Computes the position state that will be used for the tab-body animation trigger. */
551
572
  /**
552
573
  * Computes the position state that will be used for the tab-body animation trigger.
574
+ * @private
553
575
  * @param {?=} dir
554
576
  * @return {?}
555
577
  */
556
578
  MatTabBody.prototype._computePositionAnimationState = /**
557
579
  * Computes the position state that will be used for the tab-body animation trigger.
580
+ * @private
558
581
  * @param {?=} dir
559
582
  * @return {?}
560
583
  */
@@ -573,11 +596,17 @@ var MatTabBody = /** @class */ (function () {
573
596
  /**
574
597
  * Computes the position state based on the specified origin position. This is used if the
575
598
  * tab is becoming visible immediately after creation.
599
+ */
600
+ /**
601
+ * Computes the position state based on the specified origin position. This is used if the
602
+ * tab is becoming visible immediately after creation.
603
+ * @private
576
604
  * @return {?}
577
605
  */
578
606
  MatTabBody.prototype._computePositionFromOrigin = /**
579
607
  * Computes the position state based on the specified origin position. This is used if the
580
608
  * tab is becoming visible immediately after creation.
609
+ * @private
581
610
  * @return {?}
582
611
  */
583
612
  function () {
@@ -590,7 +619,7 @@ var MatTabBody = /** @class */ (function () {
590
619
  };
591
620
  MatTabBody.decorators = [
592
621
  { type: Component, args: [{selector: 'mat-tab-body',
593
- 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>",
622
+ 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>",
594
623
  styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],
595
624
  encapsulation: ViewEncapsulation.None,
596
625
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -614,6 +643,7 @@ var MatTabBody = /** @class */ (function () {
614
643
  _portalHost: [{ type: ViewChild, args: [PortalHostDirective,] }],
615
644
  _content: [{ type: Input, args: ['content',] }],
616
645
  origin: [{ type: Input }],
646
+ animationDuration: [{ type: Input }],
617
647
  position: [{ type: Input }]
618
648
  };
619
649
  return MatTabBody;
@@ -621,12 +651,15 @@ var MatTabBody = /** @class */ (function () {
621
651
 
622
652
  /**
623
653
  * @fileoverview added by tsickle
624
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
654
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
625
655
  */
656
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
626
657
  /**
627
658
  * \@docs-private
628
659
  */
629
- var /**
660
+ var
661
+ // Boilerplate for applying mixins to MatTabLabelWrapper.
662
+ /**
630
663
  * \@docs-private
631
664
  */
632
665
  MatTabLabelWrapperBase = /** @class */ (function () {
@@ -696,17 +729,21 @@ var MatTabLabelWrapper = /** @class */ (function (_super) {
696
729
 
697
730
  /**
698
731
  * @fileoverview added by tsickle
699
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
732
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
700
733
  */
701
- /** *
734
+ /**
702
735
  * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
703
736
  * provide a small affordance to the label next to it.
704
- @type {?} */
737
+ * @type {?}
738
+ */
705
739
  var EXAGGERATED_OVERSCROLL = 60;
740
+ // Boilerplate for applying mixins to MatTabHeader.
706
741
  /**
707
742
  * \@docs-private
708
743
  */
709
- var /**
744
+ var
745
+ // Boilerplate for applying mixins to MatTabHeader.
746
+ /**
710
747
  * \@docs-private
711
748
  */
712
749
  MatTabHeaderBase = /** @class */ (function () {
@@ -798,7 +835,7 @@ var MatTabHeader = /** @class */ (function (_super) {
798
835
  function () {
799
836
  // If the number of tab labels have changed, check if scrolling should be enabled
800
837
  if (this._tabLabelCount != this._labelWrappers.length) {
801
- this._updatePagination();
838
+ this.updatePagination();
802
839
  this._tabLabelCount = this._labelWrappers.length;
803
840
  this._changeDetectorRef.markForCheck();
804
841
  }
@@ -865,7 +902,7 @@ var MatTabHeader = /** @class */ (function (_super) {
865
902
  var resize = this._viewportRuler.change(150);
866
903
  /** @type {?} */
867
904
  var realign = function () {
868
- _this._updatePagination();
905
+ _this.updatePagination();
869
906
  _this._alignInkBarToSelectedTab();
870
907
  };
871
908
  this._keyManager = new FocusKeyManager(this._labelWrappers)
@@ -913,25 +950,45 @@ var MatTabHeader = /** @class */ (function (_super) {
913
950
  function () {
914
951
  var _this = this;
915
952
  /** @type {?} */
916
- var zoneCallback = function () {
917
- _this._updatePagination();
918
- _this._alignInkBarToSelectedTab();
919
- _this._changeDetectorRef.markForCheck();
920
- };
921
- // The content observer runs outside the `NgZone` by default, which
922
- // means that we need to bring the callback back in ourselves.
923
- // @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
924
- this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
953
+ var textContent = this._elementRef.nativeElement.textContent;
954
+ // We need to diff the text content of the header, because the MutationObserver callback
955
+ // will fire even if the text content didn't change which is inefficient and is prone
956
+ // to infinite loops if a poorly constructed expression is passed in (see #14249).
957
+ if (textContent !== this._currentTextContent) {
958
+ this._currentTextContent = textContent;
959
+ /** @type {?} */
960
+ var zoneCallback = function () {
961
+ _this.updatePagination();
962
+ _this._alignInkBarToSelectedTab();
963
+ _this._changeDetectorRef.markForCheck();
964
+ };
965
+ // The content observer runs outside the `NgZone` by default, which
966
+ // means that we need to bring the callback back in ourselves.
967
+ // @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
968
+ this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
969
+ }
925
970
  };
926
971
  /**
927
- * Updating the view whether pagination should be enabled or not
972
+ * Updates the view whether pagination should be enabled or not.
973
+ *
974
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
975
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
976
+ * page.
928
977
  */
929
978
  /**
930
- * Updating the view whether pagination should be enabled or not
979
+ * Updates the view whether pagination should be enabled or not.
980
+ *
981
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
982
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
983
+ * page.
931
984
  * @return {?}
932
985
  */
933
- MatTabHeader.prototype._updatePagination = /**
934
- * Updating the view whether pagination should be enabled or not
986
+ MatTabHeader.prototype.updatePagination = /**
987
+ * Updates the view whether pagination should be enabled or not.
988
+ *
989
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
990
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
991
+ * page.
935
992
  * @return {?}
936
993
  */
937
994
  function () {
@@ -946,7 +1003,7 @@ var MatTabHeader = /** @class */ (function (_super) {
946
1003
  * @return {?}
947
1004
  */
948
1005
  function () {
949
- return this._keyManager ? /** @type {?} */ ((this._keyManager.activeItemIndex)) : 0;
1006
+ return this._keyManager ? (/** @type {?} */ (this._keyManager.activeItemIndex)) : 0;
950
1007
  },
951
1008
  /** When the focus index is set, we must manually send focus to the correct label */
952
1009
  set: /**
@@ -1009,6 +1066,9 @@ var MatTabHeader = /** @class */ (function (_super) {
1009
1066
  }
1010
1067
  if (this._labelWrappers && this._labelWrappers.length) {
1011
1068
  this._labelWrappers.toArray()[tabIndex].focus();
1069
+ // Do not let the browser manage scrolling to focus the element, this will be handled
1070
+ // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
1071
+ // should be the full width minus the offset width.
1012
1072
  /** @type {?} */
1013
1073
  var containerEl = this._tabListContainer.nativeElement;
1014
1074
  /** @type {?} */
@@ -1051,7 +1111,13 @@ var MatTabHeader = /** @class */ (function (_super) {
1051
1111
  // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
1052
1112
  // and ripples will exceed the boundaries of the visible tab bar.
1053
1113
  // See: https://github.com/angular/material2/issues/10276
1054
- this._tabList.nativeElement.style.transform = "translateX(" + translateX + "px)";
1114
+ // We round the `transform` here, because transforms with sub-pixel precision cause some
1115
+ // browsers to blur the content of the element.
1116
+ this._tabList.nativeElement.style.transform = "translateX(" + Math.round(translateX) + "px)";
1117
+ // Setting the `transform` on IE will change the scroll offset of the parent, causing the
1118
+ // position to be thrown off in some cases. We have to reset it ourselves to ensure that
1119
+ // it doesn't get thrown off.
1120
+ this._tabListContainer.nativeElement.scrollLeft = 0;
1055
1121
  };
1056
1122
  Object.defineProperty(MatTabHeader.prototype, "scrollDistance", {
1057
1123
  /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
@@ -1136,6 +1202,7 @@ var MatTabHeader = /** @class */ (function (_super) {
1136
1202
  if (!selectedLabel) {
1137
1203
  return;
1138
1204
  }
1205
+ // The view length is the visible width of the tab labels.
1139
1206
  /** @type {?} */
1140
1207
  var viewLength = this._tabListContainer.nativeElement.offsetWidth;
1141
1208
  /** @type {?} */
@@ -1279,12 +1346,12 @@ var MatTabHeader = /** @class */ (function (_super) {
1279
1346
  var selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
1280
1347
  this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
1281
1348
  null;
1282
- this._inkBar.alignToElement(/** @type {?} */ ((selectedLabelWrapper)));
1349
+ this._inkBar.alignToElement((/** @type {?} */ (selectedLabelWrapper)));
1283
1350
  };
1284
1351
  MatTabHeader.decorators = [
1285
1352
  { type: Component, args: [{selector: 'mat-tab-header',
1286
1353
  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>",
1287
- 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}"],
1354
+ 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}"],
1288
1355
  inputs: ['disableRipple'],
1289
1356
  encapsulation: ViewEncapsulation.None,
1290
1357
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1317,11 +1384,12 @@ var MatTabHeader = /** @class */ (function (_super) {
1317
1384
 
1318
1385
  /**
1319
1386
  * @fileoverview added by tsickle
1320
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1387
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1321
1388
  */
1322
- /** *
1389
+ /**
1323
1390
  * Used to generate unique ID's for each tab component
1324
- @type {?} */
1391
+ * @type {?}
1392
+ */
1325
1393
  var nextId = 0;
1326
1394
  /**
1327
1395
  * A simple change event emitted on focus or selection changes.
@@ -1334,10 +1402,18 @@ MatTabChangeEvent = /** @class */ (function () {
1334
1402
  }
1335
1403
  return MatTabChangeEvent;
1336
1404
  }());
1405
+ /**
1406
+ * Injection token that can be used to provide the default options the tabs module.
1407
+ * @type {?}
1408
+ */
1409
+ var MAT_TABS_CONFIG = new InjectionToken('MAT_TABS_CONFIG');
1410
+ // Boilerplate for applying mixins to MatTabGroup.
1337
1411
  /**
1338
1412
  * \@docs-private
1339
1413
  */
1340
- var /**
1414
+ var
1415
+ // Boilerplate for applying mixins to MatTabGroup.
1416
+ /**
1341
1417
  * \@docs-private
1342
1418
  */
1343
1419
  MatTabGroupBase = /** @class */ (function () {
@@ -1355,7 +1431,7 @@ var _MatTabGroupMixinBase = mixinColor(mixinDisableRipple(MatTabGroupBase), 'pri
1355
1431
  */
1356
1432
  var MatTabGroup = /** @class */ (function (_super) {
1357
1433
  __extends(MatTabGroup, _super);
1358
- function MatTabGroup(elementRef, _changeDetectorRef) {
1434
+ function MatTabGroup(elementRef, _changeDetectorRef, defaultConfig) {
1359
1435
  var _this = _super.call(this, elementRef) || this;
1360
1436
  _this._changeDetectorRef = _changeDetectorRef;
1361
1437
  /**
@@ -1397,6 +1473,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1397
1473
  */
1398
1474
  _this.selectedTabChange = new EventEmitter(true);
1399
1475
  _this._groupId = nextId++;
1476
+ _this.animationDuration = defaultConfig && defaultConfig.animationDuration ?
1477
+ defaultConfig.animationDuration : '500ms';
1400
1478
  return _this;
1401
1479
  }
1402
1480
  Object.defineProperty(MatTabGroup.prototype, "dynamicHeight", {
@@ -1476,6 +1554,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1476
1554
  */
1477
1555
  function () {
1478
1556
  var _this = this;
1557
+ // Don't clamp the `indexToSelect` immediately in the setter because it can happen that
1558
+ // the amount of tabs changes before the actual change detection runs.
1479
1559
  /** @type {?} */
1480
1560
  var indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);
1481
1561
  // If there is a change in selected index, emit a change event. Should not trigger if
@@ -1578,10 +1658,12 @@ var MatTabGroup = /** @class */ (function (_super) {
1578
1658
  this.focusChange.emit(this._createChangeEvent(index));
1579
1659
  };
1580
1660
  /**
1661
+ * @private
1581
1662
  * @param {?} index
1582
1663
  * @return {?}
1583
1664
  */
1584
1665
  MatTabGroup.prototype._createChangeEvent = /**
1666
+ * @private
1585
1667
  * @param {?} index
1586
1668
  * @return {?}
1587
1669
  */
@@ -1594,11 +1676,18 @@ var MatTabGroup = /** @class */ (function (_super) {
1594
1676
  }
1595
1677
  return event;
1596
1678
  };
1679
+ /**
1680
+ * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is
1681
+ * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1682
+ * binding to be updated, we need to subscribe to changes in it and trigger change detection
1683
+ * manually.
1684
+ */
1597
1685
  /**
1598
1686
  * Subscribes to changes in the tab labels. This is needed, because the \@Input for the label is
1599
1687
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1600
1688
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1601
1689
  * manually.
1690
+ * @private
1602
1691
  * @return {?}
1603
1692
  */
1604
1693
  MatTabGroup.prototype._subscribeToTabLabels = /**
@@ -1606,6 +1695,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1606
1695
  * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
1607
1696
  * binding to be updated, we need to subscribe to changes in it and trigger change detection
1608
1697
  * manually.
1698
+ * @private
1609
1699
  * @return {?}
1610
1700
  */
1611
1701
  function () {
@@ -1615,13 +1705,16 @@ var MatTabGroup = /** @class */ (function (_super) {
1615
1705
  }
1616
1706
  this._tabLabelSubscription = merge.apply(void 0, this._tabs.map(function (tab) { return tab._stateChanges; })).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
1617
1707
  };
1708
+ /** Clamps the given index to the bounds of 0 and the tabs length. */
1618
1709
  /**
1619
1710
  * Clamps the given index to the bounds of 0 and the tabs length.
1711
+ * @private
1620
1712
  * @param {?} index
1621
1713
  * @return {?}
1622
1714
  */
1623
1715
  MatTabGroup.prototype._clampTabIndex = /**
1624
1716
  * Clamps the given index to the bounds of 0 and the tabs length.
1717
+ * @private
1625
1718
  * @param {?} index
1626
1719
  * @return {?}
1627
1720
  */
@@ -1746,8 +1839,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1746
1839
  MatTabGroup.decorators = [
1747
1840
  { type: Component, args: [{selector: 'mat-tab-group',
1748
1841
  exportAs: 'matTabGroup',
1749
- 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>",
1750
- 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}"],
1842
+ 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>",
1843
+ 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}"],
1751
1844
  encapsulation: ViewEncapsulation.None,
1752
1845
  changeDetection: ChangeDetectionStrategy.OnPush,
1753
1846
  inputs: ['color', 'disableRipple'],
@@ -1761,7 +1854,8 @@ var MatTabGroup = /** @class */ (function (_super) {
1761
1854
  /** @nocollapse */
1762
1855
  MatTabGroup.ctorParameters = function () { return [
1763
1856
  { type: ElementRef },
1764
- { type: ChangeDetectorRef }
1857
+ { type: ChangeDetectorRef },
1858
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] }
1765
1859
  ]; };
1766
1860
  MatTabGroup.propDecorators = {
1767
1861
  _tabs: [{ type: ContentChildren, args: [MatTab,] }],
@@ -1770,6 +1864,7 @@ var MatTabGroup = /** @class */ (function (_super) {
1770
1864
  dynamicHeight: [{ type: Input }],
1771
1865
  selectedIndex: [{ type: Input }],
1772
1866
  headerPosition: [{ type: Input }],
1867
+ animationDuration: [{ type: Input }],
1773
1868
  backgroundColor: [{ type: Input }],
1774
1869
  selectedIndexChange: [{ type: Output }],
1775
1870
  focusChange: [{ type: Output }],
@@ -1781,12 +1876,15 @@ var MatTabGroup = /** @class */ (function (_super) {
1781
1876
 
1782
1877
  /**
1783
1878
  * @fileoverview added by tsickle
1784
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1879
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1785
1880
  */
1881
+ // Boilerplate for applying mixins to MatTabNav.
1786
1882
  /**
1787
1883
  * \@docs-private
1788
1884
  */
1789
- var /**
1885
+ var
1886
+ // Boilerplate for applying mixins to MatTabNav.
1887
+ /**
1790
1888
  * \@docs-private
1791
1889
  */
1792
1890
  MatTabNavBase = /** @class */ (function () {
@@ -1927,7 +2025,7 @@ var MatTabNav = /** @class */ (function (_super) {
1927
2025
  exportAs: 'matTabNavBar, matTabNav',
1928
2026
  inputs: ['color', 'disableRipple'],
1929
2027
  template: "<div class=\"mat-tab-links\" (cdkObserveContent)=\"_alignInkBar()\"><ng-content></ng-content><mat-ink-bar></mat-ink-bar></div>",
1930
- 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}}"],
2028
+ 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}}"],
1931
2029
  host: { 'class': 'mat-tab-nav-bar' },
1932
2030
  encapsulation: ViewEncapsulation.None,
1933
2031
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1948,7 +2046,10 @@ var MatTabNav = /** @class */ (function (_super) {
1948
2046
  };
1949
2047
  return MatTabNav;
1950
2048
  }(_MatTabNavMixinBase));
1951
- var MatTabLinkBase = /** @class */ (function () {
2049
+ // Boilerplate for applying mixins to MatTabLink.
2050
+ var
2051
+ // Boilerplate for applying mixins to MatTabLink.
2052
+ MatTabLinkBase = /** @class */ (function () {
1952
2053
  function MatTabLinkBase() {
1953
2054
  }
1954
2055
  return MatTabLinkBase;
@@ -2076,7 +2177,7 @@ var MatTabLink = /** @class */ (function (_super) {
2076
2177
 
2077
2178
  /**
2078
2179
  * @fileoverview added by tsickle
2079
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2180
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2080
2181
  */
2081
2182
  var MatTabsModule = /** @class */ (function () {
2082
2183
  function MatTabsModule() {
@@ -2121,18 +2222,18 @@ var MatTabsModule = /** @class */ (function () {
2121
2222
 
2122
2223
  /**
2123
2224
  * @fileoverview added by tsickle
2124
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2225
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2125
2226
  */
2126
2227
 
2127
2228
  /**
2128
2229
  * @fileoverview added by tsickle
2129
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2230
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2130
2231
  */
2131
2232
 
2132
2233
  /**
2133
2234
  * @fileoverview added by tsickle
2134
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2235
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2135
2236
  */
2136
2237
 
2137
- export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MatTabGroupBase, _MatTabGroupMixinBase, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵa23, MatTabBase as ɵf23, _MatTabMixinBase as ɵg23, MatTabHeaderBase as ɵb23, _MatTabHeaderMixinBase as ɵc23, MatTabLabelWrapperBase as ɵd23, _MatTabLabelWrapperMixinBase as ɵe23, MatTabLinkBase as ɵj23, MatTabNavBase as ɵh23, _MatTabLinkMixinBase as ɵk23, _MatTabNavMixinBase as ɵi23 };
2238
+ export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MAT_TABS_CONFIG, MatTabGroupBase, _MatTabGroupMixinBase, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵa17, MatTabBase as ɵf17, _MatTabMixinBase as ɵg17, MatTabHeaderBase as ɵb17, _MatTabHeaderMixinBase as ɵc17, MatTabLabelWrapperBase as ɵd17, _MatTabLabelWrapperMixinBase as ɵe17, MatTabLinkBase as ɵj17, MatTabNavBase as ɵh17, _MatTabLinkMixinBase as ɵk17, _MatTabNavMixinBase as ɵi17 };
2138
2239
  //# sourceMappingURL=tabs.es5.js.map