@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/fesm2015/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 { trigger, state, style, transition, animate } from '@angular/animations';
16
- import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
17
17
  import * as i1 from '@angular/cdk/bidi';
18
- import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
18
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
19
19
  import { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';
20
20
  import * as i3 from '@angular/cdk/platform';
21
21
  import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
@@ -62,14 +62,12 @@ class MatInkBar {
62
62
  */
63
63
  alignToElement(element) {
64
64
  this.show();
65
- if (typeof requestAnimationFrame !== 'undefined') {
66
- this._ngZone.runOutsideAngular(() => {
67
- requestAnimationFrame(() => this._setStyles(element));
68
- });
69
- }
70
- else {
71
- this._setStyles(element);
72
- }
65
+ this._ngZone.onStable.pipe(take(1)).subscribe(() => {
66
+ const positions = this._inkBarPositioner(element);
67
+ const inkBar = this._elementRef.nativeElement;
68
+ inkBar.style.left = positions.left;
69
+ inkBar.style.width = positions.width;
70
+ });
73
71
  }
74
72
  /** Shows the ink bar. */
75
73
  show() {
@@ -79,20 +77,10 @@ class MatInkBar {
79
77
  hide() {
80
78
  this._elementRef.nativeElement.style.visibility = 'hidden';
81
79
  }
82
- /**
83
- * Sets the proper styles to the ink bar element.
84
- * @param element
85
- */
86
- _setStyles(element) {
87
- const positions = this._inkBarPositioner(element);
88
- const inkBar = this._elementRef.nativeElement;
89
- inkBar.style.left = positions.left;
90
- inkBar.style.width = positions.width;
91
- }
92
80
  }
93
- MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-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',
@@ -132,9 +120,9 @@ class MatTabContent {
132
120
  this.template = template;
133
121
  }
134
122
  }
135
- MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
136
- MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabContent, decorators: [{
123
+ 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 });
124
+ 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 });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabContent, decorators: [{
138
126
  type: Directive,
139
127
  args: [{
140
128
  selector: '[matTabContent]',
@@ -167,9 +155,9 @@ class MatTabLabel extends CdkPortal {
167
155
  this._closestTab = _closestTab;
168
156
  }
169
157
  }
170
- MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
171
- MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabel, decorators: [{
158
+ 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 });
159
+ 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 });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabel, decorators: [{
173
161
  type: Directive,
174
162
  args: [{
175
163
  selector: '[mat-tab-label], [matTabLabel]',
@@ -264,9 +252,9 @@ class MatTab extends _MatTabBase {
264
252
  }
265
253
  }
266
254
  }
267
- MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
268
- MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-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 });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTab, decorators: [{
255
+ 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 });
256
+ 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 });
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTab, decorators: [{
270
258
  type: Component,
271
259
  args: [{ selector: 'mat-tab', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matTab', providers: [{ provide: MAT_TAB, useExisting: MatTab }], template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
272
260
  }], ctorParameters: function () {
@@ -314,21 +302,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
314
302
  const matTabsAnimations = {
315
303
  /** Animation translates a tab along the X axis. */
316
304
  translateTab: trigger('translateTab', [
317
- // Note: transitions to `none` instead of 0, because some browsers might blur the content.
305
+ // Transitions to `none` instead of 0, because some browsers might blur the content.
318
306
  state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),
319
307
  // If the tab is either on the left or right, we additionally add a `min-height` of 1px
320
308
  // in order to ensure that the element has a height before its state changes. This is
321
309
  // necessary because Chrome does seem to skip the transition in RTL mode if the element does
322
310
  // not have a static height and is not rendered. See related issue: #9465
323
- state('left', style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
324
- state('right', style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
311
+ state('left', style({
312
+ transform: 'translate3d(-100%, 0, 0)',
313
+ minHeight: '1px',
314
+ // Normally this is redundant since we detach the content from the DOM, but if the user
315
+ // opted into keeping the content in the DOM, we have to hide it so it isn't focusable.
316
+ visibility: 'hidden',
317
+ })),
318
+ state('right', style({
319
+ transform: 'translate3d(100%, 0, 0)',
320
+ minHeight: '1px',
321
+ visibility: 'hidden',
322
+ })),
325
323
  transition('* => left, * => right, left => center, right => center', animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
326
324
  transition('void => left-origin-center', [
327
- style({ transform: 'translate3d(-100%, 0, 0)' }),
325
+ style({ transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden' }),
328
326
  animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),
329
327
  ]),
330
328
  transition('void => right-origin-center', [
331
- style({ transform: 'translate3d(100%, 0, 0)' }),
329
+ style({ transform: 'translate3d(100%, 0, 0)', visibility: 'hidden' }),
332
330
  animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),
333
331
  ]),
334
332
  ]),
@@ -365,7 +363,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
365
363
  }
366
364
  });
367
365
  this._leavingSub = this._host._afterLeavingCenter.subscribe(() => {
368
- this.detach();
366
+ if (!this._host.preserveContent) {
367
+ this.detach();
368
+ }
369
369
  });
370
370
  }
371
371
  /** Clean up centering subscription. */
@@ -375,9 +375,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
375
375
  this._leavingSub.unsubscribe();
376
376
  }
377
377
  }
