@angular/material 14.0.0-next.0 → 14.0.0-next.11

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 (542) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-trigger.d.ts +14 -3
  3. package/autocomplete/autocomplete.d.ts +7 -1
  4. package/badge/_badge-theme.scss +11 -2
  5. package/button-toggle/_button-toggle-theme.scss +14 -2
  6. package/checkbox/_checkbox-theme.scss +1 -1
  7. package/checkbox/checkbox.d.ts +1 -1
  8. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  9. package/chips/chip-input.d.ts +2 -5
  10. package/chips/chip-list.d.ts +21 -6
  11. package/chips/chip.d.ts +4 -4
  12. package/core/_core.scss +5 -7
  13. package/core/common-behaviors/error-state.d.ts +1 -2
  14. package/core/datetime/index.d.ts +1 -2
  15. package/core/ripple/_ripple.scss +2 -2
  16. package/core/ripple/index.d.ts +1 -2
  17. package/core/ripple/ripple-ref.d.ts +2 -1
  18. package/core/ripple/ripple-renderer.d.ts +16 -3
  19. package/core/style/_menu-common.scss +3 -2
  20. package/core/style/_vendor-prefixes.scss +1 -17
  21. package/core/theming/_theming.scss +9 -0
  22. package/core/typography/_typography.scss +51 -14
  23. package/datepicker/calendar-body.d.ts +34 -4
  24. package/datepicker/date-range-input-parts.d.ts +4 -1
  25. package/datepicker/datepicker-base.d.ts +2 -0
  26. package/datepicker/month-view.d.ts +18 -0
  27. package/datepicker/multi-year-view.d.ts +18 -0
  28. package/datepicker/year-view.d.ts +18 -0
  29. package/dialog/dialog-animations.d.ts +10 -0
  30. package/dialog/dialog-config.d.ts +12 -1
  31. package/dialog/dialog-container.d.ts +12 -4
  32. package/dialog/dialog-content-directives.d.ts +5 -1
  33. package/dialog/dialog.d.ts +12 -6
  34. package/dialog/public-api.d.ts +1 -1
  35. package/dialog/testing/dialog-opener.d.ts +33 -0
  36. package/dialog/testing/public-api.d.ts +1 -0
  37. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  38. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  39. package/esm2020/autocomplete/autocomplete-trigger.mjs +96 -49
  40. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  41. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  42. package/esm2020/badge/badge-module.mjs +5 -5
  43. package/esm2020/badge/badge.mjs +4 -4
  44. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  45. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  46. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  47. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  48. package/esm2020/button/button-module.mjs +5 -5
  49. package/esm2020/button/button.mjs +10 -10
  50. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  51. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  52. package/esm2020/card/card-module.mjs +5 -5
  53. package/esm2020/card/card.mjs +44 -44
  54. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  55. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  56. package/esm2020/checkbox/checkbox.mjs +12 -8
  57. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  58. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  59. package/esm2020/chips/chip-input.mjs +4 -4
  60. package/esm2020/chips/chip-list.mjs +34 -9
  61. package/esm2020/chips/chip.mjs +20 -17
  62. package/esm2020/chips/chips-module.mjs +5 -5
  63. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  64. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  65. package/esm2020/core/datetime/index.mjs +9 -11
  66. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  67. package/esm2020/core/error/error-options.mjs +7 -7
  68. package/esm2020/core/line/line.mjs +8 -8
  69. package/esm2020/core/option/index.mjs +5 -5
  70. package/esm2020/core/option/optgroup.mjs +8 -8
  71. package/esm2020/core/option/option.mjs +8 -8
  72. package/esm2020/core/ripple/index.mjs +6 -7
  73. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  74. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  75. package/esm2020/core/ripple/ripple.mjs +4 -4
  76. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  77. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  78. package/esm2020/core/version.mjs +1 -1
  79. package/esm2020/datepicker/calendar-body.mjs +57 -12
  80. package/esm2020/datepicker/calendar.mjs +26 -15
  81. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  82. package/esm2020/datepicker/date-range-input.mjs +6 -6
  83. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  84. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  85. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  86. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  87. package/esm2020/datepicker/datepicker-base.mjs +9 -17
  88. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  89. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  90. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  91. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  92. package/esm2020/datepicker/datepicker-toggle.mjs +8 -8
  93. package/esm2020/datepicker/datepicker.mjs +4 -4
  94. package/esm2020/datepicker/month-view.mjs +36 -9
  95. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  96. package/esm2020/datepicker/year-view.mjs +41 -10
  97. package/esm2020/dialog/dialog-animations.mjs +17 -4
  98. package/esm2020/dialog/dialog-config.mjs +8 -1
  99. package/esm2020/dialog/dialog-container.mjs +44 -26
  100. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  101. package/esm2020/dialog/dialog-module.mjs +5 -5
  102. package/esm2020/dialog/dialog.mjs +24 -40
  103. package/esm2020/dialog/public-api.mjs +2 -2
  104. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  105. package/esm2020/dialog/testing/public-api.mjs +2 -1
  106. package/esm2020/divider/divider-module.mjs +5 -5
  107. package/esm2020/divider/divider.mjs +5 -5
  108. package/esm2020/expansion/accordion.mjs +4 -4
  109. package/esm2020/expansion/expansion-module.mjs +5 -5
  110. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  111. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  112. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  113. package/esm2020/expansion/expansion-panel.mjs +13 -10
  114. package/esm2020/expansion/public-api.mjs +2 -1
  115. package/esm2020/form-field/error.mjs +4 -4
  116. package/esm2020/form-field/form-field-control.mjs +4 -4
  117. package/esm2020/form-field/form-field-module.mjs +5 -5
  118. package/esm2020/form-field/form-field.mjs +22 -14
  119. package/esm2020/form-field/hint.mjs +4 -4
  120. package/esm2020/form-field/label.mjs +4 -4
  121. package/esm2020/form-field/placeholder.mjs +4 -4
  122. package/esm2020/form-field/prefix.mjs +4 -4
  123. package/esm2020/form-field/suffix.mjs +4 -4
  124. package/esm2020/form-field/testing/public-api.mjs +4 -4
  125. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  126. package/esm2020/grid-list/grid-list.mjs +6 -6
  127. package/esm2020/grid-list/grid-tile.mjs +17 -17
  128. package/esm2020/icon/icon-module.mjs +5 -5
  129. package/esm2020/icon/icon-registry.mjs +12 -14
  130. package/esm2020/icon/icon.mjs +31 -28
  131. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  132. package/esm2020/input/input-module.mjs +5 -5
  133. package/esm2020/input/input.mjs +41 -24
  134. package/esm2020/list/list-module.mjs +5 -5
  135. package/esm2020/list/list.mjs +21 -23
  136. package/esm2020/list/selection-list.mjs +15 -38
  137. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  138. package/esm2020/menu/menu-content.mjs +7 -7
  139. package/esm2020/menu/menu-errors.mjs +1 -12
  140. package/esm2020/menu/menu-item.mjs +8 -4
  141. package/esm2020/menu/menu-module.mjs +5 -5
  142. package/esm2020/menu/menu-trigger.mjs +79 -65
  143. package/esm2020/menu/menu.mjs +35 -14
  144. package/esm2020/paginator/paginator-intl.mjs +4 -4
  145. package/esm2020/paginator/paginator-module.mjs +5 -5
  146. package/esm2020/paginator/paginator.mjs +12 -8
  147. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  148. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  149. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  150. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  151. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  152. package/esm2020/progress-spinner/public-api.mjs +10 -2
  153. package/esm2020/radio/radio-module.mjs +5 -5
  154. package/esm2020/radio/radio.mjs +42 -14
  155. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  156. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  157. package/esm2020/select/select-module.mjs +5 -5
  158. package/esm2020/select/select.mjs +66 -28
  159. package/esm2020/sidenav/drawer.mjs +19 -14
  160. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  161. package/esm2020/sidenav/sidenav.mjs +12 -12
  162. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  163. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  164. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  165. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  166. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  167. package/esm2020/slider/slider-module.mjs +5 -5
  168. package/esm2020/slider/slider.mjs +15 -8
  169. package/esm2020/snack-bar/simple-snack-bar.mjs +5 -5
  170. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  171. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  172. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  173. package/esm2020/sort/sort-header-intl.mjs +4 -4
  174. package/esm2020/sort/sort-header.mjs +16 -8
  175. package/esm2020/sort/sort-module.mjs +5 -5
  176. package/esm2020/sort/sort.mjs +4 -4
  177. package/esm2020/stepper/public-api.mjs +2 -2
  178. package/esm2020/stepper/step-content.mjs +4 -4
  179. package/esm2020/stepper/step-header.mjs +5 -5
  180. package/esm2020/stepper/step-label.mjs +4 -4
  181. package/esm2020/stepper/stepper-animations.mjs +9 -3
  182. package/esm2020/stepper/stepper-button.mjs +7 -7
  183. package/esm2020/stepper/stepper-icon.mjs +4 -4
  184. package/esm2020/stepper/stepper-intl.mjs +4 -4
  185. package/esm2020/stepper/stepper-module.mjs +6 -10
  186. package/esm2020/stepper/stepper.mjs +39 -63
  187. package/esm2020/table/cell.mjs +22 -22
  188. package/esm2020/table/row.mjs +22 -22
  189. package/esm2020/table/table-module.mjs +5 -5
  190. package/esm2020/table/table.mjs +9 -9
  191. package/esm2020/table/text-column.mjs +4 -4
  192. package/esm2020/tabs/ink-bar.mjs +11 -22
  193. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  194. package/esm2020/tabs/tab-body.mjs +18 -12
  195. package/esm2020/tabs/tab-config.mjs +1 -1
  196. package/esm2020/tabs/tab-content.mjs +4 -4
  197. package/esm2020/tabs/tab-group.mjs +55 -11
  198. package/esm2020/tabs/tab-header.mjs +8 -8
  199. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  200. package/esm2020/tabs/tab-label.mjs +4 -4
  201. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  202. package/esm2020/tabs/tab.mjs +4 -4
  203. package/esm2020/tabs/tabs-animations.mjs +16 -6
  204. package/esm2020/tabs/tabs-module.mjs +5 -5
  205. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  206. package/esm2020/toolbar/toolbar.mjs +8 -8
  207. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  208. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  209. package/esm2020/tooltip/tooltip.mjs +126 -51
  210. package/esm2020/tree/node.mjs +10 -10
  211. package/esm2020/tree/outlet.mjs +4 -4
  212. package/esm2020/tree/padding.mjs +4 -4
  213. package/esm2020/tree/toggle.mjs +4 -4
  214. package/esm2020/tree/tree-module.mjs +5 -5
  215. package/esm2020/tree/tree.mjs +5 -5
  216. package/expansion/expansion-panel-base.d.ts +22 -0
  217. package/expansion/expansion-panel-content.d.ts +4 -2
  218. package/expansion/public-api.d.ts +1 -0
  219. package/fesm2015/autocomplete/testing.mjs +6 -0
  220. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  221. package/fesm2015/autocomplete.mjs +125 -67
  222. package/fesm2015/autocomplete.mjs.map +1 -1
  223. package/fesm2015/badge/testing.mjs.map +1 -1
  224. package/fesm2015/badge.mjs +7 -7
  225. package/fesm2015/badge.mjs.map +1 -1
  226. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  227. package/fesm2015/bottom-sheet.mjs +27 -16
  228. package/fesm2015/bottom-sheet.mjs.map +1 -1
  229. package/fesm2015/button/testing.mjs.map +1 -1
  230. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  231. package/fesm2015/button-toggle.mjs +11 -11
  232. package/fesm2015/button-toggle.mjs.map +1 -1
  233. package/fesm2015/button.mjs +13 -13
  234. package/fesm2015/button.mjs.map +1 -1
  235. package/fesm2015/card/testing.mjs.map +1 -1
  236. package/fesm2015/card.mjs +47 -47
  237. package/fesm2015/card.mjs.map +1 -1
  238. package/fesm2015/checkbox/testing.mjs +2 -1
  239. package/fesm2015/checkbox/testing.mjs.map +1 -1
  240. package/fesm2015/checkbox.mjs +22 -18
  241. package/fesm2015/checkbox.mjs.map +1 -1
  242. package/fesm2015/chips/testing.mjs.map +1 -1
  243. package/fesm2015/chips.mjs +59 -31
  244. package/fesm2015/chips.mjs.map +1 -1
  245. package/fesm2015/core/testing.mjs.map +1 -1
  246. package/fesm2015/core.mjs +181 -126
  247. package/fesm2015/core.mjs.map +1 -1
  248. package/fesm2015/datepicker/testing.mjs.map +1 -1
  249. package/fesm2015/datepicker.mjs +273 -130
  250. package/fesm2015/datepicker.mjs.map +1 -1
  251. package/fesm2015/dialog/testing.mjs +65 -2
  252. package/fesm2015/dialog/testing.mjs.map +1 -1
  253. package/fesm2015/dialog.mjs +144 -106
  254. package/fesm2015/dialog.mjs.map +1 -1
  255. package/fesm2015/divider/testing.mjs.map +1 -1
  256. package/fesm2015/divider.mjs +8 -8
  257. package/fesm2015/divider.mjs.map +1 -1
  258. package/fesm2015/expansion/testing.mjs.map +1 -1
  259. package/fesm2015/expansion.mjs +56 -33
  260. package/fesm2015/expansion.mjs.map +1 -1
  261. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  262. package/fesm2015/form-field/testing.mjs +1 -1
  263. package/fesm2015/form-field/testing.mjs.map +1 -1
  264. package/fesm2015/form-field.mjs +47 -38
  265. package/fesm2015/form-field.mjs.map +1 -1
  266. package/fesm2015/grid-list/testing.mjs.map +1 -1
  267. package/fesm2015/grid-list.mjs +25 -25
  268. package/fesm2015/grid-list.mjs.map +1 -1
  269. package/fesm2015/icon/testing.mjs +8 -8
  270. package/fesm2015/icon/testing.mjs.map +1 -1
  271. package/fesm2015/icon.mjs +45 -44
  272. package/fesm2015/icon.mjs.map +1 -1
  273. package/fesm2015/input/testing.mjs.map +1 -1
  274. package/fesm2015/input.mjs +45 -28
  275. package/fesm2015/input.mjs.map +1 -1
  276. package/fesm2015/list/testing.mjs +0 -10
  277. package/fesm2015/list/testing.mjs.map +1 -1
  278. package/fesm2015/list.mjs +41 -67
  279. package/fesm2015/list.mjs.map +1 -1
  280. package/fesm2015/material.mjs.map +1 -1
  281. package/fesm2015/menu/testing.mjs.map +1 -1
  282. package/fesm2015/menu.mjs +131 -99
  283. package/fesm2015/menu.mjs.map +1 -1
  284. package/fesm2015/paginator/testing.mjs +14 -0
  285. package/fesm2015/paginator/testing.mjs.map +1 -1
  286. package/fesm2015/paginator.mjs +18 -14
  287. package/fesm2015/paginator.mjs.map +1 -1
  288. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  289. package/fesm2015/progress-bar.mjs +11 -8
  290. package/fesm2015/progress-bar.mjs.map +1 -1
  291. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  292. package/fesm2015/progress-spinner.mjs +31 -63
  293. package/fesm2015/progress-spinner.mjs.map +1 -1
  294. package/fesm2015/radio/testing.mjs +2 -1
  295. package/fesm2015/radio/testing.mjs.map +1 -1
  296. package/fesm2015/radio.mjs +46 -17
  297. package/fesm2015/radio.mjs.map +1 -1
  298. package/fesm2015/select/testing.mjs.map +1 -1
  299. package/fesm2015/select.mjs +70 -32
  300. package/fesm2015/select.mjs.map +1 -1
  301. package/fesm2015/sidenav/testing.mjs.map +1 -1
  302. package/fesm2015/sidenav.mjs +36 -32
  303. package/fesm2015/sidenav.mjs.map +1 -1
  304. package/fesm2015/slide-toggle/testing.mjs +3 -1
  305. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  306. package/fesm2015/slide-toggle.mjs +16 -15
  307. package/fesm2015/slide-toggle.mjs.map +1 -1
  308. package/fesm2015/slider/testing.mjs.map +1 -1
  309. package/fesm2015/slider.mjs +18 -11
  310. package/fesm2015/slider.mjs.map +1 -1
  311. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  312. package/fesm2015/snack-bar.mjs +37 -31
  313. package/fesm2015/snack-bar.mjs.map +1 -1
  314. package/fesm2015/sort/testing.mjs.map +1 -1
  315. package/fesm2015/sort.mjs +128 -120
  316. package/fesm2015/sort.mjs.map +1 -1
  317. package/fesm2015/stepper/testing.mjs.map +1 -1
  318. package/fesm2015/stepper.mjs +72 -93
  319. package/fesm2015/stepper.mjs.map +1 -1
  320. package/fesm2015/table/testing.mjs.map +1 -1
  321. package/fesm2015/table.mjs +57 -57
  322. package/fesm2015/table.mjs.map +1 -1
  323. package/fesm2015/tabs/testing.mjs.map +1 -1
  324. package/fesm2015/tabs.mjs +162 -99
  325. package/fesm2015/tabs.mjs.map +1 -1
  326. package/fesm2015/toolbar/testing.mjs.map +1 -1
  327. package/fesm2015/toolbar.mjs +11 -11
  328. package/fesm2015/toolbar.mjs.map +1 -1
  329. package/fesm2015/tooltip/testing.mjs +11 -8
  330. package/fesm2015/tooltip/testing.mjs.map +1 -1
  331. package/fesm2015/tooltip.mjs +154 -79
  332. package/fesm2015/tooltip.mjs.map +1 -1
  333. package/fesm2015/tree/testing.mjs.map +1 -1
  334. package/fesm2015/tree.mjs +26 -26
  335. package/fesm2015/tree.mjs.map +1 -1
  336. package/fesm2020/autocomplete/testing.mjs +6 -0
  337. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  338. package/fesm2020/autocomplete.mjs +124 -67
  339. package/fesm2020/autocomplete.mjs.map +1 -1
  340. package/fesm2020/badge/testing.mjs.map +1 -1
  341. package/fesm2020/badge.mjs +7 -7
  342. package/fesm2020/badge.mjs.map +1 -1
  343. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  344. package/fesm2020/bottom-sheet.mjs +27 -16
  345. package/fesm2020/bottom-sheet.mjs.map +1 -1
  346. package/fesm2020/button/testing.mjs.map +1 -1
  347. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  348. package/fesm2020/button-toggle.mjs +11 -11
  349. package/fesm2020/button-toggle.mjs.map +1 -1
  350. package/fesm2020/button.mjs +13 -13
  351. package/fesm2020/button.mjs.map +1 -1
  352. package/fesm2020/card/testing.mjs.map +1 -1
  353. package/fesm2020/card.mjs +47 -47
  354. package/fesm2020/card.mjs.map +1 -1
  355. package/fesm2020/checkbox/testing.mjs +2 -1
  356. package/fesm2020/checkbox/testing.mjs.map +1 -1
  357. package/fesm2020/checkbox.mjs +22 -18
  358. package/fesm2020/checkbox.mjs.map +1 -1
  359. package/fesm2020/chips/testing.mjs.map +1 -1
  360. package/fesm2020/chips.mjs +59 -31
  361. package/fesm2020/chips.mjs.map +1 -1
  362. package/fesm2020/core/testing.mjs.map +1 -1
  363. package/fesm2020/core.mjs +180 -126
  364. package/fesm2020/core.mjs.map +1 -1
  365. package/fesm2020/datepicker/testing.mjs.map +1 -1
  366. package/fesm2020/datepicker.mjs +273 -130
  367. package/fesm2020/datepicker.mjs.map +1 -1
  368. package/fesm2020/dialog/testing.mjs +65 -1
  369. package/fesm2020/dialog/testing.mjs.map +1 -1
  370. package/fesm2020/dialog.mjs +143 -106
  371. package/fesm2020/dialog.mjs.map +1 -1
  372. package/fesm2020/divider/testing.mjs.map +1 -1
  373. package/fesm2020/divider.mjs +8 -8
  374. package/fesm2020/divider.mjs.map +1 -1
  375. package/fesm2020/expansion/testing.mjs.map +1 -1
  376. package/fesm2020/expansion.mjs +54 -33
  377. package/fesm2020/expansion.mjs.map +1 -1
  378. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  379. package/fesm2020/form-field/testing.mjs +1 -1
  380. package/fesm2020/form-field/testing.mjs.map +1 -1
  381. package/fesm2020/form-field.mjs +46 -38
  382. package/fesm2020/form-field.mjs.map +1 -1
  383. package/fesm2020/grid-list/testing.mjs.map +1 -1
  384. package/fesm2020/grid-list.mjs +25 -25
  385. package/fesm2020/grid-list.mjs.map +1 -1
  386. package/fesm2020/icon/testing.mjs +8 -8
  387. package/fesm2020/icon/testing.mjs.map +1 -1
  388. package/fesm2020/icon.mjs +45 -44
  389. package/fesm2020/icon.mjs.map +1 -1
  390. package/fesm2020/input/testing.mjs.map +1 -1
  391. package/fesm2020/input.mjs +44 -27
  392. package/fesm2020/input.mjs.map +1 -1
  393. package/fesm2020/list/testing.mjs +0 -8
  394. package/fesm2020/list/testing.mjs.map +1 -1
  395. package/fesm2020/list.mjs +38 -63
  396. package/fesm2020/list.mjs.map +1 -1
  397. package/fesm2020/material.mjs.map +1 -1
  398. package/fesm2020/menu/testing.mjs.map +1 -1
  399. package/fesm2020/menu.mjs +127 -99
  400. package/fesm2020/menu.mjs.map +1 -1
  401. package/fesm2020/paginator/testing.mjs +10 -0
  402. package/fesm2020/paginator/testing.mjs.map +1 -1
  403. package/fesm2020/paginator.mjs +18 -14
  404. package/fesm2020/paginator.mjs.map +1 -1
  405. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  406. package/fesm2020/progress-bar.mjs +11 -8
  407. package/fesm2020/progress-bar.mjs.map +1 -1
  408. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  409. package/fesm2020/progress-spinner.mjs +31 -61
  410. package/fesm2020/progress-spinner.mjs.map +1 -1
  411. package/fesm2020/radio/testing.mjs +2 -1
  412. package/fesm2020/radio/testing.mjs.map +1 -1
  413. package/fesm2020/radio.mjs +45 -17
  414. package/fesm2020/radio.mjs.map +1 -1
  415. package/fesm2020/select/testing.mjs.map +1 -1
  416. package/fesm2020/select.mjs +70 -32
  417. package/fesm2020/select.mjs.map +1 -1
  418. package/fesm2020/sidenav/testing.mjs.map +1 -1
  419. package/fesm2020/sidenav.mjs +36 -32
  420. package/fesm2020/sidenav.mjs.map +1 -1
  421. package/fesm2020/slide-toggle/testing.mjs +3 -1
  422. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  423. package/fesm2020/slide-toggle.mjs +16 -15
  424. package/fesm2020/slide-toggle.mjs.map +1 -1
  425. package/fesm2020/slider/testing.mjs.map +1 -1
  426. package/fesm2020/slider.mjs +18 -11
  427. package/fesm2020/slider.mjs.map +1 -1
  428. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  429. package/fesm2020/snack-bar.mjs +37 -31
  430. package/fesm2020/snack-bar.mjs.map +1 -1
  431. package/fesm2020/sort/testing.mjs.map +1 -1
  432. package/fesm2020/sort.mjs +24 -16
  433. package/fesm2020/sort.mjs.map +1 -1
  434. package/fesm2020/stepper/testing.mjs.map +1 -1
  435. package/fesm2020/stepper.mjs +72 -93
  436. package/fesm2020/stepper.mjs.map +1 -1
  437. package/fesm2020/table/testing.mjs.map +1 -1
  438. package/fesm2020/table.mjs +57 -57
  439. package/fesm2020/table.mjs.map +1 -1
  440. package/fesm2020/tabs/testing.mjs.map +1 -1
  441. package/fesm2020/tabs.mjs +161 -99
  442. package/fesm2020/tabs.mjs.map +1 -1
  443. package/fesm2020/toolbar/testing.mjs.map +1 -1
  444. package/fesm2020/toolbar.mjs +11 -11
  445. package/fesm2020/toolbar.mjs.map +1 -1
  446. package/fesm2020/tooltip/testing.mjs +11 -6
  447. package/fesm2020/tooltip/testing.mjs.map +1 -1
  448. package/fesm2020/tooltip.mjs +147 -71
  449. package/fesm2020/tooltip.mjs.map +1 -1
  450. package/fesm2020/tree/testing.mjs.map +1 -1
  451. package/fesm2020/tree.mjs +26 -26
  452. package/fesm2020/tree.mjs.map +1 -1
  453. package/form-field/form-field-control.d.ts +3 -3
  454. package/form-field/form-field.d.ts +15 -8
  455. package/form-field/testing/public-api.d.ts +1 -1
  456. package/icon/icon-registry.d.ts +7 -9
  457. package/icon/icon.d.ts +12 -3
  458. package/icon/testing/fake-icon-registry.d.ts +1 -1
  459. package/input/input.d.ts +12 -1
  460. package/list/selection-list.d.ts +4 -21
  461. package/list/testing/list-item-harness-base.d.ts +1 -7
  462. package/menu/menu-errors.d.ts +0 -5
  463. package/menu/menu-item.d.ts +3 -2
  464. package/menu/menu-trigger.d.ts +21 -11
  465. package/menu/menu.d.ts +8 -3
  466. package/package.json +7 -7
  467. package/paginator/paginator.d.ts +12 -1
  468. package/paginator/testing/paginator-harness.d.ts +3 -0
  469. package/prebuilt-themes/deeppurple-amber.css +1 -1
  470. package/prebuilt-themes/indigo-pink.css +1 -1
  471. package/prebuilt-themes/pink-bluegrey.css +1 -1
  472. package/prebuilt-themes/purple-green.css +1 -1
  473. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  474. package/progress-spinner/progress-spinner.d.ts +4 -19
  475. package/progress-spinner/public-api.d.ts +8 -1
  476. package/radio/radio.d.ts +7 -2
  477. package/radio/testing/radio-harness-filters.d.ts +2 -0
  478. package/schematics/collection.json +4 -2
  479. package/schematics/migration.json +5 -0
  480. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  481. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  482. package/schematics/ng-add/index.js +2 -2
  483. package/schematics/ng-add/index.mjs +2 -2
  484. package/schematics/ng-add/schema.d.ts +2 -2
  485. package/schematics/ng-add/schema.js +1 -1
  486. package/schematics/ng-add/schema.json +29 -9
  487. package/schematics/ng-add/schema.mjs +1 -1
  488. package/schematics/ng-add/setup-project.js +16 -23
  489. package/schematics/ng-add/setup-project.mjs +16 -23
  490. package/schematics/ng-add/theming/theming.js +28 -39
  491. package/schematics/ng-add/theming/theming.mjs +28 -39
  492. package/schematics/ng-generate/address-form/index.js +5 -14
  493. package/schematics/ng-generate/address-form/index.mjs +5 -14
  494. package/schematics/ng-generate/address-form/schema.json +1 -1
  495. package/schematics/ng-generate/dashboard/index.js +5 -14
  496. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  497. package/schematics/ng-generate/dashboard/schema.json +1 -1
  498. package/schematics/ng-generate/navigation/index.js +5 -14
  499. package/schematics/ng-generate/navigation/index.mjs +5 -14
  500. package/schematics/ng-generate/navigation/schema.json +1 -1
  501. package/schematics/ng-generate/table/index.js +5 -14
  502. package/schematics/ng-generate/table/index.mjs +5 -14
  503. package/schematics/ng-generate/table/schema.json +1 -1
  504. package/schematics/ng-generate/tree/index.js +5 -14
  505. package/schematics/ng-generate/tree/index.mjs +5 -14
  506. package/schematics/ng-generate/tree/schema.json +1 -1
  507. package/schematics/ng-update/data/constructor-checks.js +11 -1
  508. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  509. package/schematics/ng-update/data/css-selectors.js +7 -1
  510. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  511. package/schematics/ng-update/data/index.js +6 -2
  512. package/schematics/ng-update/data/index.mjs +6 -2
  513. package/schematics/ng-update/index.d.ts +2 -0
  514. package/schematics/ng-update/index.js +7 -2
  515. package/schematics/ng-update/index.mjs +7 -2
  516. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  517. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  518. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  519. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  520. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  521. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  522. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  523. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  524. package/schematics/tsconfig.json +1 -4
  525. package/select/select.d.ts +25 -4
  526. package/sidenav/sidenav-module.d.ts +2 -3
  527. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  528. package/snack-bar/snack-bar.d.ts +1 -1
  529. package/sort/sort-header.d.ts +4 -4
  530. package/sort/sort.d.ts +4 -0
  531. package/stepper/public-api.d.ts +1 -1
  532. package/stepper/stepper-animations.d.ts +2 -0
  533. package/stepper/stepper-module.d.ts +1 -1
  534. package/stepper/stepper.d.ts +15 -38
  535. package/tabs/_tabs-common.scss +15 -5
  536. package/tabs/ink-bar.d.ts +0 -5
  537. package/tabs/paginated-tab-header.d.ts +4 -2
  538. package/tabs/tab-body.d.ts +3 -1
  539. package/tabs/tab-config.d.ts +6 -0
  540. package/tabs/tab-group.d.ts +15 -3
  541. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  542. package/tooltip/tooltip.d.ts +36 -8
