@angular/material 14.0.0-next.1 → 14.0.0-next.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-origin.d.ts +2 -2
  3. package/autocomplete/autocomplete-trigger.d.ts +16 -5
  4. package/autocomplete/autocomplete.d.ts +8 -2
  5. package/badge/_badge-theme.scss +11 -2
  6. package/badge/badge.d.ts +1 -1
  7. package/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  8. package/button/button.d.ts +2 -2
  9. package/button-toggle/_button-toggle-theme.scss +14 -2
  10. package/button-toggle/button-toggle.d.ts +2 -2
  11. package/card/card.d.ts +14 -14
  12. package/checkbox/_checkbox-theme.scss +1 -1
  13. package/checkbox/checkbox-required-validator.d.ts +1 -1
  14. package/checkbox/checkbox.d.ts +2 -2
  15. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  16. package/chips/chip-input.d.ts +3 -6
  17. package/chips/chip-list.d.ts +21 -6
  18. package/chips/chip.d.ts +7 -7
  19. package/core/_core.scss +5 -7
  20. package/core/common-behaviors/error-state.d.ts +1 -2
  21. package/core/datetime/index.d.ts +1 -2
  22. package/core/line/line.d.ts +1 -1
  23. package/core/option/optgroup.d.ts +2 -2
  24. package/core/option/option.d.ts +2 -2
  25. package/core/ripple/_ripple.scss +2 -2
  26. package/core/ripple/index.d.ts +1 -2
  27. package/core/ripple/ripple-ref.d.ts +2 -1
  28. package/core/ripple/ripple-renderer.d.ts +16 -3
  29. package/core/ripple/ripple.d.ts +1 -1
  30. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  31. package/core/style/_menu-common.scss +3 -2
  32. package/core/style/_vendor-prefixes.scss +1 -17
  33. package/core/theming/_theming.scss +10 -1
  34. package/core/typography/_typography.scss +51 -14
  35. package/datepicker/calendar-body.d.ts +34 -4
  36. package/datepicker/calendar.d.ts +2 -2
  37. package/datepicker/date-range-input-parts.d.ts +7 -4
  38. package/datepicker/date-range-input.d.ts +1 -1
  39. package/datepicker/date-range-picker.d.ts +1 -1
  40. package/datepicker/datepicker-actions.d.ts +3 -3
  41. package/datepicker/datepicker-base.d.ts +4 -2
  42. package/datepicker/datepicker-input-base.d.ts +1 -1
  43. package/datepicker/datepicker-input.d.ts +1 -1
  44. package/datepicker/datepicker-toggle.d.ts +2 -2
  45. package/datepicker/datepicker.d.ts +1 -1
  46. package/datepicker/month-view.d.ts +19 -1
  47. package/datepicker/multi-year-view.d.ts +19 -1
  48. package/datepicker/year-view.d.ts +19 -1
  49. package/dialog/dialog-animations.d.ts +10 -0
  50. package/dialog/dialog-config.d.ts +12 -1
  51. package/dialog/dialog-container.d.ts +14 -6
  52. package/dialog/dialog-content-directives.d.ts +8 -4
  53. package/dialog/dialog.d.ts +13 -7
  54. package/dialog/public-api.d.ts +1 -1
  55. package/dialog/testing/dialog-opener.d.ts +33 -0
  56. package/dialog/testing/public-api.d.ts +1 -0
  57. package/divider/divider.d.ts +1 -1
  58. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  59. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  60. package/esm2020/autocomplete/autocomplete-trigger.mjs +102 -50
  61. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  62. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  63. package/esm2020/badge/badge-module.mjs +5 -5
  64. package/esm2020/badge/badge.mjs +4 -4
  65. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  66. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  67. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  68. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  69. package/esm2020/button/button-module.mjs +5 -5
  70. package/esm2020/button/button.mjs +10 -10
  71. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  72. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  73. package/esm2020/card/card-module.mjs +5 -5
  74. package/esm2020/card/card.mjs +44 -44
  75. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  76. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  77. package/esm2020/checkbox/checkbox.mjs +12 -8
  78. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  79. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  80. package/esm2020/chips/chip-input.mjs +4 -4
  81. package/esm2020/chips/chip-list.mjs +34 -9
  82. package/esm2020/chips/chip.mjs +20 -17
  83. package/esm2020/chips/chips-module.mjs +5 -5
  84. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  85. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  86. package/esm2020/core/datetime/index.mjs +9 -11
  87. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  88. package/esm2020/core/error/error-options.mjs +7 -7
  89. package/esm2020/core/line/line.mjs +8 -8
  90. package/esm2020/core/option/index.mjs +5 -5
  91. package/esm2020/core/option/optgroup.mjs +8 -8
  92. package/esm2020/core/option/option.mjs +10 -10
  93. package/esm2020/core/ripple/index.mjs +6 -7
  94. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  95. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  96. package/esm2020/core/ripple/ripple.mjs +4 -4
  97. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  98. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  99. package/esm2020/core/version.mjs +1 -1
  100. package/esm2020/datepicker/calendar-body.mjs +57 -12
  101. package/esm2020/datepicker/calendar.mjs +27 -16
  102. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  103. package/esm2020/datepicker/date-range-input.mjs +6 -6
  104. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  105. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  106. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  107. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  108. package/esm2020/datepicker/datepicker-base.mjs +12 -20
  109. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  110. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  111. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  112. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  113. package/esm2020/datepicker/datepicker-toggle.mjs +10 -10
  114. package/esm2020/datepicker/datepicker.mjs +4 -4
  115. package/esm2020/datepicker/month-view.mjs +38 -11
  116. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  117. package/esm2020/datepicker/year-view.mjs +41 -10
  118. package/esm2020/dialog/dialog-animations.mjs +17 -4
  119. package/esm2020/dialog/dialog-config.mjs +8 -1
  120. package/esm2020/dialog/dialog-container.mjs +44 -26
  121. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  122. package/esm2020/dialog/dialog-module.mjs +5 -5
  123. package/esm2020/dialog/dialog.mjs +24 -40
  124. package/esm2020/dialog/public-api.mjs +2 -2
  125. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  126. package/esm2020/dialog/testing/public-api.mjs +2 -1
  127. package/esm2020/divider/divider-module.mjs +5 -5
  128. package/esm2020/divider/divider.mjs +5 -5
  129. package/esm2020/expansion/accordion.mjs +4 -4
  130. package/esm2020/expansion/expansion-module.mjs +5 -5
  131. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  132. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  133. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  134. package/esm2020/expansion/expansion-panel.mjs +13 -10
  135. package/esm2020/expansion/public-api.mjs +2 -1
  136. package/esm2020/form-field/error.mjs +4 -4
  137. package/esm2020/form-field/form-field-control.mjs +4 -4
  138. package/esm2020/form-field/form-field-module.mjs +5 -5
  139. package/esm2020/form-field/form-field.mjs +22 -14
  140. package/esm2020/form-field/hint.mjs +4 -4
  141. package/esm2020/form-field/label.mjs +4 -4
  142. package/esm2020/form-field/placeholder.mjs +4 -4
  143. package/esm2020/form-field/prefix.mjs +4 -4
  144. package/esm2020/form-field/suffix.mjs +4 -4
  145. package/esm2020/form-field/testing/public-api.mjs +4 -4
  146. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  147. package/esm2020/grid-list/grid-list.mjs +6 -6
  148. package/esm2020/grid-list/grid-tile.mjs +17 -17
  149. package/esm2020/icon/icon-module.mjs +5 -5
  150. package/esm2020/icon/icon-registry.mjs +12 -14
  151. package/esm2020/icon/icon.mjs +31 -28
  152. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  153. package/esm2020/input/input-module.mjs +5 -5
  154. package/esm2020/input/input.mjs +41 -24
  155. package/esm2020/list/list-module.mjs +5 -5
  156. package/esm2020/list/list.mjs +21 -23
  157. package/esm2020/list/selection-list.mjs +15 -38
  158. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  159. package/esm2020/menu/menu-content.mjs +7 -7
  160. package/esm2020/menu/menu-errors.mjs +1 -12
  161. package/esm2020/menu/menu-item.mjs +10 -6
  162. package/esm2020/menu/menu-module.mjs +5 -5
  163. package/esm2020/menu/menu-trigger.mjs +73 -66
  164. package/esm2020/menu/menu.mjs +35 -14
  165. package/esm2020/paginator/paginator-intl.mjs +4 -4
  166. package/esm2020/paginator/paginator-module.mjs +5 -5
  167. package/esm2020/paginator/paginator.mjs +17 -13
  168. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  169. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  170. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  171. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  172. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  173. package/esm2020/progress-spinner/public-api.mjs +10 -2
  174. package/esm2020/radio/radio-module.mjs +5 -5
  175. package/esm2020/radio/radio.mjs +42 -14
  176. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  177. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  178. package/esm2020/select/select-module.mjs +5 -5
  179. package/esm2020/select/select.mjs +68 -30
  180. package/esm2020/sidenav/drawer.mjs +19 -14
  181. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  182. package/esm2020/sidenav/sidenav.mjs +12 -12
  183. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  184. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  185. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  186. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  187. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  188. package/esm2020/slider/slider-module.mjs +5 -5
  189. package/esm2020/slider/slider.mjs +5 -5
  190. package/esm2020/snack-bar/simple-snack-bar.mjs +7 -7
  191. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  192. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  193. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  194. package/esm2020/sort/sort-header-intl.mjs +4 -4
  195. package/esm2020/sort/sort-header.mjs +16 -8
  196. package/esm2020/sort/sort-module.mjs +5 -5
  197. package/esm2020/sort/sort.mjs +4 -4
  198. package/esm2020/stepper/public-api.mjs +2 -2
  199. package/esm2020/stepper/step-content.mjs +4 -4
  200. package/esm2020/stepper/step-header.mjs +8 -8
  201. package/esm2020/stepper/step-label.mjs +4 -4
  202. package/esm2020/stepper/stepper-animations.mjs +9 -3
  203. package/esm2020/stepper/stepper-button.mjs +7 -7
  204. package/esm2020/stepper/stepper-icon.mjs +4 -4
  205. package/esm2020/stepper/stepper-intl.mjs +4 -4
  206. package/esm2020/stepper/stepper-module.mjs +6 -10
  207. package/esm2020/stepper/stepper.mjs +42 -66
  208. package/esm2020/table/cell.mjs +22 -22
  209. package/esm2020/table/row.mjs +22 -22
  210. package/esm2020/table/table-module.mjs +5 -5
  211. package/esm2020/table/table.mjs +9 -9
  212. package/esm2020/table/text-column.mjs +5 -5
  213. package/esm2020/tabs/ink-bar.mjs +11 -22
  214. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  215. package/esm2020/tabs/tab-body.mjs +11 -11
  216. package/esm2020/tabs/tab-content.mjs +4 -4
  217. package/esm2020/tabs/tab-group.mjs +59 -18
  218. package/esm2020/tabs/tab-header.mjs +8 -8
  219. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  220. package/esm2020/tabs/tab-label.mjs +4 -4
  221. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  222. package/esm2020/tabs/tab.mjs +4 -4
  223. package/esm2020/tabs/tabs-module.mjs +5 -5
  224. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  225. package/esm2020/toolbar/toolbar.mjs +8 -8
  226. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  227. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  228. package/esm2020/tooltip/tooltip.mjs +126 -51
  229. package/esm2020/tree/node.mjs +10 -10
  230. package/esm2020/tree/outlet.mjs +4 -4
  231. package/esm2020/tree/padding.mjs +4 -4
  232. package/esm2020/tree/toggle.mjs +4 -4
  233. package/esm2020/tree/tree-module.mjs +5 -5
  234. package/esm2020/tree/tree.mjs +5 -5
  235. package/expansion/accordion.d.ts +1 -1
  236. package/expansion/expansion-panel-base.d.ts +22 -0
  237. package/expansion/expansion-panel-content.d.ts +5 -3
  238. package/expansion/expansion-panel-header.d.ts +3 -3
  239. package/expansion/expansion-panel.d.ts +2 -2
  240. package/expansion/public-api.d.ts +1 -0
  241. package/fesm2015/autocomplete/testing.mjs +6 -0
  242. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  243. package/fesm2015/autocomplete.mjs +131 -68
  244. package/fesm2015/autocomplete.mjs.map +1 -1
  245. package/fesm2015/badge/testing.mjs.map +1 -1
  246. package/fesm2015/badge.mjs +7 -7
  247. package/fesm2015/badge.mjs.map +1 -1
  248. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  249. package/fesm2015/bottom-sheet.mjs +27 -16
  250. package/fesm2015/bottom-sheet.mjs.map +1 -1
  251. package/fesm2015/button/testing.mjs.map +1 -1
  252. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  253. package/fesm2015/button-toggle.mjs +11 -11
  254. package/fesm2015/button-toggle.mjs.map +1 -1
  255. package/fesm2015/button.mjs +13 -13
  256. package/fesm2015/button.mjs.map +1 -1
  257. package/fesm2015/card/testing.mjs.map +1 -1
  258. package/fesm2015/card.mjs +47 -47
  259. package/fesm2015/card.mjs.map +1 -1
  260. package/fesm2015/checkbox/testing.mjs +2 -1
  261. package/fesm2015/checkbox/testing.mjs.map +1 -1
  262. package/fesm2015/checkbox.mjs +22 -18
  263. package/fesm2015/checkbox.mjs.map +1 -1
  264. package/fesm2015/chips/testing.mjs.map +1 -1
  265. package/fesm2015/chips.mjs +59 -31
  266. package/fesm2015/chips.mjs.map +1 -1
  267. package/fesm2015/core/testing.mjs.map +1 -1
  268. package/fesm2015/core.mjs +181 -126
  269. package/fesm2015/core.mjs.map +1 -1
  270. package/fesm2015/datepicker/testing.mjs.map +1 -1
  271. package/fesm2015/datepicker.mjs +273 -130
  272. package/fesm2015/datepicker.mjs.map +1 -1
  273. package/fesm2015/dialog/testing.mjs +65 -2
  274. package/fesm2015/dialog/testing.mjs.map +1 -1
  275. package/fesm2015/dialog.mjs +144 -106
  276. package/fesm2015/dialog.mjs.map +1 -1
  277. package/fesm2015/divider/testing.mjs.map +1 -1
  278. package/fesm2015/divider.mjs +8 -8
  279. package/fesm2015/divider.mjs.map +1 -1
  280. package/fesm2015/expansion/testing.mjs.map +1 -1
  281. package/fesm2015/expansion.mjs +56 -33
  282. package/fesm2015/expansion.mjs.map +1 -1
  283. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  284. package/fesm2015/form-field/testing.mjs +1 -1
  285. package/fesm2015/form-field/testing.mjs.map +1 -1
  286. package/fesm2015/form-field.mjs +47 -38
  287. package/fesm2015/form-field.mjs.map +1 -1
  288. package/fesm2015/grid-list/testing.mjs.map +1 -1
  289. package/fesm2015/grid-list.mjs +25 -25
  290. package/fesm2015/grid-list.mjs.map +1 -1
  291. package/fesm2015/icon/testing.mjs +8 -8
  292. package/fesm2015/icon/testing.mjs.map +1 -1
  293. package/fesm2015/icon.mjs +45 -44
  294. package/fesm2015/icon.mjs.map +1 -1
  295. package/fesm2015/input/testing.mjs.map +1 -1
  296. package/fesm2015/input.mjs +45 -28
  297. package/fesm2015/input.mjs.map +1 -1
  298. package/fesm2015/list/testing.mjs +0 -10
  299. package/fesm2015/list/testing.mjs.map +1 -1
  300. package/fesm2015/list.mjs +41 -67
  301. package/fesm2015/list.mjs.map +1 -1
  302. package/fesm2015/material.mjs.map +1 -1
  303. package/fesm2015/menu/testing.mjs.map +1 -1
  304. package/fesm2015/menu.mjs +126 -101
  305. package/fesm2015/menu.mjs.map +1 -1
  306. package/fesm2015/paginator/testing.mjs +14 -0
  307. package/fesm2015/paginator/testing.mjs.map +1 -1
  308. package/fesm2015/paginator.mjs +23 -19
  309. package/fesm2015/paginator.mjs.map +1 -1
  310. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  311. package/fesm2015/progress-bar.mjs +11 -8
  312. package/fesm2015/progress-bar.mjs.map +1 -1
  313. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  314. package/fesm2015/progress-spinner.mjs +31 -63
  315. package/fesm2015/progress-spinner.mjs.map +1 -1
  316. package/fesm2015/radio/testing.mjs +2 -1
  317. package/fesm2015/radio/testing.mjs.map +1 -1
  318. package/fesm2015/radio.mjs +46 -17
  319. package/fesm2015/radio.mjs.map +1 -1
  320. package/fesm2015/select/testing.mjs.map +1 -1
  321. package/fesm2015/select.mjs +72 -34
  322. package/fesm2015/select.mjs.map +1 -1
  323. package/fesm2015/sidenav/testing.mjs.map +1 -1
  324. package/fesm2015/sidenav.mjs +36 -32
  325. package/fesm2015/sidenav.mjs.map +1 -1
  326. package/fesm2015/slide-toggle/testing.mjs +3 -1
  327. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  328. package/fesm2015/slide-toggle.mjs +16 -15
  329. package/fesm2015/slide-toggle.mjs.map +1 -1
  330. package/fesm2015/slider/testing.mjs.map +1 -1
  331. package/fesm2015/slider.mjs +8 -8
  332. package/fesm2015/slider.mjs.map +1 -1
  333. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  334. package/fesm2015/snack-bar.mjs +39 -33
  335. package/fesm2015/snack-bar.mjs.map +1 -1
  336. package/fesm2015/sort/testing.mjs.map +1 -1
  337. package/fesm2015/sort.mjs +128 -120
  338. package/fesm2015/sort.mjs.map +1 -1
  339. package/fesm2015/stepper/testing.mjs.map +1 -1
  340. package/fesm2015/stepper.mjs +75 -96
  341. package/fesm2015/stepper.mjs.map +1 -1
  342. package/fesm2015/table/testing.mjs.map +1 -1
  343. package/fesm2015/table.mjs +58 -58
  344. package/fesm2015/table.mjs.map +1 -1
  345. package/fesm2015/tabs/testing.mjs.map +1 -1
  346. package/fesm2015/tabs.mjs +139 -95
  347. package/fesm2015/tabs.mjs.map +1 -1
  348. package/fesm2015/toolbar/testing.mjs.map +1 -1
  349. package/fesm2015/toolbar.mjs +11 -11
  350. package/fesm2015/toolbar.mjs.map +1 -1
  351. package/fesm2015/tooltip/testing.mjs +11 -8
  352. package/fesm2015/tooltip/testing.mjs.map +1 -1
  353. package/fesm2015/tooltip.mjs +154 -79
  354. package/fesm2015/tooltip.mjs.map +1 -1
  355. package/fesm2015/tree/testing.mjs.map +1 -1
  356. package/fesm2015/tree.mjs +26 -26
  357. package/fesm2015/tree.mjs.map +1 -1
  358. package/fesm2020/autocomplete/testing.mjs +6 -0
  359. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  360. package/fesm2020/autocomplete.mjs +130 -68
  361. package/fesm2020/autocomplete.mjs.map +1 -1
  362. package/fesm2020/badge/testing.mjs.map +1 -1
  363. package/fesm2020/badge.mjs +7 -7
  364. package/fesm2020/badge.mjs.map +1 -1
  365. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  366. package/fesm2020/bottom-sheet.mjs +27 -16
  367. package/fesm2020/bottom-sheet.mjs.map +1 -1
  368. package/fesm2020/button/testing.mjs.map +1 -1
  369. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  370. package/fesm2020/button-toggle.mjs +11 -11
  371. package/fesm2020/button-toggle.mjs.map +1 -1
  372. package/fesm2020/button.mjs +13 -13
  373. package/fesm2020/button.mjs.map +1 -1
  374. package/fesm2020/card/testing.mjs.map +1 -1
  375. package/fesm2020/card.mjs +47 -47
  376. package/fesm2020/card.mjs.map +1 -1
  377. package/fesm2020/checkbox/testing.mjs +2 -1
  378. package/fesm2020/checkbox/testing.mjs.map +1 -1
  379. package/fesm2020/checkbox.mjs +22 -18
  380. package/fesm2020/checkbox.mjs.map +1 -1
  381. package/fesm2020/chips/testing.mjs.map +1 -1
  382. package/fesm2020/chips.mjs +59 -31
  383. package/fesm2020/chips.mjs.map +1 -1
  384. package/fesm2020/core/testing.mjs.map +1 -1
  385. package/fesm2020/core.mjs +180 -126
  386. package/fesm2020/core.mjs.map +1 -1
  387. package/fesm2020/datepicker/testing.mjs.map +1 -1
  388. package/fesm2020/datepicker.mjs +273 -130
  389. package/fesm2020/datepicker.mjs.map +1 -1
  390. package/fesm2020/dialog/testing.mjs +65 -1
  391. package/fesm2020/dialog/testing.mjs.map +1 -1
  392. package/fesm2020/dialog.mjs +143 -106
  393. package/fesm2020/dialog.mjs.map +1 -1
  394. package/fesm2020/divider/testing.mjs.map +1 -1
  395. package/fesm2020/divider.mjs +8 -8
  396. package/fesm2020/divider.mjs.map +1 -1
  397. package/fesm2020/expansion/testing.mjs.map +1 -1
  398. package/fesm2020/expansion.mjs +54 -33
  399. package/fesm2020/expansion.mjs.map +1 -1
  400. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  401. package/fesm2020/form-field/testing.mjs +1 -1
  402. package/fesm2020/form-field/testing.mjs.map +1 -1
  403. package/fesm2020/form-field.mjs +46 -38
  404. package/fesm2020/form-field.mjs.map +1 -1
  405. package/fesm2020/grid-list/testing.mjs.map +1 -1
  406. package/fesm2020/grid-list.mjs +25 -25
  407. package/fesm2020/grid-list.mjs.map +1 -1
  408. package/fesm2020/icon/testing.mjs +8 -8
  409. package/fesm2020/icon/testing.mjs.map +1 -1
  410. package/fesm2020/icon.mjs +45 -44
  411. package/fesm2020/icon.mjs.map +1 -1
  412. package/fesm2020/input/testing.mjs.map +1 -1
  413. package/fesm2020/input.mjs +44 -27
  414. package/fesm2020/input.mjs.map +1 -1
  415. package/fesm2020/list/testing.mjs +0 -8
  416. package/fesm2020/list/testing.mjs.map +1 -1
  417. package/fesm2020/list.mjs +38 -63
  418. package/fesm2020/list.mjs.map +1 -1
  419. package/fesm2020/material.mjs.map +1 -1
  420. package/fesm2020/menu/testing.mjs.map +1 -1
  421. package/fesm2020/menu.mjs +122 -101
  422. package/fesm2020/menu.mjs.map +1 -1
  423. package/fesm2020/paginator/testing.mjs +10 -0
  424. package/fesm2020/paginator/testing.mjs.map +1 -1
  425. package/fesm2020/paginator.mjs +23 -19
  426. package/fesm2020/paginator.mjs.map +1 -1
  427. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  428. package/fesm2020/progress-bar.mjs +11 -8
  429. package/fesm2020/progress-bar.mjs.map +1 -1
  430. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  431. package/fesm2020/progress-spinner.mjs +31 -61
  432. package/fesm2020/progress-spinner.mjs.map +1 -1
  433. package/fesm2020/radio/testing.mjs +2 -1
  434. package/fesm2020/radio/testing.mjs.map +1 -1
  435. package/fesm2020/radio.mjs +45 -17
  436. package/fesm2020/radio.mjs.map +1 -1
  437. package/fesm2020/select/testing.mjs.map +1 -1
  438. package/fesm2020/select.mjs +72 -34
  439. package/fesm2020/select.mjs.map +1 -1
  440. package/fesm2020/sidenav/testing.mjs.map +1 -1
  441. package/fesm2020/sidenav.mjs +36 -32
  442. package/fesm2020/sidenav.mjs.map +1 -1
  443. package/fesm2020/slide-toggle/testing.mjs +3 -1
  444. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  445. package/fesm2020/slide-toggle.mjs +16 -15
  446. package/fesm2020/slide-toggle.mjs.map +1 -1
  447. package/fesm2020/slider/testing.mjs.map +1 -1
  448. package/fesm2020/slider.mjs +8 -8
  449. package/fesm2020/slider.mjs.map +1 -1
  450. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  451. package/fesm2020/snack-bar.mjs +39 -33
  452. package/fesm2020/snack-bar.mjs.map +1 -1
  453. package/fesm2020/sort/testing.mjs.map +1 -1
  454. package/fesm2020/sort.mjs +24 -16
  455. package/fesm2020/sort.mjs.map +1 -1
  456. package/fesm2020/stepper/testing.mjs.map +1 -1
  457. package/fesm2020/stepper.mjs +75 -96
  458. package/fesm2020/stepper.mjs.map +1 -1
  459. package/fesm2020/table/testing.mjs.map +1 -1
  460. package/fesm2020/table.mjs +58 -58
  461. package/fesm2020/table.mjs.map +1 -1
  462. package/fesm2020/tabs/testing.mjs.map +1 -1
  463. package/fesm2020/tabs.mjs +138 -95
  464. package/fesm2020/tabs.mjs.map +1 -1
  465. package/fesm2020/toolbar/testing.mjs.map +1 -1
  466. package/fesm2020/toolbar.mjs +11 -11
  467. package/fesm2020/toolbar.mjs.map +1 -1
  468. package/fesm2020/tooltip/testing.mjs +11 -6
  469. package/fesm2020/tooltip/testing.mjs.map +1 -1
  470. package/fesm2020/tooltip.mjs +147 -71
  471. package/fesm2020/tooltip.mjs.map +1 -1
  472. package/fesm2020/tree/testing.mjs.map +1 -1
  473. package/fesm2020/tree.mjs +26 -26
  474. package/fesm2020/tree.mjs.map +1 -1
  475. package/form-field/error.d.ts +1 -1
  476. package/form-field/form-field-control.d.ts +4 -4
  477. package/form-field/form-field.d.ts +16 -9
  478. package/form-field/hint.d.ts +1 -1
  479. package/form-field/label.d.ts +1 -1
  480. package/form-field/placeholder.d.ts +1 -1
  481. package/form-field/prefix.d.ts +1 -1
  482. package/form-field/suffix.d.ts +1 -1
  483. package/form-field/testing/public-api.d.ts +1 -1
  484. package/grid-list/grid-list.d.ts +1 -1
  485. package/grid-list/grid-tile.d.ts +5 -5
  486. package/icon/icon-registry.d.ts +7 -9
  487. package/icon/icon.d.ts +13 -4
  488. package/icon/testing/fake-icon-registry.d.ts +1 -1
  489. package/input/input.d.ts +13 -2
  490. package/list/list.d.ts +6 -6
  491. package/list/selection-list.d.ts +5 -22
  492. package/list/testing/list-item-harness-base.d.ts +1 -7
  493. package/menu/menu-content.d.ts +2 -2
  494. package/menu/menu-errors.d.ts +0 -5
  495. package/menu/menu-item.d.ts +4 -3
  496. package/menu/menu-trigger.d.ts +23 -13
  497. package/menu/menu.d.ts +9 -4
  498. package/package.json +7 -7
  499. package/paginator/paginator.d.ts +13 -2
  500. package/paginator/testing/paginator-harness.d.ts +3 -0
  501. package/prebuilt-themes/deeppurple-amber.css +1 -1
  502. package/prebuilt-themes/indigo-pink.css +1 -1
  503. package/prebuilt-themes/pink-bluegrey.css +1 -1
  504. package/prebuilt-themes/purple-green.css +1 -1
  505. package/progress-bar/progress-bar.d.ts +1 -1
  506. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  507. package/progress-spinner/progress-spinner.d.ts +4 -19
  508. package/progress-spinner/public-api.d.ts +8 -1
  509. package/radio/radio.d.ts +11 -6
  510. package/radio/testing/radio-harness-filters.d.ts +2 -0
  511. package/schematics/collection.json +4 -2
  512. package/schematics/migration.json +5 -0
  513. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  514. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  515. package/schematics/ng-add/index.js +2 -2
  516. package/schematics/ng-add/index.mjs +2 -2
  517. package/schematics/ng-add/schema.d.ts +2 -2
  518. package/schematics/ng-add/schema.js +1 -1
  519. package/schematics/ng-add/schema.json +29 -9
  520. package/schematics/ng-add/schema.mjs +1 -1
  521. package/schematics/ng-add/setup-project.js +16 -23
  522. package/schematics/ng-add/setup-project.mjs +16 -23
  523. package/schematics/ng-add/theming/theming.js +28 -39
  524. package/schematics/ng-add/theming/theming.mjs +28 -39
  525. package/schematics/ng-generate/address-form/index.js +5 -14
  526. package/schematics/ng-generate/address-form/index.mjs +5 -14
  527. package/schematics/ng-generate/address-form/schema.json +1 -1
  528. package/schematics/ng-generate/dashboard/index.js +5 -14
  529. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  530. package/schematics/ng-generate/dashboard/schema.json +1 -1
  531. package/schematics/ng-generate/navigation/index.js +5 -14
  532. package/schematics/ng-generate/navigation/index.mjs +5 -14
  533. package/schematics/ng-generate/navigation/schema.json +1 -1
  534. package/schematics/ng-generate/table/index.js +5 -14
  535. package/schematics/ng-generate/table/index.mjs +5 -14
  536. package/schematics/ng-generate/table/schema.json +1 -1
  537. package/schematics/ng-generate/tree/index.js +5 -14
  538. package/schematics/ng-generate/tree/index.mjs +5 -14
  539. package/schematics/ng-generate/tree/schema.json +1 -1
  540. package/schematics/ng-update/data/constructor-checks.js +11 -1
  541. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  542. package/schematics/ng-update/data/css-selectors.js +7 -1
  543. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  544. package/schematics/ng-update/data/index.js +6 -2
  545. package/schematics/ng-update/data/index.mjs +6 -2
  546. package/schematics/ng-update/index.d.ts +2 -0
  547. package/schematics/ng-update/index.js +7 -2
  548. package/schematics/ng-update/index.mjs +7 -2
  549. package/schematics/ng-update/migrations/hammer-gestures-v9/gesture-config.template +1 -1
  550. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +8 -8
  551. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +8 -8
  552. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  553. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  554. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  555. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  556. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  557. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  558. package/schematics/tsconfig.json +1 -4
  559. package/select/select.d.ts +27 -6
  560. package/sidenav/drawer.d.ts +3 -3
  561. package/sidenav/sidenav-module.d.ts +2 -3
  562. package/sidenav/sidenav.d.ts +3 -3
  563. package/slide-toggle/slide-toggle-required-validator.d.ts +1 -1
  564. package/slide-toggle/slide-toggle.d.ts +1 -1
  565. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  566. package/slider/slider.d.ts +1 -1
  567. package/snack-bar/simple-snack-bar.d.ts +1 -1
  568. package/snack-bar/snack-bar-container.d.ts +1 -1
  569. package/snack-bar/snack-bar.d.ts +1 -1
  570. package/sort/sort-header.d.ts +6 -6
  571. package/sort/sort.d.ts +7 -3
  572. package/stepper/public-api.d.ts +1 -1
  573. package/stepper/step-content.d.ts +1 -1
  574. package/stepper/step-header.d.ts +1 -1
  575. package/stepper/step-label.d.ts +1 -1
  576. package/stepper/stepper-animations.d.ts +2 -0
  577. package/stepper/stepper-button.d.ts +2 -2
  578. package/stepper/stepper-icon.d.ts +1 -1
  579. package/stepper/stepper-module.d.ts +1 -1
  580. package/stepper/stepper.d.ts +16 -39
  581. package/table/cell.d.ts +7 -7
  582. package/table/row.d.ts +7 -7
  583. package/table/table.d.ts +2 -2
  584. package/table/text-column.d.ts +1 -1
  585. package/tabs/_tabs-common.scss +6 -5
  586. package/tabs/ink-bar.d.ts +1 -6
  587. package/tabs/paginated-tab-header.d.ts +5 -3
  588. package/tabs/tab-body.d.ts +3 -3
  589. package/tabs/tab-content.d.ts +1 -1
  590. package/tabs/tab-group.d.ts +11 -5
  591. package/tabs/tab-header.d.ts +2 -2
  592. package/tabs/tab-label-wrapper.d.ts +1 -1
  593. package/tabs/tab-label.d.ts +1 -1
  594. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -5
  595. package/tabs/tab.d.ts +1 -1
  596. package/toolbar/toolbar.d.ts +2 -2
  597. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  598. package/tooltip/tooltip.d.ts +40 -12
  599. package/tree/node.d.ts +3 -3
  600. package/tree/outlet.d.ts +1 -1
  601. package/tree/padding.d.ts +1 -1
  602. package/tree/toggle.d.ts +1 -1
  603. package/tree/tree.d.ts +1 -1
