@angular/material 13.2.6 → 13.3.2

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 (386) hide show
  1. package/badge/_badge-theme.scss +8 -0
  2. package/core/style/_vendor-prefixes.scss +0 -16
  3. package/core/typography/_typography.scss +51 -14
  4. package/datepicker/calendar-body.d.ts +22 -1
  5. package/esm2020/autocomplete/autocomplete-module.mjs +4 -4
  6. package/esm2020/autocomplete/autocomplete-origin.mjs +6 -6
  7. package/esm2020/autocomplete/autocomplete-trigger.mjs +25 -20
  8. package/esm2020/autocomplete/autocomplete.mjs +6 -6
  9. package/esm2020/badge/badge-module.mjs +4 -4
  10. package/esm2020/badge/badge.mjs +3 -3
  11. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +11 -6
  12. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +4 -4
  13. package/esm2020/bottom-sheet/bottom-sheet.mjs +3 -3
  14. package/esm2020/button/button-module.mjs +4 -4
  15. package/esm2020/button/button.mjs +8 -8
  16. package/esm2020/button-toggle/button-toggle-module.mjs +4 -4
  17. package/esm2020/button-toggle/button-toggle.mjs +7 -7
  18. package/esm2020/card/card-module.mjs +4 -4
  19. package/esm2020/card/card.mjs +42 -42
  20. package/esm2020/checkbox/checkbox-module.mjs +8 -8
  21. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  22. package/esm2020/checkbox/checkbox.mjs +7 -6
  23. package/esm2020/chips/chip-input.mjs +3 -3
  24. package/esm2020/chips/chip-list.mjs +4 -4
  25. package/esm2020/chips/chip.mjs +12 -12
  26. package/esm2020/chips/chips-module.mjs +4 -4
  27. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  28. package/esm2020/core/datetime/index.mjs +8 -8
  29. package/esm2020/core/datetime/native-date-adapter.mjs +3 -3
  30. package/esm2020/core/error/error-options.mjs +6 -6
  31. package/esm2020/core/line/line.mjs +7 -7
  32. package/esm2020/core/option/index.mjs +4 -4
  33. package/esm2020/core/option/optgroup.mjs +7 -7
  34. package/esm2020/core/option/option.mjs +7 -7
  35. package/esm2020/core/ripple/index.mjs +4 -4
  36. package/esm2020/core/ripple/ripple.mjs +3 -3
  37. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  38. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  39. package/esm2020/core/version.mjs +1 -1
  40. package/esm2020/datepicker/calendar-body.mjs +35 -12
  41. package/esm2020/datepicker/calendar.mjs +6 -6
  42. package/esm2020/datepicker/date-range-input-parts.mjs +9 -9
  43. package/esm2020/datepicker/date-range-input.mjs +5 -5
  44. package/esm2020/datepicker/date-range-picker.mjs +3 -3
  45. package/esm2020/datepicker/date-range-selection-strategy.mjs +3 -3
  46. package/esm2020/datepicker/date-selection-model.mjs +9 -9
  47. package/esm2020/datepicker/datepicker-actions.mjs +9 -9
  48. package/esm2020/datepicker/datepicker-base.mjs +6 -6
  49. package/esm2020/datepicker/datepicker-input-base.mjs +3 -3
  50. package/esm2020/datepicker/datepicker-input.mjs +3 -3
  51. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  52. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  53. package/esm2020/datepicker/datepicker-toggle.mjs +6 -6
  54. package/esm2020/datepicker/datepicker.mjs +3 -3
  55. package/esm2020/datepicker/month-view.mjs +5 -5
  56. package/esm2020/datepicker/multi-year-view.mjs +3 -3
  57. package/esm2020/datepicker/year-view.mjs +3 -3
  58. package/esm2020/dialog/dialog-container.mjs +14 -9
  59. package/esm2020/dialog/dialog-content-directives.mjs +12 -12
  60. package/esm2020/dialog/dialog-module.mjs +4 -4
  61. package/esm2020/dialog/dialog.mjs +6 -6
  62. package/esm2020/divider/divider-module.mjs +4 -4
  63. package/esm2020/divider/divider.mjs +3 -3
  64. package/esm2020/expansion/accordion.mjs +3 -3
  65. package/esm2020/expansion/expansion-module.mjs +4 -4
  66. package/esm2020/expansion/expansion-panel-content.mjs +3 -3
  67. package/esm2020/expansion/expansion-panel-header.mjs +9 -9
  68. package/esm2020/expansion/expansion-panel.mjs +6 -6
  69. package/esm2020/form-field/error.mjs +3 -3
  70. package/esm2020/form-field/form-field-control.mjs +3 -3
  71. package/esm2020/form-field/form-field-module.mjs +4 -4
  72. package/esm2020/form-field/form-field.mjs +5 -5
  73. package/esm2020/form-field/hint.mjs +3 -3
  74. package/esm2020/form-field/label.mjs +3 -3
  75. package/esm2020/form-field/placeholder.mjs +3 -3
  76. package/esm2020/form-field/prefix.mjs +3 -3
  77. package/esm2020/form-field/suffix.mjs +3 -3
  78. package/esm2020/grid-list/grid-list-module.mjs +4 -4
  79. package/esm2020/grid-list/grid-list.mjs +3 -3
  80. package/esm2020/grid-list/grid-tile.mjs +15 -15
  81. package/esm2020/icon/icon-module.mjs +4 -4
  82. package/esm2020/icon/icon-registry.mjs +3 -3
  83. package/esm2020/icon/icon.mjs +5 -12
  84. package/esm2020/icon/testing/fake-icon-registry.mjs +7 -7
  85. package/esm2020/input/input-module.mjs +4 -4
  86. package/esm2020/input/input.mjs +25 -21
  87. package/esm2020/list/list-module.mjs +4 -4
  88. package/esm2020/list/list.mjs +20 -20
  89. package/esm2020/list/selection-list.mjs +7 -7
  90. package/esm2020/menu/menu-content.mjs +6 -6
  91. package/esm2020/menu/menu-item.mjs +3 -3
  92. package/esm2020/menu/menu-module.mjs +4 -4
  93. package/esm2020/menu/menu-trigger.mjs +6 -6
  94. package/esm2020/menu/menu.mjs +8 -8
  95. package/esm2020/paginator/paginator-intl.mjs +3 -3
  96. package/esm2020/paginator/paginator-module.mjs +4 -4
  97. package/esm2020/paginator/paginator.mjs +6 -6
  98. package/esm2020/progress-bar/progress-bar-module.mjs +4 -4
  99. package/esm2020/progress-bar/progress-bar.mjs +3 -3
  100. package/esm2020/progress-spinner/progress-spinner-module.mjs +4 -4
  101. package/esm2020/progress-spinner/progress-spinner.mjs +3 -3
  102. package/esm2020/radio/radio-module.mjs +4 -4
  103. package/esm2020/radio/radio.mjs +42 -14
  104. package/esm2020/select/select-module.mjs +4 -4
  105. package/esm2020/select/select.mjs +31 -22
  106. package/esm2020/sidenav/drawer.mjs +17 -12
  107. package/esm2020/sidenav/sidenav-module.mjs +4 -4
  108. package/esm2020/sidenav/sidenav.mjs +9 -9
  109. package/esm2020/slide-toggle/slide-toggle-module.mjs +8 -8
  110. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  111. package/esm2020/slide-toggle/slide-toggle.mjs +4 -4
  112. package/esm2020/slider/slider-module.mjs +4 -4
  113. package/esm2020/slider/slider.mjs +4 -4
  114. package/esm2020/snack-bar/simple-snack-bar.mjs +3 -3
  115. package/esm2020/snack-bar/snack-bar-container.mjs +23 -17
  116. package/esm2020/snack-bar/snack-bar-module.mjs +4 -4
  117. package/esm2020/snack-bar/snack-bar.mjs +6 -6
  118. package/esm2020/sort/sort-header-intl.mjs +3 -3
  119. package/esm2020/sort/sort-header.mjs +3 -3
  120. package/esm2020/sort/sort-module.mjs +4 -4
  121. package/esm2020/sort/sort.mjs +3 -3
  122. package/esm2020/stepper/step-content.mjs +3 -3
  123. package/esm2020/stepper/step-header.mjs +3 -3
  124. package/esm2020/stepper/step-label.mjs +3 -3
  125. package/esm2020/stepper/stepper-button.mjs +6 -6
  126. package/esm2020/stepper/stepper-icon.mjs +3 -3
  127. package/esm2020/stepper/stepper-intl.mjs +3 -3
  128. package/esm2020/stepper/stepper-module.mjs +4 -4
  129. package/esm2020/stepper/stepper.mjs +15 -15
  130. package/esm2020/table/cell.mjs +21 -21
  131. package/esm2020/table/row.mjs +21 -21
  132. package/esm2020/table/table-module.mjs +4 -4
  133. package/esm2020/table/table.mjs +8 -8
  134. package/esm2020/table/text-column.mjs +3 -3
  135. package/esm2020/tabs/ink-bar.mjs +11 -22
  136. package/esm2020/tabs/paginated-tab-header.mjs +8 -6
  137. package/esm2020/tabs/tab-body.mjs +9 -9
  138. package/esm2020/tabs/tab-content.mjs +3 -3
  139. package/esm2020/tabs/tab-group.mjs +26 -9
  140. package/esm2020/tabs/tab-header.mjs +7 -7
  141. package/esm2020/tabs/tab-label-wrapper.mjs +3 -3
  142. package/esm2020/tabs/tab-label.mjs +3 -3
  143. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +16 -16
  144. package/esm2020/tabs/tab.mjs +3 -3
  145. package/esm2020/tabs/tabs-module.mjs +4 -4
  146. package/esm2020/toolbar/toolbar-module.mjs +4 -4
  147. package/esm2020/toolbar/toolbar.mjs +6 -6
  148. package/esm2020/tooltip/tooltip-module.mjs +4 -4
  149. package/esm2020/tooltip/tooltip.mjs +12 -12
  150. package/esm2020/tree/node.mjs +9 -9
  151. package/esm2020/tree/outlet.mjs +3 -3
  152. package/esm2020/tree/padding.mjs +3 -3
  153. package/esm2020/tree/toggle.mjs +3 -3
  154. package/esm2020/tree/tree-module.mjs +4 -4
  155. package/esm2020/tree/tree.mjs +3 -3
  156. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  157. package/fesm2015/autocomplete.mjs +40 -35
  158. package/fesm2015/autocomplete.mjs.map +1 -1
  159. package/fesm2015/badge/testing.mjs.map +1 -1
  160. package/fesm2015/badge.mjs +7 -7
  161. package/fesm2015/badge.mjs.map +1 -1
  162. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  163. package/fesm2015/bottom-sheet.mjs +17 -12
  164. package/fesm2015/bottom-sheet.mjs.map +1 -1
  165. package/fesm2015/button/testing.mjs.map +1 -1
  166. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  167. package/fesm2015/button-toggle.mjs +11 -11
  168. package/fesm2015/button-toggle.mjs.map +1 -1
  169. package/fesm2015/button.mjs +12 -12
  170. package/fesm2015/button.mjs.map +1 -1
  171. package/fesm2015/card/testing.mjs.map +1 -1
  172. package/fesm2015/card.mjs +46 -46
  173. package/fesm2015/card.mjs.map +1 -1
  174. package/fesm2015/checkbox/testing.mjs.map +1 -1
  175. package/fesm2015/checkbox.mjs +17 -16
  176. package/fesm2015/checkbox.mjs.map +1 -1
  177. package/fesm2015/chips/testing.mjs.map +1 -1
  178. package/fesm2015/chips.mjs +23 -23
  179. package/fesm2015/chips.mjs.map +1 -1
  180. package/fesm2015/core/testing.mjs.map +1 -1
  181. package/fesm2015/core.mjs +61 -61
  182. package/fesm2015/core.mjs.map +1 -1
  183. package/fesm2015/datepicker/testing.mjs.map +1 -1
  184. package/fesm2015/datepicker.mjs +116 -93
  185. package/fesm2015/datepicker.mjs.map +1 -1
  186. package/fesm2015/dialog/testing.mjs.map +1 -1
  187. package/fesm2015/dialog.mjs +35 -30
  188. package/fesm2015/dialog.mjs.map +1 -1
  189. package/fesm2015/divider/testing.mjs.map +1 -1
  190. package/fesm2015/divider.mjs +7 -7
  191. package/fesm2015/divider.mjs.map +1 -1
  192. package/fesm2015/expansion/testing.mjs.map +1 -1
  193. package/fesm2015/expansion.mjs +25 -25
  194. package/fesm2015/expansion.mjs.map +1 -1
  195. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  196. package/fesm2015/form-field/testing.mjs.map +1 -1
  197. package/fesm2015/form-field.mjs +29 -29
  198. package/fesm2015/form-field.mjs.map +1 -1
  199. package/fesm2015/grid-list/testing.mjs.map +1 -1
  200. package/fesm2015/grid-list.mjs +22 -22
  201. package/fesm2015/grid-list.mjs.map +1 -1
  202. package/fesm2015/icon/testing.mjs +7 -7
  203. package/fesm2015/icon/testing.mjs.map +1 -1
  204. package/fesm2015/icon.mjs +11 -18
  205. package/fesm2015/icon.mjs.map +1 -1
  206. package/fesm2015/input/testing.mjs.map +1 -1
  207. package/fesm2015/input.mjs +28 -24
  208. package/fesm2015/input.mjs.map +1 -1
  209. package/fesm2015/list/testing.mjs.map +1 -1
  210. package/fesm2015/list.mjs +31 -31
  211. package/fesm2015/list.mjs.map +1 -1
  212. package/fesm2015/material.mjs.map +1 -1
  213. package/fesm2015/menu/testing.mjs.map +1 -1
  214. package/fesm2015/menu.mjs +26 -26
  215. package/fesm2015/menu.mjs.map +1 -1
  216. package/fesm2015/paginator/testing.mjs.map +1 -1
  217. package/fesm2015/paginator.mjs +13 -13
  218. package/fesm2015/paginator.mjs.map +1 -1
  219. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  220. package/fesm2015/progress-bar.mjs +7 -7
  221. package/fesm2015/progress-bar.mjs.map +1 -1
  222. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  223. package/fesm2015/progress-spinner.mjs +7 -7
  224. package/fesm2015/progress-spinner.mjs.map +1 -1
  225. package/fesm2015/radio/testing.mjs.map +1 -1
  226. package/fesm2015/radio.mjs +46 -17
  227. package/fesm2015/radio.mjs.map +1 -1
  228. package/fesm2015/select/testing.mjs.map +1 -1
  229. package/fesm2015/select.mjs +34 -25
  230. package/fesm2015/select.mjs.map +1 -1
  231. package/fesm2015/sidenav/testing.mjs.map +1 -1
  232. package/fesm2015/sidenav.mjs +29 -24
  233. package/fesm2015/sidenav.mjs.map +1 -1
  234. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  235. package/fesm2015/slide-toggle.mjs +15 -15
  236. package/fesm2015/slide-toggle.mjs.map +1 -1
  237. package/fesm2015/slider/testing.mjs.map +1 -1
  238. package/fesm2015/slider.mjs +8 -8
  239. package/fesm2015/slider.mjs.map +1 -1
  240. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  241. package/fesm2015/snack-bar.mjs +35 -29
  242. package/fesm2015/snack-bar.mjs.map +1 -1
  243. package/fesm2015/sort/testing.mjs.map +1 -1
  244. package/fesm2015/sort.mjs +13 -13
  245. package/fesm2015/sort.mjs.map +1 -1
  246. package/fesm2015/stepper/testing.mjs.map +1 -1
  247. package/fesm2015/stepper.mjs +40 -40
  248. package/fesm2015/stepper.mjs.map +1 -1
  249. package/fesm2015/table/testing.mjs.map +1 -1
  250. package/fesm2015/table.mjs +57 -57
  251. package/fesm2015/table.mjs.map +1 -1
  252. package/fesm2015/tabs/testing.mjs.map +1 -1
  253. package/fesm2015/tabs.mjs +90 -82
  254. package/fesm2015/tabs.mjs.map +1 -1
  255. package/fesm2015/toolbar/testing.mjs.map +1 -1
  256. package/fesm2015/toolbar.mjs +10 -10
  257. package/fesm2015/toolbar.mjs.map +1 -1
  258. package/fesm2015/tooltip/testing.mjs.map +1 -1
  259. package/fesm2015/tooltip.mjs +16 -16
  260. package/fesm2015/tooltip.mjs.map +1 -1
  261. package/fesm2015/tree/testing.mjs.map +1 -1
  262. package/fesm2015/tree.mjs +25 -25
  263. package/fesm2015/tree.mjs.map +1 -1
  264. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  265. package/fesm2020/autocomplete.mjs +40 -35
  266. package/fesm2020/autocomplete.mjs.map +1 -1
  267. package/fesm2020/badge/testing.mjs.map +1 -1
  268. package/fesm2020/badge.mjs +7 -7
  269. package/fesm2020/badge.mjs.map +1 -1
  270. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  271. package/fesm2020/bottom-sheet.mjs +17 -12
  272. package/fesm2020/bottom-sheet.mjs.map +1 -1
  273. package/fesm2020/button/testing.mjs.map +1 -1
  274. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  275. package/fesm2020/button-toggle.mjs +11 -11
  276. package/fesm2020/button-toggle.mjs.map +1 -1
  277. package/fesm2020/button.mjs +12 -12
  278. package/fesm2020/button.mjs.map +1 -1
  279. package/fesm2020/card/testing.mjs.map +1 -1
  280. package/fesm2020/card.mjs +46 -46
  281. package/fesm2020/card.mjs.map +1 -1
  282. package/fesm2020/checkbox/testing.mjs.map +1 -1
  283. package/fesm2020/checkbox.mjs +17 -16
  284. package/fesm2020/checkbox.mjs.map +1 -1
  285. package/fesm2020/chips/testing.mjs.map +1 -1
  286. package/fesm2020/chips.mjs +23 -23
  287. package/fesm2020/chips.mjs.map +1 -1
  288. package/fesm2020/core/testing.mjs.map +1 -1
  289. package/fesm2020/core.mjs +61 -61
  290. package/fesm2020/core.mjs.map +1 -1
  291. package/fesm2020/datepicker/testing.mjs.map +1 -1
  292. package/fesm2020/datepicker.mjs +116 -93
  293. package/fesm2020/datepicker.mjs.map +1 -1
  294. package/fesm2020/dialog/testing.mjs.map +1 -1
  295. package/fesm2020/dialog.mjs +35 -30
  296. package/fesm2020/dialog.mjs.map +1 -1
  297. package/fesm2020/divider/testing.mjs.map +1 -1
  298. package/fesm2020/divider.mjs +7 -7
  299. package/fesm2020/divider.mjs.map +1 -1
  300. package/fesm2020/expansion/testing.mjs.map +1 -1
  301. package/fesm2020/expansion.mjs +25 -25
  302. package/fesm2020/expansion.mjs.map +1 -1
  303. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  304. package/fesm2020/form-field/testing.mjs.map +1 -1
  305. package/fesm2020/form-field.mjs +29 -29
  306. package/fesm2020/form-field.mjs.map +1 -1
  307. package/fesm2020/grid-list/testing.mjs.map +1 -1
  308. package/fesm2020/grid-list.mjs +22 -22
  309. package/fesm2020/grid-list.mjs.map +1 -1
  310. package/fesm2020/icon/testing.mjs +7 -7
  311. package/fesm2020/icon/testing.mjs.map +1 -1
  312. package/fesm2020/icon.mjs +11 -18
  313. package/fesm2020/icon.mjs.map +1 -1
  314. package/fesm2020/input/testing.mjs.map +1 -1
  315. package/fesm2020/input.mjs +28 -24
  316. package/fesm2020/input.mjs.map +1 -1
  317. package/fesm2020/list/testing.mjs.map +1 -1
  318. package/fesm2020/list.mjs +31 -31
  319. package/fesm2020/list.mjs.map +1 -1
  320. package/fesm2020/material.mjs.map +1 -1
  321. package/fesm2020/menu/testing.mjs.map +1 -1
  322. package/fesm2020/menu.mjs +26 -26
  323. package/fesm2020/menu.mjs.map +1 -1
  324. package/fesm2020/paginator/testing.mjs.map +1 -1
  325. package/fesm2020/paginator.mjs +13 -13
  326. package/fesm2020/paginator.mjs.map +1 -1
  327. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  328. package/fesm2020/progress-bar.mjs +7 -7
  329. package/fesm2020/progress-bar.mjs.map +1 -1
  330. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  331. package/fesm2020/progress-spinner.mjs +7 -7
  332. package/fesm2020/progress-spinner.mjs.map +1 -1
  333. package/fesm2020/radio/testing.mjs.map +1 -1
  334. package/fesm2020/radio.mjs +45 -17
  335. package/fesm2020/radio.mjs.map +1 -1
  336. package/fesm2020/select/testing.mjs.map +1 -1
  337. package/fesm2020/select.mjs +34 -25
  338. package/fesm2020/select.mjs.map +1 -1
  339. package/fesm2020/sidenav/testing.mjs.map +1 -1
  340. package/fesm2020/sidenav.mjs +29 -24
  341. package/fesm2020/sidenav.mjs.map +1 -1
  342. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  343. package/fesm2020/slide-toggle.mjs +15 -15
  344. package/fesm2020/slide-toggle.mjs.map +1 -1
  345. package/fesm2020/slider/testing.mjs.map +1 -1
  346. package/fesm2020/slider.mjs +8 -8
  347. package/fesm2020/slider.mjs.map +1 -1
  348. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  349. package/fesm2020/snack-bar.mjs +35 -29
  350. package/fesm2020/snack-bar.mjs.map +1 -1
  351. package/fesm2020/sort/testing.mjs.map +1 -1
  352. package/fesm2020/sort.mjs +13 -13
  353. package/fesm2020/sort.mjs.map +1 -1
  354. package/fesm2020/stepper/testing.mjs.map +1 -1
  355. package/fesm2020/stepper.mjs +40 -40
  356. package/fesm2020/stepper.mjs.map +1 -1
  357. package/fesm2020/table/testing.mjs.map +1 -1
  358. package/fesm2020/table.mjs +57 -57
  359. package/fesm2020/table.mjs.map +1 -1
  360. package/fesm2020/tabs/testing.mjs.map +1 -1
  361. package/fesm2020/tabs.mjs +89 -82
  362. package/fesm2020/tabs.mjs.map +1 -1
  363. package/fesm2020/toolbar/testing.mjs.map +1 -1
  364. package/fesm2020/toolbar.mjs +10 -10
  365. package/fesm2020/toolbar.mjs.map +1 -1
  366. package/fesm2020/tooltip/testing.mjs.map +1 -1
  367. package/fesm2020/tooltip.mjs +16 -16
  368. package/fesm2020/tooltip.mjs.map +1 -1
  369. package/fesm2020/tree/testing.mjs.map +1 -1
  370. package/fesm2020/tree.mjs +25 -25
  371. package/fesm2020/tree.mjs.map +1 -1
  372. package/input/input.d.ts +1 -0
  373. package/package.json +2 -2
  374. package/prebuilt-themes/deeppurple-amber.css +1 -1
  375. package/prebuilt-themes/indigo-pink.css +1 -1
  376. package/prebuilt-themes/pink-bluegrey.css +1 -1
  377. package/prebuilt-themes/purple-green.css +1 -1
  378. package/radio/radio.d.ts +7 -2
  379. package/schematics/collection.json +4 -2
  380. package/schematics/ng-add/index.js +1 -1
  381. package/schematics/ng-add/index.mjs +1 -1
  382. package/schematics/ng-update/data/index.js +6 -2
  383. package/schematics/ng-update/data/index.mjs +6 -2
  384. package/select/select.d.ts +3 -1
  385. package/tabs/ink-bar.d.ts +0 -5
  386. package/tabs/tab-group.d.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.mjs","sources":["../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/step-header.html","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/step-content.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/step.html","../../../../../../src/material/stepper/stepper.html","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/public-api.ts","../../../../../../src/material/stepper/index.ts","../../../../../../src/material/stepper/stepper_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 {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\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 {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Injectable({providedIn: 'root'})\nexport class MatStepperIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** Label that is rendered below optional steps. */\n optionalLabel: string = 'Optional';\n\n /** Label that is used to indicate step as completed to screen readers. */\n completedLabel: string = 'Completed';\n\n /** Label that is used to indicate step as editable to screen readers. */\n editableLabel: string = 'Editable';\n}\n\n/** @docs-private */\nexport function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: MatStepperIntl) {\n return parentIntl || new MatStepperIntl();\n}\n\n/** @docs-private */\nexport const MAT_STEPPER_INTL_PROVIDER = {\n provide: MatStepperIntl,\n deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],\n useFactory: MAT_STEPPER_INTL_PROVIDER_FACTORY,\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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIntl} from './stepper-intl';\nimport {MatStepperIconContext} from './stepper-icon';\nimport {CdkStepHeader, StepState} from '@angular/cdk/stepper';\nimport {mixinColor, CanColor} from '@angular/material/core';\n\n// Boilerplate for applying mixins to MatStepHeader.\n/** @docs-private */\nconst _MatStepHeaderBase = mixinColor(\n class MatStepHeaderBase extends CdkStepHeader {\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n },\n 'primary',\n);\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrls: ['step-header.css'],\n inputs: ['color'],\n host: {\n 'class': 'mat-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepHeader\n extends _MatStepHeaderBase\n implements AfterViewInit, OnDestroy, CanColor\n{\n private _intlSubscription: Subscription;\n\n /** State of the given step. */\n @Input() state: StepState;\n\n /** Label of the given step. */\n @Input() label: MatStepLabel | string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input() iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>};\n\n /** Index of the given step. */\n @Input() index: number;\n\n /** Whether the given step is selected. */\n @Input() selected: boolean;\n\n /** Whether the given step label is active. */\n @Input() active: boolean;\n\n /** Whether the given step is optional. */\n @Input() optional: boolean;\n\n /** Whether the ripple should be disabled. */\n @Input() disableRipple: boolean;\n\n constructor(\n public _intl: MatStepperIntl,\n private _focusMonitor: FocusMonitor,\n _elementRef: ElementRef<HTMLElement>,\n changeDetectorRef: ChangeDetectorRef,\n ) {\n super(_elementRef);\n this._intlSubscription = _intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n override focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof MatStepLabel ? null : this.label;\n }\n\n /** Returns MatStepLabel if the label of given step is a template label. */\n _templateLabel(): MatStepLabel | null {\n return this.label instanceof MatStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n /** Template context variables that are exposed to the `matStepperIcon` instances. */\n _getIconContext(): MatStepperIconContext {\n return {\n index: this.index,\n active: this.active,\n optional: this.optional,\n };\n }\n\n _getDefaultTextForState(state: StepState): string {\n if (state == 'number') {\n return `${this.index + 1}`;\n }\n if (state == 'edit') {\n return 'create';\n }\n if (state == 'error') {\n return 'warning';\n }\n return state;\n }\n}\n","<div class=\"mat-step-header-ripple mat-focus-indicator\" matRipple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disableRipple\"></div>\n\n<div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\">\n <div class=\"mat-step-icon-content\" [ngSwitch]=\"!!(iconOverrides && iconOverrides[state])\">\n <ng-container\n *ngSwitchCase=\"true\"\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container>\n <ng-container *ngSwitchDefault [ngSwitch]=\"state\">\n <span aria-hidden=\"true\" *ngSwitchCase=\"'number'\">{{_getDefaultTextForState(state)}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'done'\">{{_intl.completedLabel}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'edit'\">{{_intl.editableLabel}}</span>\n <mat-icon aria-hidden=\"true\" *ngSwitchDefault>{{_getDefaultTextForState(state)}}</mat-icon>\n </ng-container>\n </div>\n</div>\n<div class=\"mat-step-label\"\n [class.mat-step-label-active]=\"active\"\n [class.mat-step-label-selected]=\"selected\"\n [class.mat-step-label-error]=\"state == 'error'\">\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_templateLabel()\">\n <ng-container [ngTemplateOutlet]=\"_templateLabel()!.template\"></ng-container>\n </div>\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n\n <div class=\"mat-step-optional\" *ngIf=\"optional && state != 'error'\">{{_intl.optionalLabel}}</div>\n <div class=\"mat-step-sub-label-error\" *ngIf=\"state == 'error'\">{{errorMessage}}</div>\n</div>\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 {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the Material steppers.\n * @docs-private\n */\nexport const matStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('horizontalStepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({transform: 'none', visibility: 'inherit'})),\n state('next', style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'})),\n transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('verticalStepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({height: '*', visibility: 'inherit'})),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\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 {Directive, Input, TemplateRef} from '@angular/core';\nimport {StepState} from '@angular/cdk/stepper';\n\n/** Template context available to an attached `matStepperIcon`. */\nexport interface MatStepperIconContext {\n /** Index of the step. */\n index: number;\n /** Whether the step is currently active. */\n active: boolean;\n /** Whether the step is optional. */\n optional: boolean;\n}\n\n/**\n * Template to be used to override the icons inside the step header.\n */\n@Directive({\n selector: 'ng-template[matStepperIcon]',\n})\nexport class MatStepperIcon {\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(public templateRef: TemplateRef<MatStepperIconContext>) {}\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Content for a `mat-step` that will be rendered lazily.\n */\n@Directive({\n selector: 'ng-template[matStepContent]',\n})\nexport class MatStepContent {\n constructor(public _template: TemplateRef<any>) {}\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 {Directionality} from '@angular/cdk/bidi';\nimport {\n CdkStep,\n CdkStepper,\n StepContentPositionState,\n STEPPER_GLOBAL_OPTIONS,\n StepperOptions,\n} from '@angular/cdk/stepper';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SkipSelf,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {ErrorStateMatcher, ThemePalette} from '@angular/material/core';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Subject, Subscription} from 'rxjs';\nimport {takeUntil, distinctUntilChanged, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {matStepperAnimations} from './stepper-animations';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\n\n@Component({\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [\n {provide: ErrorStateMatcher, useExisting: MatStep},\n {provide: CdkStep, useExisting: MatStep},\n ],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel;\n\n /** Theme color for the particular step. */\n @Input() color: ThemePalette;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatStepContent, {static: false}) _lazyContent: MatStepContent;\n\n /** Currently-attached portal containing the lazy content. */\n _portal: TemplatePortal;\n\n constructor(\n @Inject(forwardRef(() => MatStepper)) stepper: MatStepper,\n @SkipSelf() private _errorStateMatcher: ErrorStateMatcher,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions,\n ) {\n super(stepper, stepperOptions);\n }\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() => {\n return this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n startWith(this._stepper.selected === this),\n );\n }),\n )\n .subscribe(isSelected => {\n if (isSelected && this._lazyContent && !this._portal) {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef!);\n }\n });\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n /** Custom error state matcher that additionally checks for validity of interacted form. */\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\n\n // Custom error state checks for the validity of form that is not submitted or touched\n // since user can trigger a form change by calling for another step without directly\n // interacting with the current form.\n const customErrorState = !!(control && control.invalid && this.interacted);\n\n return originalErrorState || customErrorState;\n }\n}\n\n/**\n * Proxies the public APIs from `MatStepper` to the deprecated `MatHorizontalStepper` and\n * `MatVerticalStepper`.\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n * @docs-private\n */\n@Directive()\nabstract class _MatProxyStepperBase extends CdkStepper {\n override readonly steps: QueryList<MatStep>;\n readonly animationDone: EventEmitter<void>;\n disableRipple: boolean;\n color: ThemePalette;\n labelPosition: 'bottom' | 'end';\n}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-horizontal-stepper'})\nexport class MatHorizontalStepper extends _MatProxyStepperBase {}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-vertical-stepper'})\nexport class MatVerticalStepper extends _MatProxyStepperBase {}\n\n@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrls: ['stepper.css'],\n inputs: ['selectedIndex'],\n host: {\n '[class.mat-stepper-horizontal]': 'orientation === \"horizontal\"',\n '[class.mat-stepper-vertical]': 'orientation === \"vertical\"',\n '[class.mat-stepper-label-position-end]':\n 'orientation === \"horizontal\" && labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]':\n 'orientation === \"horizontal\" && labelPosition == \"bottom\"',\n '[attr.aria-orientation]': 'orientation',\n 'role': 'tablist',\n },\n animations: [\n matStepperAnimations.horizontalStepTransition,\n matStepperAnimations.verticalStepTransition,\n ],\n providers: [\n {provide: CdkStepper, useExisting: MatStepper},\n {provide: MatHorizontalStepper, useExisting: MatStepper},\n {provide: MatVerticalStepper, useExisting: MatStepper},\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n override readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon, {descendants: true}) _icons: QueryList<MatStepperIcon>;\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n /** Whether ripples should be disabled for the step headers. */\n @Input() disableRipple: boolean;\n\n /** Theme color for all of the steps in stepper. */\n @Input() color: ThemePalette;\n\n /**\n * Whether the label should display in bottom or end position.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document: any,\n ) {\n super(dir, changeDetectorRef, elementRef, _document);\n const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\n this.orientation = nodeName === 'mat-vertical-stepper' ? 'vertical' : 'horizontal';\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n this._icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\n\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone\n .pipe(\n // This needs a `distinctUntilChanged` in order to avoid emitting the same event twice due\n // to a bug in animations where the `.done` callback gets invoked twice on some browsers.\n // See https://github.com/angular/angular/issues/24084\n distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n takeUntil(this._destroyed),\n )\n .subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n _stepIsNavigable(index: number, step: MatStep): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<ng-container [ngSwitch]=\"orientation\">\n <!-- Horizontal stepper -->\n <ng-container *ngSwitchCase=\"'horizontal'\">\n <div class=\"mat-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div *ngIf=\"!isLast\" class=\"mat-stepper-horizontal-line\"></div>\n </ng-container>\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n <div *ngFor=\"let step of steps; let i = index\"\n class=\"mat-horizontal-stepper-content\" role=\"tabpanel\"\n [@horizontalStepTransition]=\"_getAnimationDirection(i)\"\n (@horizontalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Vertical stepper -->\n <ng-container *ngSwitchCase=\"'vertical'\">\n <div class=\"mat-step\" *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"mat-vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"mat-vertical-stepper-content\" role=\"tabpanel\"\n [@verticalStepTransition]=\"_getAnimationDirection(i)\"\n (@verticalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n</ng-container>\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n [color]=\"step.color || color\"></mat-step-header>\n</ng-template>\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 {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\nimport {Directive} from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperNext]',\n host: {\n 'class': 'mat-stepper-next',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n 'class': 'mat-stepper-previous',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {}\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 {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {ErrorStateMatcher, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatHorizontalStepper, MatStep, MatStepper, MatVerticalStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MAT_STEPPER_INTL_PROVIDER} from './stepper-intl';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n MatCommonModule,\n CommonModule,\n PortalModule,\n MatButtonModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n ],\n exports: [\n MatCommonModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n declarations: [\n MatHorizontalStepper,\n MatVerticalStepper,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [MAT_STEPPER_INTL_PROVIDER, ErrorStateMatcher],\n})\nexport class MatStepperModule {}\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 {StepperOrientation, StepState} from '@angular/cdk/stepper';\nexport * from './stepper-module';\nexport * from './step-label';\nexport * from './stepper';\nexport * from './stepper-button';\nexport * from './step-header';\nexport * from './stepper-intl';\nexport * from './stepper-animations';\nexport * from './stepper-icon';\nexport * from './step-content';\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":"stepper.mjs","sources":["../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/step-header.html","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/step-content.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/step.html","../../../../../../src/material/stepper/stepper.html","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/public-api.ts","../../../../../../src/material/stepper/index.ts","../../../../../../src/material/stepper/stepper_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 {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\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 {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Injectable({providedIn: 'root'})\nexport class MatStepperIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** Label that is rendered below optional steps. */\n optionalLabel: string = 'Optional';\n\n /** Label that is used to indicate step as completed to screen readers. */\n completedLabel: string = 'Completed';\n\n /** Label that is used to indicate step as editable to screen readers. */\n editableLabel: string = 'Editable';\n}\n\n/** @docs-private */\nexport function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: MatStepperIntl) {\n return parentIntl || new MatStepperIntl();\n}\n\n/** @docs-private */\nexport const MAT_STEPPER_INTL_PROVIDER = {\n provide: MatStepperIntl,\n deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],\n useFactory: MAT_STEPPER_INTL_PROVIDER_FACTORY,\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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIntl} from './stepper-intl';\nimport {MatStepperIconContext} from './stepper-icon';\nimport {CdkStepHeader, StepState} from '@angular/cdk/stepper';\nimport {mixinColor, CanColor} from '@angular/material/core';\n\n// Boilerplate for applying mixins to MatStepHeader.\n/** @docs-private */\nconst _MatStepHeaderBase = mixinColor(\n class MatStepHeaderBase extends CdkStepHeader {\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n },\n 'primary',\n);\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrls: ['step-header.css'],\n inputs: ['color'],\n host: {\n 'class': 'mat-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepHeader\n extends _MatStepHeaderBase\n implements AfterViewInit, OnDestroy, CanColor\n{\n private _intlSubscription: Subscription;\n\n /** State of the given step. */\n @Input() state: StepState;\n\n /** Label of the given step. */\n @Input() label: MatStepLabel | string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input() iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>};\n\n /** Index of the given step. */\n @Input() index: number;\n\n /** Whether the given step is selected. */\n @Input() selected: boolean;\n\n /** Whether the given step label is active. */\n @Input() active: boolean;\n\n /** Whether the given step is optional. */\n @Input() optional: boolean;\n\n /** Whether the ripple should be disabled. */\n @Input() disableRipple: boolean;\n\n constructor(\n public _intl: MatStepperIntl,\n private _focusMonitor: FocusMonitor,\n _elementRef: ElementRef<HTMLElement>,\n changeDetectorRef: ChangeDetectorRef,\n ) {\n super(_elementRef);\n this._intlSubscription = _intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n override focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof MatStepLabel ? null : this.label;\n }\n\n /** Returns MatStepLabel if the label of given step is a template label. */\n _templateLabel(): MatStepLabel | null {\n return this.label instanceof MatStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n /** Template context variables that are exposed to the `matStepperIcon` instances. */\n _getIconContext(): MatStepperIconContext {\n return {\n index: this.index,\n active: this.active,\n optional: this.optional,\n };\n }\n\n _getDefaultTextForState(state: StepState): string {\n if (state == 'number') {\n return `${this.index + 1}`;\n }\n if (state == 'edit') {\n return 'create';\n }\n if (state == 'error') {\n return 'warning';\n }\n return state;\n }\n}\n","<div class=\"mat-step-header-ripple mat-focus-indicator\" matRipple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disableRipple\"></div>\n\n<div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\">\n <div class=\"mat-step-icon-content\" [ngSwitch]=\"!!(iconOverrides && iconOverrides[state])\">\n <ng-container\n *ngSwitchCase=\"true\"\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container>\n <ng-container *ngSwitchDefault [ngSwitch]=\"state\">\n <span aria-hidden=\"true\" *ngSwitchCase=\"'number'\">{{_getDefaultTextForState(state)}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'done'\">{{_intl.completedLabel}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'edit'\">{{_intl.editableLabel}}</span>\n <mat-icon aria-hidden=\"true\" *ngSwitchDefault>{{_getDefaultTextForState(state)}}</mat-icon>\n </ng-container>\n </div>\n</div>\n<div class=\"mat-step-label\"\n [class.mat-step-label-active]=\"active\"\n [class.mat-step-label-selected]=\"selected\"\n [class.mat-step-label-error]=\"state == 'error'\">\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_templateLabel()\">\n <ng-container [ngTemplateOutlet]=\"_templateLabel()!.template\"></ng-container>\n </div>\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n\n <div class=\"mat-step-optional\" *ngIf=\"optional && state != 'error'\">{{_intl.optionalLabel}}</div>\n <div class=\"mat-step-sub-label-error\" *ngIf=\"state == 'error'\">{{errorMessage}}</div>\n</div>\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 {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the Material steppers.\n * @docs-private\n */\nexport const matStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('horizontalStepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({transform: 'none', visibility: 'inherit'})),\n state('next', style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'})),\n transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('verticalStepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({height: '*', visibility: 'inherit'})),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\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 {Directive, Input, TemplateRef} from '@angular/core';\nimport {StepState} from '@angular/cdk/stepper';\n\n/** Template context available to an attached `matStepperIcon`. */\nexport interface MatStepperIconContext {\n /** Index of the step. */\n index: number;\n /** Whether the step is currently active. */\n active: boolean;\n /** Whether the step is optional. */\n optional: boolean;\n}\n\n/**\n * Template to be used to override the icons inside the step header.\n */\n@Directive({\n selector: 'ng-template[matStepperIcon]',\n})\nexport class MatStepperIcon {\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(public templateRef: TemplateRef<MatStepperIconContext>) {}\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Content for a `mat-step` that will be rendered lazily.\n */\n@Directive({\n selector: 'ng-template[matStepContent]',\n})\nexport class MatStepContent {\n constructor(public _template: TemplateRef<any>) {}\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 {Directionality} from '@angular/cdk/bidi';\nimport {\n CdkStep,\n CdkStepper,\n StepContentPositionState,\n STEPPER_GLOBAL_OPTIONS,\n StepperOptions,\n} from '@angular/cdk/stepper';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SkipSelf,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {ErrorStateMatcher, ThemePalette} from '@angular/material/core';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Subject, Subscription} from 'rxjs';\nimport {takeUntil, distinctUntilChanged, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {matStepperAnimations} from './stepper-animations';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\n\n@Component({\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [\n {provide: ErrorStateMatcher, useExisting: MatStep},\n {provide: CdkStep, useExisting: MatStep},\n ],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel;\n\n /** Theme color for the particular step. */\n @Input() color: ThemePalette;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatStepContent, {static: false}) _lazyContent: MatStepContent;\n\n /** Currently-attached portal containing the lazy content. */\n _portal: TemplatePortal;\n\n constructor(\n @Inject(forwardRef(() => MatStepper)) stepper: MatStepper,\n @SkipSelf() private _errorStateMatcher: ErrorStateMatcher,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions,\n ) {\n super(stepper, stepperOptions);\n }\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() => {\n return this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n startWith(this._stepper.selected === this),\n );\n }),\n )\n .subscribe(isSelected => {\n if (isSelected && this._lazyContent && !this._portal) {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef!);\n }\n });\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n /** Custom error state matcher that additionally checks for validity of interacted form. */\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\n\n // Custom error state checks for the validity of form that is not submitted or touched\n // since user can trigger a form change by calling for another step without directly\n // interacting with the current form.\n const customErrorState = !!(control && control.invalid && this.interacted);\n\n return originalErrorState || customErrorState;\n }\n}\n\n/**\n * Proxies the public APIs from `MatStepper` to the deprecated `MatHorizontalStepper` and\n * `MatVerticalStepper`.\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n * @docs-private\n */\n@Directive()\nabstract class _MatProxyStepperBase extends CdkStepper {\n override readonly steps: QueryList<MatStep>;\n readonly animationDone: EventEmitter<void>;\n disableRipple: boolean;\n color: ThemePalette;\n labelPosition: 'bottom' | 'end';\n}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-horizontal-stepper'})\nexport class MatHorizontalStepper extends _MatProxyStepperBase {}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-vertical-stepper'})\nexport class MatVerticalStepper extends _MatProxyStepperBase {}\n\n@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrls: ['stepper.css'],\n inputs: ['selectedIndex'],\n host: {\n '[class.mat-stepper-horizontal]': 'orientation === \"horizontal\"',\n '[class.mat-stepper-vertical]': 'orientation === \"vertical\"',\n '[class.mat-stepper-label-position-end]':\n 'orientation === \"horizontal\" && labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]':\n 'orientation === \"horizontal\" && labelPosition == \"bottom\"',\n '[attr.aria-orientation]': 'orientation',\n 'role': 'tablist',\n },\n animations: [\n matStepperAnimations.horizontalStepTransition,\n matStepperAnimations.verticalStepTransition,\n ],\n providers: [\n {provide: CdkStepper, useExisting: MatStepper},\n {provide: MatHorizontalStepper, useExisting: MatStepper},\n {provide: MatVerticalStepper, useExisting: MatStepper},\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n override readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon, {descendants: true}) _icons: QueryList<MatStepperIcon>;\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n /** Whether ripples should be disabled for the step headers. */\n @Input() disableRipple: boolean;\n\n /** Theme color for all of the steps in stepper. */\n @Input() color: ThemePalette;\n\n /**\n * Whether the label should display in bottom or end position.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document: any,\n ) {\n super(dir, changeDetectorRef, elementRef, _document);\n const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\n this.orientation = nodeName === 'mat-vertical-stepper' ? 'vertical' : 'horizontal';\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n this._icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\n\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone\n .pipe(\n // This needs a `distinctUntilChanged` in order to avoid emitting the same event twice due\n // to a bug in animations where the `.done` callback gets invoked twice on some browsers.\n // See https://github.com/angular/angular/issues/24084\n distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n takeUntil(this._destroyed),\n )\n .subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n _stepIsNavigable(index: number, step: MatStep): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<ng-container [ngSwitch]=\"orientation\">\n <!-- Horizontal stepper -->\n <ng-container *ngSwitchCase=\"'horizontal'\">\n <div class=\"mat-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div *ngIf=\"!isLast\" class=\"mat-stepper-horizontal-line\"></div>\n </ng-container>\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n <div *ngFor=\"let step of steps; let i = index\"\n class=\"mat-horizontal-stepper-content\" role=\"tabpanel\"\n [@horizontalStepTransition]=\"_getAnimationDirection(i)\"\n (@horizontalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Vertical stepper -->\n <ng-container *ngSwitchCase=\"'vertical'\">\n <div class=\"mat-step\" *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"mat-vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"mat-vertical-stepper-content\" role=\"tabpanel\"\n [@verticalStepTransition]=\"_getAnimationDirection(i)\"\n (@verticalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n</ng-container>\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n [color]=\"step.color || color\"></mat-step-header>\n</ng-template>\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 {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\nimport {Directive} from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperNext]',\n host: {\n 'class': 'mat-stepper-next',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n 'class': 'mat-stepper-previous',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {}\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 {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {ErrorStateMatcher, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatHorizontalStepper, MatStep, MatStepper, MatVerticalStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MAT_STEPPER_INTL_PROVIDER} from './stepper-intl';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n MatCommonModule,\n CommonModule,\n PortalModule,\n MatButtonModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n ],\n exports: [\n MatCommonModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n declarations: [\n MatHorizontalStepper,\n MatVerticalStepper,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [MAT_STEPPER_INTL_PROVIDER, ErrorStateMatcher],\n})\nexport class MatStepperModule {}\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 {StepperOrientation, StepState} from '@angular/cdk/stepper';\nexport * from './stepper-module';\nexport * from './step-label';\nexport * from './stepper';\nexport * from './stepper-button';\nexport * from './step-header';\nexport * from './stepper-intl';\nexport * from './stepper-animations';\nexport * from './stepper-icon';\nexport * from './step-content';\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":["i1.MatStepperIntl","i4","i2","i4.MatStepHeader"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;AAMG;AAQG,MAAO,YAAa,SAAQ,YAAY,CAAA;;yGAAjC,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6FAAZ,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;iBAC3B,CAAA;;;ACbD;;;;;;AAMG;AAKH;MAEa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAkB,IAAI,OAAO,EAAQ,CAAC;;AAGtD,QAAA,IAAa,CAAA,aAAA,GAAW,UAAU,CAAC;;AAGnC,QAAA,IAAc,CAAA,cAAA,GAAW,WAAW,CAAC;;AAGrC,QAAA,IAAa,CAAA,aAAA,GAAW,UAAU,CAAC;KACpC;;2GAfY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADF,MAAM,EAAA,CAAA,CAAA;2FAClB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;AAkBhC;AACM,SAAU,iCAAiC,CAAC,UAA0B,EAAA;AAC1E,IAAA,OAAO,UAAU,IAAI,IAAI,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED;AACa,MAAA,yBAAyB,GAAG;AACvC,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;AACxD,IAAA,UAAU,EAAE,iCAAiC;;;ACZ/C;AACA;AACA,MAAM,kBAAkB,GAAG,UAAU,CACnC,MAAM,0BAA0B,aAAa,CAAA;AAC3C,IAAA,WAAA,CAAY,UAAsB,EAAA;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;KACnB;CACF,EACD,SAAS,CACV,CAAC;AAcI,MAAO,aACX,SAAQ,kBAAkB,CAAA;AAgC1B,IAAA,WAAA,CACS,KAAqB,EACpB,aAA2B,EACnC,WAAoC,EACpC,iBAAoC,EAAA;QAEpC,KAAK,CAAC,WAAW,CAAC,CAAC;AALZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AACpB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAKnC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;KAC1F;IAED,eAAe,GAAA;QACb,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACpD;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;IAGQ,KAAK,CAAC,MAAoB,EAAE,OAAsB,EAAA;AACzD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/C,SAAA;KACF;;IAGD,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;KAC/D;;IAGD,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KAC/D;;IAGD,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KACvC;;IAGD,eAAe,GAAA;QACb,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;KACH;AAED,IAAA,uBAAuB,CAAC,KAAgB,EAAA;QACtC,IAAI,KAAK,IAAI,QAAQ,EAAE;AACrB,YAAA,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAC5B,SAAA;QACD,IAAI,KAAK,IAAI,MAAM,EAAE;AACnB,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;QACD,IAAI,KAAK,IAAI,OAAO,EAAE;AACpB,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;0GAhGU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,kYClD1B,+wDAiCA,EAAA,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDiBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGnB,MAAA,EAAA,CAAC,OAAO,CAAC,EACX,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,MAAM,EAAE,KAAK;qBACd,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+wDAAA,EAAA,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA,CAAA;sLAStC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;AEjFR;;;;;;AAMG;AAUH;;;AAGG;AACU,MAAA,oBAAoB,GAG7B;;AAEF,IAAA,wBAAwB,EAAE,OAAO,CAAC,0BAA0B,EAAE;AAC5D,QAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,0BAA0B,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;;;;AAIvF,QAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,CAAC;AACnE,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,yBAAyB,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;AAClF,QAAA,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;KACtE,CAAC;;AAGF,IAAA,sBAAsB,EAAE,OAAO,CAAC,wBAAwB,EAAE;AACxD,QAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC/D,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;;;;AAI3D,QAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,CAAC;AAC7D,QAAA,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;KAC7E,CAAC;;;AC5CJ;;;;;;AAMG;AAeH;;AAEG;MAIU,cAAc,CAAA;AAIzB,IAAA,WAAA,CAAmB,WAA+C,EAAA;AAA/C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoC;KAAI;;2GAJ3D,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;iBACxC,CAAA;kGAG0B,IAAI,EAAA,CAAA;sBAA5B,KAAK;uBAAC,gBAAgB,CAAA;;;AC7BzB;;;;;;AAMG;AAIH;;AAEG;MAIU,cAAc,CAAA;AACzB,IAAA,WAAA,CAAmB,SAA2B,EAAA;AAA3B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;KAAI;;2GADvC,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;iBACxC,CAAA;;;ACiDK,MAAO,OAAQ,SAAQ,OAAO,CAAA;AAelC,IAAA,WAAA,CACwC,OAAmB,EACrC,kBAAqC,EACjD,iBAAmC,EACC,cAA+B,EAAA;AAE3E,QAAA,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAJX,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AACjD,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AAjBrC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;KAqBxC;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC3C,aAAA,IAAI,CACH,SAAS,CAAC,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CACvC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAC3C,CAAC;AACJ,SAAC,CAAC,CACH;aACA,SAAS,CAAC,UAAU,IAAG;YACtB,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACpD,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAkB,CAAC,CAAC;AACzF,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;KAChC;;IAGD,YAAY,CAAC,OAA2B,EAAE,IAAwC,EAAA;AAChF,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;;;AAK/E,QAAA,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3E,OAAO,kBAAkB,IAAI,gBAAgB,CAAC;KAC/C;;oGAvDU,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAgBR,UAAU,CAAC,MAAM,UAAU,CAAC,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAGhB,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnBjC,OAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EARP,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAC;AAClD,QAAA,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC;KACzC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EASa,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMZ,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1E9B,2HAIA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FD4Da,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAET,SAAA,EAAA;AACT,wBAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,SAAS,EAAC;AAClD,wBAAA,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAS,EAAC;qBACzC,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,SAAS,EACF,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2HAAA,EAAA,CAAA;;wBAkBE,UAAU,EAAA,UAAA,EAAA,CAAA;8BAAxD,MAAM;wBAAC,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,UAAU,CAAC,CAAA;;8BACnC,QAAQ;;8BAER,QAAQ;;8BAAI,MAAM;+BAAC,sBAAsB,CAAA;;yBAfP,SAAS,EAAA,CAAA;sBAA7C,YAAY;uBAAC,YAAY,CAAA;gBAGjB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGyC,YAAY,EAAA,CAAA;sBAA1D,YAAY;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;AAgD/C;;;;;;AAMG;AACH,MACe,6BAA6B,UAAU,CAAA;;iHAAvC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADlC,SAAS;;AASV;;;AAGG;AAEG,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;;iHAAjD,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAC,QAAQ,EAAE,wBAAwB,EAAC,CAAA;;AAG/C;;;AAGG;AAEG,MAAO,kBAAmB,SAAQ,oBAAoB,CAAA;;+GAA/C,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,SAAS;mBAAC,EAAC,QAAQ,EAAE,sBAAsB,EAAC,CAAA;;AA+BvC,MAAO,UAAW,SAAQ,UAAU,CAAA;AAmCxC,IAAA,WAAA,CACc,GAAmB,EAC/B,iBAAoC,EACpC,UAAmC,EACjB,SAAc,EAAA;QAEhC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;;AAjCrC,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,SAAS,EAAW,CAAC;;AAMpD,QAAA,IAAA,CAAA,aAAa,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAQhF;;;AAGG;AAEH,QAAA,IAAa,CAAA,aAAA,GAAqB,KAAK,CAAC;;AAGxC,QAAA,IAAc,CAAA,cAAA,GAAuD,EAAE,CAAC;;AAG/D,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAkB,CAAC;QAStD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,KAAK,sBAAsB,GAAG,UAAU,GAAG,YAAY,CAAC;KACpF;IAEQ,kBAAkB,GAAA;QACzB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;;AAGxF,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,cAAc;aAChB,IAAI;;;;AAIH,QAAA,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EACtF,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;aACA,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,IAAK,KAAK,CAAC,OAAoC,KAAK,SAAS,EAAE;AAC7D,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC3B,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,gBAAgB,CAAC,KAAa,EAAE,IAAa,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;KACvE;;AAxEU,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,6HAuCX,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvCP,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EARV,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,gCAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,sCAAA,EAAA,4DAAA,EAAA,yCAAA,EAAA,+DAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAC;AAC9C,QAAA,EAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAC;AACxD,QAAA,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAC;KACvD,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EASgB,OAAO,EAMP,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,cAAc,gFATjB,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,EAAA,oBAAA,EAAA,sBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EEtL7B,m2GA2EA,EF6Fc,MAAA,EAAA,CAAA,4tGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,cAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,oBAAoB,CAAC,wBAAwB;AAC7C,QAAA,oBAAoB,CAAC,sBAAsB;AAC5C,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FASU,UAAU,EAAA,UAAA,EAAA,CAAA;kBA5BtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yEAAyE,YACzE,sDAAsD,EAAA,MAAA,EAGxD,CAAC,eAAe,CAAC,EACnB,IAAA,EAAA;AACJ,wBAAA,gCAAgC,EAAE,8BAA8B;AAChE,wBAAA,8BAA8B,EAAE,4BAA4B;AAC5D,wBAAA,wCAAwC,EACtC,wDAAwD;AAC1D,wBAAA,2CAA2C,EACzC,2DAA2D;AAC7D,wBAAA,yBAAyB,EAAE,aAAa;AACxC,wBAAA,MAAM,EAAE,SAAS;AAClB,qBAAA,EACW,UAAA,EAAA;AACV,wBAAA,oBAAoB,CAAC,wBAAwB;AAC7C,wBAAA,oBAAoB,CAAC,sBAAsB;AAC5C,qBAAA,EACU,SAAA,EAAA;AACT,wBAAA,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,YAAY,EAAC;AAC9C,wBAAA,EAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,YAAY,EAAC;AACxD,wBAAA,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,YAAY,EAAC;qBACvD,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,m2GAAA,EAAA,MAAA,EAAA,CAAA,4tGAAA,CAAA,EAAA,CAAA;;;8BAsC5C,QAAQ;;8BAGR,MAAM;+BAAC,QAAQ,CAAA;;yBArCoB,WAAW,EAAA,CAAA;sBAAhD,YAAY;uBAAC,aAAa,CAAA;gBAG6B,MAAM,EAAA,CAAA;sBAA7D,eAAe;gBAAC,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAMS,MAAM,EAAA,CAAA;sBAA3D,eAAe;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAGjC,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBAGE,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAON,aAAa,EAAA,CAAA;sBADZ,KAAK;;;AG9MR;;;;;;AAMG;AAKH;AASM,MAAO,cAAe,SAAQ,cAAc,CAAA;;2GAArC,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC3B,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC;iBACjB,CAAA;;AAGD;AASM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;;+GAA7C,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,sBAAsB;AAC/B,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC;iBACjB,CAAA;;;AC9BD;;;;;;AAMG;MAoDU,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAbzB,oBAAoB;QACpB,kBAAkB;QAClB,OAAO;QACP,YAAY;QACZ,UAAU;QACV,cAAc;QACd,kBAAkB;QAClB,aAAa;QACb,cAAc;AACd,QAAA,cAAc,aA7Bd,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,aAAa;AACb,QAAA,eAAe,aAGf,eAAe;QACf,OAAO;QACP,YAAY;QACZ,UAAU;QACV,cAAc;QACd,kBAAkB;QAClB,aAAa;QACb,cAAc;QACd,cAAc,CAAA,EAAA,CAAA,CAAA;AAgBL,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,aAFhB,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,EAhChD,OAAA,EAAA,CAAA;YACP,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,eAAe;AAChB,SAAA,EAEC,eAAe,CAAA,EAAA,CAAA,CAAA;2FAwBN,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnC5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,YAAY;wBACZ,YAAY;wBACZ,eAAe;wBACf,gBAAgB;wBAChB,aAAa;wBACb,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,OAAO;wBACP,YAAY;wBACZ,UAAU;wBACV,cAAc;wBACd,kBAAkB;wBAClB,aAAa;wBACb,cAAc;wBACd,cAAc;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,kBAAkB;wBAClB,OAAO;wBACP,YAAY;wBACZ,UAAU;wBACV,cAAc;wBACd,kBAAkB;wBAClB,aAAa;wBACb,cAAc;wBACd,cAAc;AACf,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;iBAC1D,CAAA;;;ACzDD;;;;;;AAMG;;ACNH;;;;;;AAMG;;ACNH;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/table/testing/cell-harness.ts","../../../../../../../src/material/table/testing/row-harness.ts","../../../../../../../src/material/table/testing/table-harness.ts","../../../../../../../src/material/table/testing/public-api.ts","../../../../../../../src/material/table/testing/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 HarnessPredicate,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n} from '@angular/cdk/testing';\nimport {CellHarnessFilters} from './table-harness-filters';\n\n/** Harness for interacting with a standard Angular Material table cell. */\nexport class MatCellHarness extends ContentContainerComponentHarness {\n /** The selector for the host element of a `MatCellHarness` instance. */\n static hostSelector = '.mat-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table cell 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: CellHarnessFilters = {}): HarnessPredicate<MatCellHarness> {\n return MatCellHarness._getCellPredicate(MatCellHarness, options);\n }\n\n /** Gets the cell's text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the name of the column that the cell belongs to. */\n async getColumnName(): Promise<string> {\n const host = await this.host();\n const classAttribute = await host.getAttribute('class');\n\n if (classAttribute) {\n const prefix = 'mat-column-';\n const name = classAttribute\n .split(' ')\n .map(c => c.trim())\n .find(c => c.startsWith(prefix));\n\n if (name) {\n return name.split(prefix)[1];\n }\n }\n\n throw Error('Could not determine column name of cell.');\n }\n\n protected static _getCellPredicate<T extends MatCellHarness>(\n type: ComponentHarnessConstructor<T>,\n options: CellHarnessFilters,\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('columnName', options.columnName, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getColumnName(), name),\n );\n }\n}\n\n/** Harness for interacting with a standard Angular Material table header cell. */\nexport class MatHeaderCellHarness extends MatCellHarness {\n /** The selector for the host element of a `MatHeaderCellHarness` instance. */\n static override hostSelector = '.mat-header-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatHeaderCellHarness> {\n return MatHeaderCellHarness._getCellPredicate(MatHeaderCellHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table footer cell. */\nexport class MatFooterCellHarness extends MatCellHarness {\n /** The selector for the host element of a `MatFooterCellHarness` instance. */\n static override hostSelector = '.mat-footer-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatFooterCellHarness> {\n return MatFooterCellHarness._getCellPredicate(MatFooterCellHarness, options);\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 {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {RowHarnessFilters, CellHarnessFilters} from './table-harness-filters';\nimport {MatCellHarness, MatHeaderCellHarness, MatFooterCellHarness} from './cell-harness';\n\n/** Text extracted from a table row organized by columns. */\nexport interface MatRowHarnessColumnsText {\n [columnName: string]: string;\n}\n\nexport abstract class _MatRowHarnessBase<\n CellType extends ComponentHarnessConstructor<Cell> & {\n with: (options?: CellHarnessFilters) => HarnessPredicate<Cell>;\n },\n Cell extends ComponentHarness & {getText(): Promise<string>; getColumnName(): Promise<string>},\n> extends ComponentHarness {\n protected abstract _cellHarness: CellType;\n\n /** Gets a list of `MatCellHarness` for all cells in the row. */\n async getCells(filter: CellHarnessFilters = {}): Promise<Cell[]> {\n return this.locatorForAll(this._cellHarness.with(filter))();\n }\n\n /** Gets the text of the cells in the row. */\n async getCellTextByIndex(filter: CellHarnessFilters = {}): Promise<string[]> {\n const cells = await this.getCells(filter);\n return parallel(() => cells.map(cell => cell.getText()));\n }\n\n /** Gets the text inside the row organized by columns. */\n async getCellTextByColumnName(): Promise<MatRowHarnessColumnsText> {\n const output: MatRowHarnessColumnsText = {};\n const cells = await this.getCells();\n const cellsData = await parallel(() =>\n cells.map(cell => {\n return parallel(() => [cell.getColumnName(), cell.getText()]);\n }),\n );\n cellsData.forEach(([columnName, text]) => (output[columnName] = text));\n return output;\n }\n}\n\n/** Harness for interacting with a standard Angular Material table row. */\nexport class MatRowHarness extends _MatRowHarnessBase<typeof MatCellHarness, MatCellHarness> {\n /** The selector for the host element of a `MatRowHarness` instance. */\n static hostSelector = '.mat-row';\n protected _cellHarness = MatCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table row 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: RowHarnessFilters = {}): HarnessPredicate<MatRowHarness> {\n return new HarnessPredicate(MatRowHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table header row. */\nexport class MatHeaderRowHarness extends _MatRowHarnessBase<\n typeof MatHeaderCellHarness,\n MatHeaderCellHarness\n> {\n /** The selector for the host element of a `MatHeaderRowHarness` instance. */\n static hostSelector = '.mat-header-row';\n protected _cellHarness = MatHeaderCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header row 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: RowHarnessFilters = {}): HarnessPredicate<MatHeaderRowHarness> {\n return new HarnessPredicate(MatHeaderRowHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table footer row. */\nexport class MatFooterRowHarness extends _MatRowHarnessBase<\n typeof MatFooterCellHarness,\n MatFooterCellHarness\n> {\n /** The selector for the host element of a `MatFooterRowHarness` instance. */\n static hostSelector = '.mat-footer-row';\n protected _cellHarness = MatFooterCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer row cell 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: RowHarnessFilters = {}): HarnessPredicate<MatFooterRowHarness> {\n return new HarnessPredicate(MatFooterRowHarness, options);\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 {\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {TableHarnessFilters, RowHarnessFilters} from './table-harness-filters';\nimport {\n MatRowHarness,\n MatHeaderRowHarness,\n MatFooterRowHarness,\n MatRowHarnessColumnsText,\n} from './row-harness';\n\n/** Text extracted from a table organized by columns. */\nexport interface MatTableHarnessColumnsText {\n [columnName: string]: {\n text: string[];\n headerText: string[];\n footerText: string[];\n };\n}\n\ninterface RowBase extends ComponentHarness {\n getCellTextByColumnName(): Promise<MatRowHarnessColumnsText>;\n getCellTextByIndex(): Promise<string[]>;\n}\n\nexport abstract class _MatTableHarnessBase<\n HeaderRowType extends ComponentHarnessConstructor<HeaderRow> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<HeaderRow>;\n },\n HeaderRow extends RowBase,\n RowType extends ComponentHarnessConstructor<Row> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<Row>;\n },\n Row extends RowBase,\n FooterRowType extends ComponentHarnessConstructor<FooterRow> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<FooterRow>;\n },\n FooterRow extends RowBase,\n> extends ContentContainerComponentHarness<string> {\n protected abstract _headerRowHarness: HeaderRowType;\n protected abstract _rowHarness: RowType;\n protected abstract _footerRowHarness: FooterRowType;\n\n /** Gets all of the header rows in a table. */\n async getHeaderRows(filter: RowHarnessFilters = {}): Promise<HeaderRow[]> {\n return this.locatorForAll(this._headerRowHarness.with(filter))();\n }\n\n /** Gets all of the regular data rows in a table. */\n async getRows(filter: RowHarnessFilters = {}): Promise<Row[]> {\n return this.locatorForAll(this._rowHarness.with(filter))();\n }\n\n /** Gets all of the footer rows in a table. */\n async getFooterRows(filter: RowHarnessFilters = {}): Promise<FooterRow[]> {\n return this.locatorForAll(this._footerRowHarness.with(filter))();\n }\n\n /** Gets the text inside the entire table organized by rows. */\n async getCellTextByIndex(): Promise<string[][]> {\n const rows = await this.getRows();\n return parallel(() => rows.map(row => row.getCellTextByIndex()));\n }\n\n /** Gets the text inside the entire table organized by columns. */\n async getCellTextByColumnName(): Promise<MatTableHarnessColumnsText> {\n const [headerRows, footerRows, dataRows] = await parallel(() => [\n this.getHeaderRows(),\n this.getFooterRows(),\n this.getRows(),\n ]);\n\n const text: MatTableHarnessColumnsText = {};\n const [headerData, footerData, rowsData] = await parallel(() => [\n parallel(() => headerRows.map(row => row.getCellTextByColumnName())),\n parallel(() => footerRows.map(row => row.getCellTextByColumnName())),\n parallel(() => dataRows.map(row => row.getCellTextByColumnName())),\n ]);\n\n rowsData.forEach(data => {\n Object.keys(data).forEach(columnName => {\n const cellText = data[columnName];\n\n if (!text[columnName]) {\n text[columnName] = {\n headerText: getCellTextsByColumn(headerData, columnName),\n footerText: getCellTextsByColumn(footerData, columnName),\n text: [],\n };\n }\n\n text[columnName].text.push(cellText);\n });\n });\n\n return text;\n }\n}\n\n/** Harness for interacting with a standard mat-table in tests. */\nexport class MatTableHarness extends _MatTableHarnessBase<\n typeof MatHeaderRowHarness,\n MatHeaderRowHarness,\n typeof MatRowHarness,\n MatRowHarness,\n typeof MatFooterRowHarness,\n MatFooterRowHarness\n> {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-table';\n protected _headerRowHarness = MatHeaderRowHarness;\n protected _rowHarness = MatRowHarness;\n protected _footerRowHarness = MatFooterRowHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table 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: TableHarnessFilters = {}): HarnessPredicate<MatTableHarness> {\n return new HarnessPredicate(MatTableHarness, options);\n }\n}\n\n/** Extracts the text of cells only under a particular column. */\nfunction getCellTextsByColumn(rowsData: MatRowHarnessColumnsText[], column: string): string[] {\n const columnTexts: string[] = [];\n\n rowsData.forEach(data => {\n Object.keys(data).forEach(columnName => {\n if (columnName === column) {\n columnTexts.push(data[columnName]);\n }\n });\n });\n\n return columnTexts;\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 './table-harness';\nexport * from './row-harness';\nexport * from './cell-harness';\nexport * from './table-harness-filters';\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/table/testing/cell-harness.ts","../../../../../../../src/material/table/testing/row-harness.ts","../../../../../../../src/material/table/testing/table-harness.ts","../../../../../../../src/material/table/testing/public-api.ts","../../../../../../../src/material/table/testing/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 HarnessPredicate,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n} from '@angular/cdk/testing';\nimport {CellHarnessFilters} from './table-harness-filters';\n\n/** Harness for interacting with a standard Angular Material table cell. */\nexport class MatCellHarness extends ContentContainerComponentHarness {\n /** The selector for the host element of a `MatCellHarness` instance. */\n static hostSelector = '.mat-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table cell 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: CellHarnessFilters = {}): HarnessPredicate<MatCellHarness> {\n return MatCellHarness._getCellPredicate(MatCellHarness, options);\n }\n\n /** Gets the cell's text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the name of the column that the cell belongs to. */\n async getColumnName(): Promise<string> {\n const host = await this.host();\n const classAttribute = await host.getAttribute('class');\n\n if (classAttribute) {\n const prefix = 'mat-column-';\n const name = classAttribute\n .split(' ')\n .map(c => c.trim())\n .find(c => c.startsWith(prefix));\n\n if (name) {\n return name.split(prefix)[1];\n }\n }\n\n throw Error('Could not determine column name of cell.');\n }\n\n protected static _getCellPredicate<T extends MatCellHarness>(\n type: ComponentHarnessConstructor<T>,\n options: CellHarnessFilters,\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('columnName', options.columnName, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getColumnName(), name),\n );\n }\n}\n\n/** Harness for interacting with a standard Angular Material table header cell. */\nexport class MatHeaderCellHarness extends MatCellHarness {\n /** The selector for the host element of a `MatHeaderCellHarness` instance. */\n static override hostSelector = '.mat-header-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatHeaderCellHarness> {\n return MatHeaderCellHarness._getCellPredicate(MatHeaderCellHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table footer cell. */\nexport class MatFooterCellHarness extends MatCellHarness {\n /** The selector for the host element of a `MatFooterCellHarness` instance. */\n static override hostSelector = '.mat-footer-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatFooterCellHarness> {\n return MatFooterCellHarness._getCellPredicate(MatFooterCellHarness, options);\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 {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {RowHarnessFilters, CellHarnessFilters} from './table-harness-filters';\nimport {MatCellHarness, MatHeaderCellHarness, MatFooterCellHarness} from './cell-harness';\n\n/** Text extracted from a table row organized by columns. */\nexport interface MatRowHarnessColumnsText {\n [columnName: string]: string;\n}\n\nexport abstract class _MatRowHarnessBase<\n CellType extends ComponentHarnessConstructor<Cell> & {\n with: (options?: CellHarnessFilters) => HarnessPredicate<Cell>;\n },\n Cell extends ComponentHarness & {getText(): Promise<string>; getColumnName(): Promise<string>},\n> extends ComponentHarness {\n protected abstract _cellHarness: CellType;\n\n /** Gets a list of `MatCellHarness` for all cells in the row. */\n async getCells(filter: CellHarnessFilters = {}): Promise<Cell[]> {\n return this.locatorForAll(this._cellHarness.with(filter))();\n }\n\n /** Gets the text of the cells in the row. */\n async getCellTextByIndex(filter: CellHarnessFilters = {}): Promise<string[]> {\n const cells = await this.getCells(filter);\n return parallel(() => cells.map(cell => cell.getText()));\n }\n\n /** Gets the text inside the row organized by columns. */\n async getCellTextByColumnName(): Promise<MatRowHarnessColumnsText> {\n const output: MatRowHarnessColumnsText = {};\n const cells = await this.getCells();\n const cellsData = await parallel(() =>\n cells.map(cell => {\n return parallel(() => [cell.getColumnName(), cell.getText()]);\n }),\n );\n cellsData.forEach(([columnName, text]) => (output[columnName] = text));\n return output;\n }\n}\n\n/** Harness for interacting with a standard Angular Material table row. */\nexport class MatRowHarness extends _MatRowHarnessBase<typeof MatCellHarness, MatCellHarness> {\n /** The selector for the host element of a `MatRowHarness` instance. */\n static hostSelector = '.mat-row';\n protected _cellHarness = MatCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table row 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: RowHarnessFilters = {}): HarnessPredicate<MatRowHarness> {\n return new HarnessPredicate(MatRowHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table header row. */\nexport class MatHeaderRowHarness extends _MatRowHarnessBase<\n typeof MatHeaderCellHarness,\n MatHeaderCellHarness\n> {\n /** The selector for the host element of a `MatHeaderRowHarness` instance. */\n static hostSelector = '.mat-header-row';\n protected _cellHarness = MatHeaderCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header row 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: RowHarnessFilters = {}): HarnessPredicate<MatHeaderRowHarness> {\n return new HarnessPredicate(MatHeaderRowHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Angular Material table footer row. */\nexport class MatFooterRowHarness extends _MatRowHarnessBase<\n typeof MatFooterCellHarness,\n MatFooterCellHarness\n> {\n /** The selector for the host element of a `MatFooterRowHarness` instance. */\n static hostSelector = '.mat-footer-row';\n protected _cellHarness = MatFooterCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer row cell 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: RowHarnessFilters = {}): HarnessPredicate<MatFooterRowHarness> {\n return new HarnessPredicate(MatFooterRowHarness, options);\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 {\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {TableHarnessFilters, RowHarnessFilters} from './table-harness-filters';\nimport {\n MatRowHarness,\n MatHeaderRowHarness,\n MatFooterRowHarness,\n MatRowHarnessColumnsText,\n} from './row-harness';\n\n/** Text extracted from a table organized by columns. */\nexport interface MatTableHarnessColumnsText {\n [columnName: string]: {\n text: string[];\n headerText: string[];\n footerText: string[];\n };\n}\n\ninterface RowBase extends ComponentHarness {\n getCellTextByColumnName(): Promise<MatRowHarnessColumnsText>;\n getCellTextByIndex(): Promise<string[]>;\n}\n\nexport abstract class _MatTableHarnessBase<\n HeaderRowType extends ComponentHarnessConstructor<HeaderRow> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<HeaderRow>;\n },\n HeaderRow extends RowBase,\n RowType extends ComponentHarnessConstructor<Row> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<Row>;\n },\n Row extends RowBase,\n FooterRowType extends ComponentHarnessConstructor<FooterRow> & {\n with: (options?: RowHarnessFilters) => HarnessPredicate<FooterRow>;\n },\n FooterRow extends RowBase,\n> extends ContentContainerComponentHarness<string> {\n protected abstract _headerRowHarness: HeaderRowType;\n protected abstract _rowHarness: RowType;\n protected abstract _footerRowHarness: FooterRowType;\n\n /** Gets all of the header rows in a table. */\n async getHeaderRows(filter: RowHarnessFilters = {}): Promise<HeaderRow[]> {\n return this.locatorForAll(this._headerRowHarness.with(filter))();\n }\n\n /** Gets all of the regular data rows in a table. */\n async getRows(filter: RowHarnessFilters = {}): Promise<Row[]> {\n return this.locatorForAll(this._rowHarness.with(filter))();\n }\n\n /** Gets all of the footer rows in a table. */\n async getFooterRows(filter: RowHarnessFilters = {}): Promise<FooterRow[]> {\n return this.locatorForAll(this._footerRowHarness.with(filter))();\n }\n\n /** Gets the text inside the entire table organized by rows. */\n async getCellTextByIndex(): Promise<string[][]> {\n const rows = await this.getRows();\n return parallel(() => rows.map(row => row.getCellTextByIndex()));\n }\n\n /** Gets the text inside the entire table organized by columns. */\n async getCellTextByColumnName(): Promise<MatTableHarnessColumnsText> {\n const [headerRows, footerRows, dataRows] = await parallel(() => [\n this.getHeaderRows(),\n this.getFooterRows(),\n this.getRows(),\n ]);\n\n const text: MatTableHarnessColumnsText = {};\n const [headerData, footerData, rowsData] = await parallel(() => [\n parallel(() => headerRows.map(row => row.getCellTextByColumnName())),\n parallel(() => footerRows.map(row => row.getCellTextByColumnName())),\n parallel(() => dataRows.map(row => row.getCellTextByColumnName())),\n ]);\n\n rowsData.forEach(data => {\n Object.keys(data).forEach(columnName => {\n const cellText = data[columnName];\n\n if (!text[columnName]) {\n text[columnName] = {\n headerText: getCellTextsByColumn(headerData, columnName),\n footerText: getCellTextsByColumn(footerData, columnName),\n text: [],\n };\n }\n\n text[columnName].text.push(cellText);\n });\n });\n\n return text;\n }\n}\n\n/** Harness for interacting with a standard mat-table in tests. */\nexport class MatTableHarness extends _MatTableHarnessBase<\n typeof MatHeaderRowHarness,\n MatHeaderRowHarness,\n typeof MatRowHarness,\n MatRowHarness,\n typeof MatFooterRowHarness,\n MatFooterRowHarness\n> {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-table';\n protected _headerRowHarness = MatHeaderRowHarness;\n protected _rowHarness = MatRowHarness;\n protected _footerRowHarness = MatFooterRowHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table 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: TableHarnessFilters = {}): HarnessPredicate<MatTableHarness> {\n return new HarnessPredicate(MatTableHarness, options);\n }\n}\n\n/** Extracts the text of cells only under a particular column. */\nfunction getCellTextsByColumn(rowsData: MatRowHarnessColumnsText[], column: string): string[] {\n const columnTexts: string[] = [];\n\n rowsData.forEach(data => {\n Object.keys(data).forEach(columnName => {\n if (columnName === column) {\n columnTexts.push(data[columnName]);\n }\n });\n });\n\n return columnTexts;\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 './table-harness';\nexport * from './row-harness';\nexport * from './cell-harness';\nexport * from './table-harness-filters';\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"],"names":[],"mappings":"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"}