@angular/material 13.1.3 → 13.2.0

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 (327) hide show
  1. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  2. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  3. package/esm2020/autocomplete/autocomplete-trigger.mjs +7 -7
  4. package/esm2020/autocomplete/autocomplete.mjs +7 -7
  5. package/esm2020/badge/badge-module.mjs +5 -5
  6. package/esm2020/badge/badge.mjs +4 -4
  7. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +4 -4
  8. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  9. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  10. package/esm2020/button/button-module.mjs +5 -5
  11. package/esm2020/button/button.mjs +7 -7
  12. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  13. package/esm2020/button-toggle/button-toggle.mjs +7 -7
  14. package/esm2020/card/card-module.mjs +5 -5
  15. package/esm2020/card/card.mjs +43 -43
  16. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  17. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  18. package/esm2020/checkbox/checkbox.mjs +4 -4
  19. package/esm2020/chips/chip-input.mjs +4 -4
  20. package/esm2020/chips/chip-list.mjs +4 -4
  21. package/esm2020/chips/chip.mjs +13 -16
  22. package/esm2020/chips/chips-module.mjs +5 -5
  23. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  24. package/esm2020/core/datetime/index.mjs +9 -9
  25. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  26. package/esm2020/core/error/error-options.mjs +7 -7
  27. package/esm2020/core/line/line.mjs +8 -8
  28. package/esm2020/core/option/index.mjs +5 -5
  29. package/esm2020/core/option/optgroup.mjs +7 -7
  30. package/esm2020/core/option/option.mjs +7 -7
  31. package/esm2020/core/ripple/index.mjs +5 -5
  32. package/esm2020/core/ripple/ripple.mjs +4 -4
  33. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  34. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  35. package/esm2020/core/version.mjs +1 -1
  36. package/esm2020/datepicker/calendar-body.mjs +6 -6
  37. package/esm2020/datepicker/calendar.mjs +7 -7
  38. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  39. package/esm2020/datepicker/date-range-input.mjs +4 -4
  40. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  41. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  42. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  43. package/esm2020/datepicker/datepicker-actions.mjs +10 -10
  44. package/esm2020/datepicker/datepicker-base.mjs +7 -7
  45. package/esm2020/datepicker/datepicker-input-base.mjs +4 -4
  46. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  47. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  48. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  49. package/esm2020/datepicker/datepicker-toggle.mjs +7 -7
  50. package/esm2020/datepicker/datepicker.mjs +4 -4
  51. package/esm2020/datepicker/month-view.mjs +4 -4
  52. package/esm2020/datepicker/multi-year-view.mjs +4 -4
  53. package/esm2020/datepicker/testing/calendar-cell-harness.mjs +2 -2
  54. package/esm2020/datepicker/year-view.mjs +4 -4
  55. package/esm2020/dialog/dialog-container.mjs +7 -7
  56. package/esm2020/dialog/dialog-content-directives.mjs +13 -13
  57. package/esm2020/dialog/dialog-module.mjs +5 -5
  58. package/esm2020/dialog/dialog.mjs +7 -7
  59. package/esm2020/divider/divider-module.mjs +5 -5
  60. package/esm2020/divider/divider.mjs +4 -4
  61. package/esm2020/expansion/accordion.mjs +4 -4
  62. package/esm2020/expansion/expansion-module.mjs +5 -5
  63. package/esm2020/expansion/expansion-panel-content.mjs +4 -4
  64. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  65. package/esm2020/expansion/expansion-panel.mjs +7 -7
  66. package/esm2020/form-field/error.mjs +4 -4
  67. package/esm2020/form-field/form-field-control.mjs +4 -4
  68. package/esm2020/form-field/form-field-module.mjs +5 -5
  69. package/esm2020/form-field/form-field.mjs +4 -4
  70. package/esm2020/form-field/hint.mjs +4 -4
  71. package/esm2020/form-field/label.mjs +4 -4
  72. package/esm2020/form-field/placeholder.mjs +4 -4
  73. package/esm2020/form-field/prefix.mjs +4 -4
  74. package/esm2020/form-field/suffix.mjs +4 -4
  75. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  76. package/esm2020/grid-list/grid-list.mjs +4 -4
  77. package/esm2020/grid-list/grid-tile.mjs +16 -16
  78. package/esm2020/icon/icon-module.mjs +5 -5
  79. package/esm2020/icon/icon-registry.mjs +4 -4
  80. package/esm2020/icon/icon.mjs +4 -4
  81. package/esm2020/icon/testing/fake-icon-registry.mjs +8 -8
  82. package/esm2020/input/input-module.mjs +5 -5
  83. package/esm2020/input/input.mjs +4 -4
  84. package/esm2020/list/list-module.mjs +5 -5
  85. package/esm2020/list/list.mjs +22 -22
  86. package/esm2020/list/selection-list.mjs +8 -8
  87. package/esm2020/list/testing/list-item-harness-base.mjs +5 -1
  88. package/esm2020/list/testing/selection-list-harness.mjs +1 -5
  89. package/esm2020/menu/menu-content.mjs +7 -7
  90. package/esm2020/menu/menu-item.mjs +4 -4
  91. package/esm2020/menu/menu-module.mjs +5 -5
  92. package/esm2020/menu/menu-trigger.mjs +7 -7
  93. package/esm2020/menu/menu.mjs +7 -7
  94. package/esm2020/paginator/paginator-intl.mjs +4 -4
  95. package/esm2020/paginator/paginator-module.mjs +5 -5
  96. package/esm2020/paginator/paginator.mjs +7 -7
  97. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  98. package/esm2020/progress-bar/progress-bar.mjs +4 -4
  99. package/esm2020/progress-spinner/progress-spinner-module.mjs +5 -5
  100. package/esm2020/progress-spinner/progress-spinner.mjs +7 -7
  101. package/esm2020/radio/radio-module.mjs +5 -5
  102. package/esm2020/radio/radio.mjs +13 -13
  103. package/esm2020/select/select-module.mjs +5 -5
  104. package/esm2020/select/select.mjs +10 -10
  105. package/esm2020/sidenav/drawer.mjs +10 -10
  106. package/esm2020/sidenav/sidenav-module.mjs +5 -5
  107. package/esm2020/sidenav/sidenav.mjs +10 -10
  108. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  109. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  110. package/esm2020/slide-toggle/slide-toggle.mjs +5 -5
  111. package/esm2020/slider/slider-module.mjs +5 -5
  112. package/esm2020/slider/slider.mjs +4 -4
  113. package/esm2020/snack-bar/simple-snack-bar.mjs +4 -4
  114. package/esm2020/snack-bar/snack-bar-container.mjs +4 -4
  115. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  116. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  117. package/esm2020/sort/sort-header-intl.mjs +4 -4
  118. package/esm2020/sort/sort-header.mjs +4 -4
  119. package/esm2020/sort/sort-module.mjs +5 -5
  120. package/esm2020/sort/sort.mjs +4 -4
  121. package/esm2020/stepper/step-content.mjs +4 -4
  122. package/esm2020/stepper/step-header.mjs +4 -4
  123. package/esm2020/stepper/step-label.mjs +4 -4
  124. package/esm2020/stepper/stepper-button.mjs +7 -7
  125. package/esm2020/stepper/stepper-icon.mjs +4 -4
  126. package/esm2020/stepper/stepper-intl.mjs +4 -4
  127. package/esm2020/stepper/stepper-module.mjs +5 -5
  128. package/esm2020/stepper/stepper.mjs +17 -17
  129. package/esm2020/table/cell.mjs +22 -22
  130. package/esm2020/table/row.mjs +22 -22
  131. package/esm2020/table/table-module.mjs +5 -5
  132. package/esm2020/table/table.mjs +7 -7
  133. package/esm2020/table/text-column.mjs +4 -4
  134. package/esm2020/tabs/ink-bar.mjs +4 -4
  135. package/esm2020/tabs/paginated-tab-header.mjs +4 -4
  136. package/esm2020/tabs/public-api.mjs +2 -2
  137. package/esm2020/tabs/tab-body.mjs +10 -10
  138. package/esm2020/tabs/tab-content.mjs +4 -4
  139. package/esm2020/tabs/tab-group.mjs +21 -9
  140. package/esm2020/tabs/tab-header.mjs +7 -7
  141. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  142. package/esm2020/tabs/tab-label.mjs +4 -4
  143. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +97 -15
  144. package/esm2020/tabs/tab.mjs +8 -4
  145. package/esm2020/tabs/tabs-module.mjs +10 -6
  146. package/esm2020/tabs/testing/tab-harness-filters.mjs +1 -1
  147. package/esm2020/tabs/testing/tab-nav-bar-harness.mjs +13 -1
  148. package/esm2020/tabs/testing/tab-nav-panel-harness.mjs +27 -0
  149. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  150. package/esm2020/toolbar/toolbar.mjs +7 -7
  151. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  152. package/esm2020/tooltip/tooltip.mjs +13 -13
  153. package/esm2020/tree/node.mjs +10 -10
  154. package/esm2020/tree/outlet.mjs +4 -4
  155. package/esm2020/tree/padding.mjs +4 -4
  156. package/esm2020/tree/toggle.mjs +4 -4
  157. package/esm2020/tree/tree-module.mjs +5 -5
  158. package/esm2020/tree/tree.mjs +4 -4
  159. package/fesm2015/autocomplete.mjs +22 -22
  160. package/fesm2015/autocomplete.mjs.map +1 -1
  161. package/fesm2015/badge.mjs +7 -7
  162. package/fesm2015/badge.mjs.map +1 -1
  163. package/fesm2015/bottom-sheet.mjs +10 -10
  164. package/fesm2015/bottom-sheet.mjs.map +1 -1
  165. package/fesm2015/button-toggle.mjs +10 -10
  166. package/fesm2015/button-toggle.mjs.map +1 -1
  167. package/fesm2015/button.mjs +10 -10
  168. package/fesm2015/button.mjs.map +1 -1
  169. package/fesm2015/card.mjs +46 -46
  170. package/fesm2015/card.mjs.map +1 -1
  171. package/fesm2015/checkbox.mjs +14 -14
  172. package/fesm2015/checkbox.mjs.map +1 -1
  173. package/fesm2015/chips.mjs +22 -25
  174. package/fesm2015/chips.mjs.map +1 -1
  175. package/fesm2015/core.mjs +59 -59
  176. package/fesm2015/core.mjs.map +1 -1
  177. package/fesm2015/datepicker/testing.mjs +1 -1
  178. package/fesm2015/datepicker/testing.mjs.map +1 -1
  179. package/fesm2015/datepicker.mjs +84 -84
  180. package/fesm2015/datepicker.mjs.map +1 -1
  181. package/fesm2015/dialog.mjs +28 -28
  182. package/fesm2015/dialog.mjs.map +1 -1
  183. package/fesm2015/divider.mjs +7 -7
  184. package/fesm2015/divider.mjs.map +1 -1
  185. package/fesm2015/expansion.mjs +26 -26
  186. package/fesm2015/expansion.mjs.map +1 -1
  187. package/fesm2015/form-field.mjs +28 -28
  188. package/fesm2015/form-field.mjs.map +1 -1
  189. package/fesm2015/grid-list.mjs +22 -22
  190. package/fesm2015/grid-list.mjs.map +1 -1
  191. package/fesm2015/icon/testing.mjs +7 -7
  192. package/fesm2015/icon/testing.mjs.map +1 -1
  193. package/fesm2015/icon.mjs +10 -10
  194. package/fesm2015/icon.mjs.map +1 -1
  195. package/fesm2015/input.mjs +7 -7
  196. package/fesm2015/input.mjs.map +1 -1
  197. package/fesm2015/list/testing.mjs +6 -6
  198. package/fesm2015/list/testing.mjs.map +1 -1
  199. package/fesm2015/list.mjs +32 -32
  200. package/fesm2015/list.mjs.map +1 -1
  201. package/fesm2015/menu.mjs +25 -25
  202. package/fesm2015/menu.mjs.map +1 -1
  203. package/fesm2015/paginator.mjs +13 -13
  204. package/fesm2015/paginator.mjs.map +1 -1
  205. package/fesm2015/progress-bar.mjs +7 -7
  206. package/fesm2015/progress-bar.mjs.map +1 -1
  207. package/fesm2015/progress-spinner.mjs +10 -10
  208. package/fesm2015/progress-spinner.mjs.map +1 -1
  209. package/fesm2015/radio.mjs +16 -16
  210. package/fesm2015/radio.mjs.map +1 -1
  211. package/fesm2015/select.mjs +13 -13
  212. package/fesm2015/select.mjs.map +1 -1
  213. package/fesm2015/sidenav.mjs +22 -22
  214. package/fesm2015/sidenav.mjs.map +1 -1
  215. package/fesm2015/slide-toggle.mjs +15 -15
  216. package/fesm2015/slide-toggle.mjs.map +1 -1
  217. package/fesm2015/slider.mjs +7 -7
  218. package/fesm2015/slider.mjs.map +1 -1
  219. package/fesm2015/snack-bar.mjs +16 -16
  220. package/fesm2015/snack-bar.mjs.map +1 -1
  221. package/fesm2015/sort.mjs +13 -13
  222. package/fesm2015/sort.mjs.map +1 -1
  223. package/fesm2015/stepper.mjs +41 -41
  224. package/fesm2015/stepper.mjs.map +1 -1
  225. package/fesm2015/table.mjs +55 -55
  226. package/fesm2015/table.mjs.map +1 -1
  227. package/fesm2015/tabs/testing.mjs +34 -0
  228. package/fesm2015/tabs/testing.mjs.map +1 -1
  229. package/fesm2015/tabs.mjs +162 -60
  230. package/fesm2015/tabs.mjs.map +1 -1
  231. package/fesm2015/toolbar.mjs +10 -10
  232. package/fesm2015/toolbar.mjs.map +1 -1
  233. package/fesm2015/tooltip.mjs +16 -16
  234. package/fesm2015/tooltip.mjs.map +1 -1
  235. package/fesm2015/tree.mjs +25 -25
  236. package/fesm2015/tree.mjs.map +1 -1
  237. package/fesm2020/autocomplete.mjs +22 -22
  238. package/fesm2020/autocomplete.mjs.map +1 -1
  239. package/fesm2020/badge.mjs +7 -7
  240. package/fesm2020/badge.mjs.map +1 -1
  241. package/fesm2020/bottom-sheet.mjs +10 -10
  242. package/fesm2020/bottom-sheet.mjs.map +1 -1
  243. package/fesm2020/button-toggle.mjs +10 -10
  244. package/fesm2020/button-toggle.mjs.map +1 -1
  245. package/fesm2020/button.mjs +10 -10
  246. package/fesm2020/button.mjs.map +1 -1
  247. package/fesm2020/card.mjs +46 -46
  248. package/fesm2020/card.mjs.map +1 -1
  249. package/fesm2020/checkbox.mjs +14 -14
  250. package/fesm2020/checkbox.mjs.map +1 -1
  251. package/fesm2020/chips.mjs +22 -25
  252. package/fesm2020/chips.mjs.map +1 -1
  253. package/fesm2020/core.mjs +59 -59
  254. package/fesm2020/core.mjs.map +1 -1
  255. package/fesm2020/datepicker/testing.mjs +1 -1
  256. package/fesm2020/datepicker/testing.mjs.map +1 -1
  257. package/fesm2020/datepicker.mjs +84 -84
  258. package/fesm2020/datepicker.mjs.map +1 -1
  259. package/fesm2020/dialog.mjs +28 -28
  260. package/fesm2020/dialog.mjs.map +1 -1
  261. package/fesm2020/divider.mjs +7 -7
  262. package/fesm2020/divider.mjs.map +1 -1
  263. package/fesm2020/expansion.mjs +26 -26
  264. package/fesm2020/expansion.mjs.map +1 -1
  265. package/fesm2020/form-field.mjs +28 -28
  266. package/fesm2020/form-field.mjs.map +1 -1
  267. package/fesm2020/grid-list.mjs +22 -22
  268. package/fesm2020/grid-list.mjs.map +1 -1
  269. package/fesm2020/icon/testing.mjs +7 -7
  270. package/fesm2020/icon/testing.mjs.map +1 -1
  271. package/fesm2020/icon.mjs +10 -10
  272. package/fesm2020/icon.mjs.map +1 -1
  273. package/fesm2020/input.mjs +7 -7
  274. package/fesm2020/input.mjs.map +1 -1
  275. package/fesm2020/list/testing.mjs +4 -4
  276. package/fesm2020/list/testing.mjs.map +1 -1
  277. package/fesm2020/list.mjs +32 -32
  278. package/fesm2020/list.mjs.map +1 -1
  279. package/fesm2020/menu.mjs +25 -25
  280. package/fesm2020/menu.mjs.map +1 -1
  281. package/fesm2020/paginator.mjs +13 -13
  282. package/fesm2020/paginator.mjs.map +1 -1
  283. package/fesm2020/progress-bar.mjs +7 -7
  284. package/fesm2020/progress-bar.mjs.map +1 -1
  285. package/fesm2020/progress-spinner.mjs +10 -10
  286. package/fesm2020/progress-spinner.mjs.map +1 -1
  287. package/fesm2020/radio.mjs +16 -16
  288. package/fesm2020/radio.mjs.map +1 -1
  289. package/fesm2020/select.mjs +13 -13
  290. package/fesm2020/select.mjs.map +1 -1
  291. package/fesm2020/sidenav.mjs +22 -22
  292. package/fesm2020/sidenav.mjs.map +1 -1
  293. package/fesm2020/slide-toggle.mjs +15 -15
  294. package/fesm2020/slide-toggle.mjs.map +1 -1
  295. package/fesm2020/slider.mjs +7 -7
  296. package/fesm2020/slider.mjs.map +1 -1
  297. package/fesm2020/snack-bar.mjs +16 -16
  298. package/fesm2020/snack-bar.mjs.map +1 -1
  299. package/fesm2020/sort.mjs +13 -13
  300. package/fesm2020/sort.mjs.map +1 -1
  301. package/fesm2020/stepper.mjs +41 -41
  302. package/fesm2020/stepper.mjs.map +1 -1
  303. package/fesm2020/table.mjs +55 -55
  304. package/fesm2020/table.mjs.map +1 -1
  305. package/fesm2020/tabs/testing.mjs +37 -0
  306. package/fesm2020/tabs/testing.mjs.map +1 -1
  307. package/fesm2020/tabs.mjs +161 -60
  308. package/fesm2020/tabs.mjs.map +1 -1
  309. package/fesm2020/toolbar.mjs +10 -10
  310. package/fesm2020/toolbar.mjs.map +1 -1
  311. package/fesm2020/tooltip.mjs +16 -16
  312. package/fesm2020/tooltip.mjs.map +1 -1
  313. package/fesm2020/tree.mjs +25 -25
  314. package/fesm2020/tree.mjs.map +1 -1
  315. package/list/testing/list-item-harness-base.d.ts +2 -0
  316. package/list/testing/selection-list-harness.d.ts +0 -2
  317. package/package.json +2 -2
  318. package/schematics/ng-add/index.js +1 -1
  319. package/schematics/ng-add/index.mjs +1 -1
  320. package/tabs/public-api.d.ts +1 -1
  321. package/tabs/tab-group.d.ts +10 -1
  322. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +29 -2
  323. package/tabs/tab.d.ts +11 -1
  324. package/tabs/tabs-module.d.ts +1 -1
  325. package/tabs/testing/tab-harness-filters.d.ts +3 -0
  326. package/tabs/testing/tab-nav-bar-harness.d.ts +3 -0
  327. package/tabs/testing/tab-nav-panel-harness.d.ts +23 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../../src/material/tree/node.ts","../../../../../../src/material/tree/padding.ts","../../../../../../src/material/tree/outlet.ts","../../../../../../src/material/tree/tree.ts","../../../../../../src/material/tree/toggle.ts","../../../../../../src/material/tree/tree-module.ts","../../../../../../src/material/tree/data-source/flat-data-source.ts","../../../../../../src/material/tree/data-source/nested-data-source.ts","../../../../../../src/material/tree/public-api.ts","../../../../../../src/material/tree/index.ts","../../../../../../src/material/tree/tree_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {CanDisable, HasTabIndex, mixinDisabled, mixinTabIndex} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeBase = mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n },\n})\nexport class MatTreeNode<T, K = T>\n extends _MatTreeNodeBase<T, K>\n implements CanDisable, HasTabIndex, OnInit, OnDestroy\n{\n constructor(\n elementRef: ElementRef<HTMLElement>,\n tree: CdkTree<T, K>,\n @Attribute('tabindex') tabIndex: string,\n ) {\n super(elementRef, tree);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: ['when: matTreeNodeDefWhen'],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n tree: CdkTree<T, K>,\n differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string,\n ) {\n super(elementRef, tree, differs);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NumberInput} from '@angular/cdk/coercion';\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding')\n override get level(): number {\n return this._level;\n }\n override set level(value: NumberInput) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, Inject, Optional, ViewContainerRef} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any,\n ) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: ['recursive: matTreeNodeToggleRecursive'],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, MatCommonModule],\n exports: [MatCommonModule, MAT_TREE_DIRECTIVES],\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './node';\nexport * from './padding';\nexport * from './tree';\nexport * from './tree-module';\nexport * from './toggle';\nexport * from './outlet';\nexport * from './data-source/flat-data-source';\nexport * from './data-source/nested-data-source';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../../src/material/tree/node.ts","../../../../../../src/material/tree/padding.ts","../../../../../../src/material/tree/outlet.ts","../../../../../../src/material/tree/tree.ts","../../../../../../src/material/tree/toggle.ts","../../../../../../src/material/tree/tree-module.ts","../../../../../../src/material/tree/data-source/flat-data-source.ts","../../../../../../src/material/tree/data-source/nested-data-source.ts","../../../../../../src/material/tree/public-api.ts","../../../../../../src/material/tree/index.ts","../../../../../../src/material/tree/tree_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Attribute,\n Directive,\n ElementRef,\n Input,\n IterableDiffers,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {CanDisable, HasTabIndex, mixinDisabled, mixinTabIndex} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst _MatTreeNodeBase = mixinTabIndex(mixinDisabled(CdkTreeNode));\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n },\n})\nexport class MatTreeNode<T, K = T>\n extends _MatTreeNodeBase<T, K>\n implements CanDisable, HasTabIndex, OnInit, OnDestroy\n{\n constructor(\n elementRef: ElementRef<HTMLElement>,\n tree: CdkTree<T, K>,\n @Attribute('tabindex') tabIndex: string,\n ) {\n super(elementRef, tree);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: ['when: matTreeNodeDefWhen'],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node: T;\n\n /** Whether the node is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /** Tabindex for the node. */\n @Input()\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n private _tabIndex: number;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n tree: CdkTree<T, K>,\n differs: IterableDiffers,\n @Attribute('tabindex') tabIndex: string,\n ) {\n super(elementRef, tree, differs);\n this.tabIndex = Number(tabIndex) || 0;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NumberInput} from '@angular/cdk/coercion';\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('matTreeNodePadding')\n override get level(): number {\n return this._level;\n }\n override set level(value: NumberInput) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, Inject, Optional, ViewContainerRef} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any,\n ) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n 'role': 'tree',\n },\n styleUrls: ['tree.css'],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: ['recursive: matTreeNodeToggleRecursive'],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, MatCommonModule],\n exports: [MatCommonModule, MAT_TREE_DIRECTIVES],\n declarations: MAT_TREE_DIRECTIVES,\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './node';\nexport * from './padding';\nexport * from './tree';\nexport * from './tree-module';\nexport * from './toggle';\nexport * from './outlet';\nexport * from './data-source/flat-data-source';\nexport * from './data-source/nested-data-source';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@ export declare abstract class MatListItemHarnessBase extends ContentContainerCom
43
43
  hasAvatar(): Promise<boolean>;
44
44
  /** Whether this list item has an icon. */
45
45
  hasIcon(): Promise<boolean>;
46
+ /** Whether this list option is disabled. */
47
+ isDisabled(): Promise<boolean>;
46
48
  /**
47
49
  * Gets a `HarnessLoader` used to get harnesses within the list item's content.
48
50
  * @deprecated Use `getChildLoader(MatListItemSection.CONTENT)` or `getHarness` instead.
@@ -53,8 +53,6 @@ export declare class MatListOptionHarness extends MatListItemHarnessBase {
53
53
  getCheckboxPosition(): Promise<MatListOptionCheckboxPosition>;
54
54
  /** Whether the list option is selected. */
55
55
  isSelected(): Promise<boolean>;
56
- /** Whether the list option is disabled. */
57
- isDisabled(): Promise<boolean>;
58
56
  /** Focuses the list option. */
59
57
  focus(): Promise<void>;
60
58
  /** Blurs the list option. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "13.1.3",
3
+ "version": "13.2.0",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -622,7 +622,7 @@
622
622
  },
623
623
  "peerDependencies": {
624
624
  "@angular/animations": "^13.0.0 || ^14.0.0-0",
625
- "@angular/cdk": "13.1.3",
625
+ "@angular/cdk": "13.2.0",
626
626
  "@angular/core": "^13.0.0 || ^14.0.0-0",
627
627
  "@angular/common": "^13.0.0 || ^14.0.0-0",
628
628
  "@angular/forms": "^13.0.0 || ^14.0.0-0",
@@ -18,7 +18,7 @@ const package_config_1 = require("./package-config");
18
18
  * Note that the fallback version range does not use caret, but tilde because that is
19
19
  * the default for Angular framework dependencies in CLI projects.
20
20
  */
21
- const fallbackMaterialVersionRange = `~13.1.3`;
21
+ const fallbackMaterialVersionRange = `~13.2.0`;
22
22
  /**
23
23
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
24
24
  * automatically executed if developers run `ng add @angular/material`.
@@ -18,7 +18,7 @@ const package_config_1 = require("./package-config");
18
18
  * Note that the fallback version range does not use caret, but tilde because that is
19
19
  * the default for Angular framework dependencies in CLI projects.
20
20
  */
21
- const fallbackMaterialVersionRange = `~13.1.3`;
21
+ const fallbackMaterialVersionRange = `~13.2.0`;
22
22
  /**
23
23
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
24
24
  * automatically executed if developers run `ng add @angular/material`.
@@ -13,7 +13,7 @@ export { MatTabHeader, _MatTabHeaderBase } from './tab-header';
13
13
  export { MatTabLabelWrapper } from './tab-label-wrapper';
14
14
  export { MatTab, MAT_TAB_GROUP } from './tab';
15
15
  export { MatTabLabel, MAT_TAB } from './tab-label';
16
- export { MatTabNav, MatTabLink, _MatTabNavBase, _MatTabLinkBase } from './tab-nav-bar/index';
16
+ export { MatTabNav, MatTabLink, MatTabNavPanel, _MatTabNavBase, _MatTabLinkBase, } from './tab-nav-bar/index';
17
17
  export { MatTabContent } from './tab-content';
18
18
  export { ScrollDirection } from './paginated-tab-header';
19
19
  export * from './tabs-animations';
@@ -28,7 +28,8 @@ declare const _MatTabGroupMixinBase: import("@angular/material/core")._Construct
28
28
  };
29
29
  };
30
30
  interface MatTabGroupBaseHeader {
31
- _alignInkBarToSelectedTab: () => void;
31
+ _alignInkBarToSelectedTab(): void;
32
+ updatePagination(): void;
32
33
  focusIndex: number;
33
34
  }
34
35
  /**
@@ -110,6 +111,14 @@ export declare abstract class _MatTabGroupBase extends _MatTabGroupMixinBase imp
110
111
  ngOnDestroy(): void;
111
112
  /** Re-aligns the ink bar to the selected tab element. */
112
113
  realignInkBar(): void;
114
+ /**
115
+ * Recalculates the tab group's pagination dimensions.
116
+ *
117
+ * WARNING: Calling this method can be very costly in terms of performance. It should be called
118
+ * as infrequently as possible from outside of the Tabs component as it causes a reflow of the
119
+ * page.
120
+ */
121
+ updatePagination(): void;
113
122
  /**
114
123
  * Sets focus to a particular tab.
115
124
  * @param index Index of the tab to be focused.
@@ -23,6 +23,7 @@ export declare abstract class _MatTabNavBase extends MatPaginatedTabHeader imple
23
23
  /** Query list of all tab links of the tab navigation. */
24
24
  abstract _items: QueryList<MatPaginatedTabHeaderItem & {
25
25
  active: boolean;
26
+ id: string;
26
27
  }>;
27
28
  /** Background color of the tab nav. */
28
29
  get backgroundColor(): ThemePalette;
@@ -34,13 +35,20 @@ export declare abstract class _MatTabNavBase extends MatPaginatedTabHeader imple
34
35
  private _disableRipple;
35
36
  /** Theme color of the nav bar. */
36
37
  color: ThemePalette;
38
+ /**
39
+ * Associated tab panel controlled by the nav bar. If not provided, then the nav bar
40
+ * follows the ARIA link / navigation landmark pattern. If provided, it follows the
41
+ * ARIA tabs design pattern.
42
+ */
43
+ tabPanel?: MatTabNavPanel;
37
44
  constructor(elementRef: ElementRef, dir: Directionality, ngZone: NgZone, changeDetectorRef: ChangeDetectorRef, viewportRuler: ViewportRuler, platform: Platform, animationMode?: string);
38
45
  protected _itemSelected(): void;
39
46
  ngAfterContentInit(): void;
40
47
  /** Notifies the component that the active link has been changed. */
41
48
  updateActiveLink(): void;
49
+ _getRole(): string | null;
42
50
  static ɵfac: i0.ɵɵFactoryDeclaration<_MatTabNavBase, [null, { optional: true; }, null, null, null, null, { optional: true; }]>;
43
- static ɵdir: i0.ɵɵDirectiveDeclaration<_MatTabNavBase, never, never, { "backgroundColor": "backgroundColor"; "disableRipple": "disableRipple"; "color": "color"; }, {}, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_MatTabNavBase, never, never, { "backgroundColor": "backgroundColor"; "disableRipple": "disableRipple"; "color": "color"; "tabPanel": "tabPanel"; }, {}, never>;
44
52
  }