378
- 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 });
379
- MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
380
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBodyPortal, decorators: [{
378
+ 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 });
379
+ MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBodyPortal, decorators: [{
381
381
  type: Directive,
382
382
  args: [{
383
383
  selector: '[matTabBodyHost]',
@@ -415,6 +415,8 @@ class _MatTabBodyBase {
415
415
  // anyway to prevent the animations module from throwing an error if the body is used on its own.
416
416
  /** Duration for the tab's animation. */
417
417
  this.animationDuration = '500ms';
418
+ /** Whether the tab's content should be kept in the DOM while it's off-screen. */
419
+ this.preserveContent = false;
418
420
  if (_dir) {
419
421
  this._dirChangeSubscription = _dir.change.subscribe((dir) => {
420
422
  this._computePositionAnimationState(dir);
@@ -494,9 +496,9 @@ class _MatTabBodyBase {
494
496
  return 'right-origin-center';
495
497
  }
496
498
  }
497
- _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 });
498
- _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 });
499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabBodyBase, decorators: [{
499
+ _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 });
500
+ _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 });
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabBodyBase, decorators: [{
500
502
  type: Directive
501
503
  }], ctorParameters: function () {
502
504
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
@@ -517,6 +519,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
517
519
  type: Input
518
520
  }], animationDuration: [{
519
521
  type: Input
522
+ }], preserveContent: [{
523
+ type: Input
520
524
  }], position: [{
521
525
  type: Input
522
526
  }] } });
@@ -529,13 +533,13 @@ class MatTabBody extends _MatTabBodyBase {
529
533
  super(elementRef, dir, changeDetectorRef);
530
534
  }
531
535
  }
532
- 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 });
533
- 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 });
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabBody, decorators: [{
536
+ 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 });
537
+ 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 });
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabBody, decorators: [{
535
539
  type: Component,
536
540
  args: [{ selector: 'mat-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matTabsAnimations.translateTab], host: {
537
541
  'class': 'mat-tab-body',
538
- }, 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"] }]
542
+ }, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}"] }]
539
543
  }], ctorParameters: function () {
540
544
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
541
545
  type: Optional
@@ -586,9 +590,9 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperBase {
586
590
  return this.elementRef.nativeElement.offsetWidth;
587
591
  }
588
592
  }
589
- 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 });
590
- 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 });
591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
593
+ 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 });
594
+ 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 });
595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
592
596
  type: Directive,