package/fesm2020/tabs.mjs CHANGED
@@ -11,11 +11,11 @@ import { InjectionToken, Directive, Inject, Optional, TemplateRef, Component, Ch
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 * as i1 from '@angular/cdk/bidi';
16
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
17
- import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
18
- import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
18
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
19
19
  import * as i1$1 from '@angular/cdk/scrolling';
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-rc.1", 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-rc.1", 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-rc.1", ngImport: i0, type: MatInkBar, decorators: [{
81
+ MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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.13", 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.13", ngImport: i0, type: MatInkBar, decorators: [{
96
84
  type: Directive,
97
85
  args: [{
98
86
  selector: 'mat-ink-bar',
@@ -130,9 +118,9 @@ class MatTabContent {
130
118
  this.template = template;
131
119
  }
132
120
  }
133
- MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
134
- MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabContent, decorators: [{
121
+ MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
122
+ MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabContent, decorators: [{
136
124
  type: Directive,
137
125
  args: [{
138
126
  selector: '[matTabContent]',
@@ -165,9 +153,9 @@ class MatTabLabel extends CdkPortal {
165
153
  this._closestTab = _closestTab;
166
154
  }
167
155
  }
168
- MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
169
- MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabel, decorators: [{
156
+ MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
157
+ MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabel, decorators: [{
171
159
  type: Directive,
172
160
  args: [{
173
161
  selector: '[mat-tab-label], [matTabLabel]',
@@ -260,9 +248,9 @@ class MatTab extends _MatTabBase {
260
248
  }
261
249
  }
262
250
  }
263
- MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
264
- MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTab, decorators: [{
251
+ MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
252
+ MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTab, decorators: [{
266
254
  type: Component,
267
255
  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" }]
268
256
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
@@ -308,21 +296,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
308
296
  const matTabsAnimations = {
309
297
  /** Animation translates a tab along the X axis. */
310
298
  translateTab: trigger('translateTab', [
311
- // Note: transitions to `none` instead of 0, because some browsers might blur the content.
299
+ // Transitions to `none` instead of 0, because some browsers might blur the content.
312
300
  state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),
313
301
  // If the tab is either on the left or right, we additionally add a `min-height` of 1px
314
302
  // in order to ensure that the element has a height before its state changes. This is
315
303
  // necessary because Chrome does seem to skip the transition in RTL mode if the element does
316
304
  // not have a static height and is not rendered. See related issue: #9465
317
- state('left', style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
318
- state('right', style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
305
+ state('left', style({
306
+ transform: 'translate3d(-100%, 0, 0)',
307
+ minHeight: '1px',
308
+ // Normally this is redundant since we detach the content from the DOM, but if the user
309
+ // opted into keeping the content in the DOM, we have to hide it so it isn't focusable.
310
+ visibility: 'hidden',
311
+ })),
312
+ state('right', style({
313
+ transform: 'translate3d(100%, 0, 0)',
314
+ minHeight: '1px',
315
+ visibility: 'hidden',
316
+ })),
319
317
  transition('* => left, * => right, left => center, right => center', animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
320
318
  transition('void => left-origin-center', [
321
- style({ transform: 'translate3d(-100%, 0, 0)' }),
319
+ style({ transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden' }),
322
320
  animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),
323
321
  ]),
324
322
  transition('void => right-origin-center', [
325
- style({ transform: 'translate3d(100%, 0, 0)' }),
323
+ style({ transform: 'translate3d(100%, 0, 0)', visibility: 'hidden' }),
326
324
  animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),
327
325
  ]),
328
326
  ]),
@@ -359,7 +357,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
359
357
  }
360
358
  });
361
359
  this._leavingSub = this._host._afterLeavingCenter.subscribe(() => {
362
- this.detach();
360
+ if (!this._host.preserveContent) {
361
+ this.detach();
362
+ }
363
363
  });
364
364
  }
365
365
  /** Clean up centering subscription. */
@@ -369,9 +369,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
369
369
  this._leavingSub.unsubscribe();
370
370
  }
371
371
  }
372
- MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
373
- MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBodyPortal, decorators: [{
372
+ MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
373
+ MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBodyPortal, decorators: [{
375
375
  type: Directive,
376
376
  args: [{
377
377
  selector: '[matTabBodyHost]',
@@ -407,6 +407,8 @@ class _MatTabBodyBase {
407
407
  // anyway to prevent the animations module from throwing an error if the body is used on its own.
408
408
  /** Duration for the tab's animation. */
409
409
  this.animationDuration = '500ms';
410
+ /** Whether the tab's content should be kept in the DOM while it's off-screen. */
411
+ this.preserveContent = false;
410
412
  if (_dir) {
411
413
  this._dirChangeSubscription = _dir.change.subscribe((dir) => {
412
414
  this._computePositionAnimationState(dir);
@@ -486,9 +488,9 @@ class _MatTabBodyBase {
486
488
  return 'right-origin-center';
487
489
  }
488
490
  }
489
- _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
490
- _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabBodyBase, inputs: { _content: ["content", "_content"], origin: "origin", animationDuration: "animationDuration", position: "position" }, outputs: { _onCentering: "_onCentering", _beforeCentering: "_beforeCentering", _afterLeavingCenter: "_afterLeavingCenter", _onCentered: "_onCentered" }, ngImport: i0 });
491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabBodyBase, decorators: [{
491
+ _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
492
+ _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabBodyBase, decorators: [{
492
494
  type: Directive
493
495
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
494
496
  type: Optional
@@ -507,6 +509,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
507
509
  type: Input
508
510
  }], animationDuration: [{
509
511
  type: Input
512
+ }], preserveContent: [{
513
+ type: Input
510
514
  }], position: [{
511
515
  type: Input
512
516
  }] } });
@@ -519,13 +523,13 @@ class MatTabBody extends _MatTabBodyBase {
519
523
  super(elementRef, dir, changeDetectorRef);
520
524
  }
521
525
  }
522
- MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
523
- MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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}\n"], directives: [{ type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBody, decorators: [{
526
+ MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
527
+ MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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}"], directives: [{ type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBody, decorators: [{
525
529
  type: Component,
526
530
  args: [{ selector: 'mat-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matTabsAnimations.translateTab], host: {
527
531
  'class': 'mat-tab-body',
528
- }, 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}\n"] }]
532
+ }, 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}"] }]
529
533
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
530
534
  type: Optional
531
535
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _portalHost: [{
@@ -574,9 +578,9 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperBase {
574
578
  return this.elementRef.nativeElement.offsetWidth;
575
579
  }
576
580
  }
577
- MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
578
- MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
581
+ MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
582
+ MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
580
584
  type: Directive,
581
585
  args: [{
582
586
  selector: '[matTabLabelWrapper]',
@@ -641,11 +645,7 @@ class MatPaginatedTabHeader {
641
645
  this._disableScrollBefore = true;
642
646
  /** Stream that will stop the automated scrolling. */
643
647
  this._stopScrolling = new Subject();
644
- /**
645
- * Whether pagination should be disabled. This can be used to avoid unnecessary
646
- * layout recalculations if it's known that pagination won't be required.
647
- */
648
- this.disablePagination = false;
648
+ this._disablePagination = false;
649
649
  this._selectedIndex = 0;
650
650
  /** Event emitted when the option is selected. */
651
651
  this.selectFocusedIndex = new EventEmitter();
@@ -660,6 +660,16 @@ class MatPaginatedTabHeader {
660
660
  });
661
661
  });
662
662
  }
663
+ /**
664
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
665
+ * layout recalculations if it's known that pagination won't be required.
666
+ */
667
+ get disablePagination() {
668
+ return this._disablePagination;
669
+ }
670
+ set disablePagination(value) {
671
+ this._disablePagination = coerceBooleanProperty(value);
672
+ }
663
673
  /** The index of the active tab. */
664
674
  get selectedIndex() {
665
675
  return this._selectedIndex;
@@ -701,7 +711,9 @@ class MatPaginatedTabHeader {
701
711
  this._keyManager.updateActiveItem(this._selectedIndex);
702
712
  // Defer the first call in order to allow for slower browsers to lay out the elements.
703
713
  // This helps in cases where the user lands directly on a page with paginated tabs.
704
- typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();
714
+ // Note that we use `onStable` instead of `requestAnimationFrame`, because the latter
715
+ // can hold up tests that are in a background tab.
716
+ this._ngZone.onStable.pipe(take(1)).subscribe(realign);
705
717
  // On dir change or window resize, realign the ink bar and update the orientation of
706
718
  // the key manager if the direction has changed.
707
719
  merge(dirChange, resize, this._items.changes)
@@ -710,7 +722,13 @@ class MatPaginatedTabHeader {
710
722
  // We need to defer this to give the browser some time to recalculate
711
723
  // the element dimensions. The call has to be wrapped in `NgZone.run`,
712
724
  // because the viewport change handler runs outside of Angular.
713
- this._ngZone.run(() => Promise.resolve().then(realign));
725
+ this._ngZone.run(() => {
726
+ Promise.resolve().then(() => {
727
+ // Clamp the scroll distance, because it can change with the number of tabs.
728
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));
729
+ realign();
730
+ });
731
+ });
714
732
  this._keyManager.withHorizontalOrientation(this._getLayoutDirection());
715
733
  });
716
734
  // If there is a change in the focus key manager we need to emit the `indexFocused`
@@ -1046,9 +1064,9 @@ class MatPaginatedTabHeader {
1046
1064
  return { maxScrollDistance, distance: this._scrollDistance };
1047
1065
  }
1048
1066
  }
1049
- MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1050
- MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1067
+ MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1068
+ MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1052
1070
  type: Directive
1053
1071
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1054
1072
  type: Optional
@@ -1088,9 +1106,9 @@ class _MatTabHeaderBase extends MatPaginatedTabHeader {
1088
1106
  event.preventDefault();
1089
1107
  }
1090
1108
  }
1091
- _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1092
- _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1093
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1109
+ _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1110
+ _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1094
1112
  type: Directive
1095
1113
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1096
1114
  type: Optional
@@ -1114,15 +1132,15 @@ class MatTabHeader extends _MatTabHeaderBase {
1114
1132
  super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
1115
1133
  }
1116
1134
  }
1117
- MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1118
- MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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}.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 });
1119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabHeader, decorators: [{
1135
+ MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1136
+ MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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}}"], 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 });
1137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabHeader, decorators: [{
1120
1138
  type: Component,
1121
1139
  args: [{ selector: 'mat-tab-header', inputs: ['selectedIndex'], outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
1122
1140
  'class': 'mat-tab-header',
1123
1141
  '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
1124
1142
  '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
1125
- }, 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}.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"] }]
1143
+ }, 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}}"] }]
1126
1144
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1127
1145
  type: Optional
1128
1146
  }] }, { type: i0.NgZone }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1185,15 +1203,20 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1185
1203
  this._tabs = new QueryList();
1186
1204
  /** The tab index that should be selected after the content has been checked. */
1187
1205
  this._indexToSelect = 0;
1206
+ /** Index of the tab that was focused last. */
1207
+ this._lastFocusedTabIndex = null;
1188
1208
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1189
1209
  this._tabBodyWrapperHeight = 0;
1190
1210
  /** Subscription to tabs being added/removed. */
1191
1211
  this._tabsSubscription = Subscription.EMPTY;
1192
1212
  /** Subscription to changes in the tab labels. */
1193
1213
  this._tabLabelSubscription = Subscription.EMPTY;
1214
+ this._dynamicHeight = false;
1194
1215
  this._selectedIndex = null;
1195
1216
  /** Position of the tab header. */
1196
1217
  this.headerPosition = 'above';
1218
+ this._disablePagination = false;
1219
+ this._preserveContent = false;
1197
1220
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1198
1221
  this.selectedIndexChange = new EventEmitter();
1199
1222
  /** Event emitted when focus has changed within a tab group. */
@@ -1212,6 +1235,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1212
1235
  this.dynamicHeight =
1213
1236
  defaultConfig && defaultConfig.dynamicHeight != null ? defaultConfig.dynamicHeight : false;
1214
1237
  this.contentTabIndex = defaultConfig?.contentTabIndex ?? null;
1238
+ this.preserveContent = !!defaultConfig?.preserveContent;
1215
1239
  }
1216
1240
  /** Whether the tab group should grow to the size of the active tab. */
1217
1241
  get dynamicHeight() {
@@ -1246,6 +1270,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1246
1270
  set contentTabIndex(value) {
1247
1271
  this._contentTabIndex = coerceNumberProperty(value, null);
1248
1272
  }
1273
+ /**
1274
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
1275
+ * layout recalculations if it's known that pagination won't be required.
1276
+ */
1277
+ get disablePagination() {
1278
+ return this._disablePagination;
1279
+ }
1280
+ set disablePagination(value) {
1281
+ this._disablePagination = coerceBooleanProperty(value);
1282
+ }
1283
+ /**
1284
+ * By default tabs remove their content from the DOM while it's off-screen.
1285
+ * Setting this to `true` will keep it in the DOM which will prevent elements
1286
+ * like iframes and videos from reloading next time it comes back into the view.
1287
+ */
1288
+ get preserveContent() {
1289
+ return this._preserveContent;
1290
+ }
1291
+ set preserveContent(value) {
1292
+ this._preserveContent = coerceBooleanProperty(value);
1293
+ }
1249
1294
  /** Background color of the tab group. */
1250
1295
  get backgroundColor() {
1251
1296
  return this._backgroundColor;
@@ -1302,6 +1347,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1302
1347
  });
1303
1348
  if (this._selectedIndex !== indexToSelect) {
1304
1349
  this._selectedIndex = indexToSelect;
1350
+ this._lastFocusedTabIndex = null;
1305
1351
  this._changeDetectorRef.markForCheck();
1306
1352
  }
1307
1353
  }
@@ -1316,15 +1362,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1316
1362
  // explicit change that selects a different tab.
1317
1363
  if (indexToSelect === this._selectedIndex) {
1318
1364
  const tabs = this._tabs.toArray();
1365
+ let selectedTab;
1319
1366
  for (let i = 0; i < tabs.length; i++) {
1320
1367
  if (tabs[i].isActive) {
1321
1368
  // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1322
1369
  // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1323
1370
  // adding a tab within the `selectedIndexChange` event.
1324
1371
  this._indexToSelect = this._selectedIndex = i;
1372
+ this._lastFocusedTabIndex = null;
1373
+ selectedTab = tabs[i];
1325
1374
  break;
1326
1375
  }
1327
1376
  }
1377
+ // If we haven't found an active tab and a tab exists at the selected index, it means
1378
+ // that the active tab was swapped out. Since this won't be picked up by the rendering
1379
+ // loop in `ngAfterContentChecked`, we need to sync it up manually.
1380
+ if (!selectedTab && tabs[indexToSelect]) {
1381
+ Promise.resolve().then(() => {
1382
+ tabs[indexToSelect].isActive = true;
1383
+ this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
1384
+ });
1385
+ }
1328
1386
  }
1329
1387
  this._changeDetectorRef.markForCheck();
1330
1388
  });
