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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-origin.d.ts +2 -2
  3. package/autocomplete/autocomplete-trigger.d.ts +16 -5
  4. package/autocomplete/autocomplete.d.ts +8 -2
  5. package/badge/_badge-theme.scss +11 -2
  6. package/badge/badge.d.ts +1 -1
  7. package/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  8. package/button/button.d.ts +2 -2
  9. package/button-toggle/_button-toggle-theme.scss +14 -2
  10. package/button-toggle/button-toggle.d.ts +2 -2
  11. package/card/card.d.ts +14 -14
  12. package/checkbox/_checkbox-theme.scss +1 -1
  13. package/checkbox/checkbox-required-validator.d.ts +1 -1
  14. package/checkbox/checkbox.d.ts +2 -2
  15. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  16. package/chips/chip-input.d.ts +3 -6
  17. package/chips/chip-list.d.ts +21 -6
  18. package/chips/chip.d.ts +7 -7
  19. package/core/_core.scss +5 -7
  20. package/core/common-behaviors/error-state.d.ts +1 -2
  21. package/core/datetime/index.d.ts +1 -2
  22. package/core/line/line.d.ts +1 -1
  23. package/core/option/optgroup.d.ts +2 -2
  24. package/core/option/option.d.ts +2 -2
  25. package/core/ripple/_ripple.scss +2 -2
  26. package/core/ripple/index.d.ts +1 -2
  27. package/core/ripple/ripple-ref.d.ts +2 -1
  28. package/core/ripple/ripple-renderer.d.ts +16 -3
  29. package/core/ripple/ripple.d.ts +1 -1
  30. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  31. package/core/style/_menu-common.scss +3 -2
  32. package/core/style/_vendor-prefixes.scss +1 -17
  33. package/core/theming/_theming.scss +10 -1
  34. package/core/typography/_typography.scss +51 -14
  35. package/datepicker/calendar-body.d.ts +34 -4
  36. package/datepicker/calendar.d.ts +2 -2
  37. package/datepicker/date-range-input-parts.d.ts +7 -4
  38. package/datepicker/date-range-input.d.ts +1 -1
  39. package/datepicker/date-range-picker.d.ts +1 -1
  40. package/datepicker/datepicker-actions.d.ts +3 -3
  41. package/datepicker/datepicker-base.d.ts +4 -2
  42. package/datepicker/datepicker-input-base.d.ts +1 -1
  43. package/datepicker/datepicker-input.d.ts +1 -1
  44. package/datepicker/datepicker-toggle.d.ts +2 -2
  45. package/datepicker/datepicker.d.ts +1 -1
  46. package/datepicker/month-view.d.ts +19 -1
  47. package/datepicker/multi-year-view.d.ts +19 -1
  48. package/datepicker/year-view.d.ts +19 -1
  49. package/dialog/dialog-animations.d.ts +10 -0
  50. package/dialog/dialog-config.d.ts +12 -1
  51. package/dialog/dialog-container.d.ts +14 -6
  52. package/dialog/dialog-content-directives.d.ts +8 -4
  53. package/dialog/dialog.d.ts +13 -7
  54. package/dialog/public-api.d.ts +1 -1
  55. package/dialog/testing/dialog-opener.d.ts +33 -0
  56. package/dialog/testing/public-api.d.ts +1 -0
  57. package/divider/divider.d.ts +1 -1
  58. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  59. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  60. package/esm2020/autocomplete/autocomplete-trigger.mjs +102 -50
  61. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  62. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  63. package/esm2020/badge/badge-module.mjs +5 -5
  64. package/esm2020/badge/badge.mjs +4 -4
  65. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  66. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  67. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  68. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  69. package/esm2020/button/button-module.mjs +5 -5
  70. package/esm2020/button/button.mjs +10 -10
  71. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  72. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  73. package/esm2020/card/card-module.mjs +5 -5
  74. package/esm2020/card/card.mjs +44 -44
  75. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  76. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  77. package/esm2020/checkbox/checkbox.mjs +12 -8
  78. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  79. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  80. package/esm2020/chips/chip-input.mjs +4 -4
  81. package/esm2020/chips/chip-list.mjs +34 -9
  82. package/esm2020/chips/chip.mjs +20 -17
  83. package/esm2020/chips/chips-module.mjs +5 -5
  84. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  85. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  86. package/esm2020/core/datetime/index.mjs +9 -11
  87. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  88. package/esm2020/core/error/error-options.mjs +7 -7
  89. package/esm2020/core/line/line.mjs +8 -8
  90. package/esm2020/core/option/index.mjs +5 -5
  91. package/esm2020/core/option/optgroup.mjs +8 -8
  92. package/esm2020/core/option/option.mjs +10 -10
  93. package/esm2020/core/ripple/index.mjs +6 -7
  94. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  95. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  96. package/esm2020/core/ripple/ripple.mjs +4 -4
  97. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  98. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  99. package/esm2020/core/version.mjs +1 -1
  100. package/esm2020/datepicker/calendar-body.mjs +57 -12
  101. package/esm2020/datepicker/calendar.mjs +27 -16
  102. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  103. package/esm2020/datepicker/date-range-input.mjs +6 -6
  104. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  105. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  106. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  107. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  108. package/esm2020/datepicker/datepicker-base.mjs +12 -20
  109. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  110. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  111. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  112. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  113. package/esm2020/datepicker/datepicker-toggle.mjs +10 -10
  114. package/esm2020/datepicker/datepicker.mjs +4 -4
  115. package/esm2020/datepicker/month-view.mjs +38 -11
  116. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  117. package/esm2020/datepicker/year-view.mjs +41 -10
  118. package/esm2020/dialog/dialog-animations.mjs +17 -4
  119. package/esm2020/dialog/dialog-config.mjs +8 -1
  120. package/esm2020/dialog/dialog-container.mjs +44 -26
  121. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  122. package/esm2020/dialog/dialog-module.mjs +5 -5
  123. package/esm2020/dialog/dialog.mjs +24 -40
  124. package/esm2020/dialog/public-api.mjs +2 -2
  125. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  126. package/esm2020/dialog/testing/public-api.mjs +2 -1
  127. package/esm2020/divider/divider-module.mjs +5 -5
  128. package/esm2020/divider/divider.mjs +5 -5
  129. package/esm2020/expansion/accordion.mjs +4 -4
  130. package/esm2020/expansion/expansion-module.mjs +5 -5
  131. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  132. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  133. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  134. package/esm2020/expansion/expansion-panel.mjs +13 -10
  135. package/esm2020/expansion/public-api.mjs +2 -1
  136. package/esm2020/form-field/error.mjs +4 -4
  137. package/esm2020/form-field/form-field-control.mjs +4 -4
  138. package/esm2020/form-field/form-field-module.mjs +5 -5
  139. package/esm2020/form-field/form-field.mjs +22 -14
  140. package/esm2020/form-field/hint.mjs +4 -4
  141. package/esm2020/form-field/label.mjs +4 -4
  142. package/esm2020/form-field/placeholder.mjs +4 -4
  143. package/esm2020/form-field/prefix.mjs +4 -4
  144. package/esm2020/form-field/suffix.mjs +4 -4
  145. package/esm2020/form-field/testing/public-api.mjs +4 -4
  146. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  147. package/esm2020/grid-list/grid-list.mjs +6 -6
  148. package/esm2020/grid-list/grid-tile.mjs +17 -17
  149. package/esm2020/icon/icon-module.mjs +5 -5
  150. package/esm2020/icon/icon-registry.mjs +12 -14
  151. package/esm2020/icon/icon.mjs +31 -28
  152. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  153. package/esm2020/input/input-module.mjs +5 -5
  154. package/esm2020/input/input.mjs +41 -24
  155. package/esm2020/list/list-module.mjs +5 -5
  156. package/esm2020/list/list.mjs +21 -23
  157. package/esm2020/list/selection-list.mjs +15 -38
  158. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  159. package/esm2020/menu/menu-content.mjs +7 -7
  160. package/esm2020/menu/menu-errors.mjs +1 -12
  161. package/esm2020/menu/menu-item.mjs +10 -6
  162. package/esm2020/menu/menu-module.mjs +5 -5
  163. package/esm2020/menu/menu-trigger.mjs +73 -66
  164. package/esm2020/menu/menu.mjs +35 -14
  165. package/esm2020/paginator/paginator-intl.mjs +4 -4
  166. package/esm2020/paginator/paginator-module.mjs +5 -5
  167. package/esm2020/paginator/paginator.mjs +17 -13
  168. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  169. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  170. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  171. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  172. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  173. package/esm2020/progress-spinner/public-api.mjs +10 -2
  174. package/esm2020/radio/radio-module.mjs +5 -5
  175. package/esm2020/radio/radio.mjs +42 -14
  176. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  177. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  178. package/esm2020/select/select-module.mjs +5 -5
  179. package/esm2020/select/select.mjs +68 -30
  180. package/esm2020/sidenav/drawer.mjs +19 -14
  181. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  182. package/esm2020/sidenav/sidenav.mjs +12 -12
  183. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  184. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  185. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  186. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  187. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  188. package/esm2020/slider/slider-module.mjs +5 -5
  189. package/esm2020/slider/slider.mjs +5 -5
  190. package/esm2020/snack-bar/simple-snack-bar.mjs +7 -7
  191. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  192. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  193. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  194. package/esm2020/sort/sort-header-intl.mjs +4 -4
  195. package/esm2020/sort/sort-header.mjs +16 -8
  196. package/esm2020/sort/sort-module.mjs +5 -5
  197. package/esm2020/sort/sort.mjs +4 -4
  198. package/esm2020/stepper/public-api.mjs +2 -2
  199. package/esm2020/stepper/step-content.mjs +4 -4
  200. package/esm2020/stepper/step-header.mjs +8 -8
  201. package/esm2020/stepper/step-label.mjs +4 -4
  202. package/esm2020/stepper/stepper-animations.mjs +9 -3
  203. package/esm2020/stepper/stepper-button.mjs +7 -7
  204. package/esm2020/stepper/stepper-icon.mjs +4 -4
  205. package/esm2020/stepper/stepper-intl.mjs +4 -4
  206. package/esm2020/stepper/stepper-module.mjs +6 -10
  207. package/esm2020/stepper/stepper.mjs +42 -66
  208. package/esm2020/table/cell.mjs +22 -22
  209. package/esm2020/table/row.mjs +22 -22
  210. package/esm2020/table/table-module.mjs +5 -5
  211. package/esm2020/table/table.mjs +9 -9
  212. package/esm2020/table/text-column.mjs +5 -5
  213. package/esm2020/tabs/ink-bar.mjs +11 -22
  214. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  215. package/esm2020/tabs/tab-body.mjs +11 -11
  216. package/esm2020/tabs/tab-content.mjs +4 -4
  217. package/esm2020/tabs/tab-group.mjs +59 -18
  218. package/esm2020/tabs/tab-header.mjs +8 -8
  219. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  220. package/esm2020/tabs/tab-label.mjs +4 -4
  221. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  222. package/esm2020/tabs/tab.mjs +4 -4
  223. package/esm2020/tabs/tabs-module.mjs +5 -5
  224. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  225. package/esm2020/toolbar/toolbar.mjs +8 -8
  226. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  227. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  228. package/esm2020/tooltip/tooltip.mjs +126 -51
  229. package/esm2020/tree/node.mjs +10 -10
  230. package/esm2020/tree/outlet.mjs +4 -4
  231. package/esm2020/tree/padding.mjs +4 -4
  232. package/esm2020/tree/toggle.mjs +4 -4
  233. package/esm2020/tree/tree-module.mjs +5 -5
  234. package/esm2020/tree/tree.mjs +5 -5
  235. package/expansion/accordion.d.ts +1 -1
  236. package/expansion/expansion-panel-base.d.ts +22 -0
  237. package/expansion/expansion-panel-content.d.ts +5 -3
  238. package/expansion/expansion-panel-header.d.ts +3 -3
  239. package/expansion/expansion-panel.d.ts +2 -2
  240. package/expansion/public-api.d.ts +1 -0
  241. package/fesm2015/autocomplete/testing.mjs +6 -0
  242. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  243. package/fesm2015/autocomplete.mjs +131 -68
  244. package/fesm2015/autocomplete.mjs.map +1 -1
  245. package/fesm2015/badge/testing.mjs.map +1 -1
  246. package/fesm2015/badge.mjs +7 -7
  247. package/fesm2015/badge.mjs.map +1 -1
  248. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  249. package/fesm2015/bottom-sheet.mjs +27 -16
  250. package/fesm2015/bottom-sheet.mjs.map +1 -1
  251. package/fesm2015/button/testing.mjs.map +1 -1
  252. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  253. package/fesm2015/button-toggle.mjs +11 -11
  254. package/fesm2015/button-toggle.mjs.map +1 -1
  255. package/fesm2015/button.mjs +13 -13
  256. package/fesm2015/button.mjs.map +1 -1
  257. package/fesm2015/card/testing.mjs.map +1 -1
  258. package/fesm2015/card.mjs +47 -47
  259. package/fesm2015/card.mjs.map +1 -1
  260. package/fesm2015/checkbox/testing.mjs +2 -1
  261. package/fesm2015/checkbox/testing.mjs.map +1 -1
  262. package/fesm2015/checkbox.mjs +22 -18
  263. package/fesm2015/checkbox.mjs.map +1 -1
  264. package/fesm2015/chips/testing.mjs.map +1 -1
  265. package/fesm2015/chips.mjs +59 -31
  266. package/fesm2015/chips.mjs.map +1 -1
  267. package/fesm2015/core/testing.mjs.map +1 -1
  268. package/fesm2015/core.mjs +181 -126
  269. package/fesm2015/core.mjs.map +1 -1
  270. package/fesm2015/datepicker/testing.mjs.map +1 -1
  271. package/fesm2015/datepicker.mjs +273 -130
  272. package/fesm2015/datepicker.mjs.map +1 -1
  273. package/fesm2015/dialog/testing.mjs +65 -2
  274. package/fesm2015/dialog/testing.mjs.map +1 -1
  275. package/fesm2015/dialog.mjs +144 -106
  276. package/fesm2015/dialog.mjs.map +1 -1
  277. package/fesm2015/divider/testing.mjs.map +1 -1
  278. package/fesm2015/divider.mjs +8 -8
  279. package/fesm2015/divider.mjs.map +1 -1
  280. package/fesm2015/expansion/testing.mjs.map +1 -1
  281. package/fesm2015/expansion.mjs +56 -33
  282. package/fesm2015/expansion.mjs.map +1 -1
  283. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  284. package/fesm2015/form-field/testing.mjs +1 -1
  285. package/fesm2015/form-field/testing.mjs.map +1 -1
  286. package/fesm2015/form-field.mjs +47 -38
  287. package/fesm2015/form-field.mjs.map +1 -1
  288. package/fesm2015/grid-list/testing.mjs.map +1 -1
  289. package/fesm2015/grid-list.mjs +25 -25
  290. package/fesm2015/grid-list.mjs.map +1 -1
  291. package/fesm2015/icon/testing.mjs +8 -8
  292. package/fesm2015/icon/testing.mjs.map +1 -1
  293. package/fesm2015/icon.mjs +45 -44
  294. package/fesm2015/icon.mjs.map +1 -1
  295. package/fesm2015/input/testing.mjs.map +1 -1
  296. package/fesm2015/input.mjs +45 -28
  297. package/fesm2015/input.mjs.map +1 -1
  298. package/fesm2015/list/testing.mjs +0 -10
  299. package/fesm2015/list/testing.mjs.map +1 -1
  300. package/fesm2015/list.mjs +41 -67
  301. package/fesm2015/list.mjs.map +1 -1
  302. package/fesm2015/material.mjs.map +1 -1
  303. package/fesm2015/menu/testing.mjs.map +1 -1
  304. package/fesm2015/menu.mjs +126 -101
  305. package/fesm2015/menu.mjs.map +1 -1
  306. package/fesm2015/paginator/testing.mjs +14 -0
  307. package/fesm2015/paginator/testing.mjs.map +1 -1
  308. package/fesm2015/paginator.mjs +23 -19
  309. package/fesm2015/paginator.mjs.map +1 -1
  310. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  311. package/fesm2015/progress-bar.mjs +11 -8
  312. package/fesm2015/progress-bar.mjs.map +1 -1
  313. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  314. package/fesm2015/progress-spinner.mjs +31 -63
  315. package/fesm2015/progress-spinner.mjs.map +1 -1
  316. package/fesm2015/radio/testing.mjs +2 -1
  317. package/fesm2015/radio/testing.mjs.map +1 -1
  318. package/fesm2015/radio.mjs +46 -17
  319. package/fesm2015/radio.mjs.map +1 -1
  320. package/fesm2015/select/testing.mjs.map +1 -1
  321. package/fesm2015/select.mjs +72 -34
  322. package/fesm2015/select.mjs.map +1 -1
  323. package/fesm2015/sidenav/testing.mjs.map +1 -1
  324. package/fesm2015/sidenav.mjs +36 -32
  325. package/fesm2015/sidenav.mjs.map +1 -1
  326. package/fesm2015/slide-toggle/testing.mjs +3 -1
  327. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  328. package/fesm2015/slide-toggle.mjs +16 -15
  329. package/fesm2015/slide-toggle.mjs.map +1 -1
  330. package/fesm2015/slider/testing.mjs.map +1 -1
  331. package/fesm2015/slider.mjs +8 -8
  332. package/fesm2015/slider.mjs.map +1 -1
  333. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  334. package/fesm2015/snack-bar.mjs +39 -33
  335. package/fesm2015/snack-bar.mjs.map +1 -1
  336. package/fesm2015/sort/testing.mjs.map +1 -1
  337. package/fesm2015/sort.mjs +128 -120
  338. package/fesm2015/sort.mjs.map +1 -1
  339. package/fesm2015/stepper/testing.mjs.map +1 -1
  340. package/fesm2015/stepper.mjs +75 -96
  341. package/fesm2015/stepper.mjs.map +1 -1
  342. package/fesm2015/table/testing.mjs.map +1 -1
  343. package/fesm2015/table.mjs +58 -58
  344. package/fesm2015/table.mjs.map +1 -1
  345. package/fesm2015/tabs/testing.mjs.map +1 -1
  346. package/fesm2015/tabs.mjs +139 -95
  347. package/fesm2015/tabs.mjs.map +1 -1
  348. package/fesm2015/toolbar/testing.mjs.map +1 -1
  349. package/fesm2015/toolbar.mjs +11 -11
  350. package/fesm2015/toolbar.mjs.map +1 -1
  351. package/fesm2015/tooltip/testing.mjs +11 -8
  352. package/fesm2015/tooltip/testing.mjs.map +1 -1
  353. package/fesm2015/tooltip.mjs +154 -79
  354. package/fesm2015/tooltip.mjs.map +1 -1
  355. package/fesm2015/tree/testing.mjs.map +1 -1
  356. package/fesm2015/tree.mjs +26 -26
  357. package/fesm2015/tree.mjs.map +1 -1
  358. package/fesm2020/autocomplete/testing.mjs +6 -0
  359. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  360. package/fesm2020/autocomplete.mjs +130 -68
  361. package/fesm2020/autocomplete.mjs.map +1 -1
  362. package/fesm2020/badge/testing.mjs.map +1 -1
  363. package/fesm2020/badge.mjs +7 -7
  364. package/fesm2020/badge.mjs.map +1 -1
  365. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  366. package/fesm2020/bottom-sheet.mjs +27 -16
  367. package/fesm2020/bottom-sheet.mjs.map +1 -1
  368. package/fesm2020/button/testing.mjs.map +1 -1
  369. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  370. package/fesm2020/button-toggle.mjs +11 -11
  371. package/fesm2020/button-toggle.mjs.map +1 -1
  372. package/fesm2020/button.mjs +13 -13
  373. package/fesm2020/button.mjs.map +1 -1
  374. package/fesm2020/card/testing.mjs.map +1 -1
  375. package/fesm2020/card.mjs +47 -47
  376. package/fesm2020/card.mjs.map +1 -1
  377. package/fesm2020/checkbox/testing.mjs +2 -1
  378. package/fesm2020/checkbox/testing.mjs.map +1 -1
  379. package/fesm2020/checkbox.mjs +22 -18
  380. package/fesm2020/checkbox.mjs.map +1 -1
  381. package/fesm2020/chips/testing.mjs.map +1 -1
  382. package/fesm2020/chips.mjs +59 -31
  383. package/fesm2020/chips.mjs.map +1 -1
  384. package/fesm2020/core/testing.mjs.map +1 -1
  385. package/fesm2020/core.mjs +180 -126
  386. package/fesm2020/core.mjs.map +1 -1
  387. package/fesm2020/datepicker/testing.mjs.map +1 -1
  388. package/fesm2020/datepicker.mjs +273 -130
  389. package/fesm2020/datepicker.mjs.map +1 -1
  390. package/fesm2020/dialog/testing.mjs +65 -1
  391. package/fesm2020/dialog/testing.mjs.map +1 -1
  392. package/fesm2020/dialog.mjs +143 -106
  393. package/fesm2020/dialog.mjs.map +1 -1
  394. package/fesm2020/divider/testing.mjs.map +1 -1
  395. package/fesm2020/divider.mjs +8 -8
  396. package/fesm2020/divider.mjs.map +1 -1
  397. package/fesm2020/expansion/testing.mjs.map +1 -1
  398. package/fesm2020/expansion.mjs +54 -33
  399. package/fesm2020/expansion.mjs.map +1 -1
  400. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  401. package/fesm2020/form-field/testing.mjs +1 -1
  402. package/fesm2020/form-field/testing.mjs.map +1 -1
  403. package/fesm2020/form-field.mjs +46 -38
  404. package/fesm2020/form-field.mjs.map +1 -1
  405. package/fesm2020/grid-list/testing.mjs.map +1 -1
  406. package/fesm2020/grid-list.mjs +25 -25
  407. package/fesm2020/grid-list.mjs.map +1 -1
  408. package/fesm2020/icon/testing.mjs +8 -8
  409. package/fesm2020/icon/testing.mjs.map +1 -1
  410. package/fesm2020/icon.mjs +45 -44
  411. package/fesm2020/icon.mjs.map +1 -1
  412. package/fesm2020/input/testing.mjs.map +1 -1
  413. package/fesm2020/input.mjs +44 -27
  414. package/fesm2020/input.mjs.map +1 -1
  415. package/fesm2020/list/testing.mjs +0 -8
  416. package/fesm2020/list/testing.mjs.map +1 -1
  417. package/fesm2020/list.mjs +38 -63
  418. package/fesm2020/list.mjs.map +1 -1
  419. package/fesm2020/material.mjs.map +1 -1
  420. package/fesm2020/menu/testing.mjs.map +1 -1
  421. package/fesm2020/menu.mjs +122 -101
  422. package/fesm2020/menu.mjs.map +1 -1
  423. package/fesm2020/paginator/testing.mjs +10 -0
  424. package/fesm2020/paginator/testing.mjs.map +1 -1
  425. package/fesm2020/paginator.mjs +23 -19
  426. package/fesm2020/paginator.mjs.map +1 -1
  427. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  428. package/fesm2020/progress-bar.mjs +11 -8
  429. package/fesm2020/progress-bar.mjs.map +1 -1
  430. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  431. package/fesm2020/progress-spinner.mjs +31 -61
  432. package/fesm2020/progress-spinner.mjs.map +1 -1
  433. package/fesm2020/radio/testing.mjs +2 -1
  434. package/fesm2020/radio/testing.mjs.map +1 -1
  435. package/fesm2020/radio.mjs +45 -17
  436. package/fesm2020/radio.mjs.map +1 -1
  437. package/fesm2020/select/testing.mjs.map +1 -1
  438. package/fesm2020/select.mjs +72 -34
  439. package/fesm2020/select.mjs.map +1 -1
  440. package/fesm2020/sidenav/testing.mjs.map +1 -1
  441. package/fesm2020/sidenav.mjs +36 -32
  442. package/fesm2020/sidenav.mjs.map +1 -1
  443. package/fesm2020/slide-toggle/testing.mjs +3 -1
  444. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  445. package/fesm2020/slide-toggle.mjs +16 -15
  446. package/fesm2020/slide-toggle.mjs.map +1 -1
  447. package/fesm2020/slider/testing.mjs.map +1 -1
  448. package/fesm2020/slider.mjs +8 -8
  449. package/fesm2020/slider.mjs.map +1 -1
  450. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  451. package/fesm2020/snack-bar.mjs +39 -33
  452. package/fesm2020/snack-bar.mjs.map +1 -1
  453. package/fesm2020/sort/testing.mjs.map +1 -1
  454. package/fesm2020/sort.mjs +24 -16
  455. package/fesm2020/sort.mjs.map +1 -1
  456. package/fesm2020/stepper/testing.mjs.map +1 -1
  457. package/fesm2020/stepper.mjs +75 -96
  458. package/fesm2020/stepper.mjs.map +1 -1
  459. package/fesm2020/table/testing.mjs.map +1 -1
  460. package/fesm2020/table.mjs +58 -58
  461. package/fesm2020/table.mjs.map +1 -1
  462. package/fesm2020/tabs/testing.mjs.map +1 -1
  463. package/fesm2020/tabs.mjs +138 -95
  464. package/fesm2020/tabs.mjs.map +1 -1
  465. package/fesm2020/toolbar/testing.mjs.map +1 -1
  466. package/fesm2020/toolbar.mjs +11 -11
  467. package/fesm2020/toolbar.mjs.map +1 -1
  468. package/fesm2020/tooltip/testing.mjs +11 -6
  469. package/fesm2020/tooltip/testing.mjs.map +1 -1
  470. package/fesm2020/tooltip.mjs +147 -71
  471. package/fesm2020/tooltip.mjs.map +1 -1
  472. package/fesm2020/tree/testing.mjs.map +1 -1
  473. package/fesm2020/tree.mjs +26 -26
  474. package/fesm2020/tree.mjs.map +1 -1
  475. package/form-field/error.d.ts +1 -1
  476. package/form-field/form-field-control.d.ts +4 -4
  477. package/form-field/form-field.d.ts +16 -9
  478. package/form-field/hint.d.ts +1 -1
  479. package/form-field/label.d.ts +1 -1
  480. package/form-field/placeholder.d.ts +1 -1
  481. package/form-field/prefix.d.ts +1 -1
  482. package/form-field/suffix.d.ts +1 -1
  483. package/form-field/testing/public-api.d.ts +1 -1
  484. package/grid-list/grid-list.d.ts +1 -1
  485. package/grid-list/grid-tile.d.ts +5 -5
  486. package/icon/icon-registry.d.ts +7 -9
  487. package/icon/icon.d.ts +13 -4
  488. package/icon/testing/fake-icon-registry.d.ts +1 -1
  489. package/input/input.d.ts +13 -2
  490. package/list/list.d.ts +6 -6
  491. package/list/selection-list.d.ts +5 -22
  492. package/list/testing/list-item-harness-base.d.ts +1 -7
  493. package/menu/menu-content.d.ts +2 -2
  494. package/menu/menu-errors.d.ts +0 -5
  495. package/menu/menu-item.d.ts +4 -3
  496. package/menu/menu-trigger.d.ts +23 -13
  497. package/menu/menu.d.ts +9 -4
  498. package/package.json +7 -7
  499. package/paginator/paginator.d.ts +13 -2
  500. package/paginator/testing/paginator-harness.d.ts +3 -0
  501. package/prebuilt-themes/deeppurple-amber.css +1 -1
  502. package/prebuilt-themes/indigo-pink.css +1 -1
  503. package/prebuilt-themes/pink-bluegrey.css +1 -1
  504. package/prebuilt-themes/purple-green.css +1 -1
  505. package/progress-bar/progress-bar.d.ts +1 -1
  506. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  507. package/progress-spinner/progress-spinner.d.ts +4 -19
  508. package/progress-spinner/public-api.d.ts +8 -1
  509. package/radio/radio.d.ts +11 -6
  510. package/radio/testing/radio-harness-filters.d.ts +2 -0
  511. package/schematics/collection.json +4 -2
  512. package/schematics/migration.json +5 -0
  513. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  514. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  515. package/schematics/ng-add/index.js +2 -2
  516. package/schematics/ng-add/index.mjs +2 -2
  517. package/schematics/ng-add/schema.d.ts +2 -2
  518. package/schematics/ng-add/schema.js +1 -1
  519. package/schematics/ng-add/schema.json +29 -9
  520. package/schematics/ng-add/schema.mjs +1 -1
  521. package/schematics/ng-add/setup-project.js +16 -23
  522. package/schematics/ng-add/setup-project.mjs +16 -23
  523. package/schematics/ng-add/theming/theming.js +28 -39
  524. package/schematics/ng-add/theming/theming.mjs +28 -39
  525. package/schematics/ng-generate/address-form/index.js +5 -14
  526. package/schematics/ng-generate/address-form/index.mjs +5 -14
  527. package/schematics/ng-generate/address-form/schema.json +1 -1
  528. package/schematics/ng-generate/dashboard/index.js +5 -14
  529. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  530. package/schematics/ng-generate/dashboard/schema.json +1 -1
  531. package/schematics/ng-generate/navigation/index.js +5 -14
  532. package/schematics/ng-generate/navigation/index.mjs +5 -14
  533. package/schematics/ng-generate/navigation/schema.json +1 -1
  534. package/schematics/ng-generate/table/index.js +5 -14
  535. package/schematics/ng-generate/table/index.mjs +5 -14
  536. package/schematics/ng-generate/table/schema.json +1 -1
  537. package/schematics/ng-generate/tree/index.js +5 -14
  538. package/schematics/ng-generate/tree/index.mjs +5 -14
  539. package/schematics/ng-generate/tree/schema.json +1 -1
  540. package/schematics/ng-update/data/constructor-checks.js +11 -1
  541. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  542. package/schematics/ng-update/data/css-selectors.js +7 -1
  543. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  544. package/schematics/ng-update/data/index.js +6 -2
  545. package/schematics/ng-update/data/index.mjs +6 -2
  546. package/schematics/ng-update/index.d.ts +2 -0
  547. package/schematics/ng-update/index.js +7 -2
  548. package/schematics/ng-update/index.mjs +7 -2
  549. package/schematics/ng-update/migrations/hammer-gestures-v9/gesture-config.template +1 -1
  550. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +8 -8
  551. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +8 -8
  552. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  553. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  554. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  555. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  556. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  557. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  558. package/schematics/tsconfig.json +1 -4
  559. package/select/select.d.ts +27 -6
  560. package/sidenav/drawer.d.ts +3 -3
  561. package/sidenav/sidenav-module.d.ts +2 -3
  562. package/sidenav/sidenav.d.ts +3 -3
  563. package/slide-toggle/slide-toggle-required-validator.d.ts +1 -1
  564. package/slide-toggle/slide-toggle.d.ts +1 -1
  565. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  566. package/slider/slider.d.ts +1 -1
  567. package/snack-bar/simple-snack-bar.d.ts +1 -1
  568. package/snack-bar/snack-bar-container.d.ts +1 -1
  569. package/snack-bar/snack-bar.d.ts +1 -1
  570. package/sort/sort-header.d.ts +6 -6
  571. package/sort/sort.d.ts +7 -3
  572. package/stepper/public-api.d.ts +1 -1
  573. package/stepper/step-content.d.ts +1 -1
  574. package/stepper/step-header.d.ts +1 -1
  575. package/stepper/step-label.d.ts +1 -1
  576. package/stepper/stepper-animations.d.ts +2 -0
  577. package/stepper/stepper-button.d.ts +2 -2
  578. package/stepper/stepper-icon.d.ts +1 -1
  579. package/stepper/stepper-module.d.ts +1 -1
  580. package/stepper/stepper.d.ts +16 -39
  581. package/table/cell.d.ts +7 -7
  582. package/table/row.d.ts +7 -7
  583. package/table/table.d.ts +2 -2
  584. package/table/text-column.d.ts +1 -1
  585. package/tabs/_tabs-common.scss +6 -5
  586. package/tabs/ink-bar.d.ts +1 -6
  587. package/tabs/paginated-tab-header.d.ts +5 -3
  588. package/tabs/tab-body.d.ts +3 -3
  589. package/tabs/tab-content.d.ts +1 -1
  590. package/tabs/tab-group.d.ts +11 -5
  591. package/tabs/tab-header.d.ts +2 -2
  592. package/tabs/tab-label-wrapper.d.ts +1 -1
  593. package/tabs/tab-label.d.ts +1 -1
  594. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -5
  595. package/tabs/tab.d.ts +1 -1
  596. package/toolbar/toolbar.d.ts +2 -2
  597. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  598. package/tooltip/tooltip.d.ts +40 -12
  599. package/tree/node.d.ts +3 -3
  600. package/tree/outlet.d.ts +1 -1
  601. package/tree/padding.d.ts +1 -1
  602. package/tree/toggle.d.ts +1 -1
  603. package/tree/tree.d.ts +1 -1