593
597
  args: [{
594
598
  selector: '[matTabLabelWrapper]',
@@ -653,11 +657,7 @@ class MatPaginatedTabHeader {
653
657
  this._disableScrollBefore = true;
654
658
  /** Stream that will stop the automated scrolling. */
655
659
  this._stopScrolling = new Subject();
656
- /**
657
- * Whether pagination should be disabled. This can be used to avoid unnecessary
658
- * layout recalculations if it's known that pagination won't be required.
659
- */
660
- this.disablePagination = false;
660
+ this._disablePagination = false;
661
661
  this._selectedIndex = 0;
662
662
  /** Event emitted when the option is selected. */
663
663
  this.selectFocusedIndex = new EventEmitter();
@@ -672,6 +672,16 @@ class MatPaginatedTabHeader {
672
672
  });
673
673
  });
674
674
  }
675
+ /**
676
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
677
+ * layout recalculations if it's known that pagination won't be required.
678
+ */
679
+ get disablePagination() {
680
+ return this._disablePagination;
681
+ }
682
+ set disablePagination(value) {
683
+ this._disablePagination = coerceBooleanProperty(value);
684
+ }
675
685
  /** The index of the active tab. */
676
686
  get selectedIndex() {
677
687
  return this._selectedIndex;
@@ -713,7 +723,9 @@ class MatPaginatedTabHeader {
713
723
  this._keyManager.updateActiveItem(this._selectedIndex);
714
724
  // Defer the first call in order to allow for slower browsers to lay out the elements.
715
725
  // This helps in cases where the user lands directly on a page with paginated tabs.
716
- typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();
726
+ // Note that we use `onStable` instead of `requestAnimationFrame`, because the latter
727
+ // can hold up tests that are in a background tab.
728
+ this._ngZone.onStable.pipe(take(1)).subscribe(realign);
717
729
  // On dir change or window resize, realign the ink bar and update the orientation of
718
730
  // the key manager if the direction has changed.
719
731
  merge(dirChange, resize, this._items.changes)
@@ -722,7 +734,13 @@ class MatPaginatedTabHeader {
722
734
  // We need to defer this to give the browser some time to recalculate
723
735
  // the element dimensions. The call has to be wrapped in `NgZone.run`,
724
736
  // because the viewport change handler runs outside of Angular.
725
- this._ngZone.run(() => Promise.resolve().then(realign));
737
+ this._ngZone.run(() => {
738
+ Promise.resolve().then(() => {
739
+ // Clamp the scroll distance, because it can change with the number of tabs.
740
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));
741
+ realign();
742
+ });
743
+ });
726
744
  this._keyManager.withHorizontalOrientation(this._getLayoutDirection());
727
745
  });
728
746
  // If there is a change in the focus key manager we need to emit the `indexFocused`
@@ -1058,9 +1076,9 @@ class MatPaginatedTabHeader {
1058
1076
  return { maxScrollDistance, distance: this._scrollDistance };
1059
1077
  }
1060
1078
  }
1061
- 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 });
1062
- MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1079
+ 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 });
1080
+ MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1064
1082
  type: Directive
1065
1083
  }], ctorParameters: function () {
1066
1084
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
@@ -1095,9 +1113,9 @@ class _MatTabHeaderBase extends MatPaginatedTabHeader {
1095
1113
  event.preventDefault();
1096
1114
  }
1097
1115
  }
1098
- _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 });
1099
- _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1116
+ _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 });
1117
+ _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1101
1119
  type: Directive
1102
1120
  }], ctorParameters: function () {
1103
1121
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
@@ -1123,15 +1141,15 @@ class MatTabHeader extends _MatTabHeaderBase {
1123
1141
  super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
1124
1142
  }
1125
1143
  }