@@ -1375,6 +1433,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1375
1433
  }
1376
1434
  }
1377
1435
  _focusChanged(index) {
1436
+ this._lastFocusedTabIndex = index;
1378
1437
  this.focusChange.emit(this._createChangeEvent(index));
1379
1438
  }
1380
1439
  _createChangeEvent(index) {
@@ -1442,11 +1501,12 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1442
1501
  }
1443
1502
  }
1444
1503
  /** Retrieves the tabindex for the tab. */
1445
- _getTabIndex(tab, idx) {
1504
+ _getTabIndex(tab, index) {
1446
1505
  if (tab.disabled) {
1447
1506
  return null;
1448
1507
  }
1449
- return this.selectedIndex === idx ? 0 : -1;
1508
+ const targetIndex = this._lastFocusedTabIndex ?? this.selectedIndex;
1509
+ return index === targetIndex ? 0 : -1;
1450
1510
  }
1451
1511
  /** Callback for when the focused state of a tab has changed. */
1452
1512
  _tabFocusChanged(focusOrigin, index) {
@@ -1459,9 +1519,9 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1459
1519
  }
1460
1520
  }
1461
1521
  }
1462
- _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1463
- _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabGroupBase, inputs: { dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: "contentTabIndex", disablePagination: "disablePagination", backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, usesInheritance: true, ngImport: i0 });
1464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1522
+ _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1523
+ _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1465
1525
  type: Directive