45
53
  /**
46
54
  * Navigation component matching the styles of the tab group header.
@@ -83,6 +91,8 @@ export declare class _MatTabLinkBase extends _MatTabLinkMixinBase implements Aft
83
91
  * @docs-private
84
92
  */
85
93
  get rippleDisabled(): boolean;
94
+ /** Unique id for the tab. */
95
+ id: string;
86
96
  constructor(_tabNavBar: _MatTabNavBase,
87
97
  /** @docs-private */ elementRef: ElementRef, globalRippleOptions: RippleGlobalOptions | null, tabIndex: string, _focusMonitor: FocusMonitor, animationMode?: string);
88
98
  /** Focuses the tab link. */
@@ -90,8 +100,14 @@ export declare class _MatTabLinkBase extends _MatTabLinkMixinBase implements Aft
90
100
  ngAfterViewInit(): void;
91
101
  ngOnDestroy(): void;
92
102
  _handleFocus(): void;
103
+ _handleKeydown(event: KeyboardEvent): void;
104
+ _getAriaControls(): string | null;
105
+ _getAriaSelected(): string | null;
106
+ _getAriaCurrent(): string | null;
107
+ _getRole(): string | null;
108
+ _getTabIndex(): number;
93
109
  static ɵfac: i0.ɵɵFactoryDeclaration<_MatTabLinkBase, [null, null, { optional: true; }, { attribute: "tabindex"; }, null, { optional: true; }]>;
