@angular/material 14.0.0-next.8 → 14.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (953) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/index.d.ts +436 -6
  3. package/autocomplete/testing/index.d.ts +71 -8
  4. package/badge/_badge-theme.scss +3 -2
  5. package/badge/index.d.ts +107 -8
  6. package/badge/testing/index.d.ts +36 -8
  7. package/bottom-sheet/index.d.ts +199 -6
  8. package/bottom-sheet/testing/index.d.ts +27 -8
  9. package/button/index.d.ts +77 -6
  10. package/button/testing/index.d.ts +44 -8
  11. package/button-toggle/index.d.ts +245 -6
  12. package/button-toggle/testing/index.d.ts +91 -8
  13. package/card/index.d.ts +165 -5
  14. package/card/testing/index.d.ts +44 -8
  15. package/checkbox/index.d.ts +277 -6
  16. package/checkbox/testing/index.d.ts +91 -8
  17. package/chips/index.d.ts +650 -5
  18. package/chips/testing/index.d.ts +256 -8
  19. package/core/_core.scss +5 -7
  20. package/core/index.d.ts +1079 -5
  21. package/core/ripple/_ripple.scss +2 -2
  22. package/core/style/_menu-common.scss +3 -2
  23. package/core/style/_private.scss +5 -14
  24. package/core/style/_vendor-prefixes.scss +1 -1
  25. package/core/testing/index.d.ts +64 -8
  26. package/core/theming/_theming.scss +2 -2
  27. package/core/typography/_typography.scss +51 -14
  28. package/datepicker/index.d.ts +1782 -6
  29. package/datepicker/testing/index.d.ts +307 -8
  30. package/dialog/index.d.ts +489 -6
  31. package/dialog/testing/index.d.ts +97 -8
  32. package/divider/index.d.ts +30 -8
  33. package/divider/testing/index.d.ts +16 -8
  34. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  35. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  36. package/esm2020/autocomplete/autocomplete-trigger.mjs +26 -13
  37. package/esm2020/autocomplete/autocomplete.mjs +9 -9
  38. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +5 -1
  39. package/esm2020/badge/badge-module.mjs +5 -5
  40. package/esm2020/badge/badge.mjs +4 -4
  41. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +24 -176
  42. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +7 -7
  43. package/esm2020/bottom-sheet/bottom-sheet-ref.mjs +34 -34
  44. package/esm2020/bottom-sheet/bottom-sheet.mjs +30 -89
  45. package/esm2020/button/button-module.mjs +5 -5
  46. package/esm2020/button/button.mjs +9 -9
  47. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  48. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  49. package/esm2020/card/card-module.mjs +5 -5
  50. package/esm2020/card/card.mjs +44 -44
  51. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  52. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  53. package/esm2020/checkbox/checkbox.mjs +151 -133
  54. package/esm2020/chips/chip-input.mjs +4 -4
  55. package/esm2020/chips/chip-list.mjs +5 -5
  56. package/esm2020/chips/chip.mjs +15 -16
  57. package/esm2020/chips/chips-module.mjs +6 -6
  58. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  59. package/esm2020/core/common-behaviors/error-state.mjs +1 -1
  60. package/esm2020/core/datetime/index.mjs +9 -9
  61. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  62. package/esm2020/core/error/error-options.mjs +7 -7
  63. package/esm2020/core/line/line.mjs +8 -8
  64. package/esm2020/core/option/index.mjs +5 -5
  65. package/esm2020/core/option/optgroup.mjs +8 -8
  66. package/esm2020/core/option/option.mjs +10 -10
  67. package/esm2020/core/ripple/index.mjs +5 -5
  68. package/esm2020/core/ripple/ripple-ref.mjs +2 -2
  69. package/esm2020/core/ripple/ripple-renderer.mjs +36 -19
  70. package/esm2020/core/ripple/ripple.mjs +4 -4
  71. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  72. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  73. package/esm2020/core/version.mjs +1 -1
  74. package/esm2020/datepicker/calendar-body.mjs +5 -5
  75. package/esm2020/datepicker/calendar.mjs +26 -15
  76. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  77. package/esm2020/datepicker/date-range-input.mjs +6 -6
  78. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  79. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  80. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  81. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  82. package/esm2020/datepicker/datepicker-base.mjs +11 -11
  83. package/esm2020/datepicker/datepicker-input-base.mjs +6 -7
  84. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  85. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  86. package/esm2020/datepicker/datepicker-module.mjs +10 -12
  87. package/esm2020/datepicker/datepicker-toggle.mjs +10 -10
  88. package/esm2020/datepicker/datepicker.mjs +4 -4
  89. package/esm2020/datepicker/month-view.mjs +6 -6
  90. package/esm2020/datepicker/multi-year-view.mjs +4 -4
  91. package/esm2020/datepicker/testing/calendar-harness.mjs +4 -4
  92. package/esm2020/datepicker/year-view.mjs +4 -4
  93. package/esm2020/dialog/dialog-config.mjs +1 -1
  94. package/esm2020/dialog/dialog-container.mjs +42 -220
  95. package/esm2020/dialog/dialog-content-directives.mjs +14 -14
  96. package/esm2020/dialog/dialog-module.mjs +8 -7
  97. package/esm2020/dialog/dialog-ref.mjs +28 -60
  98. package/esm2020/dialog/dialog.mjs +74 -197
  99. package/esm2020/dialog/testing/dialog-harness.mjs +4 -4
  100. package/esm2020/divider/divider-module.mjs +5 -5
  101. package/esm2020/divider/divider.mjs +5 -5
  102. package/esm2020/expansion/accordion.mjs +4 -4
  103. package/esm2020/expansion/expansion-module.mjs +5 -5
  104. package/esm2020/expansion/expansion-panel-content.mjs +4 -4
  105. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  106. package/esm2020/expansion/expansion-panel.mjs +9 -9
  107. package/esm2020/expansion/testing/expansion-harness.mjs +6 -6
  108. package/esm2020/form-field/error.mjs +4 -4
  109. package/esm2020/form-field/form-field-control.mjs +4 -4
  110. package/esm2020/form-field/form-field-module.mjs +5 -5
  111. package/esm2020/form-field/form-field.mjs +5 -5
  112. package/esm2020/form-field/hint.mjs +4 -4
  113. package/esm2020/form-field/label.mjs +4 -4
  114. package/esm2020/form-field/placeholder.mjs +4 -4
  115. package/esm2020/form-field/prefix.mjs +4 -4
  116. package/esm2020/form-field/suffix.mjs +4 -4
  117. package/esm2020/form-field/testing/public-api.mjs +4 -4
  118. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  119. package/esm2020/grid-list/grid-list.mjs +6 -6
  120. package/esm2020/grid-list/grid-tile.mjs +17 -17
  121. package/esm2020/grid-list/testing/grid-tile-harness.mjs +3 -3
  122. package/esm2020/icon/icon-module.mjs +5 -5
  123. package/esm2020/icon/icon-registry.mjs +4 -4
  124. package/esm2020/icon/icon.mjs +5 -5
  125. package/esm2020/icon/testing/fake-icon-registry.mjs +8 -8
  126. package/esm2020/icon/testing/icon-harness.mjs +3 -3
  127. package/esm2020/input/input-module.mjs +5 -5
  128. package/esm2020/input/input.mjs +4 -4
  129. package/esm2020/list/list-module.mjs +5 -5
  130. package/esm2020/list/list.mjs +21 -21
  131. package/esm2020/list/selection-list.mjs +9 -9
  132. package/esm2020/menu/menu-content.mjs +7 -7
  133. package/esm2020/menu/menu-item.mjs +6 -6
  134. package/esm2020/menu/menu-module.mjs +5 -5
  135. package/esm2020/menu/menu-trigger.mjs +7 -7
  136. package/esm2020/menu/menu.mjs +28 -40
  137. package/esm2020/paginator/paginator-intl.mjs +4 -4
  138. package/esm2020/paginator/paginator-module.mjs +5 -5
  139. package/esm2020/paginator/paginator.mjs +13 -13
  140. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  141. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  142. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  143. package/esm2020/progress-spinner/progress-spinner-module.mjs +5 -5
  144. package/esm2020/progress-spinner/progress-spinner.mjs +5 -5
  145. package/esm2020/radio/radio-module.mjs +5 -5
  146. package/esm2020/radio/radio.mjs +42 -14
  147. package/esm2020/select/select-module.mjs +5 -5
  148. package/esm2020/select/select.mjs +25 -18
  149. package/esm2020/sidenav/drawer.mjs +12 -12
  150. package/esm2020/sidenav/sidenav-module.mjs +5 -5
  151. package/esm2020/sidenav/sidenav.mjs +12 -12
  152. package/esm2020/slide-toggle/slide-toggle-module.mjs +12 -14
  153. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  154. package/esm2020/slide-toggle/slide-toggle.mjs +89 -77
  155. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  156. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +3 -2
  157. package/esm2020/slider/slider-module.mjs +5 -5
  158. package/esm2020/slider/slider.mjs +5 -5
  159. package/esm2020/snack-bar/simple-snack-bar.mjs +7 -7
  160. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  161. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  162. package/esm2020/snack-bar/snack-bar-ref.mjs +2 -3
  163. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  164. package/esm2020/sort/sort-header-intl.mjs +4 -4
  165. package/esm2020/sort/sort-header.mjs +5 -5
  166. package/esm2020/sort/sort-module.mjs +5 -5
  167. package/esm2020/sort/sort.mjs +4 -4
  168. package/esm2020/stepper/step-content.mjs +4 -4
  169. package/esm2020/stepper/step-header.mjs +8 -8
  170. package/esm2020/stepper/step-label.mjs +4 -4
  171. package/esm2020/stepper/stepper-button.mjs +7 -7
  172. package/esm2020/stepper/stepper-icon.mjs +4 -4
  173. package/esm2020/stepper/stepper-intl.mjs +4 -4
  174. package/esm2020/stepper/stepper-module.mjs +11 -13
  175. package/esm2020/stepper/stepper.mjs +11 -11
  176. package/esm2020/stepper/testing/stepper-harness.mjs +3 -3
  177. package/esm2020/table/cell.mjs +22 -22
  178. package/esm2020/table/row.mjs +22 -22
  179. package/esm2020/table/table-data-source.mjs +1 -1
  180. package/esm2020/table/table-module.mjs +5 -5
  181. package/esm2020/table/table.mjs +9 -9
  182. package/esm2020/table/text-column.mjs +5 -5
  183. package/esm2020/tabs/ink-bar.mjs +4 -4
  184. package/esm2020/tabs/paginated-tab-header.mjs +34 -8
  185. package/esm2020/tabs/tab-body.mjs +11 -11
  186. package/esm2020/tabs/tab-content.mjs +4 -4
  187. package/esm2020/tabs/tab-group.mjs +35 -18
  188. package/esm2020/tabs/tab-header.mjs +8 -8
  189. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  190. package/esm2020/tabs/tab-label.mjs +4 -4
  191. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -17
  192. package/esm2020/tabs/tab.mjs +4 -4
  193. package/esm2020/tabs/tabs-module.mjs +10 -12
  194. package/esm2020/toolbar/testing/toolbar-harness.mjs +2 -2
  195. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  196. package/esm2020/toolbar/toolbar.mjs +8 -8
  197. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  198. package/esm2020/tooltip/tooltip.mjs +14 -14
  199. package/esm2020/tree/node.mjs +10 -10
  200. package/esm2020/tree/outlet.mjs +4 -4
  201. package/esm2020/tree/padding.mjs +4 -4
  202. package/esm2020/tree/toggle.mjs +4 -4
  203. package/esm2020/tree/tree-module.mjs +5 -5
  204. package/esm2020/tree/tree.mjs +5 -5
  205. package/expansion/index.d.ts +343 -5
  206. package/expansion/testing/index.d.ts +106 -8
  207. package/fesm2015/autocomplete/testing.mjs +6 -0
  208. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  209. package/fesm2015/autocomplete.mjs +43 -30
  210. package/fesm2015/autocomplete.mjs.map +1 -1
  211. package/fesm2015/badge.mjs +7 -7
  212. package/fesm2015/badge.mjs.map +1 -1
  213. package/fesm2015/bottom-sheet.mjs +126 -344
  214. package/fesm2015/bottom-sheet.mjs.map +1 -1
  215. package/fesm2015/button-toggle.mjs +11 -11
  216. package/fesm2015/button-toggle.mjs.map +1 -1
  217. package/fesm2015/button.mjs +12 -12
  218. package/fesm2015/button.mjs.map +1 -1
  219. package/fesm2015/card.mjs +47 -47
  220. package/fesm2015/card.mjs.map +1 -1
  221. package/fesm2015/checkbox.mjs +164 -146
  222. package/fesm2015/checkbox.mjs.map +1 -1
  223. package/fesm2015/chips.mjs +26 -27
  224. package/fesm2015/chips.mjs.map +1 -1
  225. package/fesm2015/core.mjs +99 -81
  226. package/fesm2015/core.mjs.map +1 -1
  227. package/fesm2015/datepicker/testing.mjs +3 -3
  228. package/fesm2015/datepicker/testing.mjs.map +1 -1
  229. package/fesm2015/datepicker.mjs +111 -103
  230. package/fesm2015/datepicker.mjs.map +1 -1
  231. package/fesm2015/dialog/testing.mjs +3 -3
  232. package/fesm2015/dialog/testing.mjs.map +1 -1
  233. package/fesm2015/dialog.mjs +152 -490
  234. package/fesm2015/dialog.mjs.map +1 -1
  235. package/fesm2015/divider.mjs +8 -8
  236. package/fesm2015/divider.mjs.map +1 -1
  237. package/fesm2015/expansion/testing.mjs +5 -5
  238. package/fesm2015/expansion/testing.mjs.map +1 -1
  239. package/fesm2015/expansion.mjs +28 -28
  240. package/fesm2015/expansion.mjs.map +1 -1
  241. package/fesm2015/form-field/testing.mjs +1 -1
  242. package/fesm2015/form-field/testing.mjs.map +1 -1
  243. package/fesm2015/form-field.mjs +29 -29
  244. package/fesm2015/form-field.mjs.map +1 -1
  245. package/fesm2015/grid-list/testing.mjs +2 -2
  246. package/fesm2015/grid-list/testing.mjs.map +1 -1
  247. package/fesm2015/grid-list.mjs +25 -25
  248. package/fesm2015/grid-list.mjs.map +1 -1
  249. package/fesm2015/icon/testing.mjs +9 -9
  250. package/fesm2015/icon/testing.mjs.map +1 -1
  251. package/fesm2015/icon.mjs +11 -11
  252. package/fesm2015/icon.mjs.map +1 -1
  253. package/fesm2015/input.mjs +7 -7
  254. package/fesm2015/input.mjs.map +1 -1
  255. package/fesm2015/list.mjs +32 -32
  256. package/fesm2015/list.mjs.map +1 -1
  257. package/fesm2015/menu.mjs +48 -60
  258. package/fesm2015/menu.mjs.map +1 -1
  259. package/fesm2015/paginator/testing.mjs +14 -0
  260. package/fesm2015/paginator/testing.mjs.map +1 -1
  261. package/fesm2015/paginator.mjs +19 -19
  262. package/fesm2015/paginator.mjs.map +1 -1
  263. package/fesm2015/progress-bar.mjs +11 -8
  264. package/fesm2015/progress-bar.mjs.map +1 -1
  265. package/fesm2015/progress-spinner.mjs +8 -8
  266. package/fesm2015/progress-spinner.mjs.map +1 -1
  267. package/fesm2015/radio.mjs +46 -17
  268. package/fesm2015/radio.mjs.map +1 -1
  269. package/fesm2015/select.mjs +29 -22
  270. package/fesm2015/select.mjs.map +1 -1
  271. package/fesm2015/sidenav.mjs +26 -26
  272. package/fesm2015/sidenav.mjs.map +1 -1
  273. package/fesm2015/slide-toggle/testing.mjs +2 -1
  274. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  275. package/fesm2015/slide-toggle.mjs +103 -93
  276. package/fesm2015/slide-toggle.mjs.map +1 -1
  277. package/fesm2015/slider.mjs +8 -8
  278. package/fesm2015/slider.mjs.map +1 -1
  279. package/fesm2015/snack-bar.mjs +40 -35
  280. package/fesm2015/snack-bar.mjs.map +1 -1
  281. package/fesm2015/sort.mjs +14 -14
  282. package/fesm2015/sort.mjs.map +1 -1
  283. package/fesm2015/stepper/testing.mjs +2 -2
  284. package/fesm2015/stepper/testing.mjs.map +1 -1
  285. package/fesm2015/stepper.mjs +42 -44
  286. package/fesm2015/stepper.mjs.map +1 -1
  287. package/fesm2015/table.mjs +58 -58
  288. package/fesm2015/table.mjs.map +1 -1
  289. package/fesm2015/tabs.mjs +120 -78
  290. package/fesm2015/tabs.mjs.map +1 -1
  291. package/fesm2015/toolbar/testing.mjs +1 -1
  292. package/fesm2015/toolbar/testing.mjs.map +1 -1
  293. package/fesm2015/toolbar.mjs +11 -11
  294. package/fesm2015/toolbar.mjs.map +1 -1
  295. package/fesm2015/tooltip.mjs +17 -17
  296. package/fesm2015/tooltip.mjs.map +1 -1
  297. package/fesm2015/tree.mjs +26 -26
  298. package/fesm2015/tree.mjs.map +1 -1
  299. package/fesm2020/autocomplete/testing.mjs +4 -0
  300. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  301. package/fesm2020/autocomplete.mjs +43 -30
  302. package/fesm2020/autocomplete.mjs.map +1 -1
  303. package/fesm2020/badge.mjs +7 -7
  304. package/fesm2020/badge.mjs.map +1 -1
  305. package/fesm2020/bottom-sheet.mjs +133 -343
  306. package/fesm2020/bottom-sheet.mjs.map +1 -1
  307. package/fesm2020/button-toggle.mjs +11 -11
  308. package/fesm2020/button-toggle.mjs.map +1 -1
  309. package/fesm2020/button.mjs +12 -12
  310. package/fesm2020/button.mjs.map +1 -1
  311. package/fesm2020/card.mjs +47 -47
  312. package/fesm2020/card.mjs.map +1 -1
  313. package/fesm2020/checkbox.mjs +162 -144
  314. package/fesm2020/checkbox.mjs.map +1 -1
  315. package/fesm2020/chips.mjs +26 -27
  316. package/fesm2020/chips.mjs.map +1 -1
  317. package/fesm2020/core.mjs +98 -81
  318. package/fesm2020/core.mjs.map +1 -1
  319. package/fesm2020/datepicker/testing.mjs +3 -3
  320. package/fesm2020/datepicker/testing.mjs.map +1 -1
  321. package/fesm2020/datepicker.mjs +111 -103
  322. package/fesm2020/datepicker.mjs.map +1 -1
  323. package/fesm2020/dialog/testing.mjs +3 -3
  324. package/fesm2020/dialog/testing.mjs.map +1 -1
  325. package/fesm2020/dialog.mjs +155 -489
  326. package/fesm2020/dialog.mjs.map +1 -1
  327. package/fesm2020/divider.mjs +8 -8
  328. package/fesm2020/divider.mjs.map +1 -1
  329. package/fesm2020/expansion/testing.mjs +5 -5
  330. package/fesm2020/expansion/testing.mjs.map +1 -1
  331. package/fesm2020/expansion.mjs +28 -28
  332. package/fesm2020/expansion.mjs.map +1 -1
  333. package/fesm2020/form-field/testing.mjs +1 -1
  334. package/fesm2020/form-field/testing.mjs.map +1 -1
  335. package/fesm2020/form-field.mjs +29 -29
  336. package/fesm2020/form-field.mjs.map +1 -1
  337. package/fesm2020/grid-list/testing.mjs +2 -2
  338. package/fesm2020/grid-list/testing.mjs.map +1 -1
  339. package/fesm2020/grid-list.mjs +25 -25
  340. package/fesm2020/grid-list.mjs.map +1 -1
  341. package/fesm2020/icon/testing.mjs +9 -9
  342. package/fesm2020/icon/testing.mjs.map +1 -1
  343. package/fesm2020/icon.mjs +11 -11
  344. package/fesm2020/icon.mjs.map +1 -1
  345. package/fesm2020/input.mjs +7 -7
  346. package/fesm2020/input.mjs.map +1 -1
  347. package/fesm2020/list.mjs +32 -32
  348. package/fesm2020/list.mjs.map +1 -1
  349. package/fesm2020/menu.mjs +48 -60
  350. package/fesm2020/menu.mjs.map +1 -1
  351. package/fesm2020/paginator/testing.mjs +10 -0
  352. package/fesm2020/paginator/testing.mjs.map +1 -1
  353. package/fesm2020/paginator.mjs +19 -19
  354. package/fesm2020/paginator.mjs.map +1 -1
  355. package/fesm2020/progress-bar.mjs +11 -8
  356. package/fesm2020/progress-bar.mjs.map +1 -1
  357. package/fesm2020/progress-spinner.mjs +8 -8
  358. package/fesm2020/progress-spinner.mjs.map +1 -1
  359. package/fesm2020/radio.mjs +45 -17
  360. package/fesm2020/radio.mjs.map +1 -1
  361. package/fesm2020/select.mjs +29 -22
  362. package/fesm2020/select.mjs.map +1 -1
  363. package/fesm2020/sidenav.mjs +26 -26
  364. package/fesm2020/sidenav.mjs.map +1 -1
  365. package/fesm2020/slide-toggle/testing.mjs +2 -1
  366. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  367. package/fesm2020/slide-toggle.mjs +103 -93
  368. package/fesm2020/slide-toggle.mjs.map +1 -1
  369. package/fesm2020/slider.mjs +8 -8
  370. package/fesm2020/slider.mjs.map +1 -1
  371. package/fesm2020/snack-bar.mjs +40 -35
  372. package/fesm2020/snack-bar.mjs.map +1 -1
  373. package/fesm2020/sort.mjs +14 -14
  374. package/fesm2020/sort.mjs.map +1 -1
  375. package/fesm2020/stepper/testing.mjs +2 -2
  376. package/fesm2020/stepper/testing.mjs.map +1 -1
  377. package/fesm2020/stepper.mjs +42 -44
  378. package/fesm2020/stepper.mjs.map +1 -1
  379. package/fesm2020/table.mjs +58 -58
  380. package/fesm2020/table.mjs.map +1 -1
  381. package/fesm2020/tabs.mjs +119 -78
  382. package/fesm2020/tabs.mjs.map +1 -1
  383. package/fesm2020/toolbar/testing.mjs +1 -1
  384. package/fesm2020/toolbar/testing.mjs.map +1 -1
  385. package/fesm2020/toolbar.mjs +11 -11
  386. package/fesm2020/toolbar.mjs.map +1 -1
  387. package/fesm2020/tooltip.mjs +17 -17
  388. package/fesm2020/tooltip.mjs.map +1 -1
  389. package/fesm2020/tree.mjs +26 -26
  390. package/fesm2020/tree.mjs.map +1 -1
  391. package/form-field/index.d.ts +401 -5
  392. package/form-field/testing/control/index.d.ts +8 -6
  393. package/form-field/testing/index.d.ts +127 -8
  394. package/grid-list/index.d.ts +232 -5
  395. package/grid-list/testing/index.d.ts +86 -8
  396. package/icon/index.d.ts +443 -5
  397. package/icon/testing/index.d.ts +81 -6
  398. package/index.d.ts +3 -7
  399. package/input/index.d.ts +209 -6
  400. package/input/testing/index.d.ts +129 -8
  401. package/list/index.d.ts +369 -6
  402. package/list/testing/index.d.ts +329 -6
  403. package/menu/index.d.ts +613 -6
  404. package/menu/testing/index.d.ts +115 -8
  405. package/package.json +38 -38
  406. package/paginator/index.d.ts +224 -6
  407. package/paginator/testing/index.d.ts +65 -8
  408. package/prebuilt-themes/deeppurple-amber.css +1 -1
  409. package/prebuilt-themes/indigo-pink.css +1 -1
  410. package/prebuilt-themes/pink-bluegrey.css +1 -1
  411. package/prebuilt-themes/purple-green.css +1 -1
  412. package/progress-bar/index.d.ts +147 -6
  413. package/progress-bar/testing/index.d.ts +26 -8
  414. package/progress-spinner/index.d.ts +138 -6
  415. package/progress-spinner/testing/index.d.ts +27 -8
  416. package/radio/index.d.ts +305 -6
  417. package/radio/testing/index.d.ts +130 -8
  418. package/schematics/ng-add/index.js +1 -1
  419. package/schematics/ng-add/index.mjs +1 -1
  420. package/schematics/ng-add/setup-project.js +59 -18
  421. package/schematics/ng-add/setup-project.mjs +59 -18
  422. package/schematics/ng-update/migrations/hammer-gestures-v9/gesture-config.template +1 -1
  423. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +5 -5
  424. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +5 -5
  425. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +22 -22
  426. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +22 -22
  427. package/select/index.d.ts +534 -5
  428. package/select/testing/index.d.ts +79 -8
  429. package/sidenav/index.d.ts +395 -5
  430. package/sidenav/testing/index.d.ts +124 -6
  431. package/slide-toggle/index.d.ts +186 -5
  432. package/slide-toggle/testing/index.d.ts +77 -8
  433. package/slider/index.d.ts +289 -6
  434. package/slider/testing/index.d.ts +60 -8
  435. package/snack-bar/index.d.ts +372 -6
  436. package/snack-bar/testing/index.d.ts +72 -8
  437. package/sort/index.d.ts +326 -5
  438. package/sort/testing/index.d.ts +50 -8
  439. package/stepper/index.d.ts +288 -6
  440. package/stepper/testing/index.d.ts +142 -6
  441. package/table/index.d.ts +382 -5
  442. package/table/testing/index.d.ts +178 -8
  443. package/tabs/_tabs-common.scss +6 -5
  444. package/tabs/index.d.ts +965 -5
  445. package/tabs/testing/index.d.ts +153 -8
  446. package/toolbar/index.d.ts +56 -6
  447. package/toolbar/testing/index.d.ts +35 -8
  448. package/tooltip/index.d.ts +362 -5
  449. package/tooltip/testing/index.d.ts +42 -8
  450. package/tree/index.d.ts +243 -5
  451. package/tree/testing/index.d.ts +122 -8
  452. package/autocomplete/autocomplete-module.d.ts +0 -13
  453. package/autocomplete/autocomplete-origin.d.ts +0 -27
  454. package/autocomplete/autocomplete-trigger.d.ts +0 -211
  455. package/autocomplete/autocomplete.d.ts +0 -150
  456. package/autocomplete/autocomplete_public_index.d.ts +0 -4
  457. package/autocomplete/package.json +0 -9
  458. package/autocomplete/public-api.d.ts +0 -11
  459. package/autocomplete/testing/autocomplete-harness-filters.d.ts +0 -13
  460. package/autocomplete/testing/autocomplete-harness.d.ts +0 -61
  461. package/autocomplete/testing/package.json +0 -9
  462. package/autocomplete/testing/public-api.d.ts +0 -9
  463. package/badge/badge-module.d.ts +0 -9
  464. package/badge/badge.d.ts +0 -86
  465. package/badge/badge_public_index.d.ts +0 -4
  466. package/badge/package.json +0 -9
  467. package/badge/public-api.d.ts +0 -9
  468. package/badge/testing/badge-harness-filters.d.ts +0 -11
  469. package/badge/testing/badge-harness.d.ts +0 -34
  470. package/badge/testing/package.json +0 -9
  471. package/badge/testing/public-api.d.ts +0 -9
  472. package/bottom-sheet/bottom-sheet-animations.d.ts +0 -12
  473. package/bottom-sheet/bottom-sheet-config.d.ts +0 -54
  474. package/bottom-sheet/bottom-sheet-container.d.ts +0 -87
  475. package/bottom-sheet/bottom-sheet-module.d.ts +0 -10
  476. package/bottom-sheet/bottom-sheet-ref.d.ts +0 -51
  477. package/bottom-sheet/bottom-sheet.d.ts +0 -59
  478. package/bottom-sheet/bottom-sheet_public_index.d.ts +0 -4
  479. package/bottom-sheet/package.json +0 -9
  480. package/bottom-sheet/public-api.d.ts +0 -13
  481. package/bottom-sheet/testing/bottom-sheet-harness-filters.d.ts +0 -10
  482. package/bottom-sheet/testing/bottom-sheet-harness.d.ts +0 -27
  483. package/bottom-sheet/testing/package.json +0 -9
  484. package/bottom-sheet/testing/public-api.d.ts +0 -9
  485. package/button/button-module.d.ts +0 -8
  486. package/button/button.d.ts +0 -58
  487. package/button/button_public_index.d.ts +0 -4
  488. package/button/package.json +0 -9
  489. package/button/public-api.d.ts +0 -9
  490. package/button/testing/button-harness-filters.d.ts +0 -13
  491. package/button/testing/button-harness.d.ts +0 -41
  492. package/button/testing/package.json +0 -9
  493. package/button/testing/public-api.d.ts +0 -9
  494. package/button-toggle/button-toggle-module.d.ts +0 -8
  495. package/button-toggle/button-toggle.d.ts +0 -212
  496. package/button-toggle/button-toggle_public_index.d.ts +0 -4
  497. package/button-toggle/package.json +0 -9
  498. package/button-toggle/public-api.d.ts +0 -9
  499. package/button-toggle/testing/button-toggle-group-harness-filters.d.ts +0 -11
  500. package/button-toggle/testing/button-toggle-group-harness.d.ts +0 -35
  501. package/button-toggle/testing/button-toggle-harness-filters.d.ts +0 -17
  502. package/button-toggle/testing/button-toggle-harness.d.ts +0 -56
  503. package/button-toggle/testing/package.json +0 -9
  504. package/button-toggle/testing/public-api.d.ts +0 -11
  505. package/card/card-module.d.ts +0 -8
  506. package/card/card.d.ts +0 -126
  507. package/card/card_public_index.d.ts +0 -4
  508. package/card/package.json +0 -9
  509. package/card/public-api.d.ts +0 -9
  510. package/card/testing/card-harness-filters.d.ts +0 -17
  511. package/card/testing/card-harness.d.ts +0 -36
  512. package/card/testing/package.json +0 -9
  513. package/card/testing/public-api.d.ts +0 -9
  514. package/checkbox/checkbox-config.d.ts +0 -28
  515. package/checkbox/checkbox-module.d.ts +0 -16
  516. package/checkbox/checkbox-required-validator.d.ts +0 -20
  517. package/checkbox/checkbox.d.ts +0 -166
  518. package/checkbox/checkbox_public_index.d.ts +0 -4
  519. package/checkbox/package.json +0 -9
  520. package/checkbox/public-api.d.ts +0 -11
  521. package/checkbox/testing/checkbox-harness-filters.d.ts +0 -17
  522. package/checkbox/testing/checkbox-harness.d.ts +0 -81
  523. package/checkbox/testing/package.json +0 -9
  524. package/checkbox/testing/public-api.d.ts +0 -9
  525. package/chips/chip-default-options.d.ts +0 -15
  526. package/chips/chip-input.d.ts +0 -91
  527. package/chips/chip-list.d.ts +0 -289
  528. package/chips/chip-text-control.d.ts +0 -20
  529. package/chips/chip.d.ts +0 -210
  530. package/chips/chips-module.d.ts +0 -10
  531. package/chips/chips_public_index.d.ts +0 -4
  532. package/chips/package.json +0 -9
  533. package/chips/public-api.d.ts +0 -12
  534. package/chips/testing/chip-avatar-harness.d.ts +0 -20
  535. package/chips/testing/chip-harness-filters.d.ts +0 -43
  536. package/chips/testing/chip-harness.d.ts +0 -63
  537. package/chips/testing/chip-input-harness.d.ts +0 -47
  538. package/chips/testing/chip-list-harness.d.ts +0 -54
  539. package/chips/testing/chip-listbox-harness.d.ts +0 -34
  540. package/chips/testing/chip-option-harness.d.ts +0 -29
  541. package/chips/testing/chip-remove-harness.d.ts +0 -22
  542. package/chips/testing/package.json +0 -9
  543. package/chips/testing/public-api.d.ts +0 -14
  544. package/core/animation/animation.d.ts +0 -20
  545. package/core/common-behaviors/color.d.ts +0 -26
  546. package/core/common-behaviors/common-module.d.ts +0 -44
  547. package/core/common-behaviors/constructor.d.ts +0 -14
  548. package/core/common-behaviors/disable-ripple.d.ts +0 -17
  549. package/core/common-behaviors/disabled.d.ts +0 -17
  550. package/core/common-behaviors/error-state.d.ts +0 -35
  551. package/core/common-behaviors/index.d.ts +0 -15
  552. package/core/common-behaviors/initialized.d.ts +0 -30
  553. package/core/common-behaviors/tabindex.d.ts +0 -20
  554. package/core/core_public_index.d.ts +0 -4
  555. package/core/datetime/date-adapter.d.ts +0 -215
  556. package/core/datetime/date-formats.d.ts +0 -21
  557. package/core/datetime/index.d.ts +0 -15
  558. package/core/datetime/native-date-adapter.d.ts +0 -74
  559. package/core/datetime/native-date-formats.d.ts +0 -9
  560. package/core/error/error-options.d.ts +0 -14
  561. package/core/line/line.d.ts +0 -29
  562. package/core/option/index.d.ts +0 -15
  563. package/core/option/optgroup.d.ts +0 -40
  564. package/core/option/option-parent.d.ts +0 -22
  565. package/core/option/option.d.ts +0 -135
  566. package/core/package.json +0 -9
  567. package/core/public-api.d.ts +0 -16
  568. package/core/ripple/index.d.ts +0 -11
  569. package/core/ripple/ripple-ref.d.ts +0 -54
  570. package/core/ripple/ripple-renderer.d.ts +0 -99
  571. package/core/ripple/ripple.d.ts +0 -113
  572. package/core/selection/index.d.ts +0 -9
  573. package/core/selection/pseudo-checkbox/pseudo-checkbox-module.d.ts +0 -8
  574. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -29
  575. package/core/testing/optgroup-harness-filters.d.ts +0 -11
  576. package/core/testing/optgroup-harness.d.ts +0 -33
  577. package/core/testing/option-harness-filters.d.ts +0 -12
  578. package/core/testing/option-harness.d.ts +0 -35
  579. package/core/testing/package.json +0 -9
  580. package/core/testing/public-api.d.ts +0 -11
  581. package/core/version.d.ts +0 -10
  582. package/datepicker/calendar-body.d.ts +0 -176
  583. package/datepicker/calendar.d.ts +0 -156
  584. package/datepicker/date-range-input-parts.d.ts +0 -108
  585. package/datepicker/date-range-input.d.ts +0 -133
  586. package/datepicker/date-range-picker.d.ts +0 -17
  587. package/datepicker/date-range-selection-strategy.d.ts +0 -48
  588. package/datepicker/date-selection-model.d.ts +0 -139
  589. package/datepicker/datepicker-actions.d.ts +0 -40
  590. package/datepicker/datepicker-animations.d.ts +0 -16
  591. package/datepicker/datepicker-base.d.ts +0 -272
  592. package/datepicker/datepicker-errors.d.ts +0 -9
  593. package/datepicker/datepicker-input-base.d.ts +0 -136
  594. package/datepicker/datepicker-input.d.ts +0 -67
  595. package/datepicker/datepicker-intl.d.ts +0 -36
  596. package/datepicker/datepicker-module.d.ts +0 -26
  597. package/datepicker/datepicker-toggle.d.ts +0 -47
  598. package/datepicker/datepicker.d.ts +0 -7
  599. package/datepicker/datepicker_public_index.d.ts +0 -4
  600. package/datepicker/month-view.d.ts +0 -139
  601. package/datepicker/multi-year-view.d.ts +0 -103
  602. package/datepicker/package.json +0 -9
  603. package/datepicker/public-api.d.ts +0 -26
  604. package/datepicker/testing/calendar-cell-harness.d.ts +0 -64
  605. package/datepicker/testing/calendar-harness.d.ts +0 -53
  606. package/datepicker/testing/date-range-input-harness.d.ts +0 -59
  607. package/datepicker/testing/datepicker-harness-filters.d.ts +0 -45
  608. package/datepicker/testing/datepicker-input-harness-base.d.ts +0 -44
  609. package/datepicker/testing/datepicker-input-harness.d.ts +0 -36
  610. package/datepicker/testing/datepicker-toggle-harness.d.ts +0 -28
  611. package/datepicker/testing/datepicker-trigger-harness-base.d.ts +0 -44
  612. package/datepicker/testing/package.json +0 -9
  613. package/datepicker/testing/public-api.d.ts +0 -13
  614. package/datepicker/year-view.d.ts +0 -114
  615. package/dialog/dialog-animations.d.ts +0 -25
  616. package/dialog/dialog-config.d.ts +0 -100
  617. package/dialog/dialog-container.d.ts +0 -133
  618. package/dialog/dialog-content-directives.d.ts +0 -76
  619. package/dialog/dialog-module.d.ts +0 -11
  620. package/dialog/dialog-ref.d.ts +0 -101
  621. package/dialog/dialog.d.ts +0 -154
  622. package/dialog/dialog_public_index.d.ts +0 -4
  623. package/dialog/package.json +0 -9
  624. package/dialog/public-api.d.ts +0 -14
  625. package/dialog/testing/dialog-harness-filters.d.ts +0 -11
  626. package/dialog/testing/dialog-harness.d.ts +0 -58
  627. package/dialog/testing/dialog-opener.d.ts +0 -33
  628. package/dialog/testing/package.json +0 -9
  629. package/dialog/testing/public-api.d.ts +0 -10
  630. package/divider/divider-module.d.ts +0 -8
  631. package/divider/divider.d.ts +0 -14
  632. package/divider/divider_public_index.d.ts +0 -4
  633. package/divider/package.json +0 -9
  634. package/divider/public-api.d.ts +0 -9
  635. package/divider/testing/divider-harness-filters.d.ts +0 -10
  636. package/divider/testing/divider-harness.d.ts +0 -16
  637. package/divider/testing/package.json +0 -9
  638. package/divider/testing/public-api.d.ts +0 -9
  639. package/expansion/accordion-base.d.ts +0 -34
  640. package/expansion/accordion.d.ts +0 -45
  641. package/expansion/expansion-animations.d.ts +0 -36
  642. package/expansion/expansion-module.d.ts +0 -14
  643. package/expansion/expansion-panel-base.d.ts +0 -22
  644. package/expansion/expansion-panel-content.d.ts +0 -21
  645. package/expansion/expansion-panel-header.d.ts +0 -83
  646. package/expansion/expansion-panel.d.ts +0 -96
  647. package/expansion/expansion_public_index.d.ts +0 -4
  648. package/expansion/package.json +0 -9
  649. package/expansion/public-api.d.ts +0 -15
  650. package/expansion/testing/accordion-harness.d.ts +0 -25
  651. package/expansion/testing/expansion-harness-filters.d.ts +0 -17
  652. package/expansion/testing/expansion-harness.d.ts +0 -79
  653. package/expansion/testing/package.json +0 -9
  654. package/expansion/testing/public-api.d.ts +0 -10
  655. package/form-field/error.d.ts +0 -22
  656. package/form-field/form-field-animations.d.ts +0 -15
  657. package/form-field/form-field-control.d.ts +0 -60
  658. package/form-field/form-field-errors.d.ts +0 -13
  659. package/form-field/form-field-module.d.ts +0 -16
  660. package/form-field/form-field.d.ts +0 -189
  661. package/form-field/form-field_public_index.d.ts +0 -4
  662. package/form-field/hint.d.ts +0 -27
  663. package/form-field/label.d.ts +0 -6
  664. package/form-field/package.json +0 -9
  665. package/form-field/placeholder.d.ts +0 -11
  666. package/form-field/prefix.d.ts +0 -20
  667. package/form-field/public-api.d.ts +0 -18
  668. package/form-field/suffix.d.ts +0 -20
  669. package/form-field/testing/control/form-field-control-harness.d.ts +0 -14
  670. package/form-field/testing/control/package.json +0 -9
  671. package/form-field/testing/form-field-harness-filters.d.ts +0 -15
  672. package/form-field/testing/form-field-harness.d.ts +0 -114
  673. package/form-field/testing/package.json +0 -9
  674. package/form-field/testing/public-api.d.ts +0 -10
  675. package/grid-list/grid-list-base.d.ts +0 -22
  676. package/grid-list/grid-list-module.d.ts +0 -9
  677. package/grid-list/grid-list.d.ts +0 -63
  678. package/grid-list/grid-list_public_index.d.ts +0 -4
  679. package/grid-list/grid-tile.d.ts +0 -64
  680. package/grid-list/package.json +0 -9
  681. package/grid-list/public-api.d.ts +0 -12
  682. package/grid-list/testing/grid-list-harness-filters.d.ts +0 -18
  683. package/grid-list/testing/grid-list-harness.d.ts +0 -41
  684. package/grid-list/testing/grid-tile-harness.d.ts +0 -43
  685. package/grid-list/testing/package.json +0 -9
  686. package/grid-list/testing/public-api.d.ts +0 -10
  687. package/grid-list/tile-coordinator.d.ts +0 -79
  688. package/grid-list/tile-styler.d.ts +0 -134
  689. package/icon/fake-svgs.d.ts +0 -23
  690. package/icon/icon-module.d.ts +0 -8
  691. package/icon/icon-registry.d.ts +0 -262
  692. package/icon/icon.d.ts +0 -147
  693. package/icon/icon_public_index.d.ts +0 -4
  694. package/icon/package.json +0 -9
  695. package/icon/public-api.d.ts +0 -10
  696. package/icon/testing/fake-icon-registry.d.ts +0 -46
  697. package/icon/testing/icon-harness-filters.d.ts +0 -22
  698. package/icon/testing/icon-harness.d.ts +0 -29
  699. package/icon/testing/package.json +0 -9
  700. package/icon/testing/public-api.d.ts +0 -10
  701. package/icon/testing/testing_public_index.d.ts +0 -4
  702. package/icon/trusted-types.d.ts +0 -37
  703. package/input/input-errors.d.ts +0 -9
  704. package/input/input-module.d.ts +0 -10
  705. package/input/input-value-accessor.d.ts +0 -17
  706. package/input/input.d.ts +0 -174
  707. package/input/input_public_index.d.ts +0 -4
  708. package/input/package.json +0 -9
  709. package/input/public-api.d.ts +0 -11
  710. package/input/testing/input-harness-filters.d.ts +0 -15
  711. package/input/testing/input-harness.d.ts +0 -57
  712. package/input/testing/native-option-harness.d.ts +0 -29
  713. package/input/testing/native-select-harness-filters.d.ts +0 -17
  714. package/input/testing/native-select-harness.d.ts +0 -45
  715. package/input/testing/package.json +0 -9
  716. package/input/testing/public-api.d.ts +0 -12
  717. package/list/list-module.d.ts +0 -11
  718. package/list/list.d.ts +0 -99
  719. package/list/list_public_index.d.ts +0 -4
  720. package/list/package.json +0 -9
  721. package/list/public-api.d.ts +0 -10
  722. package/list/selection-list.d.ts +0 -226
  723. package/list/testing/action-list-harness.d.ts +0 -44
  724. package/list/testing/list-harness-base.d.ts +0 -100
  725. package/list/testing/list-harness-filters.d.ts +0 -32
  726. package/list/testing/list-harness.d.ts +0 -36
  727. package/list/testing/list-item-harness-base.d.ts +0 -48
  728. package/list/testing/nav-list-harness.d.ts +0 -46
  729. package/list/testing/package.json +0 -9
  730. package/list/testing/public-api.d.ts +0 -13
  731. package/list/testing/selection-list-harness.d.ts +0 -74
  732. package/menu/menu-animations.d.ts +0 -30
  733. package/menu/menu-content.d.ts +0 -47
  734. package/menu/menu-errors.d.ts +0 -25
  735. package/menu/menu-item.d.ts +0 -61
  736. package/menu/menu-module.d.ts +0 -14
  737. package/menu/menu-panel.d.ts +0 -49
  738. package/menu/menu-positions.d.ts +0 -9
  739. package/menu/menu-trigger.d.ts +0 -180
  740. package/menu/menu.d.ts +0 -207
  741. package/menu/menu_public_index.d.ts +0 -4
  742. package/menu/package.json +0 -9
  743. package/menu/public-api.d.ts +0 -15
  744. package/menu/testing/menu-harness-filters.d.ts +0 -20
  745. package/menu/testing/menu-harness.d.ts +0 -98
  746. package/menu/testing/package.json +0 -9
  747. package/menu/testing/public-api.d.ts +0 -9
  748. package/paginator/package.json +0 -9
  749. package/paginator/paginator-intl.d.ts +0 -43
  750. package/paginator/paginator-module.d.ts +0 -12
  751. package/paginator/paginator.d.ts +0 -157
  752. package/paginator/paginator_public_index.d.ts +0 -4
  753. package/paginator/public-api.d.ts +0 -10
  754. package/paginator/testing/package.json +0 -9
  755. package/paginator/testing/paginator-harness-filters.d.ts +0 -11
  756. package/paginator/testing/paginator-harness.d.ts +0 -58
  757. package/paginator/testing/public-api.d.ts +0 -9
  758. package/progress-bar/package.json +0 -9
  759. package/progress-bar/progress-bar-module.d.ts +0 -9
  760. package/progress-bar/progress-bar.d.ts +0 -116
  761. package/progress-bar/progress-bar_public_index.d.ts +0 -4
  762. package/progress-bar/public-api.d.ts +0 -9
  763. package/progress-bar/testing/package.json +0 -9
  764. package/progress-bar/testing/progress-bar-harness-filters.d.ts +0 -11
  765. package/progress-bar/testing/progress-bar-harness.d.ts +0 -25
  766. package/progress-bar/testing/public-api.d.ts +0 -9
  767. package/progress-spinner/package.json +0 -9
  768. package/progress-spinner/progress-spinner-module.d.ts +0 -9
  769. package/progress-spinner/progress-spinner.d.ts +0 -107
  770. package/progress-spinner/progress-spinner_public_index.d.ts +0 -4
  771. package/progress-spinner/public-api.d.ts +0 -16
  772. package/progress-spinner/testing/package.json +0 -9
  773. package/progress-spinner/testing/progress-spinner-harness-filters.d.ts +0 -11
  774. package/progress-spinner/testing/progress-spinner-harness.d.ts +0 -26
  775. package/progress-spinner/testing/public-api.d.ts +0 -9
  776. package/radio/package.json +0 -9
  777. package/radio/public-api.d.ts +0 -9
  778. package/radio/radio-module.d.ts +0 -8
  779. package/radio/radio.d.ts +0 -260
  780. package/radio/radio_public_index.d.ts +0 -4
  781. package/radio/testing/package.json +0 -9
  782. package/radio/testing/public-api.d.ts +0 -9
  783. package/radio/testing/radio-harness-filters.d.ts +0 -22
  784. package/radio/testing/radio-harness.d.ts +0 -111
  785. package/select/package.json +0 -9
  786. package/select/public-api.d.ts +0 -10
  787. package/select/select-animations.d.ts +0 -19
  788. package/select/select-errors.d.ts +0 -26
  789. package/select/select-module.d.ts +0 -12
  790. package/select/select.d.ts +0 -452
  791. package/select/select_public_index.d.ts +0 -4
  792. package/select/testing/package.json +0 -9
  793. package/select/testing/public-api.d.ts +0 -9
  794. package/select/testing/select-harness-filters.d.ts +0 -11
  795. package/select/testing/select-harness.d.ts +0 -73
  796. package/sidenav/drawer-animations.d.ts +0 -15
  797. package/sidenav/drawer.d.ts +0 -299
  798. package/sidenav/package.json +0 -9
  799. package/sidenav/public-api.d.ts +0 -11
  800. package/sidenav/sidenav-module.d.ts +0 -11
  801. package/sidenav/sidenav.d.ts +0 -45
  802. package/sidenav/sidenav_public_index.d.ts +0 -4
  803. package/sidenav/testing/drawer-container-harness.d.ts +0 -30
  804. package/sidenav/testing/drawer-content-harness.d.ts +0 -21
  805. package/sidenav/testing/drawer-harness-filters.d.ts +0 -19
  806. package/sidenav/testing/drawer-harness.d.ts +0 -33
  807. package/sidenav/testing/package.json +0 -9
  808. package/sidenav/testing/public-api.d.ts +0 -14
  809. package/sidenav/testing/sidenav-container-harness.d.ts +0 -30
  810. package/sidenav/testing/sidenav-content-harness.d.ts +0 -21
  811. package/sidenav/testing/sidenav-harness.d.ts +0 -24
  812. package/slide-toggle/package.json +0 -9
  813. package/slide-toggle/public-api.d.ts +0 -11
  814. package/slide-toggle/slide-toggle-config.d.ts +0 -18
  815. package/slide-toggle/slide-toggle-module.d.ts +0 -16
  816. package/slide-toggle/slide-toggle-required-validator.d.ts +0 -23
  817. package/slide-toggle/slide-toggle.d.ts +0 -109
  818. package/slide-toggle/slide-toggle_public_index.d.ts +0 -4
  819. package/slide-toggle/testing/package.json +0 -9
  820. package/slide-toggle/testing/public-api.d.ts +0 -9
  821. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +0 -17
  822. package/slide-toggle/testing/slide-toggle-harness.d.ts +0 -65
  823. package/slider/package.json +0 -9
  824. package/slider/public-api.d.ts +0 -9
  825. package/slider/slider-module.d.ts +0 -9
  826. package/slider/slider.d.ts +0 -267
  827. package/slider/slider_public_index.d.ts +0 -4
  828. package/slider/testing/package.json +0 -9
  829. package/slider/testing/public-api.d.ts +0 -9
  830. package/slider/testing/slider-harness-filters.d.ts +0 -11
  831. package/slider/testing/slider-harness.d.ts +0 -59
  832. package/snack-bar/package.json +0 -9
  833. package/snack-bar/public-api.d.ts +0 -14
  834. package/snack-bar/simple-snack-bar.d.ts +0 -33
  835. package/snack-bar/snack-bar-animations.d.ts +0 -15
  836. package/snack-bar/snack-bar-config.d.ts +0 -45
  837. package/snack-bar/snack-bar-container.d.ts +0 -101
  838. package/snack-bar/snack-bar-module.d.ts +0 -13
  839. package/snack-bar/snack-bar-ref.d.ts +0 -64
  840. package/snack-bar/snack-bar.d.ts +0 -107
  841. package/snack-bar/snack-bar_public_index.d.ts +0 -4
  842. package/snack-bar/testing/package.json +0 -9
  843. package/snack-bar/testing/public-api.d.ts +0 -9
  844. package/snack-bar/testing/snack-bar-harness-filters.d.ts +0 -11
  845. package/snack-bar/testing/snack-bar-harness.d.ts +0 -71
  846. package/sort/package.json +0 -9
  847. package/sort/public-api.d.ts +0 -13
  848. package/sort/sort-animations.d.ts +0 -20
  849. package/sort/sort-direction.d.ts +0 -8
  850. package/sort/sort-errors.d.ts +0 -15
  851. package/sort/sort-header-intl.d.ts +0 -31
  852. package/sort/sort-header.d.ts +0 -166
  853. package/sort/sort-module.d.ts +0 -10
  854. package/sort/sort.d.ts +0 -93
  855. package/sort/sort_public_index.d.ts +0 -4
  856. package/sort/testing/package.json +0 -9
  857. package/sort/testing/public-api.d.ts +0 -10
  858. package/sort/testing/sort-harness-filters.d.ts +0 -15
  859. package/sort/testing/sort-harness.d.ts +0 -24
  860. package/sort/testing/sort-header-harness.d.ts +0 -30
  861. package/stepper/package.json +0 -9
  862. package/stepper/public-api.d.ts +0 -17
  863. package/stepper/step-content.d.ts +0 -18
  864. package/stepper/step-header.d.ts +0 -66
  865. package/stepper/step-label.d.ts +0 -6
  866. package/stepper/stepper-animations.d.ts +0 -18
  867. package/stepper/stepper-button.d.ts +0 -19
  868. package/stepper/stepper-icon.d.ts +0 -30
  869. package/stepper/stepper-intl.d.ts +0 -34
  870. package/stepper/stepper-module.d.ts +0 -18
  871. package/stepper/stepper.d.ts +0 -80
  872. package/stepper/stepper_public_index.d.ts +0 -4
  873. package/stepper/testing/package.json +0 -9
  874. package/stepper/testing/public-api.d.ts +0 -11
  875. package/stepper/testing/step-harness-filters.d.ts +0 -37
  876. package/stepper/testing/step-harness.d.ts +0 -52
  877. package/stepper/testing/stepper-button-harnesses.d.ts +0 -41
  878. package/stepper/testing/stepper-harness.d.ts +0 -35
  879. package/table/cell.d.ts +0 -59
  880. package/table/package.json +0 -9
  881. package/table/public-api.d.ts +0 -13
  882. package/table/row.d.ts +0 -55
  883. package/table/table-data-source.d.ts +0 -169
  884. package/table/table-module.d.ts +0 -12
  885. package/table/table.d.ts +0 -28
  886. package/table/table_public_index.d.ts +0 -4
  887. package/table/testing/cell-harness.d.ts +0 -49
  888. package/table/testing/package.json +0 -9
  889. package/table/testing/public-api.d.ts +0 -11
  890. package/table/testing/row-harness.d.ts +0 -66
  891. package/table/testing/table-harness-filters.d.ts +0 -21
  892. package/table/testing/table-harness.d.ts +0 -58
  893. package/table/text-column.d.ts +0 -22
  894. package/tabs/ink-bar.d.ts +0 -49
  895. package/tabs/package.json +0 -9
  896. package/tabs/paginated-tab-header.d.ts +0 -196
  897. package/tabs/public-api.d.ts +0 -20
  898. package/tabs/tab-body.d.ts +0 -116
  899. package/tabs/tab-config.d.ts +0 -35
  900. package/tabs/tab-content.d.ts +0 -22
  901. package/tabs/tab-group.d.ts +0 -181
  902. package/tabs/tab-header.d.ts +0 -49
  903. package/tabs/tab-label-wrapper.d.ts +0 -29
  904. package/tabs/tab-label.d.ts +0 -28
  905. package/tabs/tab-nav-bar/index.d.ts +0 -8
  906. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +0 -134
  907. package/tabs/tab.d.ts +0 -89
  908. package/tabs/tabs-animations.d.ts +0 -15
  909. package/tabs/tabs-module.d.ts +0 -20
  910. package/tabs/tabs_public_index.d.ts +0 -4
  911. package/tabs/testing/package.json +0 -9
  912. package/tabs/testing/public-api.d.ts +0 -12
  913. package/tabs/testing/tab-group-harness.d.ts +0 -35
  914. package/tabs/testing/tab-harness-filters.d.ts +0 -29
  915. package/tabs/testing/tab-harness.d.ts +0 -38
  916. package/tabs/testing/tab-link-harness.d.ts +0 -29
  917. package/tabs/testing/tab-nav-bar-harness.d.ts +0 -38
  918. package/tabs/testing/tab-nav-panel-harness.d.ts +0 -23
  919. package/toolbar/package.json +0 -9
  920. package/toolbar/public-api.d.ts +0 -9
  921. package/toolbar/testing/package.json +0 -9
  922. package/toolbar/testing/public-api.d.ts +0 -9
  923. package/toolbar/testing/toolbar-harness-filters.d.ts +0 -13
  924. package/toolbar/testing/toolbar-harness.d.ts +0 -31
  925. package/toolbar/toolbar-module.d.ts +0 -8
  926. package/toolbar/toolbar.d.ts +0 -41
  927. package/toolbar/toolbar_public_index.d.ts +0 -4
  928. package/tooltip/package.json +0 -9
  929. package/tooltip/public-api.d.ts +0 -10
  930. package/tooltip/testing/package.json +0 -9
  931. package/tooltip/testing/public-api.d.ts +0 -9
  932. package/tooltip/testing/tooltip-harness-filters.d.ts +0 -11
  933. package/tooltip/testing/tooltip-harness.d.ts +0 -38
  934. package/tooltip/tooltip-animations.d.ts +0 -15
  935. package/tooltip/tooltip-module.d.ts +0 -12
  936. package/tooltip/tooltip.d.ts +0 -299
  937. package/tooltip/tooltip_public_index.d.ts +0 -4
  938. package/tree/data-source/flat-data-source.d.ts +0 -83
  939. package/tree/data-source/nested-data-source.d.ts +0 -25
  940. package/tree/node.d.ts +0 -53
  941. package/tree/outlet.d.ts +0 -21
  942. package/tree/package.json +0 -9
  943. package/tree/padding.d.ts +0 -23
  944. package/tree/public-api.d.ts +0 -15
  945. package/tree/testing/node-harness.d.ts +0 -35
  946. package/tree/testing/package.json +0 -9
  947. package/tree/testing/public-api.d.ts +0 -10
  948. package/tree/testing/tree-harness-filters.d.ts +0 -22
  949. package/tree/testing/tree-harness.d.ts +0 -79
  950. package/tree/toggle.d.ts +0 -16
  951. package/tree/tree-module.d.ts +0 -13
  952. package/tree/tree.d.ts +0 -18
  953. package/tree/tree_public_index.d.ts +0 -4