1466
1526
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1467
1527
  type: Inject,
@@ -1485,6 +1545,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1485
1545
  type: Input
1486
1546
  }], disablePagination: [{
1487
1547
  type: Input
1548
+ }], preserveContent: [{
1549
+ type: Input
1488
1550
  }], backgroundColor: [{
1489
1551
  type: Input
1490
1552
  }], selectedIndexChange: [{
@@ -1506,14 +1568,14 @@ class MatTabGroup extends _MatTabGroupBase {
1506
1568
  super(elementRef, changeDetectorRef, defaultConfig, animationMode);
1507
1569
  }
1508
1570
  }
1509
- MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1510
- MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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: [
1571
+ MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1572
+ MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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: [
1511
1573
  {
1512
1574
  provide: MAT_TAB_GROUP,
1513
1575
  useExisting: MatTabGroup,
1514
1576
  },
1515
- ], 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 (_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 });
1516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabGroup, decorators: [{
1577
+ ], 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}"], 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 });
1578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabGroup, decorators: [{
1517
1579
  type: Component,
1518
1580
  args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, inputs: ['color', 'disableRipple'], providers: [
1519
1581
  {
@@ -1524,7 +1586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1524
1586
  'class': 'mat-tab-group',
1525
1587
  '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
1526
1588
  '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
1527
- }, 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 (_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"] }]
1589
+ }, 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}"] }]
1528
1590
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1529
1591
  type: Inject,
1530
1592
  args: [MAT_TABS_CONFIG]
@@ -1620,9 +1682,9 @@ class _MatTabNavBase extends MatPaginatedTabHeader {
1620
1682
  return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
1621
1683
  }
1622
1684
  }
1623
- _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1624
- _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabNavBase, decorators: [{
1685
+ _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1686
+ _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabNavBase, decorators: [{
1626
1688
  type: Directive
1627
1689
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1628
1690
  type: Optional
@@ -1649,9 +1711,9 @@ class MatTabNav extends _MatTabNavBase {
1649
1711
  super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);
1650
1712
  }
1651
1713
  }
1652
- MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1653
- MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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: "<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-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<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}.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 });
1654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNav, decorators: [{
1714
+ MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1715
+ MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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}}"], 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 });
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNav, decorators: [{
1655
1717
  type: Component,
1656
1718
  args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', inputs: ['color'], host: {
1657
1719
  '[attr.role]': '_getRole()',
@@ -1661,7 +1723,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1661
1723
  '[class.mat-primary]': 'color !== "warn" && color !== "accent"',
1662
1724
  '[class.mat-accent]': 'color === "accent"',
1663
1725
  '[class.mat-warn]': 'color === "warn"',
1664
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, 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-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<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}.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"] }]
1726
+ }, 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}}"] }]
1665
1727
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1666
1728
  type: Optional
1667
1729
  }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1774,16 +1836,16 @@ class _MatTabLinkBase extends _MatTabLinkMixinBase {
1774
1836
  }
1775
1837
  _getTabIndex() {
1776
1838
  if (this._tabNavBar.tabPanel) {
1777
- return this._isActive ? 0 : -1;
1839
+ return this._isActive && !this.disabled ? 0 : -1;
1778
1840
  }
1779
1841
  else {
1780
1842
  return this.tabIndex;
1781
1843
  }
1782
1844
  }
1783
1845
  }
