@angular/material 21.0.0-next.4 → 21.0.0-next.6

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 (331) hide show
  1. package/core/focus-indicators/_private.scss +16 -0
  2. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  3. package/core/tokens/m2/_md-sys-color.scss +11 -2
  4. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  5. package/core/tokens/m3/_md-sys-color.scss +5 -31
  6. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  7. package/core/tokens/m3/_md-sys-typescale.scss +2 -16
  8. package/fesm2022/{animation.mjs → _animation-chunk.mjs} +2 -23
  9. package/fesm2022/_animation-chunk.mjs.map +1 -0
  10. package/fesm2022/{date-formats.mjs → _date-formats-chunk.mjs} +1 -1
  11. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  12. package/fesm2022/{date-range-input-harness.mjs → _date-range-input-harness-chunk.mjs} +1 -1
  13. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  14. package/fesm2022/{error-options.mjs → _error-options-chunk.mjs} +1 -1
  15. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  16. package/fesm2022/{error-state.mjs → _error-state-chunk.mjs} +1 -1
  17. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  18. package/fesm2022/_form-field-chunk.mjs +1114 -0
  19. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  20. package/fesm2022/{icon-button.mjs → _icon-button-chunk.mjs} +4 -4
  21. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  22. package/fesm2022/{icon-registry.mjs → _icon-registry-chunk.mjs} +1 -1
  23. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  24. package/fesm2022/{input-harness.mjs → _input-harness-chunk.mjs} +1 -1
  25. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  26. package/fesm2022/{input-value-accessor.mjs → _input-value-accessor-chunk.mjs} +1 -1
  27. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  28. package/fesm2022/{internal-form-field.mjs → _internal-form-field-chunk.mjs} +1 -1
  29. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  30. package/fesm2022/{line.mjs → _line-chunk.mjs} +1 -1
  31. package/fesm2022/_line-chunk.mjs.map +1 -0
  32. package/fesm2022/{option.mjs → _option-chunk.mjs} +4 -4
  33. package/fesm2022/_option-chunk.mjs.map +1 -0
  34. package/fesm2022/{option-harness.mjs → _option-harness-chunk.mjs} +1 -1
  35. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  36. package/fesm2022/{option-module.mjs → _option-module-chunk.mjs} +4 -4
  37. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  38. package/fesm2022/{pseudo-checkbox.mjs → _pseudo-checkbox-chunk.mjs} +2 -2
  39. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  40. package/fesm2022/{pseudo-checkbox-module.mjs → _pseudo-checkbox-module-chunk.mjs} +2 -2
  41. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  42. package/fesm2022/{public-api.mjs → _public-api-chunk.mjs} +1 -1
  43. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  44. package/fesm2022/{ripple.mjs → _ripple-chunk.mjs} +2 -2
  45. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  46. package/fesm2022/{ripple-loader.mjs → _ripple-loader-chunk.mjs} +3 -3
  47. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  48. package/fesm2022/{ripple-module.mjs → _ripple-module-chunk.mjs} +2 -2
  49. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  50. package/fesm2022/{structural-styles.mjs → _structural-styles-chunk.mjs} +1 -1
  51. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  52. package/fesm2022/{tooltip2.mjs → _tooltip-chunk.mjs} +2 -2
  53. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  54. package/fesm2022/{autocomplete/testing.mjs → autocomplete-testing.mjs} +3 -3
  55. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  56. package/fesm2022/autocomplete.mjs +10 -10
  57. package/fesm2022/{badge/testing.mjs → badge-testing.mjs} +1 -1
  58. package/fesm2022/badge-testing.mjs.map +1 -0
  59. package/fesm2022/badge.mjs +1 -1
  60. package/fesm2022/{bottom-sheet/testing.mjs → bottom-sheet-testing.mjs} +1 -1
  61. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  62. package/fesm2022/bottom-sheet.mjs +1 -1
  63. package/fesm2022/{button/testing.mjs → button-testing.mjs} +6 -2
  64. package/fesm2022/button-testing.mjs.map +1 -0
  65. package/fesm2022/{button-toggle/testing.mjs → button-toggle-testing.mjs} +1 -1
  66. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  67. package/fesm2022/button-toggle.mjs +5 -5
  68. package/fesm2022/button.mjs +7 -7
  69. package/fesm2022/{card/testing.mjs → card-testing.mjs} +1 -1
  70. package/fesm2022/card-testing.mjs.map +1 -0
  71. package/fesm2022/{checkbox/testing.mjs → checkbox-testing.mjs} +1 -1
  72. package/fesm2022/checkbox-testing.mjs.map +1 -0
  73. package/fesm2022/checkbox.mjs +4 -4
  74. package/fesm2022/{chips/testing.mjs → chips-testing.mjs} +1 -1
  75. package/fesm2022/chips-testing.mjs.map +1 -0
  76. package/fesm2022/chips.mjs +36 -15
  77. package/fesm2022/chips.mjs.map +1 -1
  78. package/fesm2022/{core/testing.mjs → core-testing.mjs} +2 -2
  79. package/fesm2022/core-testing.mjs.map +1 -0
  80. package/fesm2022/core.mjs +15 -20
  81. package/fesm2022/core.mjs.map +1 -1
  82. package/fesm2022/{datepicker/testing.mjs → datepicker-testing.mjs} +3 -3
  83. package/fesm2022/datepicker-testing.mjs.map +1 -0
  84. package/fesm2022/datepicker.mjs +12 -12
  85. package/fesm2022/{dialog/testing.mjs → dialog-testing.mjs} +3 -3
  86. package/fesm2022/dialog-testing.mjs.map +1 -0
  87. package/fesm2022/dialog.mjs +1 -1
  88. package/fesm2022/{divider/testing.mjs → divider-testing.mjs} +1 -1
  89. package/fesm2022/divider-testing.mjs.map +1 -0
  90. package/fesm2022/{expansion/testing.mjs → expansion-testing.mjs} +1 -1
  91. package/fesm2022/expansion-testing.mjs.map +1 -0
  92. package/fesm2022/expansion.mjs +2 -2
  93. package/fesm2022/{form-field/testing/control.mjs → form-field-testing-control.mjs} +1 -1
  94. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  95. package/fesm2022/{form-field/testing.mjs → form-field-testing.mjs} +5 -5
  96. package/fesm2022/form-field-testing.mjs.map +1 -0
  97. package/fesm2022/form-field.mjs +3 -3
  98. package/fesm2022/{grid-list/testing.mjs → grid-list-testing.mjs} +2 -2
  99. package/fesm2022/grid-list-testing.mjs.map +1 -0
  100. package/fesm2022/grid-list.mjs +3 -3
  101. package/fesm2022/{icon/testing.mjs → icon-testing.mjs} +2 -2
  102. package/fesm2022/icon-testing.mjs.map +1 -0
  103. package/fesm2022/icon.mjs +2 -2
  104. package/fesm2022/{input/testing.mjs → input-testing.mjs} +3 -3
  105. package/fesm2022/{input/testing.mjs.map → input-testing.mjs.map} +1 -1
  106. package/fesm2022/input.mjs +6 -6
  107. package/fesm2022/{list/testing.mjs → list-testing.mjs} +2 -2
  108. package/fesm2022/list-testing.mjs.map +1 -0
  109. package/fesm2022/list.mjs +6 -6
  110. package/fesm2022/{menu/testing.mjs → menu-testing.mjs} +1 -1
  111. package/fesm2022/menu-testing.mjs.map +1 -0
  112. package/fesm2022/menu.mjs +14 -11
  113. package/fesm2022/menu.mjs.map +1 -1
  114. package/fesm2022/{paginator/testing.mjs → paginator-testing.mjs} +2 -2
  115. package/fesm2022/paginator-testing.mjs.map +1 -0
  116. package/fesm2022/paginator.mjs +16 -16
  117. package/fesm2022/paginator.mjs.map +1 -1
  118. package/fesm2022/{progress-bar/testing.mjs → progress-bar-testing.mjs} +1 -1
  119. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  120. package/fesm2022/progress-bar.mjs +1 -1
  121. package/fesm2022/{progress-spinner/testing.mjs → progress-spinner-testing.mjs} +1 -1
  122. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  123. package/fesm2022/progress-spinner.mjs +1 -1
  124. package/fesm2022/{radio/testing.mjs → radio-testing.mjs} +1 -1
  125. package/fesm2022/radio-testing.mjs.map +1 -0
  126. package/fesm2022/radio.mjs +7 -7
  127. package/fesm2022/radio.mjs.map +1 -1
  128. package/fesm2022/{select/testing.mjs → select-testing.mjs} +1 -1
  129. package/fesm2022/select-testing.mjs.map +1 -0
  130. package/fesm2022/select.mjs +17 -16
  131. package/fesm2022/select.mjs.map +1 -1
  132. package/fesm2022/{sidenav/testing.mjs → sidenav-testing.mjs} +1 -1
  133. package/fesm2022/sidenav-testing.mjs.map +1 -0
  134. package/fesm2022/sidenav.mjs +1 -1
  135. package/fesm2022/{slide-toggle/testing.mjs → slide-toggle-testing.mjs} +1 -1
  136. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  137. package/fesm2022/slide-toggle.mjs +4 -4
  138. package/fesm2022/{slider/testing.mjs → slider-testing.mjs} +1 -1
  139. package/fesm2022/slider-testing.mjs.map +1 -0
  140. package/fesm2022/slider.mjs +4 -4
  141. package/fesm2022/{snack-bar/testing.mjs → snack-bar-testing.mjs} +1 -1
  142. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  143. package/fesm2022/snack-bar.mjs +6 -6
  144. package/fesm2022/{sort/testing.mjs → sort-testing.mjs} +1 -1
  145. package/fesm2022/sort-testing.mjs.map +1 -0
  146. package/fesm2022/sort.mjs +2 -2
  147. package/fesm2022/{stepper/testing.mjs → stepper-testing.mjs} +3 -2
  148. package/fesm2022/stepper-testing.mjs.map +1 -0
  149. package/fesm2022/stepper.mjs +10 -12
  150. package/fesm2022/stepper.mjs.map +1 -1
  151. package/fesm2022/{table/testing.mjs → table-testing.mjs} +3 -3
  152. package/fesm2022/table-testing.mjs.map +1 -0
  153. package/fesm2022/table.mjs +8 -3
  154. package/fesm2022/table.mjs.map +1 -1
  155. package/fesm2022/{tabs/testing.mjs → tabs-testing.mjs} +1 -1
  156. package/fesm2022/tabs-testing.mjs.map +1 -0
  157. package/fesm2022/tabs.mjs +3 -3
  158. package/fesm2022/{timepicker/testing.mjs → timepicker-testing.mjs} +2 -2
  159. package/fesm2022/timepicker-testing.mjs.map +1 -0
  160. package/fesm2022/timepicker.mjs +10 -10
  161. package/fesm2022/{toolbar/testing.mjs → toolbar-testing.mjs} +1 -1
  162. package/fesm2022/toolbar-testing.mjs.map +1 -0
  163. package/fesm2022/{tooltip/testing.mjs → tooltip-testing.mjs} +1 -1
  164. package/fesm2022/tooltip-testing.mjs.map +1 -0
  165. package/fesm2022/tooltip.mjs +3 -3
  166. package/fesm2022/{tree/testing.mjs → tree-testing.mjs} +1 -1
  167. package/fesm2022/tree-testing.mjs.map +1 -0
  168. package/package.json +114 -114
  169. package/schematics/ng-add/index.js +1 -1
  170. package/{badge.d.d.ts → types/_badge-chunk.d.ts} +1 -1
  171. package/{form-field.d.d.ts → types/_form-field-chunk.d.ts} +2 -2
  172. package/{form-field-module.d.d.ts → types/_form-field-module-chunk.d.ts} +1 -1
  173. package/{icon-module.d.d.ts → types/_icon-module-chunk.d.ts} +1 -1
  174. package/{option-module.d.d.ts → types/_option-module-chunk.d.ts} +3 -3
  175. package/{paginator.d.d.ts → types/_paginator-chunk.d.ts} +2 -2
  176. package/{progress-spinner.d.d.ts → types/_progress-spinner-chunk.d.ts} +1 -1
  177. package/{ripple-module.d.d.ts → types/_ripple-module-chunk.d.ts} +1 -1
  178. package/{sort.d.d.ts → types/_sort-chunk.d.ts} +1 -1
  179. package/{autocomplete/testing/index.d.ts → types/autocomplete-testing.d.ts} +2 -2
  180. package/{autocomplete/index.d.ts → types/autocomplete.d.ts} +6 -6
  181. package/{badge/testing/index.d.ts → types/badge-testing.d.ts} +2 -2
  182. package/{badge/index.d.ts → types/badge.d.ts} +3 -3
  183. package/{button/testing/index.d.ts → types/button-testing.d.ts} +2 -0
  184. package/{button-toggle/testing/index.d.ts → types/button-toggle-testing.d.ts} +1 -1
  185. package/{button-toggle/index.d.ts → types/button-toggle.d.ts} +4 -4
  186. package/{button/index.d.ts → types/button.d.ts} +4 -4
  187. package/{checkbox/index.d.ts → types/checkbox.d.ts} +1 -1
  188. package/{chips/index.d.ts → types/chips.d.ts} +53 -47
  189. package/{core/testing/index.d.ts → types/core-testing.d.ts} +1 -1
  190. package/{core/index.d.ts → types/core.d.ts} +14 -40
  191. package/{datepicker/testing/index.d.ts → types/datepicker-testing.d.ts} +2 -2
  192. package/{datepicker/index.d.ts → types/datepicker.d.ts} +8 -8
  193. package/{dialog/testing/index.d.ts → types/dialog-testing.d.ts} +1 -1
  194. package/{dialog/index.d.ts → types/dialog.d.ts} +2 -2
  195. package/{form-field/testing/control/index.d.ts → types/form-field-testing-control.d.ts} +1 -1
  196. package/{form-field/testing/index.d.ts → types/form-field-testing.d.ts} +4 -4
  197. package/{form-field/index.d.ts → types/form-field.d.ts} +4 -4
  198. package/{grid-list/index.d.ts → types/grid-list.d.ts} +1 -1
  199. package/{icon/testing/index.d.ts → types/icon-testing.d.ts} +1 -1
  200. package/{icon/index.d.ts → types/icon.d.ts} +3 -3
  201. package/{input/testing/index.d.ts → types/input-testing.d.ts} +2 -2
  202. package/{input/index.d.ts → types/input.d.ts} +7 -7
  203. package/{list/testing/index.d.ts → types/list-testing.d.ts} +2 -2
  204. package/{list/index.d.ts → types/list.d.ts} +7 -7
  205. package/{menu/index.d.ts → types/menu.d.ts} +3 -3
  206. package/{paginator/testing/index.d.ts → types/paginator-testing.d.ts} +1 -1
  207. package/{paginator/index.d.ts → types/paginator.d.ts} +16 -16
  208. package/{progress-bar/index.d.ts → types/progress-bar.d.ts} +1 -1
  209. package/{progress-spinner/testing/index.d.ts → types/progress-spinner-testing.d.ts} +2 -2
  210. package/{progress-spinner/index.d.ts → types/progress-spinner.d.ts} +3 -3
  211. package/{radio/index.d.ts → types/radio.d.ts} +3 -3
  212. package/{select/index.d.ts → types/select.d.ts} +12 -12
  213. package/{slide-toggle/index.d.ts → types/slide-toggle.d.ts} +1 -1
  214. package/{slider/index.d.ts → types/slider.d.ts} +3 -3
  215. package/{snack-bar/index.d.ts → types/snack-bar.d.ts} +5 -5
  216. package/{sort/testing/index.d.ts → types/sort-testing.d.ts} +1 -1
  217. package/{sort/index.d.ts → types/sort.d.ts} +3 -3
  218. package/{stepper/index.d.ts → types/stepper.d.ts} +5 -5
  219. package/{table/index.d.ts → types/table.d.ts} +8 -7
  220. package/{tabs/index.d.ts → types/tabs.d.ts} +2 -2
  221. package/{timepicker/testing/index.d.ts → types/timepicker-testing.d.ts} +1 -1
  222. package/{timepicker/index.d.ts → types/timepicker.d.ts} +2 -2
  223. package/fesm2022/animation.mjs.map +0 -1
  224. package/fesm2022/autocomplete/testing.mjs.map +0 -1
  225. package/fesm2022/badge/testing.mjs.map +0 -1
  226. package/fesm2022/bottom-sheet/testing.mjs.map +0 -1
  227. package/fesm2022/button/testing.mjs.map +0 -1
  228. package/fesm2022/button-toggle/testing.mjs.map +0 -1
  229. package/fesm2022/card/testing.mjs.map +0 -1
  230. package/fesm2022/checkbox/testing.mjs.map +0 -1
  231. package/fesm2022/chips/testing.mjs.map +0 -1
  232. package/fesm2022/core/testing.mjs.map +0 -1
  233. package/fesm2022/date-formats.mjs.map +0 -1
  234. package/fesm2022/date-range-input-harness.mjs.map +0 -1
  235. package/fesm2022/datepicker/testing.mjs.map +0 -1
  236. package/fesm2022/dialog/testing.mjs.map +0 -1
  237. package/fesm2022/divider/testing.mjs.map +0 -1
  238. package/fesm2022/error-options.mjs.map +0 -1
  239. package/fesm2022/error-state.mjs.map +0 -1
  240. package/fesm2022/expansion/testing.mjs.map +0 -1
  241. package/fesm2022/form-field/testing/control.mjs.map +0 -1
  242. package/fesm2022/form-field/testing.mjs.map +0 -1
  243. package/fesm2022/form-field2.mjs +0 -1114
  244. package/fesm2022/form-field2.mjs.map +0 -1
  245. package/fesm2022/grid-list/testing.mjs.map +0 -1
  246. package/fesm2022/icon/testing.mjs.map +0 -1
  247. package/fesm2022/icon-button.mjs.map +0 -1
  248. package/fesm2022/icon-registry.mjs.map +0 -1
  249. package/fesm2022/input-harness.mjs.map +0 -1
  250. package/fesm2022/input-value-accessor.mjs.map +0 -1
  251. package/fesm2022/internal-form-field.mjs.map +0 -1
  252. package/fesm2022/line.mjs.map +0 -1
  253. package/fesm2022/list/testing.mjs.map +0 -1
  254. package/fesm2022/menu/testing.mjs.map +0 -1
  255. package/fesm2022/option-harness.mjs.map +0 -1
  256. package/fesm2022/option-module.mjs.map +0 -1
  257. package/fesm2022/option.mjs.map +0 -1
  258. package/fesm2022/paginator/testing.mjs.map +0 -1
  259. package/fesm2022/progress-bar/testing.mjs.map +0 -1
  260. package/fesm2022/progress-spinner/testing.mjs.map +0 -1
  261. package/fesm2022/pseudo-checkbox-module.mjs.map +0 -1
  262. package/fesm2022/pseudo-checkbox.mjs.map +0 -1
  263. package/fesm2022/public-api.mjs.map +0 -1
  264. package/fesm2022/radio/testing.mjs.map +0 -1
  265. package/fesm2022/ripple-loader.mjs.map +0 -1
  266. package/fesm2022/ripple-module.mjs.map +0 -1
  267. package/fesm2022/ripple.mjs.map +0 -1
  268. package/fesm2022/select/testing.mjs.map +0 -1
  269. package/fesm2022/sidenav/testing.mjs.map +0 -1
  270. package/fesm2022/slide-toggle/testing.mjs.map +0 -1
  271. package/fesm2022/slider/testing.mjs.map +0 -1
  272. package/fesm2022/snack-bar/testing.mjs.map +0 -1
  273. package/fesm2022/sort/testing.mjs.map +0 -1
  274. package/fesm2022/stepper/testing.mjs.map +0 -1
  275. package/fesm2022/structural-styles.mjs.map +0 -1
  276. package/fesm2022/table/testing.mjs.map +0 -1
  277. package/fesm2022/tabs/testing.mjs.map +0 -1
  278. package/fesm2022/timepicker/testing.mjs.map +0 -1
  279. package/fesm2022/toolbar/testing.mjs.map +0 -1
  280. package/fesm2022/tooltip/testing.mjs.map +0 -1
  281. package/fesm2022/tooltip2.mjs.map +0 -1
  282. package/fesm2022/tree/testing.mjs.map +0 -1
  283. /package/{button-toggle.d.d.ts → types/_button-toggle-chunk.d.ts} +0 -0
  284. /package/{date-adapter.d.d.ts → types/_date-adapter-chunk.d.ts} +0 -0
  285. /package/{date-range-input-harness.d.d.ts → types/_date-range-input-harness-chunk.d.ts} +0 -0
  286. /package/{dialog.d.d.ts → types/_dialog-chunk.d.ts} +0 -0
  287. /package/{error-options.d.d.ts → types/_error-options-chunk.d.ts} +0 -0
  288. /package/{form-field-control.d.d.ts → types/_form-field-control-chunk.d.ts} +0 -0
  289. /package/{form-field-control-harness.d.d.ts → types/_form-field-control-harness-chunk.d.ts} +0 -0
  290. /package/{icon-registry.d.d.ts → types/_icon-registry-chunk.d.ts} +0 -0
  291. /package/{input-harness.d.d.ts → types/_input-harness-chunk.d.ts} +0 -0
  292. /package/{line.d.d.ts → types/_line-chunk.d.ts} +0 -0
  293. /package/{list-option-types.d.d.ts → types/_list-option-types-chunk.d.ts} +0 -0
  294. /package/{option.d.d.ts → types/_option-chunk.d.ts} +0 -0
  295. /package/{option-harness.d.d.ts → types/_option-harness-chunk.d.ts} +0 -0
  296. /package/{option-parent.d.d.ts → types/_option-parent-chunk.d.ts} +0 -0
  297. /package/{palette.d.d.ts → types/_palette-chunk.d.ts} +0 -0
  298. /package/{pseudo-checkbox-module.d.d.ts → types/_pseudo-checkbox-module-chunk.d.ts} +0 -0
  299. /package/{ripple.d.d.ts → types/_ripple-chunk.d.ts} +0 -0
  300. /package/{ripple-loader.d.d.ts → types/_ripple-loader-chunk.d.ts} +0 -0
  301. /package/{sort-direction.d.d.ts → types/_sort-direction-chunk.d.ts} +0 -0
  302. /package/{bottom-sheet/testing/index.d.ts → types/bottom-sheet-testing.d.ts} +0 -0
  303. /package/{bottom-sheet/index.d.ts → types/bottom-sheet.d.ts} +0 -0
  304. /package/{card/testing/index.d.ts → types/card-testing.d.ts} +0 -0
  305. /package/{card/index.d.ts → types/card.d.ts} +0 -0
  306. /package/{checkbox/testing/index.d.ts → types/checkbox-testing.d.ts} +0 -0
  307. /package/{chips/testing/index.d.ts → types/chips-testing.d.ts} +0 -0
  308. /package/{divider/testing/index.d.ts → types/divider-testing.d.ts} +0 -0
  309. /package/{divider/index.d.ts → types/divider.d.ts} +0 -0
  310. /package/{expansion/testing/index.d.ts → types/expansion-testing.d.ts} +0 -0
  311. /package/{expansion/index.d.ts → types/expansion.d.ts} +0 -0
  312. /package/{grid-list/testing/index.d.ts → types/grid-list-testing.d.ts} +0 -0
  313. /package/{index.d.ts → types/material.d.ts} +0 -0
  314. /package/{menu/testing/index.d.ts → types/menu-testing.d.ts} +0 -0
  315. /package/{progress-bar/testing/index.d.ts → types/progress-bar-testing.d.ts} +0 -0
  316. /package/{radio/testing/index.d.ts → types/radio-testing.d.ts} +0 -0
  317. /package/{select/testing/index.d.ts → types/select-testing.d.ts} +0 -0
  318. /package/{sidenav/testing/index.d.ts → types/sidenav-testing.d.ts} +0 -0
  319. /package/{sidenav/index.d.ts → types/sidenav.d.ts} +0 -0
  320. /package/{slide-toggle/testing/index.d.ts → types/slide-toggle-testing.d.ts} +0 -0
  321. /package/{slider/testing/index.d.ts → types/slider-testing.d.ts} +0 -0
  322. /package/{snack-bar/testing/index.d.ts → types/snack-bar-testing.d.ts} +0 -0
  323. /package/{stepper/testing/index.d.ts → types/stepper-testing.d.ts} +0 -0
  324. /package/{table/testing/index.d.ts → types/table-testing.d.ts} +0 -0
  325. /package/{tabs/testing/index.d.ts → types/tabs-testing.d.ts} +0 -0
  326. /package/{toolbar/testing/index.d.ts → types/toolbar-testing.d.ts} +0 -0
  327. /package/{toolbar/index.d.ts → types/toolbar.d.ts} +0 -0
  328. /package/{tooltip/testing/index.d.ts → types/tooltip-testing.d.ts} +0 -0
  329. /package/{tooltip/index.d.ts → types/tooltip.d.ts} +0 -0
  330. /package/{tree/testing/index.d.ts → types/tree-testing.d.ts} +0 -0
  331. /package/{tree/index.d.ts → types/tree.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tabs/testing/tab-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tabs/testing/tab-group-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tabs/testing/tab-link-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tabs/testing/tab-nav-panel-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tabs/testing/tab-nav-bar-harness.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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessLoader,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TabHarnessFilters} from './tab-harness-filters';\n\n/** Harness for interacting with an Angular Material tab in tests. */\nexport class MatTabHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatTab` instance. */\n static hostSelector = '.mat-mdc-tab';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tab with specific attributes.\n * @param options Options for filtering which tab instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTabHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TabHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabel(), label),\n )\n .addOption(\n 'selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) == selected,\n );\n }\n\n /** Gets the label of the tab. */\n async getLabel(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the aria-label of the tab. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /** Gets the value of the \"aria-labelledby\" attribute. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-labelledby');\n }\n\n /** Whether the tab is selected. */\n async isSelected(): Promise<boolean> {\n const hostEl = await this.host();\n return (await hostEl.getAttribute('aria-selected')) === 'true';\n }\n\n /** Whether the tab is disabled. */\n async isDisabled(): Promise<boolean> {\n const hostEl = await this.host();\n return (await hostEl.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Selects the given tab by clicking on the label. Tab cannot be selected if disabled. */\n async select(): Promise<void> {\n await (await this.host()).click('center');\n }\n\n /** Gets the text content of the tab. */\n async getTextContent(): Promise<string> {\n const contentId = await this._getContentId();\n const contentEl = await this.documentRootLocatorFactory().locatorFor(`#${contentId}`)();\n return contentEl.text();\n }\n\n protected override async getRootHarnessLoader(): Promise<HarnessLoader> {\n const contentId = await this._getContentId();\n return this.documentRootLocatorFactory().harnessLoaderFor(`#${contentId}`);\n }\n\n /** Gets the element id for the content of the current tab. */\n private async _getContentId(): Promise<string> {\n const hostEl = await this.host();\n // Tabs never have an empty \"aria-controls\" attribute.\n return (await hostEl.getAttribute('aria-controls'))!;\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {TabGroupHarnessFilters, TabHarnessFilters} from './tab-harness-filters';\nimport {MatTabHarness} from './tab-harness';\n\n/** Harness for interacting with a mat-tab-group in tests. */\nexport class MatTabGroupHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTabGroup` instance. */\n static hostSelector = '.mat-mdc-tab-group';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tab group with specific attributes.\n * @param options Options for filtering which tab group instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTabGroupHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TabGroupHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'selectedTabLabel',\n options.selectedTabLabel,\n async (harness, label) => {\n const selectedTab = await harness.getSelectedTab();\n return HarnessPredicate.stringMatches(await selectedTab.getLabel(), label);\n },\n );\n }\n\n /**\n * Gets the list of tabs in the tab group.\n * @param filter Optionally filters which tabs are included.\n */\n async getTabs(filter: TabHarnessFilters = {}): Promise<MatTabHarness[]> {\n return this.locatorForAll(MatTabHarness.with(filter))();\n }\n\n /** Gets the selected tab of the tab group. */\n async getSelectedTab(): Promise<MatTabHarness> {\n const tabs = await this.getTabs();\n const isSelected = await parallel(() => tabs.map(t => t.isSelected()));\n for (let i = 0; i < tabs.length; i++) {\n if (isSelected[i]) {\n return tabs[i];\n }\n }\n throw new Error('No selected tab could be found.');\n }\n\n /**\n * Selects a tab in this tab group.\n * @param filter An optional filter to apply to the child tabs. The first tab matching the filter\n * will be selected.\n */\n async selectTab(filter: TabHarnessFilters = {}): Promise<void> {\n const tabs = await this.getTabs(filter);\n if (!tabs.length) {\n throw Error(`Cannot find mat-tab matching filter ${JSON.stringify(filter)}`);\n }\n await tabs[0].select();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TabLinkHarnessFilters} from './tab-harness-filters';\n\n/** Harness for interacting with a Angular Material tab link in tests. */\nexport class MatTabLinkHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTabLink` instance. */\n static hostSelector = '.mat-mdc-tab-link';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tab link with specific attributes.\n * @param options Options for filtering which tab link instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTabLinkHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TabLinkHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabel(), label),\n );\n }\n\n /** Gets the label of the link. */\n async getLabel(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Whether the link is active. */\n async isActive(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass('mdc-tab--active');\n }\n\n /** Whether the link is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass('mat-mdc-tab-disabled');\n }\n\n /** Clicks on the link. */\n async click(): Promise<void> {\n await (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TabNavPanelHarnessFilters} from './tab-harness-filters';\n\n/** Harness for interacting with a standard mat-tab-nav-panel in tests. */\nexport class MatTabNavPanelHarness extends ContentContainerComponentHarness {\n /** The selector for the host element of a `MatTabNavPanel` instance. */\n static hostSelector = '.mat-mdc-tab-nav-panel';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tab nav panel with specific\n * attributes.\n * @param options Options for filtering which tab nav panel instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTabNavPanelHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TabNavPanelHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets the tab panel text content. */\n async getTextContent(): Promise<string> {\n return (await this.host()).text();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {\n TabNavBarHarnessFilters,\n TabNavPanelHarnessFilters,\n TabLinkHarnessFilters,\n} from './tab-harness-filters';\nimport {MatTabLinkHarness} from './tab-link-harness';\nimport {MatTabNavPanelHarness} from './tab-nav-panel-harness';\n\n/** Harness for interacting with a mat-tab-nav-bar in tests. */\nexport class MatTabNavBarHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTabNavBar` instance. */\n static hostSelector = '.mat-mdc-tab-nav-bar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tab nav bar with specific\n * attributes.\n * @param options Options for filtering which tab nav bar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTabNavBarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TabNavBarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /**\n * Gets the list of links in the nav bar.\n * @param filter Optionally filters which links are included.\n */\n async getLinks(filter: TabLinkHarnessFilters = {}): Promise<MatTabLinkHarness[]> {\n return this.locatorForAll(MatTabLinkHarness.with(filter))();\n }\n\n /** Gets the active link in the nav bar. */\n async getActiveLink(): Promise<MatTabLinkHarness> {\n const links = await this.getLinks();\n const isActive = await parallel(() => links.map(t => t.isActive()));\n for (let i = 0; i < links.length; i++) {\n if (isActive[i]) {\n return links[i];\n }\n }\n throw new Error('No active link could be found.');\n }\n\n /**\n * Clicks a link inside the nav bar.\n * @param filter An optional filter to apply to the child link. The first link matching the filter\n * will be clicked.\n */\n async clickLink(filter: TabLinkHarnessFilters = {}): Promise<void> {\n const tabs = await this.getLinks(filter);\n if (!tabs.length) {\n throw Error(`Cannot find mat-tab-link matching filter ${JSON.stringify(filter)}`);\n }\n await tabs[0].click();\n }\n\n /** Gets the panel associated with the nav bar. */\n async getPanel(): Promise<MatTabNavPanelHarness> {\n const link = await this.getActiveLink();\n const host = await link.host();\n const panelId = await host.getAttribute('aria-controls');\n if (!panelId) {\n throw Error('No panel is controlled by the nav bar.');\n }\n\n const filter: TabNavPanelHarnessFilters = {selector: `#${panelId}`};\n return await this.documentRootLocatorFactory().locatorFor(MatTabNavPanelHarness.with(filter))();\n }\n}\n"],"names":[],"mappings":"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"}