package/fesm2015/tabs.mjs CHANGED
@@ -2,20 +2,20 @@ import * as i7 from '@angular/cdk/a11y';
2
2
  import { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';
3
3
  import * as i5 from '@angular/cdk/observers';
4
4
  import { ObserversModule } from '@angular/cdk/observers';
5
- import * as i7$1 from '@angular/cdk/portal';
5
+ import * as i2 from '@angular/cdk/portal';
6
6
  import { CdkPortal, TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
7
- import * as i3$1 from '@angular/common';
7
+ import * as i1$2 from '@angular/common';
8
8
  import { DOCUMENT, CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
10
  import { InjectionToken, Directive, Inject, Optional, TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, ViewChild, Input, forwardRef, EventEmitter, Output, ContentChildren, QueryList, Attribute, NgModule } from '@angular/core';
11
11
  import * as i4 from '@angular/material/core';
12
12
  import { mixinDisabled, mixinColor, mixinDisableRipple, mixinTabIndex, MAT_RIPPLE_GLOBAL_OPTIONS, RippleRenderer, MatCommonModule, MatRippleModule } from '@angular/material/core';
13
13
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
14
+ import { take, startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
14
15
  import { Subject, Subscription, fromEvent, of, merge, timer } from 'rxjs';
15
16
  import { trigger, state, style, transition, animate } from '@angular/animations';
16
- import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
17
17
  import * as i1 from '@angular/cdk/bidi';
18
- import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
18
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
19
19
  import { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';
20
20
  import * as i3 from '@angular/cdk/platform';
21
21
  import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
@@ -62,14 +62,12 @@ class MatInkBar {
62
62
  */
63
63
  alignToElement(element) {
64
64
  this.show();
65
- if (typeof requestAnimationFrame !== 'undefined') {
66
- this._ngZone.runOutsideAngular(() => {
67
- requestAnimationFrame(() => this._setStyles(element));
68
- });
69
- }
70
- else {
71
- this._setStyles(element);
72
- }
65
+ this._ngZone.onStable.pipe(take(1)).subscribe(() => {
66
+ const positions = this._inkBarPositioner(element);
67
+ const inkBar = this._elementRef.nativeElement;
68
+ inkBar.style.left = positions.left;
69
+ inkBar.style.width = positions.width;
70
+ });
73
71
  }
74
72
  /** Shows the ink bar. */
75
73
  show() {
@@ -79,20 +77,10 @@ class MatInkBar {
79
77
  hide() {
80
78
  this._elementRef.nativeElement.style.visibility = 'hidden';
81
79
  }
82
- /**
83
- * Sets the proper styles to the ink bar element.
84
- * @param element
85
- */
86
- _setStyles(element) {
87
- const positions = this._inkBarPositioner(element);
88
- const inkBar = this._elementRef.nativeElement;
89
- inkBar.style.left = positions.left;
90
- inkBar.style.width = positions.width;
91
- }
92
80
  }
93
- MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatInkBar, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: _MAT_INK_BAR_POSITIONER }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
94
- MatInkBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatInkBar, selector: "mat-ink-bar", host: { properties: { "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mat-ink-bar" }, ngImport: i0 });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatInkBar, decorators: [{
81
+ MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatInkBar, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: _MAT_INK_BAR_POSITIONER }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
82
+ MatInkBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatInkBar, selector: "mat-ink-bar", host: { properties: { "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mat-ink-bar" }, ngImport: i0 });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatInkBar, decorators: [{
96
84
  type: Directive,
97
85
  args: [{
98
86
  selector: 'mat-ink-bar',
@@ -132,9 +120,9 @@ class MatTabContent {
132
120
  this.template = template;
133
121
  }
134
122
  }
135
- MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
136
- MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabContent, decorators: [{
123
+ MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
124
+ MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabContent, decorators: [{
138
126
  type: Directive,
139
127
  args: [{
140
128
  selector: '[matTabContent]',
@@ -167,9 +155,9 @@ class MatTabLabel extends CdkPortal {
167
155
  this._closestTab = _closestTab;
168
156
  }
169
157
  }
170
- MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
171
- MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabel, decorators: [{
158
+ MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
159
+ MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabel, decorators: [{
173
161
  type: Directive,
174
162
  args: [{
175
163
  selector: '[mat-tab-label], [matTabLabel]',
@@ -264,9 +252,9 @@ class MatTab extends _MatTabBase {
264
252
  }
265
253
  }
266
254
  }
267
- MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
268
- MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTab, selector: "mat-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MAT_TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MAT_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTab, decorators: [{
255
+ MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
256
+ MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTab, selector: "mat-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MAT_TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MAT_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTab, decorators: [{
270
258
  type: Component,
271
259
  args: [{ selector: 'mat-tab', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matTab', providers: [{ provide: MAT_TAB, useExisting: MatTab }], template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
272
260
  }], ctorParameters: function () {
@@ -387,9 +375,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
387
375
  this._leavingSub.unsubscribe();
388
376
  }
389
377
  }
390
- MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
391
- MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBodyPortal, decorators: [{
378
+ MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
379
+ MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBodyPortal, decorators: [{
393
381
  type: Directive,
394
382
  args: [{
395
383
  selector: '[matTabBodyHost]',
@@ -508,9 +496,9 @@ class _MatTabBodyBase {
508
496
  return 'right-origin-center';
509
497
  }
510
498
  }
511
- _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
512
- _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabBodyBase, inputs: { _content: ["content", "_content"], origin: "origin", animationDuration: "animationDuration", preserveContent: "preserveContent", position: "position" }, outputs: { _onCentering: "_onCentering", _beforeCentering: "_beforeCentering", _afterLeavingCenter: "_afterLeavingCenter", _onCentered: "_onCentered" }, ngImport: i0 });
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabBodyBase, decorators: [{
499
+ _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
500
+ _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabBodyBase, inputs: { _content: ["content", "_content"], origin: "origin", animationDuration: "animationDuration", preserveContent: "preserveContent", position: "position" }, outputs: { _onCentering: "_onCentering", _beforeCentering: "_beforeCentering", _afterLeavingCenter: "_afterLeavingCenter", _onCentered: "_onCentered" }, ngImport: i0 });
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabBodyBase, decorators: [{
514
502
  type: Directive
515
503
  }], ctorParameters: function () {
516
504
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
@@ -545,13 +533,13 @@ class MatTabBody extends _MatTabBodyBase {
545
533
  super(elementRef, dir, changeDetectorRef);
546
534
  }
547
535
  }
548
- MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
549
- MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabBody, selector: "mat-tab-body", host: { classAttribute: "mat-tab-body" }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}\n"], directives: [{ type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBody, decorators: [{
536
+ MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
537
+ MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabBody, selector: "mat-tab-body", host: { classAttribute: "mat-tab-body" }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}"], dependencies: [{ kind: "directive", type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBody, decorators: [{
551
539
  type: Component,
552
540
  args: [{ selector: 'mat-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matTabsAnimations.translateTab], host: {
553
541
  'class': 'mat-tab-body',
554
- }, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}\n"] }]
542
+ }, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}"] }]
555
543
  }], ctorParameters: function () {
556
544
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
557
545
  type: Optional
@@ -602,9 +590,9 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperBase {
602
590
  return this.elementRef.nativeElement.offsetWidth;
603
591
  }
604
592
  }
605
- MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
606
- MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
607
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
593
+ MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
594
+ MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
608
596
  type: Directive,
609
597
  args: [{
610
598
  selector: '[matTabLabelWrapper]',
@@ -669,11 +657,7 @@ class MatPaginatedTabHeader {
669
657
  this._disableScrollBefore = true;
670
658
  /** Stream that will stop the automated scrolling. */
671
659
  this._stopScrolling = new Subject();
672
- /**
673
- * Whether pagination should be disabled. This can be used to avoid unnecessary
674
- * layout recalculations if it's known that pagination won't be required.
675
- */
676
- this.disablePagination = false;
660
+ this._disablePagination = false;
677
661
  this._selectedIndex = 0;
678
662
  /** Event emitted when the option is selected. */
679
663
  this.selectFocusedIndex = new EventEmitter();
@@ -688,6 +672,16 @@ class MatPaginatedTabHeader {
688
672
  });
689
673
  });
690
674
  }
675
+ /**
676
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
677
+ * layout recalculations if it's known that pagination won't be required.
678
+ */
679
+ get disablePagination() {
680
+ return this._disablePagination;
681
+ }
682
+ set disablePagination(value) {
683
+ this._disablePagination = coerceBooleanProperty(value);
684
+ }
691
685
  /** The index of the active tab. */
692
686
  get selectedIndex() {
693
687
  return this._selectedIndex;
@@ -729,7 +723,9 @@ class MatPaginatedTabHeader {
729
723
  this._keyManager.updateActiveItem(this._selectedIndex);
730
724
  // Defer the first call in order to allow for slower browsers to lay out the elements.
731
725
  // This helps in cases where the user lands directly on a page with paginated tabs.
732
- typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();
726
+ // Note that we use `onStable` instead of `requestAnimationFrame`, because the latter
727
+ // can hold up tests that are in a background tab.
728
+ this._ngZone.onStable.pipe(take(1)).subscribe(realign);
733
729
  // On dir change or window resize, realign the ink bar and update the orientation of
734
730
  // the key manager if the direction has changed.
735
731
  merge(dirChange, resize, this._items.changes)
@@ -738,7 +734,13 @@ class MatPaginatedTabHeader {
738
734
  // We need to defer this to give the browser some time to recalculate
739
735
  // the element dimensions. The call has to be wrapped in `NgZone.run`,
740
736
  // because the viewport change handler runs outside of Angular.
741
- this._ngZone.run(() => Promise.resolve().then(realign));
737
+ this._ngZone.run(() => {
738
+ Promise.resolve().then(() => {
739
+ // Clamp the scroll distance, because it can change with the number of tabs.
740
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));
741
+ realign();
742
+ });
743
+ });
742
744
  this._keyManager.withHorizontalOrientation(this._getLayoutDirection());
743
745
  });
744
746
  // If there is a change in the focus key manager we need to emit the `indexFocused`
@@ -1074,9 +1076,9 @@ class MatPaginatedTabHeader {
1074
1076
  return { maxScrollDistance, distance: this._scrollDistance };
1075
1077
  }
1076
1078
  }
1077
- MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1078
- MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1079
+ MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1080
+ MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1080
1082
  type: Directive
1081
1083
  }], ctorParameters: function () {
1082
1084
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
@@ -1111,9 +1113,9 @@ class _MatTabHeaderBase extends MatPaginatedTabHeader {
1111
1113
  event.preventDefault();
1112
1114
  }
1113
1115
  }
1114
- _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabHeaderBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1115
- _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1116
+ _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabHeaderBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1117
+ _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1117
1119
  type: Directive
1118
1120
  }], ctorParameters: function () {
1119
1121
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
@@ -1139,15 +1141,15 @@ class MatTabHeader extends _MatTabHeaderBase {
1139
1141
  super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
1140
1142
  }
1141
1143
  }
1142
- MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1143
- MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"], directives: [{ type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabHeader, decorators: [{
1144
+ MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1145
+ MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabHeader, decorators: [{
1145
1147
  type: Component,
1146
1148
  args: [{ selector: 'mat-tab-header', inputs: ['selectedIndex'], outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
1147
1149
  'class': 'mat-tab-header',
1148
1150
  '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
1149
1151
  '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
1150
- }, template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"] }]
1152
+ }, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"] }]
1151
1153
  }], ctorParameters: function () {
1152
1154
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1153
1155
  type: Optional
@@ -1213,15 +1215,20 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1213
1215
  this._tabs = new QueryList();
1214
1216
  /** The tab index that should be selected after the content has been checked. */
1215
1217
  this._indexToSelect = 0;
1218
+ /** Index of the tab that was focused last. */
1219
+ this._lastFocusedTabIndex = null;
1216
1220
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1217
1221
  this._tabBodyWrapperHeight = 0;
1218
1222
  /** Subscription to tabs being added/removed. */
1219
1223
  this._tabsSubscription = Subscription.EMPTY;
1220
1224
  /** Subscription to changes in the tab labels. */
1221
1225
  this._tabLabelSubscription = Subscription.EMPTY;
1226
+ this._dynamicHeight = false;
1222
1227
  this._selectedIndex = null;
1223
1228
  /** Position of the tab header. */
1224
1229
  this.headerPosition = 'above';
1230
+ this._disablePagination = false;
1231
+ this._preserveContent = false;
1225
1232
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1226
1233
  this.selectedIndexChange = new EventEmitter();
1227
1234
  /** Event emitted when focus has changed within a tab group. */
@@ -1275,6 +1282,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1275
1282
  set contentTabIndex(value) {
1276
1283
  this._contentTabIndex = coerceNumberProperty(value, null);
1277
1284
  }
1285
+ /**
1286
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
1287
+ * layout recalculations if it's known that pagination won't be required.
1288
+ */
1289
+ get disablePagination() {
1290
+ return this._disablePagination;
1291
+ }
1292
+ set disablePagination(value) {
1293
+ this._disablePagination = coerceBooleanProperty(value);
1294
+ }
1295
+ /**
1296
+ * By default tabs remove their content from the DOM while it's off-screen.
1297
+ * Setting this to `true` will keep it in the DOM which will prevent elements
1298
+ * like iframes and videos from reloading next time it comes back into the view.
1299
+ */
1300
+ get preserveContent() {
1301
+ return this._preserveContent;
1302
+ }
1303
+ set preserveContent(value) {
1304
+ this._preserveContent = coerceBooleanProperty(value);
1305
+ }
1278
1306
  /** Background color of the tab group. */
1279
1307
  get backgroundColor() {
1280
1308
  return this._backgroundColor;
@@ -1331,6 +1359,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1331
1359
  });
1332
1360
  if (this._selectedIndex !== indexToSelect) {
1333
1361
  this._selectedIndex = indexToSelect;
1362
+ this._lastFocusedTabIndex = null;
1334
1363
  this._changeDetectorRef.markForCheck();
1335
1364
  }
1336
1365
  }
@@ -1345,15 +1374,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1345
1374
  // explicit change that selects a different tab.
1346
1375
  if (indexToSelect === this._selectedIndex) {
1347
1376
  const tabs = this._tabs.toArray();
1377
+ let selectedTab;
1348
1378
  for (let i = 0; i < tabs.length; i++) {
1349
1379
  if (tabs[i].isActive) {
1350
1380
  // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1351
1381
  // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1352
1382
  // adding a tab within the `selectedIndexChange` event.
1353
1383
  this._indexToSelect = this._selectedIndex = i;
1384
+ this._lastFocusedTabIndex = null;
1385
+ selectedTab = tabs[i];
1354
1386
  break;
1355
1387
  }
1356
1388
  }
1389
+ // If we haven't found an active tab and a tab exists at the selected index, it means
1390
+ // that the active tab was swapped out. Since this won't be picked up by the rendering
1391
+ // loop in `ngAfterContentChecked`, we need to sync it up manually.
1392
+ if (!selectedTab && tabs[indexToSelect]) {
1393
+ Promise.resolve().then(() => {
1394
+ tabs[indexToSelect].isActive = true;
1395
+ this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
1396
+ });
1397
+ }
1357
1398
  }
1358
1399
  this._changeDetectorRef.markForCheck();
1359
1400
  });
@@ -1404,6 +1445,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1404
1445
  }
1405
1446
  }
1406
1447
  _focusChanged(index) {
1448
+ this._lastFocusedTabIndex = index;
1407
1449
  this.focusChange.emit(this._createChangeEvent(index));
1408
1450
  }
1409
1451
  _createChangeEvent(index) {
@@ -1471,11 +1513,13 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1471
1513
  }
1472
1514
  }