package/fesm2020/tabs.mjs CHANGED
@@ -2,17 +2,17 @@ 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';
15
- import { Subject, Subscription, fromEvent, of, merge, timer } from 'rxjs';
14
+ import { take, startWith, distinctUntilChanged, takeUntil, switchMap, skip } from 'rxjs/operators';
15
+ import { Subject, Subscription, fromEvent, of, merge, EMPTY, Observable, timer } from 'rxjs';
16
16
  import * as i1 from '@angular/cdk/bidi';
17
17
  import { trigger, state, style, transition, animate } from '@angular/animations';
18
18
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
@@ -78,9 +78,9 @@ class MatInkBar {
78
78
  this._elementRef.nativeElement.style.visibility = 'hidden';
79
79
  }
80
80
  }
81
- MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: MatInkBar, decorators: [{
81
+ MatInkBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatInkBar, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: _MAT_INK_BAR_POSITIONER }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
82
+ MatInkBar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", 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-rc.1", ngImport: i0, type: MatInkBar, decorators: [{
84
84
  type: Directive,
85
85
  args: [{
86
86
  selector: 'mat-ink-bar',
@@ -118,9 +118,9 @@ class MatTabContent {
118
118
  this.template = template;
119
119
  }
120
120
  }
121
- MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: MatTabContent, decorators: [{
121
+ MatTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabContent, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
122
+ MatTabContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabContent, selector: "[matTabContent]", providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }], ngImport: i0 });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabContent, decorators: [{
124
124
  type: Directive,
125
125
  args: [{
126
126
  selector: '[matTabContent]',
@@ -153,9 +153,9 @@ class MatTabLabel extends CdkPortal {
153
153
  this._closestTab = _closestTab;
154
154
  }
155
155
  }
156
- MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: MatTabLabel, decorators: [{
156
+ MatTabLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", 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: "14.0.0", version: "14.0.0-rc.1", 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-rc.1", ngImport: i0, type: MatTabLabel, decorators: [{
159
159
  type: Directive,
160
160
  args: [{
161
161
  selector: '[mat-tab-label], [matTabLabel]',
@@ -248,9 +248,9 @@ class MatTab extends _MatTabBase {
248
248
  }
249
249
  }
250
250
  }
251
- MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: MatTab, decorators: [{
251
+ MatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
252
+ MatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTab, selector: "mat-tab", inputs: { disabled: "disabled", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MAT_TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MAT_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTab, decorators: [{
254
254
  type: Component,
255
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" }]
256
256
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
@@ -369,9 +369,9 @@ class MatTabBodyPortal extends CdkPortalOutlet {
369
369
  this._leavingSub.unsubscribe();
370
370
  }
371
371
  }
372
- MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabBodyPortal, decorators: [{
372
+ MatTabBodyPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabBodyPortal, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: forwardRef(() => MatTabBody) }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
373
+ MatTabBodyPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabBodyPortal, selector: "[matTabBodyHost]", usesInheritance: true, ngImport: i0 });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabBodyPortal, decorators: [{
375
375
  type: Directive,
376
376
  args: [{
377
377
  selector: '[matTabBodyHost]',
@@ -488,9 +488,9 @@ class _MatTabBodyBase {
488
488
  return 'right-origin-center';
489
489
  }
490
490
  }
491
- _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: _MatTabBodyBase, decorators: [{
491
+ _MatTabBodyBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", 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: "14.0.0", version: "14.0.0-rc.1", 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-rc.1", ngImport: i0, type: _MatTabBodyBase, decorators: [{
494
494
  type: Directive
495
495
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
496
496
  type: Optional
@@ -523,13 +523,13 @@ class MatTabBody extends _MatTabBodyBase {
523
523
  super(elementRef, dir, changeDetectorRef);
524
524
  }
525
525
  }
526
- MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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 });
528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabBody, decorators: [{
526
+ MatTabBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", 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: "14.0.0", version: "14.0.0-rc.1", type: MatTabBody, selector: "mat-tab-body", host: { classAttribute: "mat-tab-body" }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-tab-body-content\" #content\n [@translateTab]=\"{\n value: _position,\n params: {animationDuration: animationDuration}\n }\"\n (@translateTab.start)=\"_onTranslateTabStarted($event)\"\n (@translateTab.done)=\"_translateTabComplete.next($event)\"\n cdkScrollable>\n <ng-template matTabBodyHost></ng-template>\n</div>\n", styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.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-rc.1", ngImport: i0, type: MatTabBody, decorators: [{
529
529
  type: Component,
530
530
  args: [{ selector: 'mat-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matTabsAnimations.translateTab], host: {
531
531
  'class': 'mat-tab-body',
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}\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}"] }]
533
533
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
534
534
  type: Optional
535
535
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _portalHost: [{
@@ -578,9 +578,9 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperBase {
578
578
  return this.elementRef.nativeElement.offsetWidth;
579
579
  }
580
580
  }
581
- MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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.6", 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.6", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
581
+ MatTabLabelWrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
582
+ MatTabLabelWrapper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { disabled: "disabled" }, host: { properties: { "class.mat-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 });
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
584
584
  type: Directive,
585
585
  args: [{
586
586
  selector: '[matTabLabelWrapper]',
@@ -716,13 +716,19 @@ class MatPaginatedTabHeader {
716
716
  this._ngZone.onStable.pipe(take(1)).subscribe(realign);
717
717
  // On dir change or window resize, realign the ink bar and update the orientation of
718
718
  // the key manager if the direction has changed.
719
- merge(dirChange, resize, this._items.changes)
719
+ merge(dirChange, resize, this._items.changes, this._itemsResized())
720
720
  .pipe(takeUntil(this._destroyed))
721
721
  .subscribe(() => {
722
722
  // We need to defer this to give the browser some time to recalculate
723
723
  // the element dimensions. The call has to be wrapped in `NgZone.run`,
724
724
  // because the viewport change handler runs outside of Angular.
725
- 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
+ });
726
732
  this._keyManager.withHorizontalOrientation(this._getLayoutDirection());
727
733
  });
728
734
  // If there is a change in the focus key manager we need to emit the `indexFocused`
@@ -733,6 +739,26 @@ class MatPaginatedTabHeader {
733
739
  this._setTabFocus(newFocusIndex);
734
740
  });
735
741
  }
742
+ /** Sends any changes that could affect the layout of the items. */
743
+ _itemsResized() {
744
+ if (typeof ResizeObserver !== 'function') {
745
+ return EMPTY;
746
+ }
747
+ return this._items.changes.pipe(startWith(this._items), switchMap((tabItems) => new Observable((observer) => this._ngZone.runOutsideAngular(() => {
748
+ const resizeObserver = new ResizeObserver(() => {
749
+ observer.next();
750
+ });
751
+ tabItems.forEach(item => {
752
+ resizeObserver.observe(item.elementRef.nativeElement);
753
+ });
754
+ return () => {
755
+ resizeObserver.disconnect();
756
+ };
757
+ }))),
758
+ // Skip the first emit since the resize observer emits when an item
759
+ // is observed for new items when the tab is already inserted
760
+ skip(1));
761
+ }
736
762
  ngAfterContentChecked() {
737
763
  // If the number of tab labels have changed, check if scrolling should be enabled
738
764
  if (this._tabLabelCount != this._items.length) {
@@ -1058,9 +1084,9 @@ class MatPaginatedTabHeader {
1058
1084
  return { maxScrollDistance, distance: this._scrollDistance };
1059
1085
  }
1060
1086
  }
1061
- MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1062
- MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1087
+ MatPaginatedTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1088
+ MatPaginatedTabHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatPaginatedTabHeader, inputs: { disablePagination: "disablePagination" }, ngImport: i0 });
1089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
1064
1090
  type: Directive
1065
1091
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1066
1092
  type: Optional
@@ -1100,9 +1126,9 @@ class _MatTabHeaderBase extends MatPaginatedTabHeader {
1100
1126
  event.preventDefault();
1101
1127
  }
1102
1128
  }
1103
- _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1104
- _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1129
+ _MatTabHeaderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabHeaderBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1130
+ _MatTabHeaderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: _MatTabHeaderBase, inputs: { disableRipple: "disableRipple" }, usesInheritance: true, ngImport: i0 });
1131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabHeaderBase, decorators: [{
1106
1132
  type: Directive
1107
1133
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1108
1134
  type: Optional
@@ -1126,15 +1152,15 @@ class MatTabHeader extends _MatTabHeaderBase {
1126
1152
  super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
1127
1153
  }
1128
1154
  }
1129
- MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1130
- MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: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 });
1131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabHeader, decorators: [{
1155
+ MatTabHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1156
+ MatTabHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<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-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.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-tab-list._mat-animation-noopable{transition:none !important;animation:none !important}.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 });
1157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabHeader, decorators: [{
1132
1158
  type: Component,
1133
1159
  args: [{ selector: 'mat-tab-header', inputs: ['selectedIndex'], outputs: ['selectFocusedIndex', 'indexFocused'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
1134
1160
  'class': 'mat-tab-header',
1135
1161
  '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
1136
1162
  '[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
1137
- }, 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: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"] }]
1163
+ }, 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-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.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-tab-list._mat-animation-noopable{transition:none !important;animation:none !important}.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}}"] }]
1138
1164
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i1.Directionality, decorators: [{
1139
1165
  type: Optional
1140
1166
  }] }, { type: i0.NgZone }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1197,6 +1223,8 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1197
1223
  this._tabs = new QueryList();
1198
1224
  /** The tab index that should be selected after the content has been checked. */
1199
1225
  this._indexToSelect = 0;
1226
+ /** Index of the tab that was focused last. */
1227
+ this._lastFocusedTabIndex = null;
1200
1228
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
1201
1229
  this._tabBodyWrapperHeight = 0;
1202
1230
  /** Subscription to tabs being added/removed. */
@@ -1339,6 +1367,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1339
1367
  });
1340
1368
  if (this._selectedIndex !== indexToSelect) {
1341
1369
  this._selectedIndex = indexToSelect;
1370
+ this._lastFocusedTabIndex = null;
1342
1371
  this._changeDetectorRef.markForCheck();
1343
1372
  }
1344
1373
  }
@@ -1353,15 +1382,27 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1353
1382
  // explicit change that selects a different tab.
1354
1383
  if (indexToSelect === this._selectedIndex) {
1355
1384
  const tabs = this._tabs.toArray();
1385
+ let selectedTab;
1356
1386
  for (let i = 0; i < tabs.length; i++) {
1357
1387
  if (tabs[i].isActive) {
1358
1388
  // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed
1359
1389
  // event, otherwise the consumer may end up in an infinite loop in some edge cases like
1360
1390
  // adding a tab within the `selectedIndexChange` event.
1361
1391
  this._indexToSelect = this._selectedIndex = i;
1392
+ this._lastFocusedTabIndex = null;
1393
+ selectedTab = tabs[i];
1362
1394
  break;
1363
1395
  }
1364
1396
  }
1397
+ // If we haven't found an active tab and a tab exists at the selected index, it means
1398
+ // that the active tab was swapped out. Since this won't be picked up by the rendering
1399
+ // loop in `ngAfterContentChecked`, we need to sync it up manually.
1400
+ if (!selectedTab && tabs[indexToSelect]) {
1401
+ Promise.resolve().then(() => {
1402
+ tabs[indexToSelect].isActive = true;
1403
+ this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
1404
+ });
1405
+ }
1365
1406
  }
1366
1407
  this._changeDetectorRef.markForCheck();
1367
1408
  });
@@ -1412,6 +1453,7 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1412
1453
  }
1413
1454
  }
1414
1455
  _focusChanged(index) {
1456
+ this._lastFocusedTabIndex = index;
1415
1457
  this.focusChange.emit(this._createChangeEvent(index));
1416
1458
  }
1417
1459
  _createChangeEvent(index) {
@@ -1479,11 +1521,12 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1479
1521
  }
1480
1522
  }
1481
1523
  /** Retrieves the tabindex for the tab. */
1482
- _getTabIndex(tab, idx) {
1524
+ _getTabIndex(tab, index) {
1483
1525
  if (tab.disabled) {
1484
1526
  return null;
1485
1527
  }
1486
- return this.selectedIndex === idx ? 0 : -1;
1528
+ const targetIndex = this._lastFocusedTabIndex ?? this.selectedIndex;
1529
+ return index === targetIndex ? 0 : -1;
1487
1530
  }
1488
1531
  /** Callback for when the focused state of a tab has changed. */
1489
1532
  _tabFocusChanged(focusOrigin, index) {
@@ -1496,9 +1539,9 @@ class _MatTabGroupBase extends _MatTabGroupMixinBase {
1496
1539
  }
1497
1540
  }
1498
1541
  }
1499
- _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1500
- _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1542
+ _MatTabGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabGroupBase, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1543
+ _MatTabGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", 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 });
1544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabGroupBase, decorators: [{
1502
1545
  type: Directive
1503
1546
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1504
1547
  type: Inject,
@@ -1545,14 +1588,14 @@ class MatTabGroup extends _MatTabGroupBase {
1545
1588
  super(elementRef, changeDetectorRef, defaultConfig, animationMode);
1546
1589
  }
1547
1590
  }
1548
- MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1549
- MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: [
1591
+ MatTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1592
+ MatTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", disableRipple: "disableRipple" }, host: { properties: { "class.mat-tab-group-dynamic-height": "dynamicHeight", "class.mat-tab-group-inverted-header": "headerPosition === \"below\"" }, classAttribute: "mat-tab-group" }, providers: [
1550
1593
  {
1551
1594
  provide: MAT_TAB_GROUP,
1552
1595
  useExisting: MatTabGroup,
1553
1596
  },
1554
- ], 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 });
1555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabGroup, decorators: [{
1597
+ ], 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-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}.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 });
1598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabGroup, decorators: [{
1556
1599
  type: Component,
1557
1600
  args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, inputs: ['color', 'disableRipple'], providers: [
1558
1601
  {
@@ -1563,7 +1606,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
1563
1606
  'class': 'mat-tab-group',
1564
1607
  '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',
1565
1608
  '[class.mat-tab-group-inverted-header]': 'headerPosition === "below"',
1566
- }, 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"] }]
1609
+ }, 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-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}.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}"] }]
1567
1610
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1568
1611
  type: Inject,
1569
1612
  args: [MAT_TABS_CONFIG]
@@ -1659,9 +1702,9 @@ class _MatTabNavBase extends MatPaginatedTabHeader {
1659
1702
  return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
1660
1703
  }
1661
1704
  }
1662
- _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1663
- _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1664
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatTabNavBase, decorators: [{
1705
+ _MatTabNavBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabNavBase, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1706
+ _MatTabNavBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: _MatTabNavBase, inputs: { backgroundColor: "backgroundColor", disableRipple: "disableRipple", color: "color", tabPanel: "tabPanel" }, usesInheritance: true, ngImport: i0 });
1707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabNavBase, decorators: [{
1665
1708
  type: Directive
1666
1709
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1667
1710
  type: Optional
@@ -1688,9 +1731,9 @@ class MatTabNav extends _MatTabNavBase {
1688
1731
  super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);
1689
1732
  }
1690
1733
  }
1691
- MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1692
- MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: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 });
1693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabNav, decorators: [{
1734
+ MatTabNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1735
+ MatTabNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color" }, host: { properties: { "attr.role": "_getRole()", "class.mat-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"" }, classAttribute: "mat-tab-nav-bar mat-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MatTabLink; }), descendants: true }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MatInkBar, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<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-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.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 });
1736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabNav, decorators: [{
1694
1737
  type: Component,
1695
1738
  args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', inputs: ['color'], host: {
1696
1739
  '[attr.role]': '_getRole()',
@@ -1700,7 +1743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
1700
1743
  '[class.mat-primary]': 'color !== "warn" && color !== "accent"',
1701
1744
  '[class.mat-accent]': 'color === "accent"',
1702
1745
  '[class.mat-warn]': 'color === "warn"',
1703
- }, 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: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"] }]
1746
+ }, 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-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.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}}"] }]
1704
1747
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
1705
1748
  type: Optional