1126
- 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 });
1127
- 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 });
1128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabHeader, decorators: [{
1144
+ 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 });
1145
+ 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 });
1146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabHeader, decorators: [{
1129
1147
  type: Component,
1130
1148
  args: [{ selector: 'mat-tab-header', inputs: ['selectedIndex'], outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
1131
1149
  'class': 'mat-tab-header',
1132
1150
  '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
1133
1151
  '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
1134
- }, 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"] }]
1152
+ }, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"] }]
1135
1153
  }], ctorParameters: function () {
1136
1154
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1137
1155
  type: Optional
@@ -1197,15 +1215,20 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1197
1215
  this._tabs = new QueryList();
1198
1216
  /** The tab index that should be selected after the content has been checked. */
1199
1217
  this._indexToSelect = 0;
1218
+ /** Index of the tab that was focused last. */
1219
+ this._lastFocusedTabIndex = null;
1200
1220
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1201
1221
  this._tabBodyWrapperHeight = 0;
1202
1222
  /** Subscription to tabs being added/removed. */
1203
1223
  this._tabsSubscription = Subscription.EMPTY;
1204
1224
  /** Subscription to changes in the tab labels. */
1205
1225
  this._tabLabelSubscription = Subscription.EMPTY;
1226
+ this._dynamicHeight = false;
1206
1227
  this._selectedIndex = null;
1207
1228
  /** Position of the tab header. */
1208
1229
  this.headerPosition = 'above';
1230
+ this._disablePagination = false;
1231
+ this._preserveContent = false;
1209
1232
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1210
1233
  this.selectedIndexChange = new EventEmitter();
1211
1234
  /** Event emitted when focus has changed within a tab group. */
@@ -1224,6 +1247,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1224
1247
  this.dynamicHeight =
1225
1248
  defaultConfig && defaultConfig.dynamicHeight != null ? defaultConfig.dynamicHeight : false;
1226
1249
  this.contentTabIndex = (_a = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.contentTabIndex) !== null && _a !== void 0 ? _a : null;
1250
+ this.preserveContent = !!(defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.preserveContent);
1227
1251
  }
1228
1252
  /** Whether the tab group should grow to the size of the active tab. */
1229
1253
  get dynamicHeight() {
@@ -1258,6 +1282,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1258
1282
  set contentTabIndex(value) {
1259
1283
  this._contentTabIndex = coerceNumberProperty(value, null);
1260
1284
  }
1285
+ /**
1286
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
1287
+ * layout recalculations if it's known that pagination won't be required.
1288
+ */
1289
+ get disablePagination() {
1290
+ return this._disablePagination;
1291
+ }
1292
+ set disablePagination(value) {
1293
+ this._disablePagination = coerceBooleanProperty(value);
1294
+ }
1295
+ /**
1296
+ * By default tabs remove their content from the DOM while it's off-screen.
1297
+ * Setting this to `true` will keep it in the DOM which will prevent elements
1298
+ * like iframes and videos from reloading next time it comes back into the view.
1299
+ */
1300
+ get preserveContent() {
1301
+ return this._preserveContent;
1302
+ }
1303
+ set preserveContent(value) {
1304
+ this._preserveContent = coerceBooleanProperty(value);
1305
+ }
1261
1306
  /** Background color of the tab group. */
1262
1307
  get backgroundColor() {
1263
1308
  return this._backgroundColor;
@@ -1314,6 +1359,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1314
1359
  });
1315
1360
  if (this._selectedIndex !== indexToSelect) {
1316
1361
  this._selectedIndex = indexToSelect;
1362
+ this._lastFocusedTabIndex = null;
1317
1363
  this._changeDetectorRef.markForCheck();
1318
1364
  }
1319
1365
  }
@@ -1328,15 +1374,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1328
1374
  // explicit change that selects a different tab.