1473
1515
  /** Retrieves the tabindex for the tab. */
1474
- _getTabIndex(tab, idx) {
1516
+ _getTabIndex(tab, index) {
1517
+ var _a;
1475
1518
  if (tab.disabled) {
1476
1519
  return null;
1477
1520
  }
1478
- return this.selectedIndex === idx ? 0 : -1;
1521
+ const targetIndex = (_a = this._lastFocusedTabIndex) !== null && _a !== void 0 ? _a : this.selectedIndex;
1522
+ return index === targetIndex ? 0 : -1;
1479
1523
  }
1480
1524
  /** Callback for when the focused state of a tab has changed. */
1481
1525
  _tabFocusChanged(focusOrigin, index) {
@@ -1488,9 +1532,9 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1488
1532
  }
1489
1533
  }
1490
1534
  }
1491
- _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabGroupBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1492
- _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabGroupBase, inputs: { dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: "contentTabIndex", disablePagination: "disablePagination", preserveContent: "preserveContent", backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, usesInheritance: true, ngImport: i0 });
1493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1535
+ _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabGroupBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1536
+ _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabGroupBase, inputs: { dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: "contentTabIndex", disablePagination: "disablePagination", preserveContent: "preserveContent", backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, usesInheritance: true, ngImport: i0 });
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1494
1538
  type: Directive