package/fesm2020/tabs.mjs CHANGED
@@ -2,20 +2,20 @@ import * as i7 from '@angular/cdk/a11y';
2
2
  import { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';
3
3
  import * as i5 from '@angular/cdk/observers';
4
4
  import { ObserversModule } from '@angular/cdk/observers';
5
- import * as i7$1 from '@angular/cdk/portal';
5
+ import * as i2 from '@angular/cdk/portal';
6
6
  import { CdkPortal, TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
7
- import * as i3$1 from '@angular/common';
7
+ import * as i1$2 from '@angular/common';
8
8
  import { DOCUMENT, CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
10
  import { InjectionToken, Directive, Inject, Optional, TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, ViewChild, Input, forwardRef, EventEmitter, Output, ContentChildren, QueryList, Attribute, NgModule } from '@angular/core';
11
11
  import * as i4 from '@angular/material/core';
12
12
  import { mixinDisabled, mixinColor, mixinDisableRipple, mixinTabIndex, MAT_RIPPLE_GLOBAL_OPTIONS, RippleRenderer, MatCommonModule, MatRippleModule } from '@angular/material/core';
13
13
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
14
+ import { take, startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
14
15
  import { Subject, Subscription, fromEvent, of, merge, timer } from 'rxjs';
15
16
  import * as i1 from '@angular/cdk/bidi';
16
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
17
- import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
18
- import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
18
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
19
19
  import * as i1$1 from '@angular/cdk/scrolling';
20
20
  import * as i3 from '@angular/cdk/platform';
21
21
  import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
@@ -62,14 +62,12 @@ class MatInkBar {
62
62
  */
63
63
  alignToElement(element) {
64
64
  this.show();
65
- if (typeof requestAnimationFrame !== 'undefined') {
66
- this._ngZone.runOutsideAngular(() => {
67
- requestAnimationFrame(() => this._setStyles(element));
68
- });
69
- }
70
- else {
71
- this._setStyles(element);
72
- }
65
+ this._ngZone.onStable.pipe(take(1)).subscribe(() => {
66
+ const positions = this._inkBarPositioner(element);
67
+ const inkBar = this._elementRef.nativeElement;
68
+ inkBar.style.left = positions.left;
69
+ inkBar.style.width = positions.width;
70
+ });
73
71
  }
74
72
  /** Shows the ink bar. */
75
73
  show() {
@@ -79,20 +77,10 @@ class MatInkBar {
79
77
  hide() {
80
78
  this._elementRef.nativeElement.style.visibility = 'hidden';
81
79
  }
82
- /**
83
- * Sets the proper styles to the ink bar element.
84
- * @param element
85
- */
86
- _setStyles(element) {
87
- const positions = this._inkBarPositioner(element);
88
- const inkBar = this._elementRef.nativeElement;
89
- inkBar.style.left = positions.left;
90
- inkBar.style.width = positions.width;
91
- }
92
80
  }
93
- MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatInkBar, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: _MAT_INK_BAR_POSITIONER }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
94
- MatInkBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatInkBar, selector: "mat-ink-bar", host: { properties: { "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mat-ink-bar" }, ngImport: i0 });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatInkBar, decorators: [{
81
+ MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatInkBar, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: _MAT_INK_BAR_POSITIONER }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
82
+ MatInkBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatInkBar, selector: "mat-ink-bar", host: { properties: { "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mat-ink-bar" }, ngImport: i0 });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatInkBar, decorators: [{
96
84
  type: Directive,
97
85
  args: [{
98
86
  selector: 'mat-ink-bar',
@@ -130,9 +118,9 @@ class MatTabContent {
130
118
  this.template = template;
131
119
  }
132
120
  }
133
- MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
134
- MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabContent, decorators: [{
121
+ MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
122
+ MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabContent, decorators: [{
136
124
  type: Directive,
137
125
  args: [{
138
126
  selector: '[matTabContent]',
@@ -165,9 +153,9 @@ class MatTabLabel extends CdkPortal {
165
153
  this._closestTab = _closestTab;
166
154
  }
167
155
  }
168
- MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
169
- MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabel, decorators: [{
156
+ MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabel, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: MAT_TAB, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
157
+ MatTabLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLabel, selector: "[mat-tab-label], [matTabLabel]", providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }], usesInheritance: true, ngImport: i0 });
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabel, decorators: [{
171
159
  type: Directive,
172
160
  args: [{
173
161
  selector: '[mat-tab-label], [matTabLabel]',
@@ -260,9 +248,9 @@ class MatTab extends _MatTabBase {
260
248
  }
261
249
  }
262
250
  }
263
- MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
264
- MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTab, selector: "mat-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MAT_TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MAT_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTab, decorators: [{
251
+ MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
252
+ MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTab, selector: "mat-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MAT_TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MAT_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTab, decorators: [{
266
254
  type: Component,
267
255
  args: [{ selector: 'mat-tab', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matTab', providers: [{ provide: MAT_TAB, useExisting: MatTab }], template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
268
256
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
@@ -381,9 +369,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
381
369
  this._leavingSub.unsubscribe();
382
370
  }
383
371
  }
384
- MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
385
- MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBodyPortal, decorators: [{
372
+ MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
373
+ MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBodyPortal, decorators: [{
387
375
  type: Directive,
388
376
  args: [{
389
377
  selector: '[matTabBodyHost]',
@@ -500,9 +488,9 @@ class _MatTabBodyBase {
500
488
  return 'right-origin-center';
501
489
  }
502
490
  }
503
- _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
504
- _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabBodyBase, inputs: { _content: ["content", "_content"], origin: "origin", animationDuration: "animationDuration", preserveContent: "preserveContent", position: "position" }, outputs: { _onCentering: "_onCentering", _beforeCentering: "_beforeCentering", _afterLeavingCenter: "_afterLeavingCenter", _onCentered: "_onCentered" }, ngImport: i0 });
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabBodyBase, decorators: [{
491
+ _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabBodyBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
492
+ _MatTabBodyBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabBodyBase, inputs: { _content: ["content", "_content"], origin: "origin", animationDuration: "animationDuration", preserveContent: "preserveContent", position: "position" }, outputs: { _onCentering: "_onCentering", _beforeCentering: "_beforeCentering", _afterLeavingCenter: "_afterLeavingCenter", _onCentered: "_onCentered" }, ngImport: i0 });
493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabBodyBase, decorators: [{
506
494
  type: Directive
507
495
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
508
496
  type: Optional
@@ -535,13 +523,13 @@ class MatTabBody extends _MatTabBodyBase {
535
523
  super(elementRef, dir, changeDetectorRef);
536
524
  }
537
525
  }
538
- MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
539
- MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabBody, selector: "mat-tab-body", host: { classAttribute: "mat-tab-body" }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}\n"], directives: [{ type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabBody, decorators: [{
526
+ MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBody, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
527
+ MatTabBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabBody, selector: "mat-tab-body", host: { classAttribute: "mat-tab-body" }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}"], dependencies: [{ kind: "directive", type: MatTabBodyPortal, selector: "[matTabBodyHost]" }], animations: [matTabsAnimations.translateTab], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabBody, decorators: [{
541
529
  type: Component,
542
530
  args: [{ selector: 'mat-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matTabsAnimations.translateTab], host: {
543
531
  'class': 'mat-tab-body',
544
- }, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}\n"] }]
532
+ }, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*=\"visibility: hidden\"]{display:none}"] }]
545
533
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
546
534
  type: Optional
547
535
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _portalHost: [{
@@ -590,9 +578,9 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperBase {
590
578
  return this.elementRef.nativeElement.offsetWidth;
591
579
  }
592
580
  }
593
- MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
594
- MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
581
+ MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
582
+ MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
596
584
  type: Directive,
597
585
  args: [{
598
586
  selector: '[matTabLabelWrapper]',
@@ -657,11 +645,7 @@ class MatPaginatedTabHeader {
657
645
  this._disableScrollBefore = true;
658
646
  /** Stream that will stop the automated scrolling. */
659
647
  this._stopScrolling = new Subject();
660
- /**
661
- * Whether pagination should be disabled. This can be used to avoid unnecessary
662
- * layout recalculations if it's known that pagination won't be required.
663
- */
664
- this.disablePagination = false;
648
+ this._disablePagination = false;
665
649
  this._selectedIndex = 0;
666
650
  /** Event emitted when the option is selected. */
667
651
  this.selectFocusedIndex = new EventEmitter();
@@ -676,6 +660,16 @@ class MatPaginatedTabHeader {
676
660
  });
677
661
  });
678
662
  }
663
+ /**
664
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
665
+ * layout recalculations if it's known that pagination won't be required.
666
+ */
667
+ get disablePagination() {
668
+ return this._disablePagination;
669
+ }
670
+ set disablePagination(value) {
671
+ this._disablePagination = coerceBooleanProperty(value);
672
+ }
679
673
  /** The index of the active tab. */
680
674
  get selectedIndex() {
681
675
  return this._selectedIndex;
@@ -717,7 +711,9 @@ class MatPaginatedTabHeader {
717
711
  this._keyManager.updateActiveItem(this._selectedIndex);
718
712
  // Defer the first call in order to allow for slower browsers to lay out the elements.
719
713
  // This helps in cases where the user lands directly on a page with paginated tabs.
720
- typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();
714
+ // Note that we use `onStable` instead of `requestAnimationFrame`, because the latter
715
+ // can hold up tests that are in a background tab.
716
+ this._ngZone.onStable.pipe(take(1)).subscribe(realign);
721
717
  // On dir change or window resize, realign the ink bar and update the orientation of
722
718
  // the key manager if the direction has changed.
723
719
  merge(dirChange, resize, this._items.changes)
@@ -726,7 +722,13 @@ class MatPaginatedTabHeader {
726
722
  // We need to defer this to give the browser some time to recalculate
727
723
  // the element dimensions. The call has to be wrapped in `NgZone.run`,
728
724
  // because the viewport change handler runs outside of Angular.
729
- this._ngZone.run(() => Promise.resolve().then(realign));
725
+ this._ngZone.run(() => {
726
+ Promise.resolve().then(() => {
727
+ // Clamp the scroll distance, because it can change with the number of tabs.
728
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));
729
+ realign();
730
+ });
731
+ });
730
732
  this._keyManager.withHorizontalOrientation(this._getLayoutDirection());
731
733
  });
732
734
  // If there is a change in the focus key manager we need to emit the `indexFocused`
@@ -1062,9 +1064,9 @@ class MatPaginatedTabHeader {
1062
1064
  return { maxScrollDistance, distance: this._scrollDistance };
1063
1065
  }
1064
1066
  }
1065
- MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1066
- MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1067
+ MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1068
+ MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1068
1070
  type: Directive
1069
1071
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1070
1072
  type: Optional
@@ -1104,9 +1106,9 @@ class _MatTabHeaderBase extends MatPaginatedTabHeader {
1104
1106
  event.preventDefault();
1105
1107
  }
1106
1108
  }
1107
- _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabHeaderBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1108
- _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1109
+ _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabHeaderBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1110
+ _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1110
1112
  type: Directive
1111
1113
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1112
1114
  type: Optional
@@ -1130,15 +1132,15 @@ class MatTabHeader extends _MatTabHeaderBase {
1130
1132
  super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
1131
1133
  }
1132
1134
  }
1133
- MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1134
- MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"], directives: [{ type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabHeader, decorators: [{
1135
+ MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1136
+ MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabHeader, decorators: [{
1136
1138
  type: Component,
1137
1139
  args: [{ selector: 'mat-tab-header', inputs: ['selectedIndex'], outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
1138
1140
  'class': 'mat-tab-header',
1139
1141
  '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
1140
1142
  '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
1141
- }, template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</div>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n"] }]
1143
+ }, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n #tabList\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"] }]
1142
1144
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1143
1145
  type: Optional
1144
1146
  }] }, { type: i0.NgZone }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1201,15 +1203,20 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1201
1203
  this._tabs = new QueryList();
1202
1204
  /** The tab index that should be selected after the content has been checked. */
1203
1205
  this._indexToSelect = 0;
1206
+ /** Index of the tab that was focused last. */
1207
+ this._lastFocusedTabIndex = null;
1204
1208
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1205
1209
  this._tabBodyWrapperHeight = 0;
1206
1210
  /** Subscription to tabs being added/removed. */
1207
1211
  this._tabsSubscription = Subscription.EMPTY;
1208
1212
  /** Subscription to changes in the tab labels. */
1209
1213
  this._tabLabelSubscription = Subscription.EMPTY;
1214
+ this._dynamicHeight = false;
1210
1215
  this._selectedIndex = null;
1211
1216
  /** Position of the tab header. */
1212
1217
  this.headerPosition = 'above';
1218
+ this._disablePagination = false;
1219
+ this._preserveContent = false;
1213
1220
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
1214
1221
  this.selectedIndexChange = new EventEmitter();
1215
1222
  /** Event emitted when focus has changed within a tab group. */
@@ -1263,6 +1270,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1263
1270
  set contentTabIndex(value) {
1264
1271
  this._contentTabIndex = coerceNumberProperty(value, null);
1265
1272
  }
1273
+ /**
1274
+ * Whether pagination should be disabled. This can be used to avoid unnecessary
1275
+ * layout recalculations if it's known that pagination won't be required.
1276
+ */
1277
+ get disablePagination() {
1278
+ return this._disablePagination;
1279
+ }
1280
+ set disablePagination(value) {
1281
+ this._disablePagination = coerceBooleanProperty(value);
1282
+ }
1283
+ /**
1284
+ * By default tabs remove their content from the DOM while it's off-screen.
1285
+ * Setting this to `true` will keep it in the DOM which will prevent elements
1286
+ * like iframes and videos from reloading next time it comes back into the view.
1287
+ */
1288
+ get preserveContent() {
1289
+ return this._preserveContent;
1290
+ }
1291
+ set preserveContent(value) {
1292
+ this._preserveContent = coerceBooleanProperty(value);
1293
+ }
1266
1294
  /** Background color of the tab group. */
1267
1295
  get backgroundColor() {
1268
1296
  return this._backgroundColor;
@@ -1319,6 +1347,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1319
1347
  });
1320
1348
  if (this._selectedIndex !== indexToSelect) {
1321
1349
  this._selectedIndex = indexToSelect;
1350
+ this._lastFocusedTabIndex = null;
1322
1351
  this._changeDetectorRef.markForCheck();
1323
1352
  }
1324
1353
  }
@@ -1333,15 +1362,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1333
1362
  // explicit change that selects a different tab.
1334
1363
  if (indexToSelect === this._selectedIndex) {
1335
1364
  const tabs = this._tabs.toArray();
1365
+ let selectedTab;
1336
1366
  for (let i = 0; i < tabs.length; i++) {
1337
1367
  if (tabs[i].isActive) {
1338
1368
  // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1339
1369
  // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1340
1370
  // adding a tab within the `selectedIndexChange` event.
1341
1371
  this._indexToSelect = this._selectedIndex = i;
1372
+ this._lastFocusedTabIndex = null;
1373
+ selectedTab = tabs[i];
1342
1374
  break;
1343
1375
  }
1344
1376
  }
1377
+ // If we haven't found an active tab and a tab exists at the selected index, it means
1378
+ // that the active tab was swapped out. Since this won't be picked up by the rendering
1379
+ // loop in `ngAfterContentChecked`, we need to sync it up manually.
1380
+ if (!selectedTab && tabs[indexToSelect]) {
1381
+ Promise.resolve().then(() => {
1382
+ tabs[indexToSelect].isActive = true;
1383
+ this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
1384
+ });
1385
+ }
1345
1386
  }
1346
1387
  this._changeDetectorRef.markForCheck();
1347
1388
  });
@@ -1392,6 +1433,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1392
1433
  }