1329
1375
  if (indexToSelect === this._selectedIndex) {
1330
1376
  const tabs = this._tabs.toArray();
1377
+ let selectedTab;
1331
1378
  for (let i = 0; i < tabs.length; i++) {
1332
1379
  if (tabs[i].isActive) {
1333
1380
  // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1334
1381
  // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1335
1382
  // adding a tab within the `selectedIndexChange` event.
1336
1383
  this._indexToSelect = this._selectedIndex = i;
1384
+ this._lastFocusedTabIndex = null;
1385
+ selectedTab = tabs[i];
1337
1386
  break;
1338
1387
  }
1339
1388
  }
1389
+ // If we haven't found an active tab and a tab exists at the selected index, it means
1390
+ // that the active tab was swapped out. Since this won't be picked up by the rendering
1391
+ // loop in `ngAfterContentChecked`, we need to sync it up manually.
1392
+ if (!selectedTab && tabs[indexToSelect]) {
1393
+ Promise.resolve().then(() => {
1394
+ tabs[indexToSelect].isActive = true;
1395
+ this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
1396
+ });
1397
+ }
1340
1398
  }
1341
1399
  this._changeDetectorRef.markForCheck();
1342
1400
  });
@@ -1387,6 +1445,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1387
1445
  }
1388
1446
  }
1389
1447
  _focusChanged(index) {
1448
+ this._lastFocusedTabIndex = index;
1390
1449
  this.focusChange.emit(this._createChangeEvent(index));
1391
1450
  }
1392
1451
  _createChangeEvent(index) {
@@ -1454,11 +1513,13 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1454
1513
  }
1455
1514
  }
1456
1515
  /** Retrieves the tabindex for the tab. */
1457
- _getTabIndex(tab, idx) {
1516
+ _getTabIndex(tab, index) {
1517
+ var _a;
1458
1518
  if (tab.disabled) {
1459
1519
  return null;
1460
1520
  }
1461
- return this.selectedIndex === idx ? 0 : -1;
1521
+ const targetIndex = (_a = this._lastFocusedTabIndex) !== null && _a !== void 0 ? _a : this.selectedIndex;
1522
+ return index === targetIndex ? 0 : -1;
1462
1523
  }
1463
1524
  /** Callback for when the focused state of a tab has changed. */
1464
1525
  _tabFocusChanged(focusOrigin, index) {
@@ -1471,9 +1532,9 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1471
1532
  }
1472
1533
  }
1473
1534
  }
1474
- _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 });
1475
- _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 });
1476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1535
+ _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 });
1536
+ _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 });
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1477
1538
  type: Directive
1478
1539
  }], ctorParameters: function () {
1479
1540
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -1499,6 +1560,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1499
1560
  type: Input
1500
1561
  }], disablePagination: [{
1501
1562
  type: Input
1563
+ }], preserveContent: [{
1564
+ type: Input
1502
1565
  }], backgroundColor: [{
1503
1566
  type: Input
1504
1567
  }], selectedIndexChange: [{
@@ -1520,14 +1583,14 @@ class MatTabGroup extends _MatTabGroupBase {
1520
1583
  super(elementRef, changeDetectorRef, defaultConfig, animationMode);
1521
1584
  }
1522
1585
  }
1523
- 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 });
1524
- 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: [
1586
+ 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 });
1587
+ 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: [
1525
1588
  {
1526
1589
  provide: MAT_TAB_GROUP,
1527
1590
  useExisting: MatTabGroup,
1528
1591
  },
1529
- ], 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 });
1530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabGroup, decorators: [{
1592
+ ], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"], 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 });
1593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabGroup, decorators: [{
1531
1594
  type: Component,
1532
1595
  args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, inputs: ['color', 'disableRipple'], providers: [
1533
1596
  {
@@ -1538,7 +1601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1538
1601
  'class': 'mat-tab-group',
1539
1602
  '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
1540
1603
  '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
1541
- }, 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"] }]
1604
+ }, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"] }]
1542
1605
  }], ctorParameters: function () {
1543
1606
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1544
1607
  type: Inject,
@@ -1629,9 +1692,9 @@ class _MatTabNavBase extends MatPaginatedTabHeader {
1629
1692
  return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
1630
1693
  }
1631
1694
  }
1632
- _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 });
1633
- _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 });
1634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabNavBase, decorators: [{
1695
+ _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 });
1696
+ _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 });
1697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabNavBase, decorators: [{
1635
1698
  type: Directive
1636
1699
  }], ctorParameters: function () {
1637
1700
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
@@ -1660,9 +1723,9 @@ class MatTabNav extends _MatTabNavBase {
1660
1723
  super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);
1661
1724
  }