1495
1539
  }], ctorParameters: function () {
1496
1540
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -1539,14 +1583,14 @@ class MatTabGroup extends _MatTabGroupBase {
1539
1583
  super(elementRef, changeDetectorRef, defaultConfig, animationMode);
1540
1584
  }
1541
1585
  }
1542
- MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1543
- MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", disableRipple: "disableRipple" }, host: { properties: { "class.mat-tab-group-dynamic-height": "dynamicHeight", "class.mat-tab-group-inverted-header": "headerPosition === \"below\"" }, classAttribute: "mat-tab-group" }, providers: [
1586
+ MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1587
+ MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", disableRipple: "disableRipple" }, host: { properties: { "class.mat-tab-group-dynamic-height": "dynamicHeight", "class.mat-tab-group-inverted-header": "headerPosition === \"below\"" }, classAttribute: "mat-tab-group" }, providers: [
1544
1588
  {
1545
1589
  provide: MAT_TAB_GROUP,
1546
1590
  useExisting: MatTabGroup,
1547
1591
  },
1548
- ], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;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}\n"], components: [{ type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex"], outputs: ["selectFocusedIndex", "indexFocused"] }, { type: MatTabBody, selector: "mat-tab-body" }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["disabled"] }, { type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i7.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabGroup, decorators: [{
1592
+ ], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;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}"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i7.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { kind: "directive", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["disabled"] }, { kind: "component", type: MatTabBody, selector: "mat-tab-body" }, { kind: "component", type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabGroup, decorators: [{
1550
1594
  type: Component,
1551
1595
  args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, inputs: ['color', 'disableRipple'], providers: [
1552
1596
  {
@@ -1557,7 +1601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1557
1601
  'class': 'mat-tab-group',
1558
1602
  '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
1559
1603
  '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
1560
- }, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;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}\n"] }]
1604
+ }, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.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:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;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}"] }]
1561
1605
  }], ctorParameters: function () {
1562
1606
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1563
1607
  type: Inject,
@@ -1648,9 +1692,9 @@ class _MatTabNavBase extends MatPaginatedTabHeader {
1648
1692
  return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
1649
1693
  }
1650
1694
  }