1706
1749
  }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$1.ViewportRuler }, { type: i3.Platform }, { type: undefined, decorators: [{
@@ -1820,9 +1863,9 @@ class _MatTabLinkBase extends _MatTabLinkMixinBase {
1820
1863
  }
1821
1864
  }
1822
1865
  }
1823
- _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1824
- _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1866
+ _MatTabLinkBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabLinkBase, deps: [{ token: _MatTabNavBase }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1867
+ _MatTabLinkBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: _MatTabLinkBase, inputs: { active: "active", id: "id" }, usesInheritance: true, ngImport: i0 });
1868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatTabLinkBase, decorators: [{
1826
1869
  type: Directive
1827
1870
  }], ctorParameters: function () { return [{ type: _MatTabNavBase }, { type: i0.ElementRef }, { type: undefined, decorators: [{
1828
1871
  type: Optional
@@ -1856,9 +1899,9 @@ class MatTabLink extends _MatTabLinkBase {
1856
1899
  this._tabLinkRipple._removeTriggerEvents();
1857
1900
  }
1858
1901
  }
1859
- MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1860
- MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabLink, decorators: [{
1902
+ MatTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i7.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1903
+ MatTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-tab-disabled": "disabled", "class.mat-tab-label-active": "active" }, classAttribute: "mat-tab-link mat-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0 });
1904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabLink, decorators: [{
1862
1905
  type: Directive,
1863
1906
  args: [{
1864
1907
  selector: '[mat-tab-link], [matTabLink]',
@@ -1902,9 +1945,9 @@ class MatTabNavPanel {
1902
1945
  this.id = `mat-tab-nav-panel-${nextUniqueId++}`;
1903
1946
  }
1904
1947
  }
1905
- MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1906
- MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", 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 });
1907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabNavPanel, decorators: [{
1948
+ MatTabNavPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabNavPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1949
+ MatTabNavPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: { id: "id" }, host: { attributes: { "role": "tabpanel" }, properties: { "attr.aria-labelledby": "_activeTabId", "attr.id": "id" }, classAttribute: "mat-tab-nav-panel" }, exportAs: ["matTabNavPanel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabNavPanel, decorators: [{
1908
1951
  type: Component,
1909
1952
  args: [{
1910
1953
  selector: 'mat-tab-nav-panel',
@@ -1932,8 +1975,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
1932
1975
  */
1933
1976
  class MatTabsModule {
1934
1977
  }
1935
- MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1936
- MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1978
+ MatTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1979
+ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabsModule, declarations: [MatTabGroup,
1937
1980
  MatTabLabel,
1938
1981
  MatTab,
1939
1982
  MatInkBar,
@@ -1957,15 +2000,13 @@ MatTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1957
2000
  MatTabNavPanel,
1958
2001
  MatTabLink,
1959
2002
  MatTabContent] });
1960
- MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabsModule, imports: [[
1961
- CommonModule,
1962
- MatCommonModule,
1963
- PortalModule,
1964
- MatRippleModule,
1965
- ObserversModule,
1966
- A11yModule,
1967
- ], MatCommonModule] });
1968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatTabsModule, decorators: [{
2003
+ MatTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabsModule, imports: [CommonModule,
2004
+ MatCommonModule,
2005
+ PortalModule,
2006
+ MatRippleModule,
2007
+ ObserversModule,
2008
+ A11yModule, MatCommonModule] });
2009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatTabsModule, decorators: [{
1969
2010
  type: NgModule,
1970
2011
  args: [{
1971
2012
  imports: [