@angular/material-experimental 14.2.0-rc.0 → 15.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/_index.scss +0 -69
  2. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  3. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  4. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
  5. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
  6. package/esm2020/column-resize/column-resize-module.mjs +12 -12
  7. package/esm2020/column-resize/overlay-handle.mjs +3 -3
  8. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +3 -3
  9. package/esm2020/column-resize/resizable-directives/resizable.mjs +3 -3
  10. package/esm2020/column-resize/resize-strategy.mjs +3 -3
  11. package/esm2020/menubar/menubar-item.mjs +3 -3
  12. package/esm2020/menubar/menubar-module.mjs +4 -4
  13. package/esm2020/menubar/menubar.mjs +3 -3
  14. package/esm2020/popover-edit/lens-directives.mjs +9 -9
  15. package/esm2020/popover-edit/popover-edit-module.mjs +4 -4
  16. package/esm2020/popover-edit/table-directives.mjs +12 -12
  17. package/esm2020/selection/row-selection.mjs +3 -3
  18. package/esm2020/selection/select-all.mjs +3 -3
  19. package/esm2020/selection/selection-column.mjs +12 -12
  20. package/esm2020/selection/selection-module.mjs +8 -8
  21. package/esm2020/selection/selection-toggle.mjs +3 -3
  22. package/esm2020/selection/selection.mjs +3 -3
  23. package/esm2020/version.mjs +1 -1
  24. package/fesm2015/column-resize.mjs +36 -36
  25. package/fesm2015/material-experimental.mjs +1 -1
  26. package/fesm2015/material-experimental.mjs.map +1 -1
  27. package/fesm2015/menubar.mjs +10 -10
  28. package/fesm2015/popover-edit.mjs +25 -25
  29. package/fesm2015/selection.mjs +29 -29
  30. package/fesm2015/selection.mjs.map +1 -1
  31. package/fesm2020/column-resize.mjs +36 -36
  32. package/fesm2020/material-experimental.mjs +1 -1
  33. package/fesm2020/material-experimental.mjs.map +1 -1
  34. package/fesm2020/menubar.mjs +10 -10
  35. package/fesm2020/popover-edit.mjs +25 -25
  36. package/fesm2020/selection.mjs +29 -29
  37. package/fesm2020/selection.mjs.map +1 -1
  38. package/package.json +55 -422
  39. package/selection/index.d.ts +4 -4
  40. package/esm2020/mdc-autocomplete/animations.mjs +0 -25
  41. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +0 -26
  42. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +0 -54
  43. package/esm2020/mdc-autocomplete/autocomplete.mjs +0 -35
  44. package/esm2020/mdc-autocomplete/index.mjs +0 -9
  45. package/esm2020/mdc-autocomplete/mdc-autocomplete_public_index.mjs +0 -5
  46. package/esm2020/mdc-autocomplete/module.mjs +0 -46
  47. package/esm2020/mdc-autocomplete/public-api.mjs +0 -14
  48. package/esm2020/mdc-autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  49. package/esm2020/mdc-autocomplete/testing/autocomplete-harness.mjs +0 -31
  50. package/esm2020/mdc-autocomplete/testing/index.mjs +0 -9
  51. package/esm2020/mdc-autocomplete/testing/public-api.mjs +0 -10
  52. package/esm2020/mdc-button/button-base.mjs +0 -152
  53. package/esm2020/mdc-button/button.mjs +0 -69
  54. package/esm2020/mdc-button/fab.mjs +0 -175
  55. package/esm2020/mdc-button/icon-button.mjs +0 -57
  56. package/esm2020/mdc-button/index.mjs +0 -9
  57. package/esm2020/mdc-button/mdc-button_public_index.mjs +0 -5
  58. package/esm2020/mdc-button/module.mjs +0 -61
  59. package/esm2020/mdc-button/public-api.mjs +0 -12
  60. package/esm2020/mdc-button/testing/button-harness.mjs +0 -50
  61. package/esm2020/mdc-button/testing/index.mjs +0 -9
  62. package/esm2020/mdc-button/testing/public-api.mjs +0 -9
  63. package/esm2020/mdc-card/card.mjs +0 -261
  64. package/esm2020/mdc-card/index.mjs +0 -9
  65. package/esm2020/mdc-card/mdc-card_public_index.mjs +0 -5
  66. package/esm2020/mdc-card/module.mjs +0 -68
  67. package/esm2020/mdc-card/public-api.mjs +0 -10
  68. package/esm2020/mdc-card/testing/card-harness-filters.mjs +0 -9
  69. package/esm2020/mdc-card/testing/card-harness.mjs +0 -42
  70. package/esm2020/mdc-card/testing/index.mjs +0 -9
  71. package/esm2020/mdc-card/testing/public-api.mjs +0 -10
  72. package/esm2020/mdc-checkbox/checkbox.mjs +0 -93
  73. package/esm2020/mdc-checkbox/index.mjs +0 -9
  74. package/esm2020/mdc-checkbox/mdc-checkbox_public_index.mjs +0 -5
  75. package/esm2020/mdc-checkbox/module.mjs +0 -26
  76. package/esm2020/mdc-checkbox/public-api.mjs +0 -11
  77. package/esm2020/mdc-checkbox/testing/checkbox-harness.mjs +0 -41
  78. package/esm2020/mdc-checkbox/testing/index.mjs +0 -9
  79. package/esm2020/mdc-checkbox/testing/public-api.mjs +0 -9
  80. package/esm2020/mdc-chips/chip-action.mjs +0 -90
  81. package/esm2020/mdc-chips/chip-edit-input.mjs +0 -60
  82. package/esm2020/mdc-chips/chip-grid.mjs +0 -407
  83. package/esm2020/mdc-chips/chip-icons.mjs +0 -110
  84. package/esm2020/mdc-chips/chip-input.mjs +0 -212
  85. package/esm2020/mdc-chips/chip-listbox.mjs +0 -332
  86. package/esm2020/mdc-chips/chip-option.mjs +0 -160
  87. package/esm2020/mdc-chips/chip-row.mjs +0 -176
  88. package/esm2020/mdc-chips/chip-set.mjs +0 -271
  89. package/esm2020/mdc-chips/chip-text-control.mjs +0 -9
  90. package/esm2020/mdc-chips/chip.mjs +0 -287
  91. package/esm2020/mdc-chips/index.mjs +0 -9
  92. package/esm2020/mdc-chips/mdc-chips_public_index.mjs +0 -5
  93. package/esm2020/mdc-chips/module.mjs +0 -87
  94. package/esm2020/mdc-chips/public-api.mjs +0 -20
  95. package/esm2020/mdc-chips/testing/chip-avatar-harness.mjs +0 -22
  96. package/esm2020/mdc-chips/testing/chip-grid-harness.mjs +0 -43
  97. package/esm2020/mdc-chips/testing/chip-harness-filters.mjs +0 -9
  98. package/esm2020/mdc-chips/testing/chip-harness.mjs +0 -58
  99. package/esm2020/mdc-chips/testing/chip-input-harness.mjs +0 -82
  100. package/esm2020/mdc-chips/testing/chip-listbox-harness.mjs +0 -59
  101. package/esm2020/mdc-chips/testing/chip-option-harness.mjs +0 -45
  102. package/esm2020/mdc-chips/testing/chip-remove-harness.mjs +0 -26
  103. package/esm2020/mdc-chips/testing/chip-row-harness.mjs +0 -22
  104. package/esm2020/mdc-chips/testing/chip-set-harness.mjs +0 -26
  105. package/esm2020/mdc-chips/testing/index.mjs +0 -9
  106. package/esm2020/mdc-chips/testing/public-api.mjs +0 -18
  107. package/esm2020/mdc-chips/tokens.mjs +0 -33
  108. package/esm2020/mdc-core/index.mjs +0 -9
  109. package/esm2020/mdc-core/mdc-core_public_index.mjs +0 -5
  110. package/esm2020/mdc-core/option/index.mjs +0 -30
  111. package/esm2020/mdc-core/option/optgroup.mjs +0 -46
  112. package/esm2020/mdc-core/option/option.mjs +0 -52
  113. package/esm2020/mdc-core/public-api.mjs +0 -10
  114. package/esm2020/mdc-core/testing/index.mjs +0 -9
  115. package/esm2020/mdc-core/testing/optgroup-harness-filters.mjs +0 -9
  116. package/esm2020/mdc-core/testing/optgroup-harness.mjs +0 -43
  117. package/esm2020/mdc-core/testing/option-harness-filters.mjs +0 -9
  118. package/esm2020/mdc-core/testing/option-harness.mjs +0 -53
  119. package/esm2020/mdc-core/testing/public-api.mjs +0 -12
  120. package/esm2020/mdc-dialog/dialog-container.mjs +0 -171
  121. package/esm2020/mdc-dialog/dialog-content-directives.mjs +0 -179
  122. package/esm2020/mdc-dialog/dialog-ref.mjs +0 -14
  123. package/esm2020/mdc-dialog/dialog.mjs +0 -82
  124. package/esm2020/mdc-dialog/index.mjs +0 -9
  125. package/esm2020/mdc-dialog/mdc-dialog_public_index.mjs +0 -5
  126. package/esm2020/mdc-dialog/module.mjs +0 -53
  127. package/esm2020/mdc-dialog/public-api.mjs +0 -14
  128. package/esm2020/mdc-dialog/testing/dialog-harness.mjs +0 -29
  129. package/esm2020/mdc-dialog/testing/dialog-opener.mjs +0 -45
  130. package/esm2020/mdc-dialog/testing/index.mjs +0 -9
  131. package/esm2020/mdc-dialog/testing/public-api.mjs +0 -10
  132. package/esm2020/mdc-form-field/directives/error.mjs +0 -47
  133. package/esm2020/mdc-form-field/directives/floating-label.mjs +0 -73
  134. package/esm2020/mdc-form-field/directives/hint.mjs +0 -39
  135. package/esm2020/mdc-form-field/directives/label.mjs +0 -21
  136. package/esm2020/mdc-form-field/directives/line-ripple.mjs +0 -59
  137. package/esm2020/mdc-form-field/directives/notched-outline.mjs +0 -68
  138. package/esm2020/mdc-form-field/directives/prefix.mjs +0 -32
  139. package/esm2020/mdc-form-field/directives/suffix.mjs +0 -32
  140. package/esm2020/mdc-form-field/form-field.mjs +0 -608
  141. package/esm2020/mdc-form-field/index.mjs +0 -9
  142. package/esm2020/mdc-form-field/mdc-form-field_public_index.mjs +0 -5
  143. package/esm2020/mdc-form-field/module.mjs +0 -53
  144. package/esm2020/mdc-form-field/public-api.mjs +0 -16
  145. package/esm2020/mdc-form-field/testing/form-field-harness.mjs +0 -58
  146. package/esm2020/mdc-form-field/testing/index.mjs +0 -9
  147. package/esm2020/mdc-form-field/testing/public-api.mjs +0 -13
  148. package/esm2020/mdc-input/index.mjs +0 -9
  149. package/esm2020/mdc-input/input.mjs +0 -55
  150. package/esm2020/mdc-input/mdc-input_public_index.mjs +0 -5
  151. package/esm2020/mdc-input/module.mjs +0 -27
  152. package/esm2020/mdc-input/public-api.mjs +0 -11
  153. package/esm2020/mdc-input/testing/index.mjs +0 -9
  154. package/esm2020/mdc-input/testing/public-api.mjs +0 -9
  155. package/esm2020/mdc-list/action-list.mjs +0 -31
  156. package/esm2020/mdc-list/index.mjs +0 -9
  157. package/esm2020/mdc-list/list-base.mjs +0 -272
  158. package/esm2020/mdc-list/list-item-sections.mjs +0 -138
  159. package/esm2020/mdc-list/list-option-types.mjs +0 -16
  160. package/esm2020/mdc-list/list-option.mjs +0 -253
  161. package/esm2020/mdc-list/list.mjs +0 -82
  162. package/esm2020/mdc-list/mdc-list_public_index.mjs +0 -5
  163. package/esm2020/mdc-list/module.mjs +0 -98
  164. package/esm2020/mdc-list/nav-list.mjs +0 -31
  165. package/esm2020/mdc-list/public-api.mjs +0 -18
  166. package/esm2020/mdc-list/selection-list.mjs +0 -338
  167. package/esm2020/mdc-list/subheader.mjs +0 -27
  168. package/esm2020/mdc-list/testing/action-list-harness.mjs +0 -59
  169. package/esm2020/mdc-list/testing/index.mjs +0 -9
  170. package/esm2020/mdc-list/testing/list-harness-base.mjs +0 -95
  171. package/esm2020/mdc-list/testing/list-harness-filters.mjs +0 -9
  172. package/esm2020/mdc-list/testing/list-harness.mjs +0 -41
  173. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +0 -150
  174. package/esm2020/mdc-list/testing/nav-list-harness.mjs +0 -69
  175. package/esm2020/mdc-list/testing/public-api.mjs +0 -14
  176. package/esm2020/mdc-list/testing/selection-list-harness.mjs +0 -117
  177. package/esm2020/mdc-menu/directives.mjs +0 -38
  178. package/esm2020/mdc-menu/index.mjs +0 -9
  179. package/esm2020/mdc-menu/mdc-menu_public_index.mjs +0 -5
  180. package/esm2020/mdc-menu/menu-item.mjs +0 -36
  181. package/esm2020/mdc-menu/menu.mjs +0 -43
  182. package/esm2020/mdc-menu/module.mjs +0 -44
  183. package/esm2020/mdc-menu/public-api.mjs +0 -13
  184. package/esm2020/mdc-menu/testing/index.mjs +0 -9
  185. package/esm2020/mdc-menu/testing/menu-harness.mjs +0 -46
  186. package/esm2020/mdc-menu/testing/public-api.mjs +0 -9
  187. package/esm2020/mdc-paginator/index.mjs +0 -9
  188. package/esm2020/mdc-paginator/mdc-paginator_public_index.mjs +0 -5
  189. package/esm2020/mdc-paginator/module.mjs +0 -30
  190. package/esm2020/mdc-paginator/paginator.mjs +0 -48
  191. package/esm2020/mdc-paginator/public-api.mjs +0 -11
  192. package/esm2020/mdc-paginator/testing/index.mjs +0 -9
  193. package/esm2020/mdc-paginator/testing/paginator-harness.mjs +0 -36
  194. package/esm2020/mdc-paginator/testing/public-api.mjs +0 -9
  195. package/esm2020/mdc-progress-bar/index.mjs +0 -9
  196. package/esm2020/mdc-progress-bar/mdc-progress-bar_public_index.mjs +0 -5
  197. package/esm2020/mdc-progress-bar/module.mjs +0 -24
  198. package/esm2020/mdc-progress-bar/progress-bar.mjs +0 -152
  199. package/esm2020/mdc-progress-bar/public-api.mjs +0 -11
  200. package/esm2020/mdc-progress-bar/testing/index.mjs +0 -9
  201. package/esm2020/mdc-progress-bar/testing/progress-bar-harness.mjs +0 -33
  202. package/esm2020/mdc-progress-bar/testing/public-api.mjs +0 -9
  203. package/esm2020/mdc-progress-bar/testing/testing_public_index.mjs +0 -5
  204. package/esm2020/mdc-progress-spinner/index.mjs +0 -9
  205. package/esm2020/mdc-progress-spinner/mdc-progress-spinner_public_index.mjs +0 -5
  206. package/esm2020/mdc-progress-spinner/module.mjs +0 -26
  207. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +0 -151
  208. package/esm2020/mdc-progress-spinner/public-api.mjs +0 -11
  209. package/esm2020/mdc-progress-spinner/testing/index.mjs +0 -9
  210. package/esm2020/mdc-progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  211. package/esm2020/mdc-progress-spinner/testing/public-api.mjs +0 -9
  212. package/esm2020/mdc-progress-spinner/testing/testing_public_index.mjs +0 -5
  213. package/esm2020/mdc-radio/index.mjs +0 -9
  214. package/esm2020/mdc-radio/mdc-radio_public_index.mjs +0 -5
  215. package/esm2020/mdc-radio/module.mjs +0 -26
  216. package/esm2020/mdc-radio/public-api.mjs +0 -11
  217. package/esm2020/mdc-radio/radio.mjs +0 -111
  218. package/esm2020/mdc-radio/testing/index.mjs +0 -9
  219. package/esm2020/mdc-radio/testing/public-api.mjs +0 -9
  220. package/esm2020/mdc-radio/testing/radio-harness.mjs +0 -50
  221. package/esm2020/mdc-select/index.mjs +0 -9
  222. package/esm2020/mdc-select/mdc-select_public_index.mjs +0 -5
  223. package/esm2020/mdc-select/module.mjs +0 -46
  224. package/esm2020/mdc-select/public-api.mjs +0 -12
  225. package/esm2020/mdc-select/select-animations.mjs +0 -38
  226. package/esm2020/mdc-select/select-errors.mjs +0 -35
  227. package/esm2020/mdc-select/select.mjs +0 -172
  228. package/esm2020/mdc-select/testing/index.mjs +0 -9
  229. package/esm2020/mdc-select/testing/public-api.mjs +0 -10
  230. package/esm2020/mdc-select/testing/select-harness-filters.mjs +0 -9
  231. package/esm2020/mdc-select/testing/select-harness.mjs +0 -29
  232. package/esm2020/mdc-slide-toggle/index.mjs +0 -9
  233. package/esm2020/mdc-slide-toggle/mdc-slide-toggle_public_index.mjs +0 -5
  234. package/esm2020/mdc-slide-toggle/module.mjs +0 -27
  235. package/esm2020/mdc-slide-toggle/public-api.mjs +0 -12
  236. package/esm2020/mdc-slide-toggle/slide-toggle-config.mjs +0 -14
  237. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +0 -99
  238. package/esm2020/mdc-slide-toggle/testing/index.mjs +0 -9
  239. package/esm2020/mdc-slide-toggle/testing/public-api.mjs +0 -9
  240. package/esm2020/mdc-slide-toggle/testing/slide-toggle-harness.mjs +0 -47
  241. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +0 -59
  242. package/esm2020/mdc-slider/index.mjs +0 -9
  243. package/esm2020/mdc-slider/mdc-slider_public_index.mjs +0 -5
  244. package/esm2020/mdc-slider/module.mjs +0 -26
  245. package/esm2020/mdc-slider/public-api.mjs +0 -10
  246. package/esm2020/mdc-slider/slider.mjs +0 -1094
  247. package/esm2020/mdc-slider/testing/index.mjs +0 -9
  248. package/esm2020/mdc-slider/testing/public-api.mjs +0 -11
  249. package/esm2020/mdc-slider/testing/slider-harness-filters.mjs +0 -2
  250. package/esm2020/mdc-slider/testing/slider-harness.mjs +0 -62
  251. package/esm2020/mdc-slider/testing/slider-thumb-harness.mjs +0 -94
  252. package/esm2020/mdc-snack-bar/index.mjs +0 -9
  253. package/esm2020/mdc-snack-bar/mdc-snack-bar_public_index.mjs +0 -5
  254. package/esm2020/mdc-snack-bar/module.mjs +0 -51
  255. package/esm2020/mdc-snack-bar/public-api.mjs +0 -14
  256. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +0 -40
  257. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +0 -41
  258. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +0 -52
  259. package/esm2020/mdc-snack-bar/snack-bar.mjs +0 -45
  260. package/esm2020/mdc-snack-bar/testing/index.mjs +0 -9
  261. package/esm2020/mdc-snack-bar/testing/public-api.mjs +0 -9
  262. package/esm2020/mdc-snack-bar/testing/snack-bar-harness.mjs +0 -34
  263. package/esm2020/mdc-table/cell.mjs +0 -141
  264. package/esm2020/mdc-table/index.mjs +0 -9
  265. package/esm2020/mdc-table/mdc-table_public_index.mjs +0 -5
  266. package/esm2020/mdc-table/module.mjs +0 -94
  267. package/esm2020/mdc-table/public-api.mjs +0 -14
  268. package/esm2020/mdc-table/row.mjs +0 -143
  269. package/esm2020/mdc-table/table-data-source.mjs +0 -24
  270. package/esm2020/mdc-table/table.mjs +0 -74
  271. package/esm2020/mdc-table/testing/cell-harness.mjs +0 -50
  272. package/esm2020/mdc-table/testing/index.mjs +0 -9
  273. package/esm2020/mdc-table/testing/public-api.mjs +0 -11
  274. package/esm2020/mdc-table/testing/row-harness.mjs +0 -64
  275. package/esm2020/mdc-table/testing/table-harness.mjs +0 -30
  276. package/esm2020/mdc-table/text-column.mjs +0 -58
  277. package/esm2020/mdc-tabs/index.mjs +0 -9
  278. package/esm2020/mdc-tabs/ink-bar.mjs +0 -130
  279. package/esm2020/mdc-tabs/mdc-tabs_public_index.mjs +0 -5
  280. package/esm2020/mdc-tabs/module.mjs +0 -93
  281. package/esm2020/mdc-tabs/public-api.mjs +0 -19
  282. package/esm2020/mdc-tabs/tab-body.mjs +0 -60
  283. package/esm2020/mdc-tabs/tab-content.mjs +0 -20
  284. package/esm2020/mdc-tabs/tab-group.mjs +0 -98
  285. package/esm2020/mdc-tabs/tab-header.mjs +0 -73
  286. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +0 -32
  287. package/esm2020/mdc-tabs/tab-label.mjs +0 -22
  288. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +0 -202
  289. package/esm2020/mdc-tabs/tab.mjs +0 -34
  290. package/esm2020/mdc-tabs/testing/index.mjs +0 -9
  291. package/esm2020/mdc-tabs/testing/public-api.mjs +0 -13
  292. package/esm2020/mdc-tabs/testing/tab-group-harness.mjs +0 -56
  293. package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +0 -2
  294. package/esm2020/mdc-tabs/testing/tab-harness.mjs +0 -64
  295. package/esm2020/mdc-tabs/testing/tab-link-harness.mjs +0 -40
  296. package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +0 -66
  297. package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +0 -27
  298. package/esm2020/mdc-tooltip/index.mjs +0 -9
  299. package/esm2020/mdc-tooltip/mdc-tooltip_public_index.mjs +0 -5
  300. package/esm2020/mdc-tooltip/module.mjs +0 -31
  301. package/esm2020/mdc-tooltip/public-api.mjs +0 -12
  302. package/esm2020/mdc-tooltip/testing/index.mjs +0 -9
  303. package/esm2020/mdc-tooltip/testing/public-api.mjs +0 -9
  304. package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +0 -30
  305. package/esm2020/mdc-tooltip/tooltip-animations.mjs +0 -24
  306. package/esm2020/mdc-tooltip/tooltip.mjs +0 -132
  307. package/fesm2015/mdc-autocomplete/testing.mjs +0 -50
  308. package/fesm2015/mdc-autocomplete/testing.mjs.map +0 -1
  309. package/fesm2015/mdc-autocomplete.mjs +0 -196
  310. package/fesm2015/mdc-autocomplete.mjs.map +0 -1
  311. package/fesm2015/mdc-button/testing.mjs +0 -75
  312. package/fesm2015/mdc-button/testing.mjs.map +0 -1
  313. package/fesm2015/mdc-button.mjs +0 -490
  314. package/fesm2015/mdc-button.mjs.map +0 -1
  315. package/fesm2015/mdc-card/testing.mjs +0 -63
  316. package/fesm2015/mdc-card/testing.mjs.map +0 -1
  317. package/fesm2015/mdc-card.mjs +0 -351
  318. package/fesm2015/mdc-card.mjs.map +0 -1
  319. package/fesm2015/mdc-checkbox/testing.mjs +0 -56
  320. package/fesm2015/mdc-checkbox/testing.mjs.map +0 -1
  321. package/fesm2015/mdc-checkbox.mjs +0 -142
  322. package/fesm2015/mdc-checkbox.mjs.map +0 -1
  323. package/fesm2015/mdc-chips/testing.mjs +0 -394
  324. package/fesm2015/mdc-chips/testing.mjs.map +0 -1
  325. package/fesm2015/mdc-chips.mjs +0 -2169
  326. package/fesm2015/mdc-chips.mjs.map +0 -1
  327. package/fesm2015/mdc-core/testing.mjs +0 -118
  328. package/fesm2015/mdc-core/testing.mjs.map +0 -1
  329. package/fesm2015/mdc-core.mjs +0 -141
  330. package/fesm2015/mdc-core.mjs.map +0 -1
  331. package/fesm2015/mdc-dialog/testing.mjs +0 -90
  332. package/fesm2015/mdc-dialog/testing.mjs.map +0 -1
  333. package/fesm2015/mdc-dialog.mjs +0 -500
  334. package/fesm2015/mdc-dialog.mjs.map +0 -1
  335. package/fesm2015/mdc-form-field/testing.mjs +0 -78
  336. package/fesm2015/mdc-form-field/testing.mjs.map +0 -1
  337. package/fesm2015/mdc-form-field.mjs +0 -1018
  338. package/fesm2015/mdc-form-field.mjs.map +0 -1
  339. package/fesm2015/mdc-input/testing.mjs +0 -18
  340. package/fesm2015/mdc-input/testing.mjs.map +0 -1
  341. package/fesm2015/mdc-input.mjs +0 -103
  342. package/fesm2015/mdc-input.mjs.map +0 -1
  343. package/fesm2015/mdc-list/testing.mjs +0 -574
  344. package/fesm2015/mdc-list/testing.mjs.map +0 -1
  345. package/fesm2015/mdc-list.mjs +0 -1264
  346. package/fesm2015/mdc-list.mjs.map +0 -1
  347. package/fesm2015/mdc-menu/testing.mjs +0 -59
  348. package/fesm2015/mdc-menu/testing.mjs.map +0 -1
  349. package/fesm2015/mdc-menu.mjs +0 -174
  350. package/fesm2015/mdc-menu.mjs.map +0 -1
  351. package/fesm2015/mdc-paginator/testing.mjs +0 -55
  352. package/fesm2015/mdc-paginator/testing.mjs.map +0 -1
  353. package/fesm2015/mdc-paginator.mjs +0 -100
  354. package/fesm2015/mdc-paginator.mjs.map +0 -1
  355. package/fesm2015/mdc-progress-bar/testing.mjs +0 -54
  356. package/fesm2015/mdc-progress-bar/testing.mjs.map +0 -1
  357. package/fesm2015/mdc-progress-bar.mjs +0 -198
  358. package/fesm2015/mdc-progress-bar.mjs.map +0 -1
  359. package/fesm2015/mdc-progress-spinner/testing.mjs +0 -56
  360. package/fesm2015/mdc-progress-spinner/testing.mjs.map +0 -1
  361. package/fesm2015/mdc-progress-spinner.mjs +0 -200
  362. package/fesm2015/mdc-progress-spinner.mjs.map +0 -1
  363. package/fesm2015/mdc-radio/testing.mjs +0 -63
  364. package/fesm2015/mdc-radio/testing.mjs.map +0 -1
  365. package/fesm2015/mdc-radio.mjs +0 -155
  366. package/fesm2015/mdc-radio.mjs.map +0 -1
  367. package/fesm2015/mdc-select/testing.mjs +0 -48
  368. package/fesm2015/mdc-select/testing.mjs.map +0 -1
  369. package/fesm2015/mdc-select.mjs +0 -273
  370. package/fesm2015/mdc-select.mjs.map +0 -1
  371. package/fesm2015/mdc-slide-toggle/testing.mjs +0 -66
  372. package/fesm2015/mdc-slide-toggle/testing.mjs.map +0 -1
  373. package/fesm2015/mdc-slide-toggle.mjs +0 -159
  374. package/fesm2015/mdc-slide-toggle.mjs.map +0 -1
  375. package/fesm2015/mdc-slider/testing.mjs +0 -199
  376. package/fesm2015/mdc-slider/testing.mjs.map +0 -1
  377. package/fesm2015/mdc-slider.mjs +0 -1212
  378. package/fesm2015/mdc-slider.mjs.map +0 -1
  379. package/fesm2015/mdc-snack-bar/testing.mjs +0 -49
  380. package/fesm2015/mdc-snack-bar/testing.mjs.map +0 -1
  381. package/fesm2015/mdc-snack-bar.mjs +0 -229
  382. package/fesm2015/mdc-snack-bar.mjs.map +0 -1
  383. package/fesm2015/mdc-table/testing.mjs +0 -158
  384. package/fesm2015/mdc-table/testing.mjs.map +0 -1
  385. package/fesm2015/mdc-table.mjs +0 -540
  386. package/fesm2015/mdc-table.mjs.map +0 -1
  387. package/fesm2015/mdc-tabs/testing.mjs +0 -273
  388. package/fesm2015/mdc-tabs/testing.mjs.map +0 -1
  389. package/fesm2015/mdc-tabs.mjs +0 -737
  390. package/fesm2015/mdc-tabs.mjs.map +0 -1
  391. package/fesm2015/mdc-tooltip/testing.mjs +0 -49
  392. package/fesm2015/mdc-tooltip/testing.mjs.map +0 -1
  393. package/fesm2015/mdc-tooltip.mjs +0 -206
  394. package/fesm2015/mdc-tooltip.mjs.map +0 -1
  395. package/fesm2020/mdc-autocomplete/testing.mjs +0 -58
  396. package/fesm2020/mdc-autocomplete/testing.mjs.map +0 -1
  397. package/fesm2020/mdc-autocomplete.mjs +0 -196
  398. package/fesm2020/mdc-autocomplete.mjs.map +0 -1
  399. package/fesm2020/mdc-button/testing.mjs +0 -69
  400. package/fesm2020/mdc-button/testing.mjs.map +0 -1
  401. package/fesm2020/mdc-button.mjs +0 -510
  402. package/fesm2020/mdc-button.mjs.map +0 -1
  403. package/fesm2020/mdc-card/testing.mjs +0 -69
  404. package/fesm2020/mdc-card/testing.mjs.map +0 -1
  405. package/fesm2020/mdc-card.mjs +0 -349
  406. package/fesm2020/mdc-card.mjs.map +0 -1
  407. package/fesm2020/mdc-checkbox/testing.mjs +0 -60
  408. package/fesm2020/mdc-checkbox/testing.mjs.map +0 -1
  409. package/fesm2020/mdc-checkbox.mjs +0 -139
  410. package/fesm2020/mdc-checkbox.mjs.map +0 -1
  411. package/fesm2020/mdc-chips/testing.mjs +0 -395
  412. package/fesm2020/mdc-chips/testing.mjs.map +0 -1
  413. package/fesm2020/mdc-chips.mjs +0 -2161
  414. package/fesm2020/mdc-chips.mjs.map +0 -1
  415. package/fesm2020/mdc-core/testing.mjs +0 -129
  416. package/fesm2020/mdc-core/testing.mjs.map +0 -1
  417. package/fesm2020/mdc-core.mjs +0 -139
  418. package/fesm2020/mdc-core.mjs.map +0 -1
  419. package/fesm2020/mdc-dialog/testing.mjs +0 -90
  420. package/fesm2020/mdc-dialog/testing.mjs.map +0 -1
  421. package/fesm2020/mdc-dialog.mjs +0 -499
  422. package/fesm2020/mdc-dialog.mjs.map +0 -1
  423. package/fesm2020/mdc-form-field/testing.mjs +0 -78
  424. package/fesm2020/mdc-form-field/testing.mjs.map +0 -1
  425. package/fesm2020/mdc-form-field.mjs +0 -1014
  426. package/fesm2020/mdc-form-field.mjs.map +0 -1
  427. package/fesm2020/mdc-input/testing.mjs +0 -18
  428. package/fesm2020/mdc-input/testing.mjs.map +0 -1
  429. package/fesm2020/mdc-input.mjs +0 -103
  430. package/fesm2020/mdc-input.mjs.map +0 -1
  431. package/fesm2020/mdc-list/testing.mjs +0 -544
  432. package/fesm2020/mdc-list/testing.mjs.map +0 -1
  433. package/fesm2020/mdc-list.mjs +0 -1260
  434. package/fesm2020/mdc-list.mjs.map +0 -1
  435. package/fesm2020/mdc-menu/testing.mjs +0 -65
  436. package/fesm2020/mdc-menu/testing.mjs.map +0 -1
  437. package/fesm2020/mdc-menu.mjs +0 -172
  438. package/fesm2020/mdc-menu.mjs.map +0 -1
  439. package/fesm2020/mdc-paginator/testing.mjs +0 -55
  440. package/fesm2020/mdc-paginator/testing.mjs.map +0 -1
  441. package/fesm2020/mdc-paginator.mjs +0 -98
  442. package/fesm2020/mdc-paginator.mjs.map +0 -1
  443. package/fesm2020/mdc-progress-bar/testing.mjs +0 -56
  444. package/fesm2020/mdc-progress-bar/testing.mjs.map +0 -1
  445. package/fesm2020/mdc-progress-bar.mjs +0 -196
  446. package/fesm2020/mdc-progress-bar.mjs.map +0 -1
  447. package/fesm2020/mdc-progress-spinner/testing.mjs +0 -58
  448. package/fesm2020/mdc-progress-spinner/testing.mjs.map +0 -1
  449. package/fesm2020/mdc-progress-spinner.mjs +0 -197
  450. package/fesm2020/mdc-progress-spinner.mjs.map +0 -1
  451. package/fesm2020/mdc-radio/testing.mjs +0 -69
  452. package/fesm2020/mdc-radio/testing.mjs.map +0 -1
  453. package/fesm2020/mdc-radio.mjs +0 -153
  454. package/fesm2020/mdc-radio.mjs.map +0 -1
  455. package/fesm2020/mdc-select/testing.mjs +0 -56
  456. package/fesm2020/mdc-select/testing.mjs.map +0 -1
  457. package/fesm2020/mdc-select.mjs +0 -273
  458. package/fesm2020/mdc-select.mjs.map +0 -1
  459. package/fesm2020/mdc-slide-toggle/testing.mjs +0 -66
  460. package/fesm2020/mdc-slide-toggle/testing.mjs.map +0 -1
  461. package/fesm2020/mdc-slide-toggle.mjs +0 -157
  462. package/fesm2020/mdc-slide-toggle.mjs.map +0 -1
  463. package/fesm2020/mdc-slider/testing.mjs +0 -172
  464. package/fesm2020/mdc-slider/testing.mjs.map +0 -1
  465. package/fesm2020/mdc-slider.mjs +0 -1191
  466. package/fesm2020/mdc-slider.mjs.map +0 -1
  467. package/fesm2020/mdc-snack-bar/testing.mjs +0 -53
  468. package/fesm2020/mdc-snack-bar/testing.mjs.map +0 -1
  469. package/fesm2020/mdc-snack-bar.mjs +0 -232
  470. package/fesm2020/mdc-snack-bar.mjs.map +0 -1
  471. package/fesm2020/mdc-table/testing.mjs +0 -158
  472. package/fesm2020/mdc-table/testing.mjs.map +0 -1
  473. package/fesm2020/mdc-table.mjs +0 -539
  474. package/fesm2020/mdc-table.mjs.map +0 -1
  475. package/fesm2020/mdc-tabs/testing.mjs +0 -265
  476. package/fesm2020/mdc-tabs/testing.mjs.map +0 -1
  477. package/fesm2020/mdc-tabs.mjs +0 -723
  478. package/fesm2020/mdc-tabs.mjs.map +0 -1
  479. package/fesm2020/mdc-tooltip/testing.mjs +0 -49
  480. package/fesm2020/mdc-tooltip/testing.mjs.map +0 -1
  481. package/fesm2020/mdc-tooltip.mjs +0 -202
  482. package/fesm2020/mdc-tooltip.mjs.map +0 -1
  483. package/mdc-autocomplete/_autocomplete-theme.import.scss +0 -5
  484. package/mdc-autocomplete/_autocomplete-theme.scss +0 -48
  485. package/mdc-autocomplete/index.d.ts +0 -97
  486. package/mdc-autocomplete/testing/index.d.ts +0 -32
  487. package/mdc-button/_button-base.import.scss +0 -4
  488. package/mdc-button/_button-base.scss +0 -95
  489. package/mdc-button/_button-theme-private.scss +0 -62
  490. package/mdc-button/_button-theme.import.scss +0 -16
  491. package/mdc-button/_button-theme.scss +0 -224
  492. package/mdc-button/_fab-theme.scss +0 -90
  493. package/mdc-button/_icon-button-theme.scss +0 -76
  494. package/mdc-button/index.d.ts +0 -216
  495. package/mdc-button/testing/index.d.ts +0 -41
  496. package/mdc-card/_card-theme.import.scss +0 -7
  497. package/mdc-card/_card-theme.scss +0 -74
  498. package/mdc-card/index.d.ts +0 -194
  499. package/mdc-card/testing/index.d.ts +0 -44
  500. package/mdc-checkbox/_checkbox-private.scss +0 -53
  501. package/mdc-checkbox/_checkbox-theme.import.scss +0 -15
  502. package/mdc-checkbox/_checkbox-theme.scss +0 -122
  503. package/mdc-checkbox/index.d.ts +0 -87
  504. package/mdc-checkbox/testing/index.d.ts +0 -28
  505. package/mdc-chips/_chips-theme.import.scss +0 -8
  506. package/mdc-chips/_chips-theme.scss +0 -117
  507. package/mdc-chips/index.d.ts +0 -979
  508. package/mdc-chips/testing/index.d.ts +0 -232
  509. package/mdc-core/_core-theme.import.scss +0 -10
  510. package/mdc-core/_core-theme.scss +0 -78
  511. package/mdc-core/_elevation.scss +0 -38
  512. package/mdc-core/color/_all-color.scss +0 -25
  513. package/mdc-core/density/_all-density.scss +0 -25
  514. package/mdc-core/index.d.ts +0 -206
  515. package/mdc-core/mdc-helpers/_focus-indicators-theme.scss +0 -39
  516. package/mdc-core/mdc-helpers/_focus-indicators.import.scss +0 -10
  517. package/mdc-core/mdc-helpers/_focus-indicators.scss +0 -15
  518. package/mdc-core/mdc-helpers/_mdc-helpers.import.scss +0 -8
  519. package/mdc-core/mdc-helpers/_mdc-helpers.scss +0 -221
  520. package/mdc-core/option/_optgroup-theme.import.scss +0 -7
  521. package/mdc-core/option/_optgroup-theme.scss +0 -44
  522. package/mdc-core/option/_option-theme.import.scss +0 -7
  523. package/mdc-core/option/_option-theme.scss +0 -87
  524. package/mdc-core/testing/index.d.ts +0 -64
  525. package/mdc-core/theming/_all-theme.scss +0 -61
  526. package/mdc-core/theming/prebuilt/deeppurple-amber.css +0 -1
  527. package/mdc-core/theming/prebuilt/indigo-pink.css +0 -1
  528. package/mdc-core/theming/prebuilt/pink-bluegrey.css +0 -1
  529. package/mdc-core/theming/prebuilt/purple-green.css +0 -1
  530. package/mdc-core/typography/_all-typography.scss +0 -99
  531. package/mdc-dialog/_dialog-legacy-padding.import.scss +0 -1
  532. package/mdc-dialog/_dialog-legacy-padding.scss +0 -31
  533. package/mdc-dialog/_dialog-theme.import.scss +0 -5
  534. package/mdc-dialog/_dialog-theme.scss +0 -78
  535. package/mdc-dialog/_mdc-dialog-structure-overrides.import.scss +0 -1
  536. package/mdc-dialog/_mdc-dialog-structure-overrides.scss +0 -56
  537. package/mdc-dialog/index.d.ts +0 -217
  538. package/mdc-dialog/testing/index.d.ts +0 -47
  539. package/mdc-form-field/_form-field-density.scss +0 -119
  540. package/mdc-form-field/_form-field-focus-overlay.scss +0 -34
  541. package/mdc-form-field/_form-field-high-contrast.scss +0 -39
  542. package/mdc-form-field/_form-field-native-select.scss +0 -133
  543. package/mdc-form-field/_form-field-sizing.scss +0 -40
  544. package/mdc-form-field/_form-field-subscript.scss +0 -83
  545. package/mdc-form-field/_form-field-theme.scss +0 -148
  546. package/mdc-form-field/_mdc-text-field-structure-overrides.scss +0 -129
  547. package/mdc-form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  548. package/mdc-form-field/_mdc-text-field-theme-variable-refresh.scss +0 -63
  549. package/mdc-form-field/index.d.ts +0 -431
  550. package/mdc-form-field/testing/index.d.ts +0 -48
  551. package/mdc-input/_input-theme.import.scss +0 -5
  552. package/mdc-input/_input-theme.scss +0 -35
  553. package/mdc-input/index.d.ts +0 -30
  554. package/mdc-input/testing/index.d.ts +0 -20
  555. package/mdc-list/_interactive-list-theme.import.scss +0 -5
  556. package/mdc-list/_interactive-list-theme.scss +0 -40
  557. package/mdc-list/_list-option-theme.import.scss +0 -13
  558. package/mdc-list/_list-option-theme.scss +0 -28
  559. package/mdc-list/_list-option-trailing-avatar-compat.scss +0 -58
  560. package/mdc-list/_list-theme.import.scss +0 -17
  561. package/mdc-list/_list-theme.scss +0 -81
  562. package/mdc-list/index.d.ts +0 -534
  563. package/mdc-list/testing/index.d.ts +0 -372
  564. package/mdc-menu/_menu-theme.import.scss +0 -5
  565. package/mdc-menu/_menu-theme.scss +0 -88
  566. package/mdc-menu/index.d.ts +0 -110
  567. package/mdc-menu/testing/index.d.ts +0 -38
  568. package/mdc-paginator/_paginator-theme.import.scss +0 -9
  569. package/mdc-paginator/_paginator-theme.scss +0 -106
  570. package/mdc-paginator/_paginator-variables.import.scss +0 -1
  571. package/mdc-paginator/_paginator-variables.scss +0 -13
  572. package/mdc-paginator/index.d.ts +0 -72
  573. package/mdc-paginator/testing/index.d.ts +0 -30
  574. package/mdc-progress-bar/_progress-bar-theme.import.scss +0 -6
  575. package/mdc-progress-bar/_progress-bar-theme.scss +0 -57
  576. package/mdc-progress-bar/index.d.ts +0 -98
  577. package/mdc-progress-bar/testing/index.d.ts +0 -24
  578. package/mdc-progress-spinner/_progress-spinner-theme.import.scss +0 -6
  579. package/mdc-progress-spinner/_progress-spinner-theme.scss +0 -48
  580. package/mdc-progress-spinner/index.d.ts +0 -90
  581. package/mdc-progress-spinner/testing/index.d.ts +0 -26
  582. package/mdc-radio/_radio-theme.import.scss +0 -7
  583. package/mdc-radio/_radio-theme.scss +0 -110
  584. package/mdc-radio/index.d.ts +0 -72
  585. package/mdc-radio/testing/index.d.ts +0 -43
  586. package/mdc-select/_select-theme.import.scss +0 -10
  587. package/mdc-select/_select-theme.scss +0 -100
  588. package/mdc-select/index.d.ts +0 -111
  589. package/mdc-select/testing/index.d.ts +0 -28
  590. package/mdc-slide-toggle/_slide-toggle-theme.import.scss +0 -11
  591. package/mdc-slide-toggle/_slide-toggle-theme.scss +0 -140
  592. package/mdc-slide-toggle/index.d.ts +0 -83
  593. package/mdc-slide-toggle/testing/index.d.ts +0 -27
  594. package/mdc-slider/_slider-theme.import.scss +0 -5
  595. package/mdc-slider/_slider-theme.scss +0 -125
  596. package/mdc-slider/index.d.ts +0 -435
  597. package/mdc-slider/testing/index.d.ts +0 -92
  598. package/mdc-snack-bar/_snack-bar-theme.import.scss +0 -8
  599. package/mdc-snack-bar/_snack-bar-theme.scss +0 -81
  600. package/mdc-snack-bar/index.d.ts +0 -136
  601. package/mdc-snack-bar/testing/index.d.ts +0 -23
  602. package/mdc-table/_table-theme.import.scss +0 -11
  603. package/mdc-table/_table-theme.scss +0 -78
  604. package/mdc-table/index.d.ts +0 -238
  605. package/mdc-table/testing/index.d.ts +0 -118
  606. package/mdc-tabs/_tabs-common.import.scss +0 -14
  607. package/mdc-tabs/_tabs-common.scss +0 -196
  608. package/mdc-tabs/_tabs-theme.import.scss +0 -8
  609. package/mdc-tabs/_tabs-theme.scss +0 -146
  610. package/mdc-tabs/index.d.ts +0 -307
  611. package/mdc-tabs/testing/index.d.ts +0 -151
  612. package/mdc-tooltip/_tooltip-theme.import.scss +0 -5
  613. package/mdc-tooltip/_tooltip-theme.scss +0 -49
  614. package/mdc-tooltip/index.d.ts +0 -118
  615. package/mdc-tooltip/testing/index.d.ts +0 -26