94
- static ɵdir: i0.ɵɵDirectiveDeclaration<_MatTabLinkBase, never, never, { "active": "active"; }, {}, never>;
110
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_MatTabLinkBase, never, never, { "active": "active"; "id": "id"; }, {}, never>;
95
111
  }
96
112
  /**
97
113
  * Link inside of a `mat-tab-nav-bar`.
@@ -104,4 +120,15 @@ export declare class MatTabLink extends _MatTabLinkBase implements OnDestroy {
104
120
  static ɵfac: i0.ɵɵFactoryDeclaration<MatTabLink, [null, null, null, null, { optional: true; }, { attribute: "tabindex"; }, null, { optional: true; }]>;
105
121
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatTabLink, "[mat-tab-link], [matTabLink]", ["matTabLink"], { "disabled": "disabled"; "disableRipple": "disableRipple"; "tabIndex": "tabIndex"; }, {}, never>;
106
122
  }
123
+ /**
124
+ * Tab panel component associated with MatTabNav.
125
+ */
126
+ export declare class MatTabNavPanel {
127
+ /** Unique id for the tab panel. */
128
+ id: string;
129
+ /** Id of the active tab in the nav bar. */
130
+ _activeTabId?: string;
131
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatTabNavPanel, never>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatTabNavPanel, "mat-tab-nav-panel", ["matTabNavPanel"], { "id": "id"; }, {}, never, ["*"]>;
133
+ }
107
134
  export {};