1662
1725
  }
1663
- 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 });
1664
- 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 });
1665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNav, decorators: [{
1726
+ 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 });
1727
+ 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 });
1728
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNav, decorators: [{
1666
1729
  type: Component,
1667
1730
  args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', inputs: ['color'], host: {
1668
1731
  '[attr.role]': '_getRole()',
@@ -1672,7 +1735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1672
1735
  '[class.mat-primary]': 'color !== "warn" && color !== "accent"',
1673
1736
  '[class.mat-accent]': 'color === "accent"',
1674
1737
  '[class.mat-warn]': 'color === "warn"',
1675
- }, 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"] }]
1738
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}"] }]
1676
1739
  }], ctorParameters: function () {
1677
1740
  return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1678
1741
  type: Optional
@@ -1788,16 +1851,16 @@ class _MatTabLinkBase extends _MatTabLinkMixinBase {
1788
1851
  }
1789
1852
  _getTabIndex() {
1790
1853
  if (this._tabNavBar.tabPanel) {
1791
- return this._isActive ? 0 : -1;
1854
+ return this._isActive && !this.disabled ? 0 : -1;
1792
1855
  }
1793
1856
  else {
1794
1857
  return this.tabIndex;
1795
1858
  }
1796
1859
  }
1797
1860
  }
1798
- _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 });
1799
- _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 });
1800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1861
+ _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 });
1862
+ _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 });
1863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1801
1864
  type: Directive
1802
1865
  }], ctorParameters: function () {
1803
1866
  return [{ type: _MatTabNavBase }, { type: i0.ElementRef }, { type: undefined, decorators: [{
@@ -1833,9 +1896,9 @@ class MatTabLink extends _MatTabLinkBase {
1833
1896
  this._tabLinkRipple._removeTriggerEvents();
1834
1897
  }
1835
1898
  }
1836
- 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 });
1837
- 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 });
1838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabLink, decorators: [{
1899
+ 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 });
1900
+ 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 });
1901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabLink, decorators: [{
1839
1902
  type: Directive,
1840
1903
  args: [{
1841
1904
  selector: '[mat-tab-link], [matTabLink]',
@@ -1881,9 +1944,9 @@ class MatTabNavPanel {
1881
1944
  this.id = `mat-tab-nav-panel-${nextUniqueId++}`;
1882
1945
  }
1883
1946
  }
1884
- MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1885
- 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 });
1886
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabNavPanel, decorators: [{
1947
+ MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1948
+ 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 });
1949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabNavPanel, decorators: [{
1887
1950
  type: Component,
1888
1951
  args: [{
1889
1952
  selector: 'mat-tab-nav-panel',
@@ -1911,8 +1974,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1911
1974
  */
1912
1975
  class MatTabsModule {
1913
1976
  }
1914
- MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1915
- MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1977
+ MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1978
+ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1916
1979
  MatTabLabel,
1917
1980
  MatTab,
1918
1981
  MatInkBar,
@@ -1936,7 +1999,7 @@ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1936
1999
  MatTabNavPanel,
1937
2000
  MatTabLink,
1938
2001
  MatTabContent] });
1939
- MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, imports: [[
2002
+ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, imports: [[
1940
2003
  CommonModule,
1941
2004
  MatCommonModule,
1942
2005
  PortalModule,
@@ -1944,7 +2007,7 @@ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
1944
2007
  ObserversModule,
1945
2008
  A11yModule,
1946
2009
  ], MatCommonModule] });
1947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatTabsModule, decorators: [{
2010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatTabsModule, decorators: [{
1948
2011
  type: NgModule,
1949
2012
  args: [{
1950
2013
  imports: [