package/fesm2022/tabs.mjs CHANGED
@@ -8,12 +8,12 @@ import * as i0 from '@angular/core';
8
8
  import { InjectionToken, inject, TemplateRef, Directive, ViewContainerRef, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, ViewChild, ElementRef, ChangeDetectorRef, NgZone, Injector, Renderer2, EventEmitter, afterNextRender, numberAttribute, Output, ContentChildren, QueryList, ViewChildren, signal, forwardRef, computed, HostAttributeToken, NgModule } from '@angular/core';
9
9
  import { Subject, of, merge, EMPTY, Observable, timer, Subscription, BehaviorSubject } from 'rxjs';
10
10
  import { debounceTime, takeUntil, startWith, switchMap, skip, filter } from 'rxjs/operators';
11
- import { _animationsDisabled } from './animation.mjs';
11
+ import { _animationsDisabled } from './_animation-chunk.mjs';
12
12
  import { CdkPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
13
13
  import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
14
- import { _StructuralStylesLoader } from './structural-styles.mjs';
14
+ import { _StructuralStylesLoader } from './_structural-styles-chunk.mjs';
15
15
  import { CdkObserveContent } from '@angular/cdk/observers';
16
- import { MatRipple, MAT_RIPPLE_GLOBAL_OPTIONS } from './ripple.mjs';
16
+ import { MatRipple, MAT_RIPPLE_GLOBAL_OPTIONS } from './_ripple-chunk.mjs';
17
17
  import '@angular/cdk/layout';
18
18
  import '@angular/cdk/coercion';
19
19
 
@@ -1,5 +1,5 @@
1
1
  import { ComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testing';
2
- import { MatOptionHarness } from '../option-harness.mjs';
2
+ import { MatOptionHarness } from './_option-harness-chunk.mjs';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
 
5
5
  class MatTimepickerHarness extends ComponentHarness {
@@ -184,4 +184,4 @@ class MatTimepickerToggleHarness extends ComponentHarness {
184
184
  }
185
185
 
186
186
  export { MatTimepickerHarness, MatTimepickerInputHarness, MatTimepickerToggleHarness };
187
- //# sourceMappingURL=testing.mjs.map
187
+ //# sourceMappingURL=timepicker-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timepicker-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-toggle-harness.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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatOptionHarness, OptionHarnessFilters} from '../../core/testing';\nimport {TimepickerHarnessFilters} from './timepicker-harness-filters';\n\nexport class MatTimepickerHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = 'mat-timepicker';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a timepicker with specific\n * attributes.\n * @param options Options for filtering which timepicker instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Whether the timepicker is open. */\n async isOpen(): Promise<boolean> {\n const selector = await this._getPanelSelector();\n const panel = await this._documentRootLocator.locatorForOptional(selector)();\n return panel !== null;\n }\n\n /** Gets the options inside the timepicker panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for timepicker. Timepicker panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Gets the selector that can be used to find the timepicker's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('mat-timepicker-panel-id')}`;\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatTimepickerHarness} from './timepicker-harness';\nimport {\n TimepickerHarnessFilters,\n TimepickerInputHarnessFilters,\n} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker inputs in tests. */\nexport class MatTimepickerInputHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = '.mat-timepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n });\n }\n\n /** Gets whether the timepicker associated with the input is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-expanded')) === 'true';\n }\n\n /** Opens the timepicker associated with the input and returns the timepicker instance. */\n async openTimepicker(): Promise<MatTimepickerHarness> {\n if (!(await this.isDisabled())) {\n const host = await this.host();\n await host.sendKeys(TestKey.DOWN_ARROW);\n }\n\n return this.getTimepicker();\n }\n\n /** Closes the timepicker associated with the input. */\n async closeTimepicker(): Promise<void> {\n await this._documentRootLocator.rootElement.click();\n\n // This is necessary so that we wait for the closing animation.\n await this.forceStabilize();\n }\n\n /**\n * Gets the `MatTimepickerHarness` that is associated with the input.\n * @param filter Optionally filters which timepicker is included.\n */\n async getTimepicker(filter: TimepickerHarnessFilters = {}): Promise<MatTimepickerHarness> {\n const host = await this.host();\n const timepickerId = await host.getAttribute('mat-timepicker-id');\n\n if (!timepickerId) {\n throw Error('Element is not associated with a timepicker');\n }\n\n return this._documentRootLocator.locatorFor(\n MatTimepickerHarness.with({\n ...filter,\n selector: `[mat-timepicker-panel-id=\"${timepickerId}\"]`,\n }),\n )();\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\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.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {TimepickerToggleHarnessFilters} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker toggle in tests. */\nexport class MatTimepickerToggleHarness extends ComponentHarness {\n static hostSelector = '.mat-timepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which timepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: TimepickerToggleHarnessFilters = {},\n ): HarnessPredicate<MatTimepickerToggleHarness> {\n return new HarnessPredicate(MatTimepickerToggleHarness, options);\n }\n\n /** Opens the timepicker associated with the toggle. */\n async openTimepicker(): Promise<void> {\n const isOpen = await this.isTimepickerOpen();\n\n if (!isOpen) {\n const button = await this._button();\n await button.click();\n }\n }\n\n /** Gets whether the timepicker associated with the toggle is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const button = await this._button();\n const ariaExpanded = await button.getAttribute('aria-expanded');\n return ariaExpanded === 'true';\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n}\n"],"names":[],"mappings":"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"}
@@ -6,25 +6,25 @@ import { TemplatePortal } from '@angular/cdk/portal';
6
6
  import { _getEventTarget, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
7
7
  import { TAB, ESCAPE, hasModifierKey, ENTER, DOWN_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
8
8
  import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';
9
- import { DateAdapter, MAT_DATE_FORMATS } from './date-formats.mjs';
10
- import { _animationsDisabled } from './animation.mjs';
11
- import { MatOption, MAT_OPTION_PARENT_COMPONENT } from './option.mjs';
9
+ import { DateAdapter, MAT_DATE_FORMATS } from './_date-formats-chunk.mjs';
10
+ import { _animationsDisabled } from './_animation-chunk.mjs';
11
+ import { MatOption, MAT_OPTION_PARENT_COMPONENT } from './_option-chunk.mjs';
12
12
  import { Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
13
- import { MAT_FORM_FIELD } from './form-field2.mjs';
14
- import { MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor.mjs';
15
- import { MatIconButton } from './icon-button.mjs';
13
+ import { MAT_FORM_FIELD } from './_form-field-chunk.mjs';
14
+ import { MAT_INPUT_VALUE_ACCESSOR } from './_input-value-accessor-chunk.mjs';
15
+ import { MatIconButton } from './_icon-button-chunk.mjs';
16
16
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
17
17
  import 'rxjs';
18
18
  import '@angular/cdk/layout';
19
- import './ripple.mjs';
19
+ import './_ripple-chunk.mjs';
20
20
  import '@angular/cdk/coercion';
21
21
  import '@angular/cdk/private';
22
- import './pseudo-checkbox.mjs';
23
- import './structural-styles.mjs';
22
+ import './_pseudo-checkbox-chunk.mjs';
23
+ import './_structural-styles-chunk.mjs';
24
24
  import '@angular/common';
25
25
  import 'rxjs/operators';
26
26
  import '@angular/cdk/observers/private';
27
- import './ripple-loader.mjs';
27
+ import './_ripple-loader-chunk.mjs';
28
28
 
29
29
  /** Pattern that interval strings have to match. */
30
30
  const INTERVAL_PATTERN = /^(\d*\.?\d+)\s*(h|hour|hours|m|min|minute|minutes|s|second|seconds)?$/i;
@@ -34,4 +34,4 @@ class MatToolbarHarness extends ContentContainerComponentHarness {
34
34
  }
35
35
 
36
36
  export { MatToolbarHarness, MatToolbarSection };
37
- //# sourceMappingURL=testing.mjs.map
37
+ //# sourceMappingURL=toolbar-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/toolbar/testing/toolbar-harness.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.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {ToolbarHarnessFilters} from './toolbar-harness-filters';\n\n/** Selectors for different sections of the mat-toolbar that contain user content. */\nexport enum MatToolbarSection {\n ROW = '.mat-toolbar-row',\n}\n\n/** Harness for interacting with a standard mat-toolbar in tests. */\nexport class MatToolbarHarness extends ContentContainerComponentHarness<MatToolbarSection> {\n static hostSelector = '.mat-toolbar';\n\n private _getRows = this.locatorForAll(MatToolbarSection.ROW);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatToolbarHarness` that meets\n * certain criteria.\n * @param options Options for filtering which card instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: ToolbarHarnessFilters = {}): HarnessPredicate<MatToolbarHarness> {\n return new HarnessPredicate(MatToolbarHarness, options).addOption(\n 'text',\n options.text,\n (harness, text) => HarnessPredicate.stringMatches(harness._getText(), text),\n );\n }\n\n /** Whether the toolbar has multiple rows. */\n async hasMultipleRows(): Promise<boolean> {\n return (await this.host()).hasClass('mat-toolbar-multiple-rows');\n }\n\n /** Gets all of the toolbar's content as text. */\n private async _getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the text of each row in the toolbar. */\n async getRowsAsText(): Promise<string[]> {\n const rows = await this._getRows();\n return parallel(() => (rows.length ? rows.map(r => r.text()) : [this._getText()]));\n }\n}\n"],"names":[],"mappings":";;AAWA;IACY;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,kBAAwB;AAC1B,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,GAE5B,EAAA,CAAA,CAAA;AAED;AACM,MAAO,iBAAkB,SAAQ,gCAAmD,CAAA;AACxF,IAAA,OAAO,YAAY,GAAG,cAAc;IAE5B,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC;AAE5D;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAiC,EAAE,EAAA;AAC7C,QAAA,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC/D,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAC5E;;;AAIH,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,2BAA2B,CAAC;;;AAI1D,IAAA,MAAM,QAAQ,GAAA;QACpB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;;;AAInC,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,QAAQ,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;;;;;;"}
@@ -56,4 +56,4 @@ class MatTooltipHarness extends ComponentHarness {
56
56
  }
57
57
 
58
58
  export { MatTooltipHarness };
59
- //# sourceMappingURL=testing.mjs.map
59
+ //# sourceMappingURL=tooltip-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tooltip/testing/tooltip-harness.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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TooltipHarnessFilters} from './tooltip-harness-filters';\n\n/** Harness for interacting with a mat-tooltip in tests. */\nexport class MatTooltipHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-tooltip-trigger';\n\n private _optionalPanel = this.documentRootLocatorFactory().locatorForOptional('.mat-mdc-tooltip');\n private _hiddenClass = 'mat-mdc-tooltip-hide';\n private _disabledClass = 'mat-mdc-tooltip-disabled';\n private _showAnimationName = 'mat-mdc-tooltip-show';\n private _hideAnimationName = 'mat-mdc-tooltip-hide';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tooltip trigger with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTooltipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TooltipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Shows the tooltip. */\n async show(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because the tooltip binds\n // different events depending on the device. The `changedTouches` is there in case the\n // element has ripples.\n await host.dispatchEvent('touchstart', {changedTouches: []});\n await host.hover();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._showAnimationName});\n }\n\n /** Hides the tooltip. */\n async hide(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because\n // the tooltip binds different events depending on the device.\n await host.dispatchEvent('touchend');\n await host.mouseAway();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._hideAnimationName});\n }\n\n /** Gets whether the tooltip is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._optionalPanel();\n return !!panel && !(await panel.hasClass(this._hiddenClass));\n }\n\n /** Gets whether the tooltip is disabled */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass(this._disabledClass);\n }\n\n /** Gets a promise for the tooltip panel's text. */\n async getTooltipText(): Promise<string> {\n const panel = await this._optionalPanel();\n return panel ? panel.text() : '';\n }\n}\n"],"names":[],"mappings":";;AAeA;AACM,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AACrD,IAAA,OAAO,YAAY,GAAG,0BAA0B;IAExC,cAAc,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;IACzF,YAAY,GAAG,sBAAsB;IACrC,cAAc,GAAG,0BAA0B;IAC3C,kBAAkB,GAAG,sBAAsB;IAC3C,kBAAkB,GAAG,sBAAsB;AAEnD;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAiC,EAAE,EAAA;AAEnC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;;;AAI5C,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;;;;AAK9B,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAC,cAAc,EAAE,EAAE,EAAC,CAAC;AAC5D,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,MAAM,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,EAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAC,CAAC;;;AAItF,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;;;AAI9B,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AACpC,QAAA,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,MAAM,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,EAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAC,CAAC;;;AAItF,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;AAI9D,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;;;AAI3C,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;"}
@@ -1,5 +1,5 @@
1
- import { MatTooltip, TooltipComponent } from './tooltip2.mjs';
2
- export { MAT_TOOLTIP_DEFAULT_OPTIONS, MAT_TOOLTIP_SCROLL_STRATEGY, SCROLL_THROTTLE_MS, TOOLTIP_PANEL_CLASS, getMatTooltipInvalidPositionError } from './tooltip2.mjs';
1
+ import { MatTooltip, TooltipComponent } from './_tooltip-chunk.mjs';
2
+ export { MAT_TOOLTIP_DEFAULT_OPTIONS, MAT_TOOLTIP_SCROLL_STRATEGY, SCROLL_THROTTLE_MS, TOOLTIP_PANEL_CLASS, getMatTooltipInvalidPositionError } from './_tooltip-chunk.mjs';
3
3
  import * as i0 from '@angular/core';
4
4
  import { NgModule } from '@angular/core';
5
5
  import { A11yModule } from '@angular/cdk/a11y';
@@ -13,7 +13,7 @@ import '@angular/common';
13
13
  import '@angular/cdk/platform';
14
14
  import '@angular/cdk/portal';
15
15
  import 'rxjs';
16
- import './animation.mjs';
16
+ import './_animation-chunk.mjs';
17
17
  import '@angular/cdk/layout';
18
18
 
19
19
  class MatTooltipModule {
@@ -177,4 +177,4 @@ class MatTreeHarness extends ComponentHarness {
177
177
  }
178
178
 
179
179
  export { MatTreeHarness, MatTreeNodeHarness };
180
- //# sourceMappingURL=testing.mjs.map
180
+ //# sourceMappingURL=tree-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/testing/node-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/testing/tree-harness.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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TreeNodeHarnessFilters} from './tree-harness-filters';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a standard Angular Material tree node. */\nexport class MatTreeNodeHarness extends ContentContainerComponentHarness<string> {\n /** The selector of the host element of a `MatTreeNode` instance. */\n static hostSelector = '.mat-tree-node, .mat-nested-tree-node';\n\n _toggle = this.locatorForOptional('[matTreeNodeToggle]');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeNodeHarnessFilters = {}): HarnessPredicate<MatTreeNodeHarness> {\n return getNodePredicate(MatTreeNodeHarness, options);\n }\n\n /** Whether the tree node is expanded. */\n async isExpanded(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getAttribute('aria-expanded'));\n }\n\n /** Whether the tree node is expandable. */\n async isExpandable(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-expanded')) !== null;\n }\n\n /** Whether the tree node is disabled. */\n async isDisabled(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getProperty('aria-disabled'));\n }\n\n /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getAttribute('aria-level'));\n }\n\n /** Gets the tree node's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '.mat-tree-node, .mat-nested-tree-node, button'});\n }\n\n /** Toggles node between expanded/collapsed. Only works when node is not disabled. */\n async toggle(): Promise<void> {\n const toggle = await this._toggle();\n if (toggle) {\n return toggle.click();\n }\n }\n\n /** Expands the node if it is collapsed. Only works when node is not disabled. */\n async expand(): Promise<void> {\n if (!(await this.isExpanded())) {\n await this.toggle();\n }\n }\n\n /** Collapses the node if it is expanded. Only works when node is not disabled. */\n async collapse(): Promise<void> {\n if (await this.isExpanded()) {\n await this.toggle();\n }\n }\n}\n\nfunction getNodePredicate<T extends MatTreeNodeHarness>(\n type: ComponentHarnessConstructor<T>,\n options: TreeNodeHarnessFilters,\n): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled,\n )\n .addOption(\n 'expanded',\n options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded,\n )\n .addOption(\n 'level',\n options.level,\n async (harness, level) => (await harness.getLevel()) === level,\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.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatTreeNodeHarness} from './node-harness';\nimport {TreeHarnessFilters, TreeNodeHarnessFilters} from './tree-harness-filters';\n\nexport type TextTree = {\n text?: string;\n children?: TextTree[];\n};\n\n/** Harness for interacting with a standard mat-tree in tests. */\nexport class MatTreeHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-tree';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<MatTreeHarness> {\n return new HarnessPredicate(MatTreeHarness, options);\n }\n\n /** Gets all of the nodes in the tree. */\n async getNodes(filter: TreeNodeHarnessFilters = {}): Promise<MatTreeNodeHarness[]> {\n return this.locatorForAll(MatTreeNodeHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If a node is under an unexpanded node it will not be included.\n * Eg.\n * Tree (all nodes expanded):\n * `\n * <mat-tree>\n * <mat-tree-node>Node 1<mat-tree-node>\n * <mat-nested-tree-node>\n * Node 2\n * <mat-nested-tree-node>\n * Node 2.1\n * <mat-tree-node>\n * Node 2.1.1\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * <mat-tree-node>\n * Node 2.2\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * </mat-tree>`\n *\n * Tree structure:\n * {\n * children: [\n * {\n * text: 'Node 1',\n * children: [\n * {\n * text: 'Node 2',\n * children: [\n * {\n * text: 'Node 2.1',\n * children: [{text: 'Node 2.1.1'}]\n * },\n * {text: 'Node 2.2'}\n * ]\n * }\n * ]\n * }\n * ]\n * };\n */\n async getTreeStructure(): Promise<TextTree> {\n const nodes = await this.getNodes();\n const nodeInformation = await parallel(() =>\n nodes.map(node => {\n return parallel(() => [node.getLevel(), node.getText(), node.isExpanded()]);\n }),\n );\n return this._getTreeStructure(nodeInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree nodes.\n * @param nodes A list of tree nodes\n * @param level The level of nodes that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first node in param nodes is expanded\n */\n private _getTreeStructure(\n nodes: [number, string, boolean][],\n level: number,\n parentExpanded: boolean,\n ): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < nodes.length; i++) {\n const [nodeLevel, text, expanded] = nodes[i];\n const nextNodeLevel = nodes[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level node\n if (nodeLevel < level) {\n return result;\n }\n // Skip deeper level nodes during this iteration, they will be picked up in a later iteration\n if (nodeLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this node according to the following rules:\n // 1. If the next node in the list is a sibling of the current node add it to the child list\n // 2. If the next node is a child of the current node, get the sub-tree structure for the\n // child and add it under this node\n // 3. If the next node has a shallower level, we've reached the end of the child nodes for\n // the current parent.\n if (nextNodeLevel === level) {\n this._addChildToNode(result, {text});\n } else if (nextNodeLevel > level) {\n let children = this._getTreeStructure(\n nodes.slice(i + 1),\n nextNodeLevel,\n expanded,\n )?.children;\n let child = children ? {text, children} : {text};\n this._addChildToNode(result, child);\n } else {\n this._addChildToNode(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToNode(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : (result.children = [child]);\n }\n}\n"],"names":[],"mappings":"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"}