1651
- _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabNavBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1652
- _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1653
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabNavBase, decorators: [{
1695
+ _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabNavBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1696
+ _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabNavBase, decorators: [{
1654
1698
  type: Directive
1655
1699
  }], ctorParameters: function () {
1656
1700
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
@@ -1679,9 +1723,9 @@ class MatTabNav extends _MatTabNavBase {
1679
1723
  super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);
1680
1724
  }
1681
1725
  }
1682
- MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1683
- MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color" }, host: { properties: { "attr.role": "_getRole()", "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"" }, classAttribute: "mat-tab-nav-bar mat-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MatTabLink; }), descendants: true }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.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:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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}}\n"], directives: [{ type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNav, decorators: [{
1726
+ MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1727
+ MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color" }, host: { properties: { "attr.role": "_getRole()", "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"" }, classAttribute: "mat-tab-nav-bar mat-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MatTabLink; }), descendants: true }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.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:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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}}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1728
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNav, decorators: [{
1685
1729
  type: Component,
1686
1730
  args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', inputs: ['color'], host: {
1687
1731
  '[attr.role]': '_getRole()',
@@ -1691,7 +1735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1691
1735
  '[class.mat-primary]': 'color !== "warn" && color !== "accent"',
1692
1736
  '[class.mat-accent]': 'color === "accent"',
1693
1737
  '[class.mat-warn]': 'color === "warn"',
1694
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.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:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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}}\n"] }]
1738
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.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-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.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:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-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}.cdk-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}}"] }]
1695
1739
  }], ctorParameters: function () {
1696
1740
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1697
1741
  type: Optional
@@ -1807,16 +1851,16 @@ class _MatTabLinkBase extends _MatTabLinkMixinBase {
1807
1851
  }
1808
1852
  _getTabIndex() {
1809
1853
  if (this._tabNavBar.tabPanel) {
1810
- return this._isActive ? 0 : -1;
1854
+ return this._isActive && !this.disabled ? 0 : -1;
1811
1855
  }
1812
1856
  else {
1813
1857
  return this.tabIndex;
1814
1858
  }
1815
1859
  }
1816
1860
  }