package/tabs/tab.d.ts CHANGED
@@ -42,6 +42,16 @@ export declare class MatTab extends _MatTabBase implements OnInit, CanDisable, O
42
42
  * Will be cleared if `aria-label` is set at the same time.
43
43
  */
44
44
  ariaLabelledby: string;
45
+ /**
46
+ * Classes to be passed to the tab label inside the mat-tab-header container.
47
+ * Supports string and string array values, same as `ngClass`.
48
+ */
49
+ labelClass: string | string[];
50
+ /**
51
+ * Classes to be passed to the tab mat-tab-body container.
52
+ * Supports string and string array values, same as `ngClass`.
53
+ */
54
+ bodyClass: string | string[];
45
55
  /** Portal that will be the hosted content of the tab */
46
56
  private _contentPortal;
47
57
  /** @docs-private */
@@ -74,6 +84,6 @@ export declare class MatTab extends _MatTabBase implements OnInit, CanDisable, O
74
84
  */
75
85
  protected _setTemplateLabelInput(value: MatTabLabel | undefined): void;
76
86
  static ɵfac: i0.ɵɵFactoryDeclaration<MatTab, [null, { optional: true; }]>;
77
- static ɵcmp: i0.ɵɵComponentDeclaration<MatTab, "mat-tab", ["matTab"], { "disabled": "disabled"; "textLabel": "label"; "ariaLabel": "aria-label"; "ariaLabelledby": "aria-labelledby"; }, {}, ["templateLabel", "_explicitContent"], ["*"]>;
87
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatTab, "mat-tab", ["matTab"], { "disabled": "disabled"; "textLabel": "label"; "ariaLabel": "aria-label"; "ariaLabelledby": "aria-labelledby"; "labelClass": "labelClass"; "bodyClass": "bodyClass"; }, {}, ["templateLabel", "_explicitContent"], ["*"]>;
78
88
  }