1393
1434
  }
1394
1435
  _focusChanged(index) {
1436
+ this._lastFocusedTabIndex = index;
1395
1437
  this.focusChange.emit(this._createChangeEvent(index));
1396
1438
  }
1397
1439
  _createChangeEvent(index) {
@@ -1459,11 +1501,12 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1459
1501
  }
1460
1502
  }
1461
1503
  /** Retrieves the tabindex for the tab. */
1462
- _getTabIndex(tab, idx) {
1504
+ _getTabIndex(tab, index) {
1463
1505
  if (tab.disabled) {
1464
1506
  return null;
1465
1507
  }
1466
- return this.selectedIndex === idx ? 0 : -1;
1508
+ const targetIndex = this._lastFocusedTabIndex ?? this.selectedIndex;
1509
+ return index === targetIndex ? 0 : -1;
1467
1510
  }
1468
1511
  /** Callback for when the focused state of a tab has changed. */
1469
1512
  _tabFocusChanged(focusOrigin, index) {
@@ -1476,9 +1519,9 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1476
1519
  }
1477
1520
  }
1478
1521
  }
1479
- _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabGroupBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1480
- _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabGroupBase, inputs: { dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: "contentTabIndex", disablePagination: "disablePagination", preserveContent: "preserveContent", backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, usesInheritance: true, ngImport: i0 });
1481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1522
+ _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabGroupBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1523
+ _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabGroupBase, inputs: { dynamicHeight: "dynamicHeight", selectedIndex: "selectedIndex", headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: "contentTabIndex", disablePagination: "disablePagination", preserveContent: "preserveContent", backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, usesInheritance: true, ngImport: i0 });
1524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1482
1525
  type: Directive