1817
- _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabLinkBase, deps: [{ token: _MatTabNavBase }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1818
- _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1861
+ _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabLinkBase, deps: [{ token: _MatTabNavBase }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1862
+ _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1820
1864
  type: Directive
1821
1865
  }], ctorParameters: function () {
1822
1866
  return [{ type: _MatTabNavBase }, { type: i0.ElementRef }, { type: undefined, decorators: [{
@@ -1852,9 +1896,9 @@ class MatTabLink extends _MatTabLinkBase {
1852
1896
  this._tabLinkRipple._removeTriggerEvents();
1853
1897
  }
1854
1898
  }
1855
- MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1856
- MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-tab-disabled": "disabled", "class.mat-tab-label-active": "active" }, classAttribute: "mat-tab-link mat-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0 });
1857
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLink, decorators: [{
1899
+ MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1900
+ MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-tab-disabled": "disabled", "class.mat-tab-label-active": "active" }, classAttribute: "mat-tab-link mat-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0 });
1901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLink, decorators: [{
1858
1902
  type: Directive,
1859
1903
  args: [{
1860
1904
  selector: '[mat-tab-link], [matTabLink]',
@@ -1900,9 +1944,9 @@ class MatTabNavPanel {
1900
1944
  this.id = `mat-tab-nav-panel-${nextUniqueId++}`;
1901
1945
  }
1902
1946
  }
1903
- MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1904
- MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.aria-labelledby": "_activeTabId", "attr.id": "id" }, classAttribute: "mat-tab-nav-panel" }, exportAs: ["matTabNavPanel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNavPanel, decorators: [{
1947
+ MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1948
+ MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.aria-labelledby": "_activeTabId", "attr.id": "id" }, classAttribute: "mat-tab-nav-panel" }, exportAs: ["matTabNavPanel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNavPanel, decorators: [{
1906
1950
  type: Component,
1907
1951
  args: [{
1908
1952
  selector: 'mat-tab-nav-panel',
@@ -1930,8 +1974,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1930
1974
  */
1931
1975
  class MatTabsModule {
1932
1976
  }
1933
- MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1934
- MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1977
+ MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1978
+ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1935
1979
  MatTabLabel,
1936
1980
  MatTab,
1937
1981
  MatInkBar,
@@ -1955,7 +1999,7 @@ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1955
1999
  MatTabNavPanel,
1956
2000
  MatTabLink,
1957
2001
  MatTabContent] });
1958
- MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, imports: [[
2002
+ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, imports: [[
1959
2003
  CommonModule,
1960
2004
  MatCommonModule,
1961
2005
  PortalModule,
@@ -1963,7 +2007,7 @@ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
1963
2007
  ObserversModule,
1964
2008
  A11yModule,
1965
2009
  ], MatCommonModule] });
1966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, decorators: [{
2010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, decorators: [{
1967
2011
  type: NgModule,
1968
2012
  args: [{
1969
2013
  imports: [