@@ -1,574 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { HarnessPredicate, ComponentHarness, ContentContainerComponentHarness, parallel } from '@angular/cdk/testing';
3
- import { MatDividerHarness } from '@angular/material/divider/testing';
4
-
5
- const iconSelector = '.mat-mdc-list-item-icon';
6
- const avatarSelector = '.mat-mdc-list-item-avatar';
7
- /**
8
- * Gets a `HarnessPredicate` that applies the given `BaseListItemHarnessFilters` to the given
9
- * list item harness.
10
- * @template H The type of list item harness to create a predicate for.
11
- * @param harnessType A constructor for a list item harness.
12
- * @param options An instance of `BaseListItemHarnessFilters` to apply.
13
- * @return A `HarnessPredicate` for the given harness type with the given options applied.
14
- */
15
- function getListItemPredicate(harnessType, options) {
16
- return new HarnessPredicate(harnessType, options)
17
- .addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))
18
- .addOption('fullText', options.fullText, (harness, fullText) => HarnessPredicate.stringMatches(harness.getFullText(), fullText))
19
- .addOption('title', options.title, (harness, title) => HarnessPredicate.stringMatches(harness.getTitle(), title))
20
- .addOption('secondaryText', options.secondaryText, (harness, secondaryText) => HarnessPredicate.stringMatches(harness.getSecondaryText(), secondaryText))
21
- .addOption('tertiaryText', options.tertiaryText, (harness, tertiaryText) => HarnessPredicate.stringMatches(harness.getTertiaryText(), tertiaryText));
22
- }
23
- /** Harness for interacting with a MDC-based list subheader. */
24
- class MatSubheaderHarness extends ComponentHarness {
25
- static with(options = {}) {
26
- return new HarnessPredicate(MatSubheaderHarness, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
27
- }
28
- /** Gets the full text content of the list item (including text from any font icons). */
29
- getText() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return (yield this.host()).text();
32
- });
33
- }
34
- }
35
- MatSubheaderHarness.hostSelector = '.mat-mdc-subheader';
36
- /**
37
- * Shared behavior among the harnesses for the various `MatListItem` flavors.
38
- * @docs-private
39
- */
40
- class MatListItemHarnessBase extends ContentContainerComponentHarness {
41
- constructor() {
42
- super(...arguments);
43
- this._lines = this.locatorForAll('.mat-mdc-list-item-line');
44
- this._primaryText = this.locatorFor('.mdc-list-item__primary-text');
45
- this._avatar = this.locatorForOptional('.mat-mdc-list-item-avatar');
46
- this._icon = this.locatorForOptional('.mat-mdc-list-item-icon');
47
- this._unscopedTextContent = this.locatorFor('.mat-mdc-list-item-unscoped-content');
48
- }
49
- /** Gets the type of the list item, currently describing how many lines there are. */
50
- getType() {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const host = yield this.host();
53
- const [isOneLine, isTwoLine] = yield parallel(() => [
54
- host.hasClass('mdc-list-item--with-one-line'),
55
- host.hasClass('mdc-list-item--with-two-lines'),
56
- ]);
57
- if (isOneLine) {
58
- return 0 /* MatListItemType.ONE_LINE_ITEM */;
59
- }
60
- else if (isTwoLine) {
61
- return 1 /* MatListItemType.TWO_LINE_ITEM */;
62
- }
63
- else {
64
- return 2 /* MatListItemType.THREE_LINE_ITEM */;
65
- }
66
- });
67
- }
68
- /**
69
- * Gets the full text content of the list item, excluding text
70
- * from icons and avatars.
71
- *
72
- * @deprecated Use the `getFullText` method instead.
73
- * @breaking-change 16.0.0
74
- */
75
- getText() {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- return this.getFullText();
78
- });
79
- }
80
- /**
81
- * Gets the full text content of the list item, excluding text
82
- * from icons and avatars.
83
- */
84
- getFullText() {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- return (yield this.host()).text({ exclude: `${iconSelector}, ${avatarSelector}` });
87
- });
88
- }
89
- /** Gets the title of the list item. */
90
- getTitle() {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- return (yield this._primaryText()).text();
93
- });
94
- }
95
- /** Whether the list item is disabled. */
96
- isDisabled() {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- return (yield this.host()).hasClass('mdc-list-item--disabled');
99
- });
100
- }
101
- /**
102
- * Gets the secondary line text of the list item. Null if the list item
103
- * does not have a secondary line.
104
- */
105
- getSecondaryText() {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const type = yield this.getType();
108
- if (type === 0 /* MatListItemType.ONE_LINE_ITEM */) {
109
- return null;
110
- }
111
- const [lines, unscopedTextContent] = yield parallel(() => [
112
- this._lines(),
113
- this._unscopedTextContent(),
114
- ]);
115
- // If there is no explicit line for the secondary text, the unscoped text content
116
- // is rendered as the secondary text (with potential text wrapping enabled).
117
- if (lines.length >= 1) {
118
- return lines[0].text();
119
- }
120
- else {
121
- return unscopedTextContent.text();
122
- }
123
- });
124
- }
125
- /**
126
- * Gets the tertiary line text of the list item. Null if the list item
127
- * does not have a tertiary line.
128
- */
129
- getTertiaryText() {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const type = yield this.getType();
132
- if (type !== 2 /* MatListItemType.THREE_LINE_ITEM */) {
133
- return null;
134
- }
135
- const [lines, unscopedTextContent] = yield parallel(() => [
136
- this._lines(),
137
- this._unscopedTextContent(),
138
- ]);
139
- // First we check if there is an explicit line for the tertiary text. If so, we return it.
140
- // If there is at least an explicit secondary line though, then we know that the unscoped
141
- // text content corresponds to the tertiary line. If there are no explicit lines at all,
142
- // we know that the unscoped text content from the secondary text just wraps into the third
143
- // line, but there *no* actual dedicated tertiary text.
144
- if (lines.length === 2) {
145
- return lines[1].text();
146
- }
147
- else if (lines.length === 1) {
148
- return unscopedTextContent.text();
149
- }
150
- return null;
151
- });
152
- }
153
- /** Whether this list item has an avatar. */
154
- hasAvatar() {
155
- return __awaiter(this, void 0, void 0, function* () {
156
- return !!(yield this._avatar());
157
- });
158
- }
159
- /** Whether this list item has an icon. */
160
- hasIcon() {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- return !!(yield this._icon());
163
- });
164
- }
165
- }
166
-
167
- /**
168
- * Shared behavior among the harnesses for the various `MatList` flavors.
169
- * @template T A constructor type for a list item harness type used by this list harness.
170
- * @template C The list item harness type that `T` constructs.
171
- * @template F The filter type used filter list item harness of type `C`.
172
- * @docs-private
173
- */
174
- class MatListHarnessBase extends ComponentHarness {
175
- /**
176
- * Gets a list of harnesses representing the items in this list.
177
- * @param filters Optional filters used to narrow which harnesses are included
178
- * @return The list of items matching the given filters.
179
- */
180
- getItems(filters) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- return this.locatorForAll(this._itemHarness.with(filters))();
183
- });
184
- }
185
- /**
186
- * Gets a list of `ListSection` representing the list items grouped by subheaders. If the list has
187
- * no subheaders it is represented as a single `ListSection` with an undefined `heading` property.
188
- * @param filters Optional filters used to narrow which list item harnesses are included
189
- * @return The list of items matching the given filters, grouped into sections by subheader.
190
- */
191
- getItemsGroupedBySubheader(filters) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- const listSections = [];
194
- let currentSection = { items: [] };
195
- const itemsAndSubheaders = yield this.getItemsWithSubheadersAndDividers({
196
- item: filters,
197
- divider: false,
198
- });
199
- for (const itemOrSubheader of itemsAndSubheaders) {
200
- if (itemOrSubheader instanceof MatSubheaderHarness) {
201
- if (currentSection.heading !== undefined || currentSection.items.length) {
202
- listSections.push(currentSection);
203
- }
204
- currentSection = { heading: itemOrSubheader.getText(), items: [] };
205
- }
206
- else {
207
- currentSection.items.push(itemOrSubheader);
208
- }
209
- }
210
- if (currentSection.heading !== undefined ||
211
- currentSection.items.length ||
212
- !listSections.length) {
213
- listSections.push(currentSection);
214
- }
215
- // Concurrently wait for all sections to resolve their heading if present.
216
- return parallel(() => listSections.map((s) => __awaiter(this, void 0, void 0, function* () { return ({ items: s.items, heading: yield s.heading }); })));
217
- });
218
- }
219
- /**
220
- * Gets a list of sub-lists representing the list items grouped by dividers. If the list has no
221
- * dividers it is represented as a list with a single sub-list.
222
- * @param filters Optional filters used to narrow which list item harnesses are included
223
- * @return The list of items matching the given filters, grouped into sub-lists by divider.
224
- */
225
- getItemsGroupedByDividers(filters) {
226
- return __awaiter(this, void 0, void 0, function* () {
227
- const listSections = [[]];
228
- const itemsAndDividers = yield this.getItemsWithSubheadersAndDividers({
229
- item: filters,
230
- subheader: false,
231
- });
232
- for (const itemOrDivider of itemsAndDividers) {
233
- if (itemOrDivider instanceof MatDividerHarness) {
234
- listSections.push([]);
235
- }
236
- else {
237
- listSections[listSections.length - 1].push(itemOrDivider);
238
- }
239
- }
240
- return listSections;
241
- });
242
- }
243
- getItemsWithSubheadersAndDividers(filters = {}) {
244
- return __awaiter(this, void 0, void 0, function* () {
245
- const query = [];
246
- if (filters.item !== false) {
247
- query.push(this._itemHarness.with(filters.item || {}));
248
- }
249
- if (filters.subheader !== false) {
250
- query.push(MatSubheaderHarness.with(filters.subheader));
251
- }
252
- if (filters.divider !== false) {
253
- query.push(MatDividerHarness.with(filters.divider));
254
- }
255
- return this.locatorForAll(...query)();
256
- });
257
- }
258
- }
259
-
260
- /** Harness for interacting with a MDC-based action-list in tests. */
261
- class MatActionListHarness extends MatListHarnessBase {
262
- constructor() {
263
- super(...arguments);
264
- this._itemHarness = MatActionListItemHarness;
265
- }
266
- /**
267
- * Gets a `HarnessPredicate` that can be used to search for an action list with specific
268
- * attributes.
269
- * @param options Options for filtering which action list instances are considered a match.
270
- * @return a `HarnessPredicate` configured with the given options.
271
- */
272
- static with(options = {}) {
273
- return new HarnessPredicate(this, options);
274
- }
275
- }
276
- /** The selector for the host element of a `MatActionList` instance. */
277
- MatActionListHarness.hostSelector = '.mat-mdc-action-list';
278
- /** Harness for interacting with an action list item. */
279
- class MatActionListItemHarness extends MatListItemHarnessBase {
280
- /**
281
- * Gets a `HarnessPredicate` that can be used to search for a list item with specific
282
- * attributes.
283
- * @param options Options for filtering which action list item instances are considered a match.
284
- * @return a `HarnessPredicate` configured with the given options.
285
- */
286
- static with(options = {}) {
287
- return getListItemPredicate(this, options);
288
- }
289
- /** Clicks on the action list item. */
290
- click() {
291
- return __awaiter(this, void 0, void 0, function* () {
292
- return (yield this.host()).click();
293
- });
294
- }
295
- /** Focuses the action list item. */
296
- focus() {
297
- return __awaiter(this, void 0, void 0, function* () {
298
- return (yield this.host()).focus();
299
- });
300
- }
301
- /** Blurs the action list item. */
302
- blur() {
303
- return __awaiter(this, void 0, void 0, function* () {
304
- return (yield this.host()).blur();
305
- });
306
- }
307
- /** Whether the action list item is focused. */
308
- isFocused() {
309
- return __awaiter(this, void 0, void 0, function* () {
310
- return (yield this.host()).isFocused();
311
- });
312
- }
313
- }
314
- /** The selector for the host element of a `MatListItem` instance. */
315
- MatActionListItemHarness.hostSelector = `${MatActionListHarness.hostSelector} .mat-mdc-list-item`;
316
-
317
- /**
318
- * @license
319
- * Copyright Google LLC All Rights Reserved.
320
- *
321
- * Use of this source code is governed by an MIT-style license that can be
322
- * found in the LICENSE file at https://angular.io/license
323
- */
324
- /** Harness for interacting with a MDC-based list in tests. */
325
- class MatListHarness extends MatListHarnessBase {
326
- constructor() {
327
- super(...arguments);
328
- this._itemHarness = MatListItemHarness;
329
- }
330
- /**
331
- * Gets a `HarnessPredicate` that can be used to search for a list with specific attributes.
332
- * @param options Options for filtering which list instances are considered a match.
333
- * @return a `HarnessPredicate` configured with the given options.
334
- */
335
- static with(options = {}) {
336
- return new HarnessPredicate(this, options);
337
- }
338
- }
339
- /** The selector for the host element of a `MatList` instance. */
340
- MatListHarness.hostSelector = '.mat-mdc-list';
341
- /** Harness for interacting with a list item. */
342
- class MatListItemHarness extends MatListItemHarnessBase {
343
- /**
344
- * Gets a `HarnessPredicate` that can be used to search for a list item with specific attributes.
345
- * @param options Options for filtering which list item instances are considered a match.
346
- * @return a `HarnessPredicate` configured with the given options.
347
- */
348
- static with(options = {}) {
349
- return getListItemPredicate(this, options);
350
- }
351
- }
352
- /** The selector for the host element of a `MatListItem` instance. */
353
- MatListItemHarness.hostSelector = `${MatListHarness.hostSelector} .mat-mdc-list-item`;
354
-
355
- /** Harness for interacting with a MDC-based mat-nav-list in tests. */
356
- class MatNavListHarness extends MatListHarnessBase {
357
- constructor() {
358
- super(...arguments);
359
- this._itemHarness = MatNavListItemHarness;
360
- }
361
- /**
362
- * Gets a `HarnessPredicate` that can be used to search for a nav list with specific
363
- * attributes.
364
- * @param options Options for filtering which nav list instances are considered a match.
365
- * @return a `HarnessPredicate` configured with the given options.
366
- */
367
- static with(options = {}) {
368
- return new HarnessPredicate(this, options);
369
- }
370
- }
371
- /** The selector for the host element of a `MatNavList` instance. */
372
- MatNavListHarness.hostSelector = '.mat-mdc-nav-list';
373
- /** Harness for interacting with a MDC-based nav-list item. */
374
- class MatNavListItemHarness extends MatListItemHarnessBase {
375
- /**
376
- * Gets a `HarnessPredicate` that can be used to search for a nav list item with specific
377
- * attributes.
378
- * @param options Options for filtering which nav list item instances are considered a match.
379
- * @return a `HarnessPredicate` configured with the given options.
380
- */
381
- static with(options = {}) {
382
- return getListItemPredicate(this, options)
383
- .addOption('href', options.href, (harness, href) => __awaiter(this, void 0, void 0, function* () { return HarnessPredicate.stringMatches(harness.getHref(), href); }))
384
- .addOption('activated', options.activated, (harness, activated) => __awaiter(this, void 0, void 0, function* () { return (yield harness.isActivated()) === activated; }));
385
- }
386
- /** Gets the href for this nav list item. */
387
- getHref() {
388
- return __awaiter(this, void 0, void 0, function* () {
389
- return (yield this.host()).getAttribute('href');
390
- });
391
- }
392
- /** Clicks on the nav list item. */
393
- click() {
394
- return __awaiter(this, void 0, void 0, function* () {
395
- return (yield this.host()).click();
396
- });
397
- }
398
- /** Focuses the nav list item. */
399
- focus() {
400
- return __awaiter(this, void 0, void 0, function* () {
401
- return (yield this.host()).focus();
402
- });
403
- }
404
- /** Blurs the nav list item. */
405
- blur() {
406
- return __awaiter(this, void 0, void 0, function* () {
407
- return (yield this.host()).blur();
408
- });
409
- }
410
- /** Whether the nav list item is focused. */
411
- isFocused() {
412
- return __awaiter(this, void 0, void 0, function* () {
413
- return (yield this.host()).isFocused();
414
- });
415
- }
416
- /** Whether the list item is activated. Should only be used for nav list items. */
417
- isActivated() {
418
- return __awaiter(this, void 0, void 0, function* () {
419
- return (yield this.host()).hasClass('mdc-list-item--activated');
420
- });
421
- }
422
- }
423
- /** The selector for the host element of a `MatListItem` instance. */
424
- MatNavListItemHarness.hostSelector = `${MatNavListHarness.hostSelector} .mat-mdc-list-item`;
425
-
426
- /** Harness for interacting with a MDC_based selection-list in tests. */
427
- class MatSelectionListHarness extends MatListHarnessBase {
428
- constructor() {
429
- super(...arguments);
430
- this._itemHarness = MatListOptionHarness;
431
- }
432
- /**
433
- * Gets a `HarnessPredicate` that can be used to search for a selection list with specific
434
- * attributes.
435
- * @param options Options for filtering which selection list instances are considered a match.
436
- * @return a `HarnessPredicate` configured with the given options.
437
- */
438
- static with(options = {}) {
439
- return new HarnessPredicate(this, options);
440
- }
441
- /** Whether the selection list is disabled. */
442
- isDisabled() {
443
- return __awaiter(this, void 0, void 0, function* () {
444
- return (yield (yield this.host()).getAttribute('aria-disabled')) === 'true';
445
- });
446
- }
447
- /**
448
- * Selects all items matching any of the given filters.
449
- * @param filters Filters that specify which items should be selected.
450
- */
451
- selectItems(...filters) {
452
- return __awaiter(this, void 0, void 0, function* () {
453
- const items = yield this._getItems(filters);
454
- yield parallel(() => items.map(item => item.select()));
455
- });
456
- }
457
- /**
458
- * Deselects all items matching any of the given filters.
459
- * @param filters Filters that specify which items should be deselected.
460
- */
461
- deselectItems(...filters) {
462
- return __awaiter(this, void 0, void 0, function* () {
463
- const items = yield this._getItems(filters);
464
- yield parallel(() => items.map(item => item.deselect()));
465
- });
466
- }
467
- /** Gets all items matching the given list of filters. */
468
- _getItems(filters) {
469
- return __awaiter(this, void 0, void 0, function* () {
470
- if (!filters.length) {
471
- return this.getItems();
472
- }
473
- const matches = yield parallel(() => filters.map(filter => this.locatorForAll(MatListOptionHarness.with(filter))()));
474
- return matches.reduce((result, current) => [...result, ...current], []);
475
- });
476
- }
477
- }
478
- /** The selector for the host element of a `MatSelectionList` instance. */
479
- MatSelectionListHarness.hostSelector = '.mat-mdc-selection-list';
480
- /** Harness for interacting with a MDC-based list option. */
481
- class MatListOptionHarness extends MatListItemHarnessBase {
482
- constructor() {
483
- super(...arguments);
484
- this._beforeCheckbox = this.locatorForOptional('.mdc-list-item__start .mdc-checkbox');
485
- }
486
- /**
487
- * Gets a `HarnessPredicate` that can be used to search for a list option with specific
488
- * attributes.
489
- * @param options Options for filtering which list option instances are considered a match.
490
- * @return a `HarnessPredicate` configured with the given options.
491
- */
492
- static with(options = {}) {
493
- return getListItemPredicate(this, options).addOption('is selected', options.selected, (harness, selected) => __awaiter(this, void 0, void 0, function* () { return (yield harness.isSelected()) === selected; }));
494
- }
495
- /** Gets the position of the checkbox relative to the list option content. */
496
- getCheckboxPosition() {
497
- return __awaiter(this, void 0, void 0, function* () {
498
- return (yield this._beforeCheckbox()) !== null ? 'before' : 'after';
499
- });
500
- }
501
- /** Whether the list option is selected. */
502
- isSelected() {
503
- return __awaiter(this, void 0, void 0, function* () {
504
- return (yield (yield this.host()).getAttribute('aria-selected')) === 'true';
505
- });
506
- }
507
- /** Focuses the list option. */
508
- focus() {
509
- return __awaiter(this, void 0, void 0, function* () {
510
- return (yield this.host()).focus();
511
- });
512
- }
513
- /** Blurs the list option. */
514
- blur() {
515
- return __awaiter(this, void 0, void 0, function* () {
516
- return (yield this.host()).blur();
517
- });
518
- }
519
- /** Whether the list option is focused. */
520
- isFocused() {
521
- return __awaiter(this, void 0, void 0, function* () {
522
- return (yield this.host()).isFocused();
523
- });
524
- }
525
- /** Toggles the checked state of the checkbox. */
526
- toggle() {
527
- return __awaiter(this, void 0, void 0, function* () {
528
- return (yield this.host()).click();
529
- });
530
- }
531
- /**
532
- * Puts the list option in a checked state by toggling it if it is currently
533
- * unchecked, or doing nothing if it is already checked.
534
- */
535
- select() {
536
- return __awaiter(this, void 0, void 0, function* () {
537
- if (!(yield this.isSelected())) {
538
- return this.toggle();
539
- }
540
- });
541
- }
542
- /**
543
- * Puts the list option in an unchecked state by toggling it if it is currently
544
- * checked, or doing nothing if it is already unchecked.
545
- */
546
- deselect() {
547
- return __awaiter(this, void 0, void 0, function* () {
548
- if (yield this.isSelected()) {
549
- return this.toggle();
550
- }
551
- });
552
- }
553
- }
554
- /** The selector for the host element of a `MatListOption` instance. */
555
- MatListOptionHarness.hostSelector = '.mat-mdc-list-option';
556
-
557
- /**
558
- * @license
559
- * Copyright Google LLC All Rights Reserved.
560
- *
561
- * Use of this source code is governed by an MIT-style license that can be
562
- * found in the LICENSE file at https://angular.io/license
563
- */
564
-
565
- /**
566
- * @license
567
- * Copyright Google LLC All Rights Reserved.
568
- *
569
- * Use of this source code is governed by an MIT-style license that can be
570
- * found in the LICENSE file at https://angular.io/license
571
- */
572
-
573
- export { MatActionListHarness, MatActionListItemHarness, MatListHarness, MatListItemHarness, MatListOptionHarness, MatNavListHarness, MatNavListItemHarness, MatSelectionListHarness, MatSubheaderHarness };
574
- //# sourceMappingURL=testing.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-list/testing/list-item-harness-base.ts","../../../../../../../src/material-experimental/mdc-list/testing/list-harness-base.ts","../../../../../../../src/material-experimental/mdc-list/testing/action-list-harness.ts","../../../../../../../src/material-experimental/mdc-list/testing/list-harness.ts","../../../../../../../src/material-experimental/mdc-list/testing/nav-list-harness.ts","../../../../../../../src/material-experimental/mdc-list/testing/selection-list-harness.ts","../../../../../../../src/material-experimental/mdc-list/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-list/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 ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {BaseListItemHarnessFilters, SubheaderHarnessFilters} from './list-harness-filters';\n\nconst iconSelector = '.mat-mdc-list-item-icon';\nconst avatarSelector = '.mat-mdc-list-item-avatar';\n\n/**\n * Gets a `HarnessPredicate` that applies the given `BaseListItemHarnessFilters` to the given\n * list item harness.\n * @template H The type of list item harness to create a predicate for.\n * @param harnessType A constructor for a list item harness.\n * @param options An instance of `BaseListItemHarnessFilters` to apply.\n * @return A `HarnessPredicate` for the given harness type with the given options applied.\n */\nexport function getListItemPredicate<H extends MatListItemHarnessBase>(\n harnessType: ComponentHarnessConstructor<H>,\n options: BaseListItemHarnessFilters,\n): HarnessPredicate<H> {\n return new HarnessPredicate(harnessType, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('fullText', options.fullText, (harness, fullText) =>\n HarnessPredicate.stringMatches(harness.getFullText(), fullText),\n )\n .addOption('title', options.title, (harness, title) =>\n HarnessPredicate.stringMatches(harness.getTitle(), title),\n )\n .addOption('secondaryText', options.secondaryText, (harness, secondaryText) =>\n HarnessPredicate.stringMatches(harness.getSecondaryText(), secondaryText),\n )\n .addOption('tertiaryText', options.tertiaryText, (harness, tertiaryText) =>\n HarnessPredicate.stringMatches(harness.getTertiaryText(), tertiaryText),\n );\n}\n\n/** Harness for interacting with a MDC-based list subheader. */\nexport class MatSubheaderHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-subheader';\n\n static with(options: SubheaderHarnessFilters = {}): HarnessPredicate<MatSubheaderHarness> {\n return new HarnessPredicate(MatSubheaderHarness, options).addOption(\n 'text',\n options.text,\n (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n /** Gets the full text content of the list item (including text from any font icons). */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n\n/** Selectors for the various list item sections that may contain user content. */\nexport const enum MatListItemSection {\n CONTENT = '.mdc-list-item__content',\n}\n\n/** Enum describing the possible variants of a list item. */\nexport const enum MatListItemType {\n ONE_LINE_ITEM,\n TWO_LINE_ITEM,\n THREE_LINE_ITEM,\n}\n\n/**\n * Shared behavior among the harnesses for the various `MatListItem` flavors.\n * @docs-private\n */\nexport abstract class MatListItemHarnessBase extends ContentContainerComponentHarness<MatListItemSection> {\n private _lines = this.locatorForAll('.mat-mdc-list-item-line');\n private _primaryText = this.locatorFor('.mdc-list-item__primary-text');\n private _avatar = this.locatorForOptional('.mat-mdc-list-item-avatar');\n private _icon = this.locatorForOptional('.mat-mdc-list-item-icon');\n private _unscopedTextContent = this.locatorFor('.mat-mdc-list-item-unscoped-content');\n\n /** Gets the type of the list item, currently describing how many lines there are. */\n async getType(): Promise<MatListItemType> {\n const host = await this.host();\n const [isOneLine, isTwoLine] = await parallel(() => [\n host.hasClass('mdc-list-item--with-one-line'),\n host.hasClass('mdc-list-item--with-two-lines'),\n ]);\n if (isOneLine) {\n return MatListItemType.ONE_LINE_ITEM;\n } else if (isTwoLine) {\n return MatListItemType.TWO_LINE_ITEM;\n } else {\n return MatListItemType.THREE_LINE_ITEM;\n }\n }\n\n /**\n * Gets the full text content of the list item, excluding text\n * from icons and avatars.\n *\n * @deprecated Use the `getFullText` method instead.\n * @breaking-change 16.0.0\n */\n async getText(): Promise<string> {\n return this.getFullText();\n }\n\n /**\n * Gets the full text content of the list item, excluding text\n * from icons and avatars.\n */\n async getFullText(): Promise<string> {\n return (await this.host()).text({exclude: `${iconSelector}, ${avatarSelector}`});\n }\n\n /** Gets the title of the list item. */\n async getTitle(): Promise<string> {\n return (await this._primaryText()).text();\n }\n\n /** Whether the list item is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--disabled');\n }\n\n /**\n * Gets the secondary line text of the list item. Null if the list item\n * does not have a secondary line.\n */\n async getSecondaryText(): Promise<string | null> {\n const type = await this.getType();\n if (type === MatListItemType.ONE_LINE_ITEM) {\n return null;\n }\n\n const [lines, unscopedTextContent] = await parallel(() => [\n this._lines(),\n this._unscopedTextContent(),\n ]);\n\n // If there is no explicit line for the secondary text, the unscoped text content\n // is rendered as the secondary text (with potential text wrapping enabled).\n if (lines.length >= 1) {\n return lines[0].text();\n } else {\n return unscopedTextContent.text();\n }\n }\n\n /**\n * Gets the tertiary line text of the list item. Null if the list item\n * does not have a tertiary line.\n */\n async getTertiaryText(): Promise<string | null> {\n const type = await this.getType();\n if (type !== MatListItemType.THREE_LINE_ITEM) {\n return null;\n }\n\n const [lines, unscopedTextContent] = await parallel(() => [\n this._lines(),\n this._unscopedTextContent(),\n ]);\n\n // First we check if there is an explicit line for the tertiary text. If so, we return it.\n // If there is at least an explicit secondary line though, then we know that the unscoped\n // text content corresponds to the tertiary line. If there are no explicit lines at all,\n // we know that the unscoped text content from the secondary text just wraps into the third\n // line, but there *no* actual dedicated tertiary text.\n if (lines.length === 2) {\n return lines[1].text();\n } else if (lines.length === 1) {\n return unscopedTextContent.text();\n }\n return null;\n }\n\n /** Whether this list item has an avatar. */\n async hasAvatar(): Promise<boolean> {\n return !!(await this._avatar());\n }\n\n /** Whether this list item has an icon. */\n async hasIcon(): Promise<boolean> {\n return !!(await this._icon());\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 {DividerHarnessFilters, MatDividerHarness} from '@angular/material/divider/testing';\nimport {BaseListItemHarnessFilters, SubheaderHarnessFilters} from './list-harness-filters';\nimport {MatSubheaderHarness} from './list-item-harness-base';\n\n/** Represents a section of a list falling under a specific header. */\nexport interface ListSection<I> {\n /** The heading for this list section. `undefined` if there is no heading. */\n heading?: string;\n\n /** The items in this list section. */\n items: I[];\n}\n\n/**\n * Shared behavior among the harnesses for the various `MatList` flavors.\n * @template T A constructor type for a list item harness type used by this list harness.\n * @template C The list item harness type that `T` constructs.\n * @template F The filter type used filter list item harness of type `C`.\n * @docs-private\n */\nexport abstract class MatListHarnessBase<\n T extends ComponentHarnessConstructor<C> & {with: (options?: F) => HarnessPredicate<C>},\n C extends ComponentHarness,\n F extends BaseListItemHarnessFilters,\n> extends ComponentHarness {\n protected _itemHarness: T;\n\n /**\n * Gets a list of harnesses representing the items in this list.\n * @param filters Optional filters used to narrow which harnesses are included\n * @return The list of items matching the given filters.\n */\n async getItems(filters?: F): Promise<C[]> {\n return this.locatorForAll(this._itemHarness.with(filters))();\n }\n\n /**\n * Gets a list of `ListSection` representing the list items grouped by subheaders. If the list has\n * no subheaders it is represented as a single `ListSection` with an undefined `heading` property.\n * @param filters Optional filters used to narrow which list item harnesses are included\n * @return The list of items matching the given filters, grouped into sections by subheader.\n */\n async getItemsGroupedBySubheader(filters?: F): Promise<ListSection<C>[]> {\n type Section = {items: C[]; heading?: Promise<string>};\n const listSections: Section[] = [];\n let currentSection: Section = {items: []};\n const itemsAndSubheaders = await this.getItemsWithSubheadersAndDividers({\n item: filters,\n divider: false,\n });\n\n for (const itemOrSubheader of itemsAndSubheaders) {\n if (itemOrSubheader instanceof MatSubheaderHarness) {\n if (currentSection.heading !== undefined || currentSection.items.length) {\n listSections.push(currentSection);\n }\n currentSection = {heading: itemOrSubheader.getText(), items: []};\n } else {\n currentSection.items.push(itemOrSubheader);\n }\n }\n if (\n currentSection.heading !== undefined ||\n currentSection.items.length ||\n !listSections.length\n ) {\n listSections.push(currentSection);\n }\n\n // Concurrently wait for all sections to resolve their heading if present.\n return parallel(() =>\n listSections.map(async s => ({items: s.items, heading: await s.heading})),\n );\n }\n\n /**\n * Gets a list of sub-lists representing the list items grouped by dividers. If the list has no\n * dividers it is represented as a list with a single sub-list.\n * @param filters Optional filters used to narrow which list item harnesses are included\n * @return The list of items matching the given filters, grouped into sub-lists by divider.\n */\n async getItemsGroupedByDividers(filters?: F): Promise<C[][]> {\n const listSections: C[][] = [[]];\n const itemsAndDividers = await this.getItemsWithSubheadersAndDividers({\n item: filters,\n subheader: false,\n });\n for (const itemOrDivider of itemsAndDividers) {\n if (itemOrDivider instanceof MatDividerHarness) {\n listSections.push([]);\n } else {\n listSections[listSections.length - 1].push(itemOrDivider);\n }\n }\n return listSections;\n }\n\n /**\n * Gets a list of harnesses representing all of the items, subheaders, and dividers\n * (in the order they appear in the list). Use `instanceof` to check which type of harness a given\n * item is.\n * @param filters Optional filters used to narrow which list items, subheaders, and dividers are\n * included. A value of `false` for the `item`, `subheader`, or `divider` properties indicates\n * that the respective harness type should be omitted completely.\n * @return The list of harnesses representing the items, subheaders, and dividers matching the\n * given filters.\n */\n getItemsWithSubheadersAndDividers(filters: {\n item: false;\n subheader: false;\n divider: false;\n }): Promise<[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item?: F | false;\n subheader: false;\n divider: false;\n }): Promise<C[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item: false;\n subheader?: SubheaderHarnessFilters | false;\n divider: false;\n }): Promise<MatSubheaderHarness[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item: false;\n subheader: false;\n divider?: DividerHarnessFilters | false;\n }): Promise<MatDividerHarness[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item?: F | false;\n subheader?: SubheaderHarnessFilters | false;\n divider: false;\n }): Promise<(C | MatSubheaderHarness)[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item?: F | false;\n subheader: false;\n divider?: false | DividerHarnessFilters;\n }): Promise<(C | MatDividerHarness)[]>;\n getItemsWithSubheadersAndDividers(filters: {\n item: false;\n subheader?: false | SubheaderHarnessFilters;\n divider?: false | DividerHarnessFilters;\n }): Promise<(MatSubheaderHarness | MatDividerHarness)[]>;\n getItemsWithSubheadersAndDividers(filters?: {\n item?: F | false;\n subheader?: SubheaderHarnessFilters | false;\n divider?: DividerHarnessFilters | false;\n }): Promise<(C | MatSubheaderHarness | MatDividerHarness)[]>;\n async getItemsWithSubheadersAndDividers(\n filters: {\n item?: F | false;\n subheader?: SubheaderHarnessFilters | false;\n divider?: DividerHarnessFilters | false;\n } = {},\n ): Promise<(C | MatSubheaderHarness | MatDividerHarness)[]> {\n const query = [];\n if (filters.item !== false) {\n query.push(this._itemHarness.with(filters.item || ({} as F)));\n }\n if (filters.subheader !== false) {\n query.push(MatSubheaderHarness.with(filters.subheader));\n }\n if (filters.divider !== false) {\n query.push(MatDividerHarness.with(filters.divider));\n }\n return this.locatorForAll(...query)();\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 {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatListHarnessBase} from './list-harness-base';\nimport {ActionListHarnessFilters, ActionListItemHarnessFilters} from './list-harness-filters';\nimport {getListItemPredicate, MatListItemHarnessBase} from './list-item-harness-base';\n\n/** Harness for interacting with a MDC-based action-list in tests. */\nexport class MatActionListHarness extends MatListHarnessBase<\n typeof MatActionListItemHarness,\n MatActionListItemHarness,\n ActionListItemHarnessFilters\n> {\n /** The selector for the host element of a `MatActionList` instance. */\n static hostSelector = '.mat-mdc-action-list';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an action list with specific\n * attributes.\n * @param options Options for filtering which action list instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatActionListHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ActionListHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n override _itemHarness = MatActionListItemHarness;\n}\n\n/** Harness for interacting with an action list item. */\nexport class MatActionListItemHarness extends MatListItemHarnessBase {\n /** The selector for the host element of a `MatListItem` instance. */\n static hostSelector = `${MatActionListHarness.hostSelector} .mat-mdc-list-item`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a list item with specific\n * attributes.\n * @param options Options for filtering which action list item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatActionListItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ActionListItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return getListItemPredicate(this, options);\n }\n\n /** Clicks on the action list item. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Focuses the action list item. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the action list item. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the action list item is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatListHarnessBase} from './list-harness-base';\nimport {ListHarnessFilters, ListItemHarnessFilters} from './list-harness-filters';\nimport {getListItemPredicate, MatListItemHarnessBase} from './list-item-harness-base';\n\n/** Harness for interacting with a MDC-based list in tests. */\nexport class MatListHarness extends MatListHarnessBase<\n typeof MatListItemHarness,\n MatListItemHarness,\n ListItemHarnessFilters\n> {\n /** The selector for the host element of a `MatList` instance. */\n static hostSelector = '.mat-mdc-list';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a list with specific attributes.\n * @param options Options for filtering which list instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatListHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ListHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n override _itemHarness = MatListItemHarness;\n}\n\n/** Harness for interacting with a list item. */\nexport class MatListItemHarness extends MatListItemHarnessBase {\n /** The selector for the host element of a `MatListItem` instance. */\n static hostSelector = `${MatListHarness.hostSelector} .mat-mdc-list-item`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a list item with specific attributes.\n * @param options Options for filtering which list item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatListItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ListItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return getListItemPredicate(this, 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 {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatListHarnessBase} from './list-harness-base';\nimport {NavListHarnessFilters, NavListItemHarnessFilters} from './list-harness-filters';\nimport {getListItemPredicate, MatListItemHarnessBase} from './list-item-harness-base';\n\n/** Harness for interacting with a MDC-based mat-nav-list in tests. */\nexport class MatNavListHarness extends MatListHarnessBase<\n typeof MatNavListItemHarness,\n MatNavListItemHarness,\n NavListItemHarnessFilters\n> {\n /** The selector for the host element of a `MatNavList` instance. */\n static hostSelector = '.mat-mdc-nav-list';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a nav list with specific\n * attributes.\n * @param options Options for filtering which nav list instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatNavListHarness>(\n this: ComponentHarnessConstructor<T>,\n options: NavListHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n override _itemHarness = MatNavListItemHarness;\n}\n\n/** Harness for interacting with a MDC-based nav-list item. */\nexport class MatNavListItemHarness extends MatListItemHarnessBase {\n /** The selector for the host element of a `MatListItem` instance. */\n static hostSelector = `${MatNavListHarness.hostSelector} .mat-mdc-list-item`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a nav list item with specific\n * attributes.\n * @param options Options for filtering which nav list item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatNavListItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: NavListItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return getListItemPredicate(this, options)\n .addOption('href', options.href, async (harness, href) =>\n HarnessPredicate.stringMatches(harness.getHref(), href),\n )\n .addOption(\n 'activated',\n options.activated,\n async (harness, activated) => (await harness.isActivated()) === activated,\n );\n }\n\n /** Gets the href for this nav list item. */\n async getHref(): Promise<string | null> {\n return (await this.host()).getAttribute('href');\n }\n\n /** Clicks on the nav list item. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Focuses the nav list item. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the nav list item. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the nav list item is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Whether the list item is activated. Should only be used for nav list items. */\n async isActivated(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--activated');\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 {ComponentHarnessConstructor, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatListOptionCheckboxPosition} from '@angular/material-experimental/mdc-list';\nimport {MatListHarnessBase} from './list-harness-base';\nimport {\n ListItemHarnessFilters,\n ListOptionHarnessFilters,\n SelectionListHarnessFilters,\n} from './list-harness-filters';\nimport {getListItemPredicate, MatListItemHarnessBase} from './list-item-harness-base';\n\n/** Harness for interacting with a MDC_based selection-list in tests. */\nexport class MatSelectionListHarness extends MatListHarnessBase<\n typeof MatListOptionHarness,\n MatListOptionHarness,\n ListOptionHarnessFilters\n> {\n /** The selector for the host element of a `MatSelectionList` instance. */\n static hostSelector = '.mat-mdc-selection-list';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a selection list with specific\n * attributes.\n * @param options Options for filtering which selection list instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatSelectionListHarness>(\n this: ComponentHarnessConstructor<T>,\n options: SelectionListHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n override _itemHarness = MatListOptionHarness;\n\n /** Whether the selection list is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /**\n * Selects all items matching any of the given filters.\n * @param filters Filters that specify which items should be selected.\n */\n async selectItems(...filters: ListOptionHarnessFilters[]): Promise<void> {\n const items = await this._getItems(filters);\n await parallel(() => items.map(item => item.select()));\n }\n\n /**\n * Deselects all items matching any of the given filters.\n * @param filters Filters that specify which items should be deselected.\n */\n async deselectItems(...filters: ListItemHarnessFilters[]): Promise<void> {\n const items = await this._getItems(filters);\n await parallel(() => items.map(item => item.deselect()));\n }\n\n /** Gets all items matching the given list of filters. */\n private async _getItems(filters: ListOptionHarnessFilters[]): Promise<MatListOptionHarness[]> {\n if (!filters.length) {\n return this.getItems();\n }\n const matches = await parallel(() =>\n filters.map(filter => this.locatorForAll(MatListOptionHarness.with(filter))()),\n );\n return matches.reduce((result, current) => [...result, ...current], []);\n }\n}\n\n/** Harness for interacting with a MDC-based list option. */\nexport class MatListOptionHarness extends MatListItemHarnessBase {\n /** The selector for the host element of a `MatListOption` instance. */\n static hostSelector = '.mat-mdc-list-option';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a list option with specific\n * attributes.\n * @param options Options for filtering which list option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatListOptionHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ListOptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return getListItemPredicate(this, options).addOption(\n 'is selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) === selected,\n );\n }\n\n private _beforeCheckbox = this.locatorForOptional('.mdc-list-item__start .mdc-checkbox');\n\n /** Gets the position of the checkbox relative to the list option content. */\n async getCheckboxPosition(): Promise<MatListOptionCheckboxPosition> {\n return (await this._beforeCheckbox()) !== null ? 'before' : 'after';\n }\n\n /** Whether the list option is selected. */\n async isSelected(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-selected')) === 'true';\n }\n\n /** Focuses the list option. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the list option. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the list option is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Toggles the checked state of the checkbox. */\n async toggle() {\n return (await this.host()).click();\n }\n\n /**\n * Puts the list option in a checked state by toggling it if it is currently\n * unchecked, or doing nothing if it is already checked.\n */\n async select() {\n if (!(await this.isSelected())) {\n return this.toggle();\n }\n }\n\n /**\n * Puts the list option in an unchecked state by toggling it if it is currently\n * checked, or doing nothing if it is already unchecked.\n */\n async deselect() {\n if (await this.isSelected()) {\n return this.toggle();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './action-list-harness';\nexport * from './list-harness';\nexport * from './list-harness-filters';\nexport * from './nav-list-harness';\nexport * from './selection-list-harness';\nexport {MatListItemSection, MatSubheaderHarness, MatListItemType} from './list-item-harness-base';\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":";;;;AAiBA,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAC/C,MAAM,cAAc,GAAG,2BAA2B,CAAC;AAEnD;;;;;;;AAOG;AACa,SAAA,oBAAoB,CAClC,WAA2C,EAC3C,OAAmC,EAAA;AAEnC,IAAA,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC;SAC9C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAC7C,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CACxD;SACA,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KACzD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAChE;SACA,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAChD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAC1D;SACA,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,KACxE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,aAAa,CAAC,CAC1E;SACA,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,YAAY,KACrE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,YAAY,CAAC,CACxE,CAAC;AACN,CAAC;AAED;AACM,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;AAGvD,IAAA,OAAO,IAAI,CAAC,OAAA,GAAmC,EAAE,EAAA;AAC/C,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,CACjE,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAC3E,CAAC;KACH;;IAGK,OAAO,GAAA;;YACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;;AAbM,mBAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;AA4B7C;;;AAGG;AACG,MAAgB,sBAAuB,SAAQ,gCAAoD,CAAA;AAAzG,IAAA,WAAA,GAAA;;QACU,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QAC/D,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC/D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;KA4GvF;;IAzGO,OAAO,GAAA;;AACX,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM;AAClD,gBAAA,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC;AAC7C,gBAAA,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC;AAC/C,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,SAAS,EAAE;gBACb,OAAqC,CAAA,qCAAA;AACtC,aAAA;AAAM,iBAAA,IAAI,SAAS,EAAE;gBACpB,OAAqC,CAAA,qCAAA;AACtC,aAAA;AAAM,iBAAA;gBACL,OAAuC,CAAA,uCAAA;AACxC,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;;;;AAMG;IACG,OAAO,GAAA;;AACX,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;SAC3B,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,WAAW,GAAA;;YACf,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAC,OAAO,EAAE,GAAG,YAAY,CAAA,EAAA,EAAK,cAAc,CAAE,CAAA,EAAC,CAAC,CAAC;SAClF,CAAA,CAAA;AAAA,KAAA;;IAGK,QAAQ,GAAA;;YACZ,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;SAC3C,CAAA,CAAA;AAAA,KAAA;;IAGK,UAAU,GAAA;;AACd,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAChE,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,gBAAgB,GAAA;;AACpB,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AAClC,YAAA,IAAI,IAAI,4CAAoC;AAC1C,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;YAED,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM;gBACxD,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,oBAAoB,EAAE;AAC5B,aAAA,CAAC,CAAC;;;AAIH,YAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACrB,gBAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxB,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,mBAAmB,CAAC,IAAI,EAAE,CAAC;AACnC,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,eAAe,GAAA;;AACnB,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AAClC,YAAA,IAAI,IAAI,8CAAsC;AAC5C,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;YAED,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM;gBACxD,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,oBAAoB,EAAE;AAC5B,aAAA,CAAC,CAAC;;;;;;AAOH,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,gBAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxB,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,gBAAA,OAAO,mBAAmB,CAAC,IAAI,EAAE,CAAC;AACnC,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;SACb,CAAA,CAAA;AAAA,KAAA;;IAGK,SAAS,GAAA;;YACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACjC,CAAA,CAAA;AAAA,KAAA;;IAGK,OAAO,GAAA;;YACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SAC/B,CAAA,CAAA;AAAA,KAAA;AACF;;AC1KD;;;;;;AAMG;AACG,MAAgB,kBAIpB,SAAQ,gBAAgB,CAAA;AAGxB;;;;AAIG;AACG,IAAA,QAAQ,CAAC,OAAW,EAAA;;AACxB,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;AACG,IAAA,0BAA0B,CAAC,OAAW,EAAA;;YAE1C,MAAM,YAAY,GAAc,EAAE,CAAC;AACnC,YAAA,IAAI,cAAc,GAAY,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;AAC1C,YAAA,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC;AACtE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,OAAO,EAAE,KAAK;AACf,aAAA,CAAC,CAAC;AAEH,YAAA,KAAK,MAAM,eAAe,IAAI,kBAAkB,EAAE;gBAChD,IAAI,eAAe,YAAY,mBAAmB,EAAE;oBAClD,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE;AACvE,wBAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACnC,qBAAA;AACD,oBAAA,cAAc,GAAG,EAAC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;AAClE,iBAAA;AAAM,qBAAA;AACL,oBAAA,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC5C,iBAAA;AACF,aAAA;AACD,YAAA,IACE,cAAc,CAAC,OAAO,KAAK,SAAS;gBACpC,cAAc,CAAC,KAAK,CAAC,MAAM;gBAC3B,CAAC,YAAY,CAAC,MAAM,EACpB;AACA,gBAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACnC,aAAA;;AAGD,YAAA,OAAO,QAAQ,CAAC,MACd,YAAY,CAAC,GAAG,CAAC,CAAM,CAAC,KAAG,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,QAAC,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,EAAC,EAAC,EAAA,CAAA,CAAC,CAC1E,CAAC;SACH,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;AACG,IAAA,yBAAyB,CAAC,OAAW,EAAA;;AACzC,YAAA,MAAM,YAAY,GAAU,CAAC,EAAE,CAAC,CAAC;AACjC,YAAA,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC;AACpE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA,CAAC,CAAC;AACH,YAAA,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE;gBAC5C,IAAI,aAAa,YAAY,iBAAiB,EAAE;AAC9C,oBAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAM,qBAAA;AACL,oBAAA,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC3D,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,YAAY,CAAC;SACrB,CAAA,CAAA;AAAA,KAAA;IAoDK,iCAAiC,CACrC,OAAA,GAII,EAAE,EAAA;;YAEN,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,YAAA,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;AAC1B,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAK,EAAQ,CAAC,CAAC,CAAC;AAC/D,aAAA;AACD,YAAA,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AAC/B,gBAAA,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,aAAA;AACD,YAAA,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;AAC7B,gBAAA,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,aAAA;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;SACvC,CAAA,CAAA;AAAA,KAAA;AACF;;ACvKD;AACM,MAAO,oBAAqB,SAAQ,kBAIzC,CAAA;AAJD,IAAA,WAAA,GAAA;;AAqBW,QAAA,IAAY,CAAA,YAAA,GAAG,wBAAwB,CAAC;KAClD;AAdC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAoC,EAAE,EAAA;AAEtC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;AAdD;AACO,oBAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC;AAkB/C;AACM,MAAO,wBAAyB,SAAQ,sBAAsB,CAAA;AAIlE;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAwC,EAAE,EAAA;AAE1C,QAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,IAAI,GAAA;;YACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;;IAGK,SAAS,GAAA;;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;;AAlCD;AACO,wBAAA,CAAA,YAAY,GAAG,CAAA,EAAG,oBAAoB,CAAC,YAAY,qBAAqB;;ACzCjF;;;;;;AAMG;AAOH;AACM,MAAO,cAAe,SAAQ,kBAInC,CAAA;AAJD,IAAA,WAAA,GAAA;;AAoBW,QAAA,IAAY,CAAA,YAAA,GAAG,kBAAkB,CAAC;KAC5C;AAbC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAA8B,EAAE,EAAA;AAEhC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;AAbD;AACO,cAAY,CAAA,YAAA,GAAG,eAAe,CAAC;AAiBxC;AACM,MAAO,kBAAmB,SAAQ,sBAAsB,CAAA;AAI5D;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAkC,EAAE,EAAA;AAEpC,QAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;AAbD;AACO,kBAAA,CAAA,YAAY,GAAG,CAAA,EAAG,cAAc,CAAC,YAAY,qBAAqB;;AC3B3E;AACM,MAAO,iBAAkB,SAAQ,kBAItC,CAAA;AAJD,IAAA,WAAA,GAAA;;AAqBW,QAAA,IAAY,CAAA,YAAA,GAAG,qBAAqB,CAAC;KAC/C;AAdC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAiC,EAAE,EAAA;AAEnC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;AAdD;AACO,iBAAY,CAAA,YAAA,GAAG,mBAAmB,CAAC;AAkB5C;AACM,MAAO,qBAAsB,SAAQ,sBAAsB,CAAA;AAI/D;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAqC,EAAE,EAAA;AAEvC,QAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,aAAA,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAO,OAAO,EAAE,IAAI,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EACvD,OAAA,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA,EAAA,CAAA,CACxD;aACA,SAAS,CACR,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,CAAO,OAAO,EAAE,SAAS,KAAK,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAA,OAAA,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,SAAS,CAAA,EAAA,CAAA,CAC1E,CAAC;KACL;;IAGK,OAAO,GAAA;;AACX,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;SACjD,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,IAAI,GAAA;;YACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;;IAGK,SAAS,GAAA;;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;;IAGK,WAAW,GAAA;;AACf,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;SACjE,CAAA,CAAA;AAAA,KAAA;;AApDD;AACO,qBAAA,CAAA,YAAY,GAAG,CAAA,EAAG,iBAAiB,CAAC,YAAY,qBAAqB;;ACvB9E;AACM,MAAO,uBAAwB,SAAQ,kBAI5C,CAAA;AAJD,IAAA,WAAA,GAAA;;AAqBW,QAAA,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;KAmC9C;AAhDC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAuC,EAAE,EAAA;AAEzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;IAKK,UAAU,GAAA;;AACd,YAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,CAAC;SAC7E,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,WAAW,CAAC,GAAG,OAAmC,EAAA;;YACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5C,YAAA,MAAM,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACxD,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,aAAa,CAAC,GAAG,OAAiC,EAAA;;YACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5C,YAAA,MAAM,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC1D,CAAA,CAAA;AAAA,KAAA;;AAGa,IAAA,SAAS,CAAC,OAAmC,EAAA;;AACzD,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACnB,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxB,aAAA;AACD,YAAA,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;YACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;SACzE,CAAA,CAAA;AAAA,KAAA;;AAlDD;AACO,uBAAY,CAAA,YAAA,GAAG,yBAAyB,CAAC;AAoDlD;AACM,MAAO,oBAAqB,SAAQ,sBAAsB,CAAA;AAAhE,IAAA,WAAA,GAAA;;QAqBU,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;KAmD1F;AApEC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAoC,EAAE,EAAA;AAEtC,QAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,aAAa,EACb,OAAO,CAAC,QAAQ,EAChB,CAAO,OAAO,EAAE,QAAQ,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,OAAA,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,QAAQ,CAAA,EAAA,CAAA,CACvE,CAAC;KACH;;IAKK,mBAAmB,GAAA;;AACvB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;SACrE,CAAA,CAAA;AAAA,KAAA;;IAGK,UAAU,GAAA;;AACd,YAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,CAAC;SAC7E,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,IAAI,GAAA;;YACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;;IAGK,SAAS,GAAA;;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;;IAGK,MAAM,GAAA;;YACV,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,MAAM,GAAA;;YACV,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE;AAC9B,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACtB,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;IACG,QAAQ,GAAA;;AACZ,YAAA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACtB,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;;AAtED;AACO,oBAAY,CAAA,YAAA,GAAG,sBAAsB;;AChF9C;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}