1483
1526
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1484
1527
  type: Inject,
@@ -1525,14 +1568,14 @@ class MatTabGroup extends _MatTabGroupBase {
1525
1568
  super(elementRef, changeDetectorRef, defaultConfig, animationMode);
1526
1569
  }
1527
1570
  }
1528
- MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1529
- MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", disableRipple: "disableRipple" }, host: { properties: { "class.mat-tab-group-dynamic-height": "dynamicHeight", "class.mat-tab-group-inverted-header": "headerPosition === \"below\"" }, classAttribute: "mat-tab-group" }, providers: [
1571
+ MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1572
+ MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", disableRipple: "disableRipple" }, host: { properties: { "class.mat-tab-group-dynamic-height": "dynamicHeight", "class.mat-tab-group-inverted-header": "headerPosition === \"below\"" }, classAttribute: "mat-tab-group" }, providers: [
1530
1573
  {
1531
1574
  provide: MAT_TAB_GROUP,
1532
1575
  useExisting: MatTabGroup,
1533
1576
  },
1534
- ], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"], components: [{ type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex"], outputs: ["selectFocusedIndex", "indexFocused"] }, { type: MatTabBody, selector: "mat-tab-body" }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["disabled"] }, { type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i7.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabGroup, decorators: [{
1577
+ ], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i7.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { kind: "directive", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["disabled"] }, { kind: "component", type: MatTabBody, selector: "mat-tab-body" }, { kind: "component", type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabGroup, decorators: [{
1536
1579
  type: Component,
1537
1580
  args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, inputs: ['color', 'disableRipple'], providers: [
1538
1581
  {
@@ -1543,7 +1586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1543
1586
  'class': 'mat-tab-group',
1544
1587
  '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
1545
1588
  '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
1546
- }, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"] }]
1589
+ }, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n <div class=\"mat-tab-label mat-focus-indicator\" role=\"tab\" matTabLabelWrapper mat-ripple\n cdkMonitorElementFocus\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mat-tab-label-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n\n\n <div class=\"mat-tab-label-content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template #tabTextLabel>{{tab.textLabel}}</ng-template>\n </div>\n </div>\n</mat-tab-header>\n\n<div\n class=\"mat-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n <mat-tab-body role=\"tabpanel\"\n *ngFor=\"let tab of _tabs; let i = index\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.mat-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n</div>\n", styles: [".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"] }]
1547
1590
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1548
1591
  type: Inject,
1549
1592
  args: [MAT_TABS_CONFIG]
@@ -1639,9 +1682,9 @@ class _MatTabNavBase extends MatPaginatedTabHeader {
1639
1682
  return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
1640
1683
  }
1641
1684
  }
1642
- _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabNavBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1643
- _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabNavBase, decorators: [{
1685
+ _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabNavBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1686
+ _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabNavBase, decorators: [{
1645
1688
  type: Directive
1646
1689
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1647
1690
  type: Optional
@@ -1668,9 +1711,9 @@ class MatTabNav extends _MatTabNavBase {
1668
1711
  super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);
1669
1712
  }
1670
1713
  }
1671
- MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1672
- MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color" }, host: { properties: { "attr.role": "_getRole()", "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"" }, classAttribute: "mat-tab-nav-bar mat-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MatTabLink; }), descendants: true }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\n"], directives: [{ type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNav, decorators: [{
1714
+ MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1715
+ MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color" }, host: { properties: { "attr.role": "_getRole()", "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"" }, classAttribute: "mat-tab-nav-bar mat-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MatTabLink; }), descendants: true }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: MatInkBar, selector: "mat-ink-bar" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNav, decorators: [{
1674
1717
  type: Component,
1675
1718
  args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', inputs: ['color'], host: {
1676
1719
  '[attr.role]': '_getRole()',
@@ -1680,7 +1723,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1680
1723
  '[class.mat-primary]': 'color !== "warn" && color !== "accent"',
1681
1724
  '[class.mat-accent]': 'color === "accent"',
1682
1725
  '[class.mat-warn]': 'color === "warn"',
1683
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\n"] }]
1726
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<button class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div\n class=\"mat-tab-list\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabList\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n <mat-ink-bar></mat-ink-bar>\n </div>\n</div>\n\n<button class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}"] }]
1684
1727
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1685
1728
  type: Optional
1686
1729
  }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1793,16 +1836,16 @@ class _MatTabLinkBase extends _MatTabLinkMixinBase {
1793
1836
  }
1794
1837
  _getTabIndex() {
1795
1838
  if (this._tabNavBar.tabPanel) {
1796
- return this._isActive ? 0 : -1;
1839
+ return this._isActive && !this.disabled ? 0 : -1;
1797
1840
  }
1798
1841
  else {
1799
1842
  return this.tabIndex;
1800
1843
  }
1801
1844
  }
1802
1845
  }