1784
- _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1785
- _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1846
+ _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1847
+ _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1787
1849
  type: Directive
1788
1850
  }], ctorParameters: function () { return [{ type: _MatTabNavBase }, { type: i0.ElementRef }, { type: undefined, decorators: [{
1789
1851
  type: Optional
@@ -1817,9 +1879,9 @@ class MatTabLink extends _MatTabLinkBase {
1817
1879
  this._tabLinkRipple._removeTriggerEvents();
1818
1880
  }
1819
1881
  }
1820
- MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1821
- MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLink, decorators: [{
1882
+ MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1883
+ MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLink, decorators: [{
1823
1885
  type: Directive,
1824
1886
  args: [{
1825
1887
  selector: '[mat-tab-link], [matTabLink]',
@@ -1863,9 +1925,9 @@ class MatTabNavPanel {
1863
1925
  this.id = `mat-tab-nav-panel-${nextUniqueId++}`;
1864
1926
  }
1865
1927
  }
1866
- MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1867
- MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", 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 });
1868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNavPanel, decorators: [{
1928
+ MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1929
+ MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", 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 });
1930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNavPanel, decorators: [{
1869
1931
  type: Component,
1870
1932
  args: [{
1871
1933
  selector: 'mat-tab-nav-panel',
@@ -1893,8 +1955,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1893
1955
  */
1894
1956
  class MatTabsModule {
1895
1957
  }
1896
- MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1897
- MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1958
+ MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1959
+ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1898
1960
  MatTabLabel,
1899
1961
  MatTab,
1900
1962
  MatInkBar,
@@ -1918,7 +1980,7 @@ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1918
1980
  MatTabNavPanel,
1919
1981
  MatTabLink,
1920
1982
  MatTabContent] });
1921
- MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, imports: [[
1983
+ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, imports: [[
1922
1984
  CommonModule,
1923
1985
  MatCommonModule,
1924
1986
  PortalModule,
@@ -1926,7 +1988,7 @@ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
1926
1988
  ObserversModule,
1927
1989
  A11yModule,
1928
1990
  ], MatCommonModule] });
1929
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, decorators: [{
1991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, decorators: [{
1930
1992
  type: NgModule,
1931
1993
  args: [{
1932
1994
  imports: [