79
89
  export {};
@@ -15,6 +15,6 @@ import * as i13 from "@angular/cdk/observers";
15
15
  import * as i14 from "@angular/cdk/a11y";
16
16
  export declare class MatTabsModule {
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<MatTabsModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatTabsModule, [typeof i1.MatTabGroup, typeof i2.MatTabLabel, typeof i3.MatTab, typeof i4.MatInkBar, typeof i5.MatTabLabelWrapper, typeof i6.MatTabNav, typeof i6.MatTabLink, typeof i7.MatTabBody, typeof i7.MatTabBodyPortal, typeof i8.MatTabHeader, typeof i9.MatTabContent], [typeof i10.CommonModule, typeof i11.MatCommonModule, typeof i12.PortalModule, typeof i11.MatRippleModule, typeof i13.ObserversModule, typeof i14.A11yModule], [typeof i11.MatCommonModule, typeof i1.MatTabGroup, typeof i2.MatTabLabel, typeof i3.MatTab, typeof i6.MatTabNav, typeof i6.MatTabLink, typeof i9.MatTabContent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatTabsModule, [typeof i1.MatTabGroup, typeof i2.MatTabLabel, typeof i3.MatTab, typeof i4.MatInkBar, typeof i5.MatTabLabelWrapper, typeof i6.MatTabNav, typeof i6.MatTabNavPanel, typeof i6.MatTabLink, typeof i7.MatTabBody, typeof i7.MatTabBodyPortal, typeof i8.MatTabHeader, typeof i9.MatTabContent], [typeof i10.CommonModule, typeof i11.MatCommonModule, typeof i12.PortalModule, typeof i11.MatRippleModule, typeof i13.ObserversModule, typeof i14.A11yModule], [typeof i11.MatCommonModule, typeof i1.MatTabGroup, typeof i2.MatTabLabel, typeof i3.MatTab, typeof i6.MatTabNav, typeof i6.MatTabNavPanel, typeof i6.MatTabLink, typeof i9.MatTabContent]>;
19
19
  static ɵinj: i0.ɵɵInjectorDeclaration<MatTabsModule>;
20
20
  }
@@ -24,3 +24,6 @@ export interface TabLinkHarnessFilters extends BaseHarnessFilters {
24
24
  /** A set of criteria that can be used to filter a list of `MatTabNavBarHarness` instances. */
25
25
  export interface TabNavBarHarnessFilters extends BaseHarnessFilters {
26
26
  }
27
+ /** A set of criteria that can be used to filter a list of `MatTabNavBarHarness` instances. */
28
+ export interface TabNavPanelHarnessFilters extends BaseHarnessFilters {
29
+ }
@@ -8,6 +8,7 @@
8
8
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
9
9
  import { TabNavBarHarnessFilters, TabLinkHarnessFilters } from './tab-harness-filters';
10
10
  import { MatTabLinkHarness } from './tab-link-harness';
11
+ import { MatTabNavPanelHarness } from './tab-nav-panel-harness';
11
12
  /** Harness for interacting with a standard mat-tab-nav-bar in tests. */
12
13
  export declare class MatTabNavBarHarness extends ComponentHarness {
13
14
  /** The selector for the host element of a `MatTabNavBar` instance. */
@@ -32,4 +33,6 @@ export declare class MatTabNavBarHarness extends ComponentHarness {
32
33
  * will be clicked.
33
34
  */
34
35
  clickLink(filter?: TabLinkHarnessFilters): Promise<void>;
36
+ /** Gets the panel associated with the nav bar. */
37
+ getPanel(): Promise<MatTabNavPanelHarness>;
35
38
  }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
9
+ import { TabNavPanelHarnessFilters } from './tab-harness-filters';
10
+ /** Harness for interacting with a standard mat-tab-nav-panel in tests. */
11
+ export declare class MatTabNavPanelHarness extends ContentContainerComponentHarness {
12
+ /** The selector for the host element of a `MatTabNavPanel` instance. */
13
+ static hostSelector: string;
14
+ /**
15
+ * Gets a `HarnessPredicate` that can be used to search for a `MatTabNavPanel` that meets
16
+ * certain criteria.
17
+ * @param options Options for filtering which tab nav panel instances are considered a match.
18
+ * @return a `HarnessPredicate` configured with the given options.
19
+ */
20
+ static with(options?: TabNavPanelHarnessFilters): HarnessPredicate<MatTabNavPanelHarness>;
21
+ /** Gets the tab panel text content. */
22
+ getTextContent(): Promise<string>;
23
+ }