1803
- _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabLinkBase, deps: [{ token: _MatTabNavBase }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1804
- _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1846
+ _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabLinkBase, deps: [{ token: _MatTabNavBase }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1847
+ _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1806
1849
  type: Directive
1807
1850
  }], ctorParameters: function () { return [{ type: _MatTabNavBase }, { type: i0.ElementRef }, { type: undefined, decorators: [{
1808
1851
  type: Optional
@@ -1836,9 +1879,9 @@ class MatTabLink extends _MatTabLinkBase {
1836
1879
  this._tabLinkRipple._removeTriggerEvents();
1837
1880
  }
1838
1881
  }
1839
- MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1840
- MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-tab-disabled": "disabled", "class.mat-tab-label-active": "active" }, classAttribute: "mat-tab-link mat-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0 });
1841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabLink, decorators: [{
1882
+ MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1883
+ MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-tab-disabled": "disabled", "class.mat-tab-label-active": "active" }, classAttribute: "mat-tab-link mat-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0 });
1884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabLink, decorators: [{
1842
1885
  type: Directive,
1843
1886
  args: [{
1844
1887
  selector: '[mat-tab-link], [matTabLink]',
@@ -1882,9 +1925,9 @@ class MatTabNavPanel {
1882
1925
  this.id = `mat-tab-nav-panel-${nextUniqueId++}`;
1883
1926
  }
1884
1927
  }
1885
- MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1886
- MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.aria-labelledby": "_activeTabId", "attr.id": "id" }, classAttribute: "mat-tab-nav-panel" }, exportAs: ["matTabNavPanel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabNavPanel, decorators: [{
1928
+ MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1929
+ MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.aria-labelledby": "_activeTabId", "attr.id": "id" }, classAttribute: "mat-tab-nav-panel" }, exportAs: ["matTabNavPanel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabNavPanel, decorators: [{
1888
1931
  type: Component,
1889
1932
  args: [{
1890
1933
  selector: 'mat-tab-nav-panel',
@@ -1912,8 +1955,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1912
1955
  */
1913
1956
  class MatTabsModule {
1914
1957
  }
1915
- MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1916
- MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1958
+ MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1959
+ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1917
1960
  MatTabLabel,
1918
1961
  MatTab,
1919
1962
  MatInkBar,
@@ -1937,7 +1980,7 @@ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1937
1980
  MatTabNavPanel,
1938
1981
  MatTabLink,
1939
1982
  MatTabContent] });
1940
- MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, imports: [[
1983
+ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, imports: [[
1941
1984
  CommonModule,
1942
1985
  MatCommonModule,
1943
1986
  PortalModule,
@@ -1945,7 +1988,7 @@ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
1945
1988
  ObserversModule,
1946
1989
  A11yModule,
1947
1990
  ], MatCommonModule] });
1948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTabsModule, decorators: [{
1991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatTabsModule, decorators: [{
1949
1992
  type: NgModule,
1950
1993
  args: [{
1951
1994
  imports: [