@angular/material-experimental 14.2.1 → 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 (590) hide show
  1. package/_index.scss +0 -69
  2. package/esm2020/selection/selection-column.mjs +11 -11
  3. package/esm2020/selection/selection-module.mjs +5 -5
  4. package/esm2020/version.mjs +1 -1
  5. package/fesm2015/material-experimental.mjs +1 -1
  6. package/fesm2015/material-experimental.mjs.map +1 -1
  7. package/fesm2015/selection.mjs +13 -13
  8. package/fesm2015/selection.mjs.map +1 -1
  9. package/fesm2020/material-experimental.mjs +1 -1
  10. package/fesm2020/material-experimental.mjs.map +1 -1
  11. package/fesm2020/selection.mjs +13 -13
  12. package/fesm2020/selection.mjs.map +1 -1
  13. package/package.json +55 -422
  14. package/selection/index.d.ts +4 -4
  15. package/esm2020/mdc-autocomplete/animations.mjs +0 -25
  16. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +0 -26
  17. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +0 -54
  18. package/esm2020/mdc-autocomplete/autocomplete.mjs +0 -35
  19. package/esm2020/mdc-autocomplete/index.mjs +0 -9
  20. package/esm2020/mdc-autocomplete/mdc-autocomplete_public_index.mjs +0 -5
  21. package/esm2020/mdc-autocomplete/module.mjs +0 -46
  22. package/esm2020/mdc-autocomplete/public-api.mjs +0 -14
  23. package/esm2020/mdc-autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  24. package/esm2020/mdc-autocomplete/testing/autocomplete-harness.mjs +0 -31
  25. package/esm2020/mdc-autocomplete/testing/index.mjs +0 -9
  26. package/esm2020/mdc-autocomplete/testing/public-api.mjs +0 -10
  27. package/esm2020/mdc-button/button-base.mjs +0 -152
  28. package/esm2020/mdc-button/button.mjs +0 -69
  29. package/esm2020/mdc-button/fab.mjs +0 -175
  30. package/esm2020/mdc-button/icon-button.mjs +0 -57
  31. package/esm2020/mdc-button/index.mjs +0 -9
  32. package/esm2020/mdc-button/mdc-button_public_index.mjs +0 -5
  33. package/esm2020/mdc-button/module.mjs +0 -61
  34. package/esm2020/mdc-button/public-api.mjs +0 -12
  35. package/esm2020/mdc-button/testing/button-harness.mjs +0 -50
  36. package/esm2020/mdc-button/testing/index.mjs +0 -9
  37. package/esm2020/mdc-button/testing/public-api.mjs +0 -9
  38. package/esm2020/mdc-card/card.mjs +0 -261
  39. package/esm2020/mdc-card/index.mjs +0 -9
  40. package/esm2020/mdc-card/mdc-card_public_index.mjs +0 -5
  41. package/esm2020/mdc-card/module.mjs +0 -68
  42. package/esm2020/mdc-card/public-api.mjs +0 -10
  43. package/esm2020/mdc-card/testing/card-harness-filters.mjs +0 -9
  44. package/esm2020/mdc-card/testing/card-harness.mjs +0 -42
  45. package/esm2020/mdc-card/testing/index.mjs +0 -9
  46. package/esm2020/mdc-card/testing/public-api.mjs +0 -10
  47. package/esm2020/mdc-checkbox/checkbox.mjs +0 -93
  48. package/esm2020/mdc-checkbox/index.mjs +0 -9
  49. package/esm2020/mdc-checkbox/mdc-checkbox_public_index.mjs +0 -5
  50. package/esm2020/mdc-checkbox/module.mjs +0 -26
  51. package/esm2020/mdc-checkbox/public-api.mjs +0 -11
  52. package/esm2020/mdc-checkbox/testing/checkbox-harness.mjs +0 -41
  53. package/esm2020/mdc-checkbox/testing/index.mjs +0 -9
  54. package/esm2020/mdc-checkbox/testing/public-api.mjs +0 -9
  55. package/esm2020/mdc-chips/chip-action.mjs +0 -90
  56. package/esm2020/mdc-chips/chip-edit-input.mjs +0 -60
  57. package/esm2020/mdc-chips/chip-grid.mjs +0 -407
  58. package/esm2020/mdc-chips/chip-icons.mjs +0 -110
  59. package/esm2020/mdc-chips/chip-input.mjs +0 -212
  60. package/esm2020/mdc-chips/chip-listbox.mjs +0 -332
  61. package/esm2020/mdc-chips/chip-option.mjs +0 -160
  62. package/esm2020/mdc-chips/chip-row.mjs +0 -176
  63. package/esm2020/mdc-chips/chip-set.mjs +0 -271
  64. package/esm2020/mdc-chips/chip-text-control.mjs +0 -9
  65. package/esm2020/mdc-chips/chip.mjs +0 -287
  66. package/esm2020/mdc-chips/index.mjs +0 -9
  67. package/esm2020/mdc-chips/mdc-chips_public_index.mjs +0 -5
  68. package/esm2020/mdc-chips/module.mjs +0 -87
  69. package/esm2020/mdc-chips/public-api.mjs +0 -20
  70. package/esm2020/mdc-chips/testing/chip-avatar-harness.mjs +0 -22
  71. package/esm2020/mdc-chips/testing/chip-grid-harness.mjs +0 -43
  72. package/esm2020/mdc-chips/testing/chip-harness-filters.mjs +0 -9
  73. package/esm2020/mdc-chips/testing/chip-harness.mjs +0 -58
  74. package/esm2020/mdc-chips/testing/chip-input-harness.mjs +0 -82
  75. package/esm2020/mdc-chips/testing/chip-listbox-harness.mjs +0 -59
  76. package/esm2020/mdc-chips/testing/chip-option-harness.mjs +0 -45
  77. package/esm2020/mdc-chips/testing/chip-remove-harness.mjs +0 -26
  78. package/esm2020/mdc-chips/testing/chip-row-harness.mjs +0 -22
  79. package/esm2020/mdc-chips/testing/chip-set-harness.mjs +0 -26
  80. package/esm2020/mdc-chips/testing/index.mjs +0 -9
  81. package/esm2020/mdc-chips/testing/public-api.mjs +0 -18
  82. package/esm2020/mdc-chips/tokens.mjs +0 -33
  83. package/esm2020/mdc-core/index.mjs +0 -9
  84. package/esm2020/mdc-core/mdc-core_public_index.mjs +0 -5
  85. package/esm2020/mdc-core/option/index.mjs +0 -30
  86. package/esm2020/mdc-core/option/optgroup.mjs +0 -46
  87. package/esm2020/mdc-core/option/option.mjs +0 -52
  88. package/esm2020/mdc-core/public-api.mjs +0 -10
  89. package/esm2020/mdc-core/testing/index.mjs +0 -9
  90. package/esm2020/mdc-core/testing/optgroup-harness-filters.mjs +0 -9
  91. package/esm2020/mdc-core/testing/optgroup-harness.mjs +0 -43
  92. package/esm2020/mdc-core/testing/option-harness-filters.mjs +0 -9
  93. package/esm2020/mdc-core/testing/option-harness.mjs +0 -53
  94. package/esm2020/mdc-core/testing/public-api.mjs +0 -12
  95. package/esm2020/mdc-dialog/dialog-container.mjs +0 -171
  96. package/esm2020/mdc-dialog/dialog-content-directives.mjs +0 -179
  97. package/esm2020/mdc-dialog/dialog-ref.mjs +0 -14
  98. package/esm2020/mdc-dialog/dialog.mjs +0 -82
  99. package/esm2020/mdc-dialog/index.mjs +0 -9
  100. package/esm2020/mdc-dialog/mdc-dialog_public_index.mjs +0 -5
  101. package/esm2020/mdc-dialog/module.mjs +0 -53
  102. package/esm2020/mdc-dialog/public-api.mjs +0 -14
  103. package/esm2020/mdc-dialog/testing/dialog-harness.mjs +0 -29
  104. package/esm2020/mdc-dialog/testing/dialog-opener.mjs +0 -45
  105. package/esm2020/mdc-dialog/testing/index.mjs +0 -9
  106. package/esm2020/mdc-dialog/testing/public-api.mjs +0 -10
  107. package/esm2020/mdc-form-field/directives/error.mjs +0 -47
  108. package/esm2020/mdc-form-field/directives/floating-label.mjs +0 -73
  109. package/esm2020/mdc-form-field/directives/hint.mjs +0 -39
  110. package/esm2020/mdc-form-field/directives/label.mjs +0 -21
  111. package/esm2020/mdc-form-field/directives/line-ripple.mjs +0 -59
  112. package/esm2020/mdc-form-field/directives/notched-outline.mjs +0 -68
  113. package/esm2020/mdc-form-field/directives/prefix.mjs +0 -32
  114. package/esm2020/mdc-form-field/directives/suffix.mjs +0 -32
  115. package/esm2020/mdc-form-field/form-field.mjs +0 -608
  116. package/esm2020/mdc-form-field/index.mjs +0 -9
  117. package/esm2020/mdc-form-field/mdc-form-field_public_index.mjs +0 -5
  118. package/esm2020/mdc-form-field/module.mjs +0 -53
  119. package/esm2020/mdc-form-field/public-api.mjs +0 -16
  120. package/esm2020/mdc-form-field/testing/form-field-harness.mjs +0 -58
  121. package/esm2020/mdc-form-field/testing/index.mjs +0 -9
  122. package/esm2020/mdc-form-field/testing/public-api.mjs +0 -13
  123. package/esm2020/mdc-input/index.mjs +0 -9
  124. package/esm2020/mdc-input/input.mjs +0 -55
  125. package/esm2020/mdc-input/mdc-input_public_index.mjs +0 -5
  126. package/esm2020/mdc-input/module.mjs +0 -27
  127. package/esm2020/mdc-input/public-api.mjs +0 -11
  128. package/esm2020/mdc-input/testing/index.mjs +0 -9
  129. package/esm2020/mdc-input/testing/public-api.mjs +0 -9
  130. package/esm2020/mdc-list/action-list.mjs +0 -31
  131. package/esm2020/mdc-list/index.mjs +0 -9
  132. package/esm2020/mdc-list/list-base.mjs +0 -272
  133. package/esm2020/mdc-list/list-item-sections.mjs +0 -138
  134. package/esm2020/mdc-list/list-option-types.mjs +0 -16
  135. package/esm2020/mdc-list/list-option.mjs +0 -253
  136. package/esm2020/mdc-list/list.mjs +0 -82
  137. package/esm2020/mdc-list/mdc-list_public_index.mjs +0 -5
  138. package/esm2020/mdc-list/module.mjs +0 -98
  139. package/esm2020/mdc-list/nav-list.mjs +0 -31
  140. package/esm2020/mdc-list/public-api.mjs +0 -18
  141. package/esm2020/mdc-list/selection-list.mjs +0 -338
  142. package/esm2020/mdc-list/subheader.mjs +0 -27
  143. package/esm2020/mdc-list/testing/action-list-harness.mjs +0 -59
  144. package/esm2020/mdc-list/testing/index.mjs +0 -9
  145. package/esm2020/mdc-list/testing/list-harness-base.mjs +0 -95
  146. package/esm2020/mdc-list/testing/list-harness-filters.mjs +0 -9
  147. package/esm2020/mdc-list/testing/list-harness.mjs +0 -41
  148. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +0 -150
  149. package/esm2020/mdc-list/testing/nav-list-harness.mjs +0 -69
  150. package/esm2020/mdc-list/testing/public-api.mjs +0 -14
  151. package/esm2020/mdc-list/testing/selection-list-harness.mjs +0 -117
  152. package/esm2020/mdc-menu/directives.mjs +0 -38
  153. package/esm2020/mdc-menu/index.mjs +0 -9
  154. package/esm2020/mdc-menu/mdc-menu_public_index.mjs +0 -5
  155. package/esm2020/mdc-menu/menu-item.mjs +0 -36
  156. package/esm2020/mdc-menu/menu.mjs +0 -43
  157. package/esm2020/mdc-menu/module.mjs +0 -44
  158. package/esm2020/mdc-menu/public-api.mjs +0 -13
  159. package/esm2020/mdc-menu/testing/index.mjs +0 -9
  160. package/esm2020/mdc-menu/testing/menu-harness.mjs +0 -46
  161. package/esm2020/mdc-menu/testing/public-api.mjs +0 -9
  162. package/esm2020/mdc-paginator/index.mjs +0 -9
  163. package/esm2020/mdc-paginator/mdc-paginator_public_index.mjs +0 -5
  164. package/esm2020/mdc-paginator/module.mjs +0 -30
  165. package/esm2020/mdc-paginator/paginator.mjs +0 -48
  166. package/esm2020/mdc-paginator/public-api.mjs +0 -11
  167. package/esm2020/mdc-paginator/testing/index.mjs +0 -9
  168. package/esm2020/mdc-paginator/testing/paginator-harness.mjs +0 -36
  169. package/esm2020/mdc-paginator/testing/public-api.mjs +0 -9
  170. package/esm2020/mdc-progress-bar/index.mjs +0 -9
  171. package/esm2020/mdc-progress-bar/mdc-progress-bar_public_index.mjs +0 -5
  172. package/esm2020/mdc-progress-bar/module.mjs +0 -24
  173. package/esm2020/mdc-progress-bar/progress-bar.mjs +0 -152
  174. package/esm2020/mdc-progress-bar/public-api.mjs +0 -11
  175. package/esm2020/mdc-progress-bar/testing/index.mjs +0 -9
  176. package/esm2020/mdc-progress-bar/testing/progress-bar-harness.mjs +0 -33
  177. package/esm2020/mdc-progress-bar/testing/public-api.mjs +0 -9
  178. package/esm2020/mdc-progress-bar/testing/testing_public_index.mjs +0 -5
  179. package/esm2020/mdc-progress-spinner/index.mjs +0 -9
  180. package/esm2020/mdc-progress-spinner/mdc-progress-spinner_public_index.mjs +0 -5
  181. package/esm2020/mdc-progress-spinner/module.mjs +0 -26
  182. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +0 -151
  183. package/esm2020/mdc-progress-spinner/public-api.mjs +0 -11
  184. package/esm2020/mdc-progress-spinner/testing/index.mjs +0 -9
  185. package/esm2020/mdc-progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  186. package/esm2020/mdc-progress-spinner/testing/public-api.mjs +0 -9
  187. package/esm2020/mdc-progress-spinner/testing/testing_public_index.mjs +0 -5
  188. package/esm2020/mdc-radio/index.mjs +0 -9
  189. package/esm2020/mdc-radio/mdc-radio_public_index.mjs +0 -5
  190. package/esm2020/mdc-radio/module.mjs +0 -26
  191. package/esm2020/mdc-radio/public-api.mjs +0 -11
  192. package/esm2020/mdc-radio/radio.mjs +0 -111
  193. package/esm2020/mdc-radio/testing/index.mjs +0 -9
  194. package/esm2020/mdc-radio/testing/public-api.mjs +0 -9
  195. package/esm2020/mdc-radio/testing/radio-harness.mjs +0 -50
  196. package/esm2020/mdc-select/index.mjs +0 -9
  197. package/esm2020/mdc-select/mdc-select_public_index.mjs +0 -5
  198. package/esm2020/mdc-select/module.mjs +0 -46
  199. package/esm2020/mdc-select/public-api.mjs +0 -12
  200. package/esm2020/mdc-select/select-animations.mjs +0 -38
  201. package/esm2020/mdc-select/select-errors.mjs +0 -35
  202. package/esm2020/mdc-select/select.mjs +0 -172
  203. package/esm2020/mdc-select/testing/index.mjs +0 -9
  204. package/esm2020/mdc-select/testing/public-api.mjs +0 -10
  205. package/esm2020/mdc-select/testing/select-harness-filters.mjs +0 -9
  206. package/esm2020/mdc-select/testing/select-harness.mjs +0 -29
  207. package/esm2020/mdc-slide-toggle/index.mjs +0 -9
  208. package/esm2020/mdc-slide-toggle/mdc-slide-toggle_public_index.mjs +0 -5
  209. package/esm2020/mdc-slide-toggle/module.mjs +0 -27
  210. package/esm2020/mdc-slide-toggle/public-api.mjs +0 -12
  211. package/esm2020/mdc-slide-toggle/slide-toggle-config.mjs +0 -14
  212. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +0 -99
  213. package/esm2020/mdc-slide-toggle/testing/index.mjs +0 -9
  214. package/esm2020/mdc-slide-toggle/testing/public-api.mjs +0 -9
  215. package/esm2020/mdc-slide-toggle/testing/slide-toggle-harness.mjs +0 -47
  216. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +0 -59
  217. package/esm2020/mdc-slider/index.mjs +0 -9
  218. package/esm2020/mdc-slider/mdc-slider_public_index.mjs +0 -5
  219. package/esm2020/mdc-slider/module.mjs +0 -26
  220. package/esm2020/mdc-slider/public-api.mjs +0 -10
  221. package/esm2020/mdc-slider/slider.mjs +0 -1094
  222. package/esm2020/mdc-slider/testing/index.mjs +0 -9
  223. package/esm2020/mdc-slider/testing/public-api.mjs +0 -11
  224. package/esm2020/mdc-slider/testing/slider-harness-filters.mjs +0 -2
  225. package/esm2020/mdc-slider/testing/slider-harness.mjs +0 -62
  226. package/esm2020/mdc-slider/testing/slider-thumb-harness.mjs +0 -94
  227. package/esm2020/mdc-snack-bar/index.mjs +0 -9
  228. package/esm2020/mdc-snack-bar/mdc-snack-bar_public_index.mjs +0 -5
  229. package/esm2020/mdc-snack-bar/module.mjs +0 -51
  230. package/esm2020/mdc-snack-bar/public-api.mjs +0 -14
  231. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +0 -40
  232. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +0 -41
  233. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +0 -52
  234. package/esm2020/mdc-snack-bar/snack-bar.mjs +0 -45
  235. package/esm2020/mdc-snack-bar/testing/index.mjs +0 -9
  236. package/esm2020/mdc-snack-bar/testing/public-api.mjs +0 -9
  237. package/esm2020/mdc-snack-bar/testing/snack-bar-harness.mjs +0 -34
  238. package/esm2020/mdc-table/cell.mjs +0 -141
  239. package/esm2020/mdc-table/index.mjs +0 -9
  240. package/esm2020/mdc-table/mdc-table_public_index.mjs +0 -5
  241. package/esm2020/mdc-table/module.mjs +0 -94
  242. package/esm2020/mdc-table/public-api.mjs +0 -14
  243. package/esm2020/mdc-table/row.mjs +0 -143
  244. package/esm2020/mdc-table/table-data-source.mjs +0 -24
  245. package/esm2020/mdc-table/table.mjs +0 -74
  246. package/esm2020/mdc-table/testing/cell-harness.mjs +0 -50
  247. package/esm2020/mdc-table/testing/index.mjs +0 -9
  248. package/esm2020/mdc-table/testing/public-api.mjs +0 -11
  249. package/esm2020/mdc-table/testing/row-harness.mjs +0 -64
  250. package/esm2020/mdc-table/testing/table-harness.mjs +0 -30
  251. package/esm2020/mdc-table/text-column.mjs +0 -58
  252. package/esm2020/mdc-tabs/index.mjs +0 -9
  253. package/esm2020/mdc-tabs/ink-bar.mjs +0 -130
  254. package/esm2020/mdc-tabs/mdc-tabs_public_index.mjs +0 -5
  255. package/esm2020/mdc-tabs/module.mjs +0 -93
  256. package/esm2020/mdc-tabs/public-api.mjs +0 -19
  257. package/esm2020/mdc-tabs/tab-body.mjs +0 -60
  258. package/esm2020/mdc-tabs/tab-content.mjs +0 -20
  259. package/esm2020/mdc-tabs/tab-group.mjs +0 -98
  260. package/esm2020/mdc-tabs/tab-header.mjs +0 -73
  261. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +0 -32
  262. package/esm2020/mdc-tabs/tab-label.mjs +0 -22
  263. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +0 -202
  264. package/esm2020/mdc-tabs/tab.mjs +0 -34
  265. package/esm2020/mdc-tabs/testing/index.mjs +0 -9
  266. package/esm2020/mdc-tabs/testing/public-api.mjs +0 -13
  267. package/esm2020/mdc-tabs/testing/tab-group-harness.mjs +0 -56
  268. package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +0 -2
  269. package/esm2020/mdc-tabs/testing/tab-harness.mjs +0 -64
  270. package/esm2020/mdc-tabs/testing/tab-link-harness.mjs +0 -40
  271. package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +0 -66
  272. package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +0 -27
  273. package/esm2020/mdc-tooltip/index.mjs +0 -9
  274. package/esm2020/mdc-tooltip/mdc-tooltip_public_index.mjs +0 -5
  275. package/esm2020/mdc-tooltip/module.mjs +0 -31
  276. package/esm2020/mdc-tooltip/public-api.mjs +0 -12
  277. package/esm2020/mdc-tooltip/testing/index.mjs +0 -9
  278. package/esm2020/mdc-tooltip/testing/public-api.mjs +0 -9
  279. package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +0 -30
  280. package/esm2020/mdc-tooltip/tooltip-animations.mjs +0 -24
  281. package/esm2020/mdc-tooltip/tooltip.mjs +0 -132
  282. package/fesm2015/mdc-autocomplete/testing.mjs +0 -50
  283. package/fesm2015/mdc-autocomplete/testing.mjs.map +0 -1
  284. package/fesm2015/mdc-autocomplete.mjs +0 -196
  285. package/fesm2015/mdc-autocomplete.mjs.map +0 -1
  286. package/fesm2015/mdc-button/testing.mjs +0 -75
  287. package/fesm2015/mdc-button/testing.mjs.map +0 -1
  288. package/fesm2015/mdc-button.mjs +0 -490
  289. package/fesm2015/mdc-button.mjs.map +0 -1
  290. package/fesm2015/mdc-card/testing.mjs +0 -63
  291. package/fesm2015/mdc-card/testing.mjs.map +0 -1
  292. package/fesm2015/mdc-card.mjs +0 -351
  293. package/fesm2015/mdc-card.mjs.map +0 -1
  294. package/fesm2015/mdc-checkbox/testing.mjs +0 -56
  295. package/fesm2015/mdc-checkbox/testing.mjs.map +0 -1
  296. package/fesm2015/mdc-checkbox.mjs +0 -142
  297. package/fesm2015/mdc-checkbox.mjs.map +0 -1
  298. package/fesm2015/mdc-chips/testing.mjs +0 -394
  299. package/fesm2015/mdc-chips/testing.mjs.map +0 -1
  300. package/fesm2015/mdc-chips.mjs +0 -2169
  301. package/fesm2015/mdc-chips.mjs.map +0 -1
  302. package/fesm2015/mdc-core/testing.mjs +0 -118
  303. package/fesm2015/mdc-core/testing.mjs.map +0 -1
  304. package/fesm2015/mdc-core.mjs +0 -141
  305. package/fesm2015/mdc-core.mjs.map +0 -1
  306. package/fesm2015/mdc-dialog/testing.mjs +0 -90
  307. package/fesm2015/mdc-dialog/testing.mjs.map +0 -1
  308. package/fesm2015/mdc-dialog.mjs +0 -500
  309. package/fesm2015/mdc-dialog.mjs.map +0 -1
  310. package/fesm2015/mdc-form-field/testing.mjs +0 -78
  311. package/fesm2015/mdc-form-field/testing.mjs.map +0 -1
  312. package/fesm2015/mdc-form-field.mjs +0 -1018
  313. package/fesm2015/mdc-form-field.mjs.map +0 -1
  314. package/fesm2015/mdc-input/testing.mjs +0 -18
  315. package/fesm2015/mdc-input/testing.mjs.map +0 -1
  316. package/fesm2015/mdc-input.mjs +0 -103
  317. package/fesm2015/mdc-input.mjs.map +0 -1
  318. package/fesm2015/mdc-list/testing.mjs +0 -574
  319. package/fesm2015/mdc-list/testing.mjs.map +0 -1
  320. package/fesm2015/mdc-list.mjs +0 -1264
  321. package/fesm2015/mdc-list.mjs.map +0 -1
  322. package/fesm2015/mdc-menu/testing.mjs +0 -59
  323. package/fesm2015/mdc-menu/testing.mjs.map +0 -1
  324. package/fesm2015/mdc-menu.mjs +0 -174
  325. package/fesm2015/mdc-menu.mjs.map +0 -1
  326. package/fesm2015/mdc-paginator/testing.mjs +0 -55
  327. package/fesm2015/mdc-paginator/testing.mjs.map +0 -1
  328. package/fesm2015/mdc-paginator.mjs +0 -100
  329. package/fesm2015/mdc-paginator.mjs.map +0 -1
  330. package/fesm2015/mdc-progress-bar/testing.mjs +0 -54
  331. package/fesm2015/mdc-progress-bar/testing.mjs.map +0 -1
  332. package/fesm2015/mdc-progress-bar.mjs +0 -198
  333. package/fesm2015/mdc-progress-bar.mjs.map +0 -1
  334. package/fesm2015/mdc-progress-spinner/testing.mjs +0 -56
  335. package/fesm2015/mdc-progress-spinner/testing.mjs.map +0 -1
  336. package/fesm2015/mdc-progress-spinner.mjs +0 -200
  337. package/fesm2015/mdc-progress-spinner.mjs.map +0 -1
  338. package/fesm2015/mdc-radio/testing.mjs +0 -63
  339. package/fesm2015/mdc-radio/testing.mjs.map +0 -1
  340. package/fesm2015/mdc-radio.mjs +0 -155
  341. package/fesm2015/mdc-radio.mjs.map +0 -1
  342. package/fesm2015/mdc-select/testing.mjs +0 -48
  343. package/fesm2015/mdc-select/testing.mjs.map +0 -1
  344. package/fesm2015/mdc-select.mjs +0 -273
  345. package/fesm2015/mdc-select.mjs.map +0 -1
  346. package/fesm2015/mdc-slide-toggle/testing.mjs +0 -66
  347. package/fesm2015/mdc-slide-toggle/testing.mjs.map +0 -1
  348. package/fesm2015/mdc-slide-toggle.mjs +0 -159
  349. package/fesm2015/mdc-slide-toggle.mjs.map +0 -1
  350. package/fesm2015/mdc-slider/testing.mjs +0 -199
  351. package/fesm2015/mdc-slider/testing.mjs.map +0 -1
  352. package/fesm2015/mdc-slider.mjs +0 -1212
  353. package/fesm2015/mdc-slider.mjs.map +0 -1
  354. package/fesm2015/mdc-snack-bar/testing.mjs +0 -49
  355. package/fesm2015/mdc-snack-bar/testing.mjs.map +0 -1
  356. package/fesm2015/mdc-snack-bar.mjs +0 -229
  357. package/fesm2015/mdc-snack-bar.mjs.map +0 -1
  358. package/fesm2015/mdc-table/testing.mjs +0 -158
  359. package/fesm2015/mdc-table/testing.mjs.map +0 -1
  360. package/fesm2015/mdc-table.mjs +0 -540
  361. package/fesm2015/mdc-table.mjs.map +0 -1
  362. package/fesm2015/mdc-tabs/testing.mjs +0 -273
  363. package/fesm2015/mdc-tabs/testing.mjs.map +0 -1
  364. package/fesm2015/mdc-tabs.mjs +0 -737
  365. package/fesm2015/mdc-tabs.mjs.map +0 -1
  366. package/fesm2015/mdc-tooltip/testing.mjs +0 -49
  367. package/fesm2015/mdc-tooltip/testing.mjs.map +0 -1
  368. package/fesm2015/mdc-tooltip.mjs +0 -206
  369. package/fesm2015/mdc-tooltip.mjs.map +0 -1
  370. package/fesm2020/mdc-autocomplete/testing.mjs +0 -58
  371. package/fesm2020/mdc-autocomplete/testing.mjs.map +0 -1
  372. package/fesm2020/mdc-autocomplete.mjs +0 -196
  373. package/fesm2020/mdc-autocomplete.mjs.map +0 -1
  374. package/fesm2020/mdc-button/testing.mjs +0 -69
  375. package/fesm2020/mdc-button/testing.mjs.map +0 -1
  376. package/fesm2020/mdc-button.mjs +0 -510
  377. package/fesm2020/mdc-button.mjs.map +0 -1
  378. package/fesm2020/mdc-card/testing.mjs +0 -69
  379. package/fesm2020/mdc-card/testing.mjs.map +0 -1
  380. package/fesm2020/mdc-card.mjs +0 -349
  381. package/fesm2020/mdc-card.mjs.map +0 -1
  382. package/fesm2020/mdc-checkbox/testing.mjs +0 -60
  383. package/fesm2020/mdc-checkbox/testing.mjs.map +0 -1
  384. package/fesm2020/mdc-checkbox.mjs +0 -139
  385. package/fesm2020/mdc-checkbox.mjs.map +0 -1
  386. package/fesm2020/mdc-chips/testing.mjs +0 -395
  387. package/fesm2020/mdc-chips/testing.mjs.map +0 -1
  388. package/fesm2020/mdc-chips.mjs +0 -2161
  389. package/fesm2020/mdc-chips.mjs.map +0 -1
  390. package/fesm2020/mdc-core/testing.mjs +0 -129
  391. package/fesm2020/mdc-core/testing.mjs.map +0 -1
  392. package/fesm2020/mdc-core.mjs +0 -139
  393. package/fesm2020/mdc-core.mjs.map +0 -1
  394. package/fesm2020/mdc-dialog/testing.mjs +0 -90
  395. package/fesm2020/mdc-dialog/testing.mjs.map +0 -1
  396. package/fesm2020/mdc-dialog.mjs +0 -499
  397. package/fesm2020/mdc-dialog.mjs.map +0 -1
  398. package/fesm2020/mdc-form-field/testing.mjs +0 -78
  399. package/fesm2020/mdc-form-field/testing.mjs.map +0 -1
  400. package/fesm2020/mdc-form-field.mjs +0 -1014
  401. package/fesm2020/mdc-form-field.mjs.map +0 -1
  402. package/fesm2020/mdc-input/testing.mjs +0 -18
  403. package/fesm2020/mdc-input/testing.mjs.map +0 -1
  404. package/fesm2020/mdc-input.mjs +0 -103
  405. package/fesm2020/mdc-input.mjs.map +0 -1
  406. package/fesm2020/mdc-list/testing.mjs +0 -544
  407. package/fesm2020/mdc-list/testing.mjs.map +0 -1
  408. package/fesm2020/mdc-list.mjs +0 -1260
  409. package/fesm2020/mdc-list.mjs.map +0 -1
  410. package/fesm2020/mdc-menu/testing.mjs +0 -65
  411. package/fesm2020/mdc-menu/testing.mjs.map +0 -1
  412. package/fesm2020/mdc-menu.mjs +0 -172
  413. package/fesm2020/mdc-menu.mjs.map +0 -1
  414. package/fesm2020/mdc-paginator/testing.mjs +0 -55
  415. package/fesm2020/mdc-paginator/testing.mjs.map +0 -1
  416. package/fesm2020/mdc-paginator.mjs +0 -98
  417. package/fesm2020/mdc-paginator.mjs.map +0 -1
  418. package/fesm2020/mdc-progress-bar/testing.mjs +0 -56
  419. package/fesm2020/mdc-progress-bar/testing.mjs.map +0 -1
  420. package/fesm2020/mdc-progress-bar.mjs +0 -196
  421. package/fesm2020/mdc-progress-bar.mjs.map +0 -1
  422. package/fesm2020/mdc-progress-spinner/testing.mjs +0 -58
  423. package/fesm2020/mdc-progress-spinner/testing.mjs.map +0 -1
  424. package/fesm2020/mdc-progress-spinner.mjs +0 -197
  425. package/fesm2020/mdc-progress-spinner.mjs.map +0 -1
  426. package/fesm2020/mdc-radio/testing.mjs +0 -69
  427. package/fesm2020/mdc-radio/testing.mjs.map +0 -1
  428. package/fesm2020/mdc-radio.mjs +0 -153
  429. package/fesm2020/mdc-radio.mjs.map +0 -1
  430. package/fesm2020/mdc-select/testing.mjs +0 -56
  431. package/fesm2020/mdc-select/testing.mjs.map +0 -1
  432. package/fesm2020/mdc-select.mjs +0 -273
  433. package/fesm2020/mdc-select.mjs.map +0 -1
  434. package/fesm2020/mdc-slide-toggle/testing.mjs +0 -66
  435. package/fesm2020/mdc-slide-toggle/testing.mjs.map +0 -1
  436. package/fesm2020/mdc-slide-toggle.mjs +0 -157
  437. package/fesm2020/mdc-slide-toggle.mjs.map +0 -1
  438. package/fesm2020/mdc-slider/testing.mjs +0 -172
  439. package/fesm2020/mdc-slider/testing.mjs.map +0 -1
  440. package/fesm2020/mdc-slider.mjs +0 -1191
  441. package/fesm2020/mdc-slider.mjs.map +0 -1
  442. package/fesm2020/mdc-snack-bar/testing.mjs +0 -53
  443. package/fesm2020/mdc-snack-bar/testing.mjs.map +0 -1
  444. package/fesm2020/mdc-snack-bar.mjs +0 -232
  445. package/fesm2020/mdc-snack-bar.mjs.map +0 -1
  446. package/fesm2020/mdc-table/testing.mjs +0 -158
  447. package/fesm2020/mdc-table/testing.mjs.map +0 -1
  448. package/fesm2020/mdc-table.mjs +0 -539
  449. package/fesm2020/mdc-table.mjs.map +0 -1
  450. package/fesm2020/mdc-tabs/testing.mjs +0 -265
  451. package/fesm2020/mdc-tabs/testing.mjs.map +0 -1
  452. package/fesm2020/mdc-tabs.mjs +0 -723
  453. package/fesm2020/mdc-tabs.mjs.map +0 -1
  454. package/fesm2020/mdc-tooltip/testing.mjs +0 -49
  455. package/fesm2020/mdc-tooltip/testing.mjs.map +0 -1
  456. package/fesm2020/mdc-tooltip.mjs +0 -202
  457. package/fesm2020/mdc-tooltip.mjs.map +0 -1
  458. package/mdc-autocomplete/_autocomplete-theme.import.scss +0 -5
  459. package/mdc-autocomplete/_autocomplete-theme.scss +0 -48
  460. package/mdc-autocomplete/index.d.ts +0 -97
  461. package/mdc-autocomplete/testing/index.d.ts +0 -32
  462. package/mdc-button/_button-base.import.scss +0 -4
  463. package/mdc-button/_button-base.scss +0 -95
  464. package/mdc-button/_button-theme-private.scss +0 -62
  465. package/mdc-button/_button-theme.import.scss +0 -16
  466. package/mdc-button/_button-theme.scss +0 -224
  467. package/mdc-button/_fab-theme.scss +0 -90
  468. package/mdc-button/_icon-button-theme.scss +0 -76
  469. package/mdc-button/index.d.ts +0 -216
  470. package/mdc-button/testing/index.d.ts +0 -41
  471. package/mdc-card/_card-theme.import.scss +0 -7
  472. package/mdc-card/_card-theme.scss +0 -74
  473. package/mdc-card/index.d.ts +0 -194
  474. package/mdc-card/testing/index.d.ts +0 -44
  475. package/mdc-checkbox/_checkbox-private.scss +0 -53
  476. package/mdc-checkbox/_checkbox-theme.import.scss +0 -15
  477. package/mdc-checkbox/_checkbox-theme.scss +0 -122
  478. package/mdc-checkbox/index.d.ts +0 -87
  479. package/mdc-checkbox/testing/index.d.ts +0 -28
  480. package/mdc-chips/_chips-theme.import.scss +0 -8
  481. package/mdc-chips/_chips-theme.scss +0 -117
  482. package/mdc-chips/index.d.ts +0 -979
  483. package/mdc-chips/testing/index.d.ts +0 -232
  484. package/mdc-core/_core-theme.import.scss +0 -10
  485. package/mdc-core/_core-theme.scss +0 -78
  486. package/mdc-core/_elevation.scss +0 -38
  487. package/mdc-core/color/_all-color.scss +0 -25
  488. package/mdc-core/density/_all-density.scss +0 -25
  489. package/mdc-core/index.d.ts +0 -206
  490. package/mdc-core/mdc-helpers/_focus-indicators-theme.scss +0 -39
  491. package/mdc-core/mdc-helpers/_focus-indicators.import.scss +0 -10
  492. package/mdc-core/mdc-helpers/_focus-indicators.scss +0 -15
  493. package/mdc-core/mdc-helpers/_mdc-helpers.import.scss +0 -8
  494. package/mdc-core/mdc-helpers/_mdc-helpers.scss +0 -221
  495. package/mdc-core/option/_optgroup-theme.import.scss +0 -7
  496. package/mdc-core/option/_optgroup-theme.scss +0 -44
  497. package/mdc-core/option/_option-theme.import.scss +0 -7
  498. package/mdc-core/option/_option-theme.scss +0 -87
  499. package/mdc-core/testing/index.d.ts +0 -64
  500. package/mdc-core/theming/_all-theme.scss +0 -61
  501. package/mdc-core/theming/prebuilt/deeppurple-amber.css +0 -1
  502. package/mdc-core/theming/prebuilt/indigo-pink.css +0 -1
  503. package/mdc-core/theming/prebuilt/pink-bluegrey.css +0 -1
  504. package/mdc-core/theming/prebuilt/purple-green.css +0 -1
  505. package/mdc-core/typography/_all-typography.scss +0 -99
  506. package/mdc-dialog/_dialog-legacy-padding.import.scss +0 -1
  507. package/mdc-dialog/_dialog-legacy-padding.scss +0 -31
  508. package/mdc-dialog/_dialog-theme.import.scss +0 -5
  509. package/mdc-dialog/_dialog-theme.scss +0 -78
  510. package/mdc-dialog/_mdc-dialog-structure-overrides.import.scss +0 -1
  511. package/mdc-dialog/_mdc-dialog-structure-overrides.scss +0 -56
  512. package/mdc-dialog/index.d.ts +0 -217
  513. package/mdc-dialog/testing/index.d.ts +0 -47
  514. package/mdc-form-field/_form-field-density.scss +0 -119
  515. package/mdc-form-field/_form-field-focus-overlay.scss +0 -34
  516. package/mdc-form-field/_form-field-high-contrast.scss +0 -39
  517. package/mdc-form-field/_form-field-native-select.scss +0 -133
  518. package/mdc-form-field/_form-field-sizing.scss +0 -40
  519. package/mdc-form-field/_form-field-subscript.scss +0 -83
  520. package/mdc-form-field/_form-field-theme.scss +0 -148
  521. package/mdc-form-field/_mdc-text-field-structure-overrides.scss +0 -129
  522. package/mdc-form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  523. package/mdc-form-field/_mdc-text-field-theme-variable-refresh.scss +0 -63
  524. package/mdc-form-field/index.d.ts +0 -431
  525. package/mdc-form-field/testing/index.d.ts +0 -48
  526. package/mdc-input/_input-theme.import.scss +0 -5
  527. package/mdc-input/_input-theme.scss +0 -35
  528. package/mdc-input/index.d.ts +0 -30
  529. package/mdc-input/testing/index.d.ts +0 -20
  530. package/mdc-list/_interactive-list-theme.import.scss +0 -5
  531. package/mdc-list/_interactive-list-theme.scss +0 -40
  532. package/mdc-list/_list-option-theme.import.scss +0 -13
  533. package/mdc-list/_list-option-theme.scss +0 -28
  534. package/mdc-list/_list-option-trailing-avatar-compat.scss +0 -58
  535. package/mdc-list/_list-theme.import.scss +0 -17
  536. package/mdc-list/_list-theme.scss +0 -81
  537. package/mdc-list/index.d.ts +0 -534
  538. package/mdc-list/testing/index.d.ts +0 -372
  539. package/mdc-menu/_menu-theme.import.scss +0 -5
  540. package/mdc-menu/_menu-theme.scss +0 -88
  541. package/mdc-menu/index.d.ts +0 -110
  542. package/mdc-menu/testing/index.d.ts +0 -38
  543. package/mdc-paginator/_paginator-theme.import.scss +0 -9
  544. package/mdc-paginator/_paginator-theme.scss +0 -106
  545. package/mdc-paginator/_paginator-variables.import.scss +0 -1
  546. package/mdc-paginator/_paginator-variables.scss +0 -13
  547. package/mdc-paginator/index.d.ts +0 -72
  548. package/mdc-paginator/testing/index.d.ts +0 -30
  549. package/mdc-progress-bar/_progress-bar-theme.import.scss +0 -6
  550. package/mdc-progress-bar/_progress-bar-theme.scss +0 -57
  551. package/mdc-progress-bar/index.d.ts +0 -98
  552. package/mdc-progress-bar/testing/index.d.ts +0 -24
  553. package/mdc-progress-spinner/_progress-spinner-theme.import.scss +0 -6
  554. package/mdc-progress-spinner/_progress-spinner-theme.scss +0 -48
  555. package/mdc-progress-spinner/index.d.ts +0 -90
  556. package/mdc-progress-spinner/testing/index.d.ts +0 -26
  557. package/mdc-radio/_radio-theme.import.scss +0 -7
  558. package/mdc-radio/_radio-theme.scss +0 -110
  559. package/mdc-radio/index.d.ts +0 -72
  560. package/mdc-radio/testing/index.d.ts +0 -43
  561. package/mdc-select/_select-theme.import.scss +0 -10
  562. package/mdc-select/_select-theme.scss +0 -100
  563. package/mdc-select/index.d.ts +0 -111
  564. package/mdc-select/testing/index.d.ts +0 -28
  565. package/mdc-slide-toggle/_slide-toggle-theme.import.scss +0 -11
  566. package/mdc-slide-toggle/_slide-toggle-theme.scss +0 -140
  567. package/mdc-slide-toggle/index.d.ts +0 -83
  568. package/mdc-slide-toggle/testing/index.d.ts +0 -27
  569. package/mdc-slider/_slider-theme.import.scss +0 -5
  570. package/mdc-slider/_slider-theme.scss +0 -125
  571. package/mdc-slider/index.d.ts +0 -435
  572. package/mdc-slider/testing/index.d.ts +0 -92
  573. package/mdc-snack-bar/_snack-bar-theme.import.scss +0 -8
  574. package/mdc-snack-bar/_snack-bar-theme.scss +0 -81
  575. package/mdc-snack-bar/index.d.ts +0 -136
  576. package/mdc-snack-bar/testing/index.d.ts +0 -23
  577. package/mdc-table/_table-theme.import.scss +0 -11
  578. package/mdc-table/_table-theme.scss +0 -78
  579. package/mdc-table/index.d.ts +0 -238
  580. package/mdc-table/testing/index.d.ts +0 -118
  581. package/mdc-tabs/_tabs-common.import.scss +0 -14
  582. package/mdc-tabs/_tabs-common.scss +0 -196
  583. package/mdc-tabs/_tabs-theme.import.scss +0 -8
  584. package/mdc-tabs/_tabs-theme.scss +0 -146
  585. package/mdc-tabs/index.d.ts +0 -307
  586. package/mdc-tabs/testing/index.d.ts +0 -151
  587. package/mdc-tooltip/_tooltip-theme.import.scss +0 -5
  588. package/mdc-tooltip/_tooltip-theme.scss +0 -49
  589. package/mdc-tooltip/index.d.ts +0 -118
  590. package/mdc-tooltip/testing/index.d.ts +0 -26
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdc-list.mjs","sources":["../../../../../../src/material-experimental/mdc-list/list-option-types.ts","../../../../../../src/material-experimental/mdc-list/list-item-sections.ts","../../../../../../src/material-experimental/mdc-list/list-base.ts","../../../../../../src/material-experimental/mdc-list/action-list.ts","../../../../../../src/material-experimental/mdc-list/list.ts","../../../../../../src/material-experimental/mdc-list/list-item.html","../../../../../../src/material-experimental/mdc-list/list-option.ts","../../../../../../src/material-experimental/mdc-list/list-option.html","../../../../../../src/material-experimental/mdc-list/subheader.ts","../../../../../../src/material-experimental/mdc-list/nav-list.ts","../../../../../../src/material-experimental/mdc-list/selection-list.ts","../../../../../../src/material-experimental/mdc-list/module.ts","../../../../../../src/material-experimental/mdc-list/public-api.ts","../../../../../../src/material-experimental/mdc-list/index.ts","../../../../../../src/material-experimental/mdc-list/mdc-list_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Type describing possible positions of a checkbox in a list option\n * with respect to the list item's text.\n */\nexport type MatListOptionCheckboxPosition = 'before' | 'after';\n\n/**\n * Interface describing a list option. This is used to avoid circular\n * dependencies between the list-option and the styler directives.\n * @docs-private\n */\nexport interface ListOption {\n _getCheckboxPosition(): MatListOptionCheckboxPosition;\n}\n\n/**\n * Injection token that can be used to reference instances of an `ListOption`. It serves\n * as alternative token to an actual implementation which could result in undesired\n * retention of the class or circular references breaking runtime execution.\n * @docs-private\n */\nexport const LIST_OPTION = new InjectionToken<ListOption>('ListOption');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, Inject, Optional} from '@angular/core';\nimport {LIST_OPTION, ListOption} from './list-option-types';\n\n/**\n * Directive capturing the title of a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content for the title never wraps. There can only be a single title per list item.\n */\n@Directive({\n selector: '[matListItemTitle]',\n host: {'class': 'mat-mdc-list-item-title mdc-list-item__primary-text'},\n})\nexport class MatListItemTitle {\n constructor(public _elementRef: ElementRef<HTMLElement>) {}\n}\n\n/**\n * Directive capturing a line in a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content inside a line never wraps. There can be at maximum two lines per list item.\n */\n@Directive({\n selector: '[matListItemLine]',\n host: {'class': 'mat-mdc-list-item-line mdc-list-item__secondary-text'},\n})\nexport class MatListItemLine {\n constructor(public _elementRef: ElementRef<HTMLElement>) {}\n}\n\n/**\n * Directive matching an optional meta section for list items.\n *\n * List items can reserve space at the end of an item to display a control,\n * button or additional text content.\n */\n@Directive({\n selector: '[matListItemMeta]',\n host: {'class': 'mat-mdc-list-item-meta mdc-list-item__end'},\n})\nexport class MatListItemMeta {}\n\n/**\n * @docs-private\n *\n * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end`\n * to position content such as icons or checkboxes that comes either before or after the text\n * content respectively. This directive detects the placement of the checkbox and applies the\n * correct MDC class to position the icon/avatar on the opposite side.\n */\n@Directive({\n host: {\n // MDC uses intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end`\n // to position content such as icons or checkboxes that comes either before or after the text\n // content respectively. This directive detects the placement of the checkbox and applies the\n // correct MDC class to position the icon/avatar on the opposite side.\n '[class.mdc-list-item__start]': '_isAlignedAtStart()',\n '[class.mdc-list-item__end]': '!_isAlignedAtStart()',\n },\n})\nexport class _MatListItemGraphicBase {\n constructor(@Optional() @Inject(LIST_OPTION) public _listOption: ListOption) {}\n\n _isAlignedAtStart() {\n // By default, in all list items the graphic is aligned at start. In list options,\n // the graphic is only aligned at start if the checkbox is at the end.\n return !this._listOption || this._listOption?._getCheckboxPosition() === 'after';\n }\n}\n\n/**\n * Directive matching an optional avatar within a list item.\n *\n * List items can reserve space at the beginning of an item to display an avatar.\n */\n@Directive({\n selector: '[matListItemAvatar]',\n host: {'class': 'mat-mdc-list-item-avatar'},\n})\nexport class MatListItemAvatar extends _MatListItemGraphicBase {}\n\n/**\n * Directive matching an optional icon within a list item.\n *\n * List items can reserve space at the beginning of an item to display an icon.\n */\n@Directive({\n selector: '[matListItemIcon]',\n host: {'class': 'mat-mdc-list-item-icon'},\n})\nexport class MatListItemIcon extends _MatListItemGraphicBase {}\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 {BooleanInput, coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n QueryList,\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleConfig,\n RippleGlobalOptions,\n RippleRenderer,\n RippleTarget,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subscription, merge} from 'rxjs';\nimport {\n MatListItemLine,\n MatListItemTitle,\n MatListItemIcon,\n MatListItemAvatar,\n} from './list-item-sections';\n\n@Directive({\n host: {\n '[class.mat-mdc-list-non-interactive]': '_isNonInteractive',\n '[attr.aria-disabled]': 'disabled',\n },\n})\n/** @docs-private */\nexport abstract class MatListBase {\n _isNonInteractive: boolean = true;\n\n /** Whether ripples for all list items is disabled. */\n @Input()\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: BooleanInput) {\n this._disableRipple = coerceBooleanProperty(value);\n }\n private _disableRipple: boolean = false;\n\n /** Whether all list items are disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n}\n\n@Directive({\n host: {\n '[class.mdc-list-item--disabled]': 'disabled',\n '[attr.aria-disabled]': 'disabled',\n },\n})\n/** @docs-private */\nexport abstract class MatListItemBase implements AfterViewInit, OnDestroy, RippleTarget {\n /** Query list matching list-item line elements. */\n abstract _lines: QueryList<MatListItemLine> | undefined;\n\n /** Query list matching list-item title elements. */\n abstract _titles: QueryList<MatListItemTitle> | undefined;\n\n /**\n * Element reference to the unscoped content in a list item.\n *\n * Unscoped content is user-projected text content in a list item that is\n * not part of an explicit line or title.\n */\n abstract _unscopedContent: ElementRef<HTMLSpanElement> | undefined;\n\n /** Host element for the list item. */\n _hostElement: HTMLElement;\n\n /** Whether animations are disabled. */\n _noopAnimations: boolean;\n\n @ContentChildren(MatListItemAvatar, {descendants: false}) _avatars: QueryList<never>;\n @ContentChildren(MatListItemIcon, {descendants: false}) _icons: QueryList<never>;\n\n /**\n * The number of lines this list item should reserve space for. If not specified,\n * lines are inferred based on the projected content.\n *\n * Explicitly specifying the number of lines is useful if you want to acquire additional\n * space and enable the wrapping of text. The unscoped text content of a list item will\n * always be able to take up the remaining space of the item, unless it represents the title.\n *\n * A maximum of three lines is supported as per the Material Design specification.\n */\n @Input()\n set lines(lines: number | string | null) {\n this._explicitLines = coerceNumberProperty(lines, null);\n this._updateItemLines(false);\n }\n _explicitLines: number | null = null;\n\n @Input()\n get disableRipple(): boolean {\n return (\n this.disabled || this._disableRipple || this._listBase.disableRipple || this._noopAnimations\n );\n }\n set disableRipple(value: boolean) {\n this._disableRipple = coerceBooleanProperty(value);\n }\n private _disableRipple: boolean = false;\n\n /** Whether the list-item is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled || (this._listBase && this._listBase.disabled);\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n private _subscriptions = new Subscription();\n private _rippleRenderer: RippleRenderer | null = null;\n\n /** Whether the list item has unscoped text content. */\n _hasUnscopedTextContent: boolean = false;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n rippleConfig: RippleConfig & RippleGlobalOptions;\n\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n get rippleDisabled(): boolean {\n return this.disableRipple || !!this.rippleConfig.disabled;\n }\n\n constructor(\n public _elementRef: ElementRef<HTMLElement>,\n protected _ngZone: NgZone,\n private _listBase: MatListBase,\n private _platform: Platform,\n @Optional()\n @Inject(MAT_RIPPLE_GLOBAL_OPTIONS)\n globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n this.rippleConfig = globalRippleOptions || {};\n this._hostElement = this._elementRef.nativeElement;\n this._noopAnimations = animationMode === 'NoopAnimations';\n\n if (!this._listBase._isNonInteractive) {\n this._initInteractiveListItem();\n }\n\n // If no type attribute is specified for a host `<button>` element, set it to `button`. If a\n // type attribute is already specified, we do nothing. We do this for backwards compatibility.\n // TODO: Determine if we intend to continue doing this for the MDC-based list.\n if (\n this._hostElement.nodeName.toLowerCase() === 'button' &&\n !this._hostElement.hasAttribute('type')\n ) {\n this._hostElement.setAttribute('type', 'button');\n }\n }\n\n ngAfterViewInit() {\n this._monitorProjectedLinesAndTitle();\n this._updateItemLines(true);\n }\n\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n if (this._rippleRenderer !== null) {\n this._rippleRenderer._removeTriggerEvents();\n }\n }\n\n /** Whether the list item has icons or avatars. */\n _hasIconOrAvatar() {\n return !!(this._avatars.length || this._icons.length);\n }\n\n private _initInteractiveListItem() {\n this._hostElement.classList.add('mat-mdc-list-item-interactive');\n this._rippleRenderer = new RippleRenderer(\n this,\n this._ngZone,\n this._hostElement,\n this._platform,\n );\n this._rippleRenderer.setupTriggerEvents(this._hostElement);\n }\n\n /**\n * Subscribes to changes in the projected title and lines. Triggers a\n * item lines update whenever a change occurs.\n */\n private _monitorProjectedLinesAndTitle() {\n this._ngZone.runOutsideAngular(() => {\n this._subscriptions.add(\n merge(this._lines!.changes, this._titles!.changes).subscribe(() =>\n this._updateItemLines(false),\n ),\n );\n });\n }\n\n /**\n * Updates the lines of the list item. Based on the projected user content and optional\n * explicit lines setting, the visual appearance of the list item is determined.\n *\n * This method should be invoked whenever the projected user content changes, or\n * when the explicit lines have been updated.\n *\n * @param recheckUnscopedContent Whether the projected unscoped content should be re-checked.\n * The unscoped content is not re-checked for every update as it is a rather expensive check\n * for content that is expected to not change very often.\n */\n _updateItemLines(recheckUnscopedContent: boolean) {\n // If the updated is triggered too early before the view and content is initialized,\n // we just skip the update. After view initialization the update is triggered again.\n if (!this._lines || !this._titles || !this._unscopedContent) {\n return;\n }\n\n // Re-check the DOM for unscoped text content if requested. This needs to\n // happen before any computation or sanity checks run as these rely on the\n // result of whether there is unscoped text content or not.\n if (recheckUnscopedContent) {\n this._checkDomForUnscopedTextContent();\n }\n\n // Sanity check the list item lines and title in the content. This is a dev-mode only\n // check that can be dead-code eliminated by Terser in production.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n sanityCheckListItemContent(this);\n }\n\n const numberOfLines = this._explicitLines ?? this._inferLinesFromContent();\n const unscopedContentEl = this._unscopedContent.nativeElement;\n\n // Update the list item element to reflect the number of lines.\n this._hostElement.classList.toggle('mat-mdc-list-item-single-line', numberOfLines <= 1);\n this._hostElement.classList.toggle('mdc-list-item--with-one-line', numberOfLines <= 1);\n this._hostElement.classList.toggle('mdc-list-item--with-two-lines', numberOfLines === 2);\n this._hostElement.classList.toggle('mdc-list-item--with-three-lines', numberOfLines === 3);\n\n // If there is no title and the unscoped content is the is the only line, the\n // unscoped text content will be treated as the title of the list-item.\n if (this._hasUnscopedTextContent) {\n const treatAsTitle = this._titles.length === 0 && numberOfLines === 1;\n unscopedContentEl.classList.toggle('mdc-list-item__primary-text', treatAsTitle);\n unscopedContentEl.classList.toggle('mdc-list-item__secondary-text', !treatAsTitle);\n } else {\n unscopedContentEl.classList.remove('mdc-list-item__primary-text');\n unscopedContentEl.classList.remove('mdc-list-item__secondary-text');\n }\n }\n\n /**\n * Infers the number of lines based on the projected user content. This is useful\n * if no explicit number of lines has been specified on the list item.\n *\n * The number of lines is inferred based on whether there is a title, the number of\n * additional lines (secondary/tertiary). An additional line is acquired if there is\n * unscoped text content.\n */\n private _inferLinesFromContent() {\n let numOfLines = this._titles!.length + this._lines!.length;\n if (this._hasUnscopedTextContent) {\n numOfLines += 1;\n }\n return numOfLines;\n }\n\n /** Checks whether the list item has unscoped text content. */\n private _checkDomForUnscopedTextContent() {\n this._hasUnscopedTextContent = Array.from<ChildNode>(\n this._unscopedContent!.nativeElement.childNodes,\n )\n .filter(node => node.nodeType !== node.COMMENT_NODE)\n .some(node => !!(node.textContent && node.textContent.trim()));\n }\n}\n\n/**\n * Sanity checks the configuration of the list item with respect to the amount\n * of lines, whether there is a title, or if there is unscoped text content.\n *\n * The checks are extracted into a top-level function that can be dead-code\n * eliminated by Terser or other optimizers in production mode.\n */\nfunction sanityCheckListItemContent(item: MatListItemBase) {\n const numTitles = item._titles!.length;\n const numLines = item._titles!.length;\n\n if (numTitles > 1) {\n throw Error('A list item cannot have multiple titles.');\n }\n if (numTitles === 0 && numLines > 0) {\n throw Error('A list item line can only be used if there is a list item title.');\n }\n if (\n numTitles === 0 &&\n item._hasUnscopedTextContent &&\n item._explicitLines !== null &&\n item._explicitLines > 1\n ) {\n throw Error('A list item cannot have wrapping content without a title.');\n }\n if (numLines > 2 || (numLines === 2 && item._hasUnscopedTextContent)) {\n throw Error('A list item can have at maximum three lines.');\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 {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-action-list',\n exportAs: 'matActionList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-action-list mat-mdc-list-base mdc-list',\n 'role': 'group',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: MatListBase, useExisting: MatActionList}],\n})\nexport class MatActionList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\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 {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n ContentChildren,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n} from '@angular/material-experimental/mdc-core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MatListBase, MatListItemBase} from './list-base';\nimport {MatListItemLine, MatListItemMeta, MatListItemTitle} from './list-item-sections';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n@Component({\n selector: 'mat-list',\n exportAs: 'matList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-list mat-mdc-list-base mdc-list',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: MatListBase, useExisting: MatList}],\n})\nexport class MatList extends MatListBase {}\n\n@Component({\n selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n exportAs: 'matListItem',\n host: {\n 'class': 'mat-mdc-list-item mdc-list-item',\n '[class.mdc-list-item--activated]': 'activated',\n '[class.mdc-list-item--with-leading-avatar]': '_avatars.length !== 0',\n '[class.mdc-list-item--with-leading-icon]': '_icons.length !== 0',\n '[class.mdc-list-item--with-trailing-meta]': '_meta.length !== 0',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n templateUrl: 'list-item.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends MatListItemBase {\n @ContentChildren(MatListItemLine, {descendants: true}) _lines: QueryList<MatListItemLine>;\n @ContentChildren(MatListItemTitle, {descendants: true}) _titles: QueryList<MatListItemTitle>;\n @ContentChildren(MatListItemMeta, {descendants: true}) _meta: QueryList<MatListItemMeta>;\n @ViewChild('unscopedContent') _unscopedContent: ElementRef<HTMLSpanElement>;\n @ViewChild('text') _itemText: ElementRef<HTMLElement>;\n\n /** Indicates whether an item in a `<mat-nav-list>` is the currently active page. */\n @Input()\n get activated() {\n return this._activated;\n }\n set activated(activated) {\n this._activated = coerceBooleanProperty(activated);\n }\n _activated = false;\n\n constructor(\n element: ElementRef,\n ngZone: NgZone,\n listBase: MatListBase,\n platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(element, ngZone, listBase, platform, globalRippleOptions, animationMode);\n }\n}\n","<ng-content select=\"[matListItemAvatar],[matListItemIcon]\"></ng-content>\n\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n<ng-content select=\"[matListItemMeta]\"></ng-content>\n\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\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 {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n ANIMATION_MODULE_TYPE,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleGlobalOptions,\n ThemePalette,\n} from '@angular/material-experimental/mdc-core';\nimport {MatListBase, MatListItemBase} from './list-base';\nimport {LIST_OPTION, ListOption, MatListOptionCheckboxPosition} from './list-option-types';\nimport {MatListItemLine, MatListItemTitle} from './list-item-sections';\nimport {Platform} from '@angular/cdk/platform';\n\n/**\n * Injection token that can be used to reference instances of an `SelectionList`. It serves\n * as alternative token to an actual implementation which would result in circular references.\n * @docs-private\n */\nexport const SELECTION_LIST = new InjectionToken<SelectionList>('SelectionList');\n\n/**\n * Interface describing the containing list of an list option. This is used to avoid\n * circular dependencies between the list-option and the selection list.\n * @docs-private\n */\nexport interface SelectionList extends MatListBase {\n multiple: boolean;\n color: ThemePalette;\n selectedOptions: SelectionModel<MatListOption>;\n compareWith: (o1: any, o2: any) => boolean;\n _value: string[] | null;\n _reportValueChange(): void;\n _emitChangeEvent(options: MatListOption[]): void;\n _onTouched(): void;\n}\n\n@Component({\n selector: 'mat-list-option',\n exportAs: 'matListOption',\n styleUrls: ['list-option.css'],\n host: {\n 'class': 'mat-mdc-list-item mat-mdc-list-option mdc-list-item',\n 'role': 'option',\n // As per MDC, only list items in single selection mode should receive the `--selected`\n // class. For multi selection, the checkbox is used as indicator.\n '[class.mdc-list-item--selected]': 'selected && !_selectionList.multiple',\n // Based on the checkbox position and whether there are icons or avatars, we apply MDC's\n // list-item `--leading` and `--trailing` classes.\n '[class.mdc-list-item--with-leading-avatar]': '_hasProjected(\"avatars\", \"before\")',\n '[class.mdc-list-item--with-leading-icon]': '_hasProjected(\"icons\", \"before\")',\n '[class.mdc-list-item--with-trailing-icon]': '_hasProjected(\"icons\", \"after\")',\n '[class.mat-mdc-list-option-with-trailing-avatar]': '_hasProjected(\"avatars\", \"after\")',\n // Based on the checkbox position, we apply the `--leading` or `--trailing` MDC classes\n // which ensure that the checkbox is positioned correctly within the list item.\n '[class.mdc-list-item--with-leading-checkbox]': '_hasCheckboxAt(\"before\")',\n '[class.mdc-list-item--with-trailing-checkbox]': '_hasCheckboxAt(\"after\")',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[attr.aria-selected]': 'selected',\n '(blur)': '_handleBlur()',\n '(click)': '_toggleOnInteraction()',\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MatListItemBase, useExisting: MatListOption},\n {provide: LIST_OPTION, useExisting: MatListOption},\n ],\n})\nexport class MatListOption extends MatListItemBase implements ListOption, OnInit, OnDestroy {\n @ContentChildren(MatListItemLine, {descendants: true}) _lines: QueryList<MatListItemLine>;\n @ContentChildren(MatListItemTitle, {descendants: true}) _titles: QueryList<MatListItemTitle>;\n @ViewChild('unscopedContent') _unscopedContent: ElementRef<HTMLSpanElement>;\n\n /**\n * Emits when the selected state of the option has changed.\n * Use to facilitate two-data binding to the `selected` property.\n * @docs-private\n */\n @Output()\n readonly selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n @Input() checkboxPosition: MatListOptionCheckboxPosition = 'after';\n\n /** Theme color of the list option. This sets the color of the checkbox. */\n @Input()\n get color(): ThemePalette {\n return this._color || this._selectionList.color;\n }\n set color(newValue: ThemePalette) {\n this._color = newValue;\n }\n private _color: ThemePalette;\n\n /** Value of the option */\n @Input()\n get value(): any {\n return this._value;\n }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value && this._inputsInitialized) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n /** Whether the option is selected. */\n @Input()\n get selected(): boolean {\n return this._selectionList.selectedOptions.isSelected(this);\n }\n set selected(value: BooleanInput) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this._setSelected(isSelected);\n\n if (isSelected || this._selectionList.multiple) {\n this._selectionList._reportValueChange();\n }\n }\n }\n private _selected = false;\n\n /**\n * This is set to true after the first OnChanges cycle so we don't\n * clear the value of `selected` in the first cycle.\n */\n private _inputsInitialized = false;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n ngZone: NgZone,\n @Inject(SELECTION_LIST) private _selectionList: SelectionList,\n platform: Platform,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(MAT_RIPPLE_GLOBAL_OPTIONS)\n globalRippleOptions?: RippleGlobalOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, ngZone, _selectionList, platform, globalRippleOptions, animationMode);\n }\n\n ngOnInit() {\n const list = this._selectionList;\n\n if (list._value && list._value.some(value => list.compareWith(this._value, value))) {\n this._setSelected(true);\n }\n\n const wasSelected = this._selected;\n\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this._changeDetectorRef.markForCheck();\n }\n });\n this._inputsInitialized = true;\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => {\n this.selected = false;\n });\n }\n }\n\n /** Toggles the selection state of the option. */\n toggle(): void {\n this.selected = !this.selected;\n }\n\n /** Allows for programmatic focusing of the option. */\n focus(): void {\n this._hostElement.focus();\n }\n\n /** Gets the text label of the list option. Used for the typeahead functionality in the list. */\n getLabel() {\n const titleElement = this._titles?.get(0)?._elementRef.nativeElement;\n // If there is no explicit title element, the unscoped text content\n // is treated as the list item title.\n const labelEl = titleElement || this._unscopedContent?.nativeElement;\n return labelEl?.textContent || '';\n }\n\n /** Whether a checkbox is shown at the given position. */\n _hasCheckboxAt(position: MatListOptionCheckboxPosition): boolean {\n return this._selectionList.multiple && this._getCheckboxPosition() === position;\n }\n\n /** Whether icons or avatars are shown at the given position. */\n _hasIconsOrAvatarsAt(position: 'before' | 'after'): boolean {\n return this._hasProjected('icons', position) || this._hasProjected('avatars', position);\n }\n\n /** Gets whether the given type of element is projected at the specified position. */\n _hasProjected(type: 'icons' | 'avatars', position: 'before' | 'after'): boolean {\n // If the checkbox is shown at the specified position, neither icons or\n // avatars can be shown at the position.\n return (\n this._getCheckboxPosition() !== position &&\n (type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0)\n );\n }\n\n _handleBlur() {\n this._selectionList._onTouched();\n }\n\n /** Gets the current position of the checkbox. */\n _getCheckboxPosition() {\n return this.checkboxPosition || 'after';\n }\n\n /**\n * Sets the selected state of the option.\n * @returns Whether the value has changed.\n */\n _setSelected(selected: boolean): boolean {\n if (selected === this._selected) {\n return false;\n }\n\n this._selected = selected;\n\n if (selected) {\n this._selectionList.selectedOptions.select(this);\n } else {\n this._selectionList.selectedOptions.deselect(this);\n }\n\n this.selectedChange.emit(selected);\n this._changeDetectorRef.markForCheck();\n return true;\n }\n\n /**\n * Notifies Angular that the option needs to be checked in the next change detection run.\n * Mainly used to trigger an update of the list option if the disabled state of the selection\n * list changed.\n */\n _markForCheck() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Toggles the option's value based on a user interaction. */\n _toggleOnInteraction() {\n if (!this.disabled) {\n if (this._selectionList.multiple) {\n this.selected = !this.selected;\n this._selectionList._emitChangeEvent([this]);\n } else if (!this.selected) {\n this.selected = true;\n this._selectionList._emitChangeEvent([this]);\n }\n }\n }\n\n /** Sets the tabindex of the list option. */\n _setTabindex(value: number) {\n this._hostElement.setAttribute('tabindex', value + '');\n }\n}\n","<!--\n Save icons and the pseudo checkbox so that they can be re-used in the template without\n duplication. Also content can only be injected once so we need to extract icons/avatars\n into a template since we use it in multiple places.\n-->\n<ng-template #icons>\n <ng-content select=\"[matListItemAvatar],[matListItemIcon]\">\n </ng-content>\n</ng-template>\n\n<ng-template #checkbox>\n <div class=\"mdc-checkbox\" [class.mdc-checkbox--disabled]=\"disabled\">\n <input type=\"checkbox\" class=\"mdc-checkbox__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n </div>\n</ng-template>\n\n<!-- Container for the checkbox at start. -->\n<span class=\"mdc-list-item__start mat-mdc-list-option-checkbox-before\"\n *ngIf=\"_hasCheckboxAt('before')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars before the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('before')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Text -->\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n<!-- Container for the checkbox at the end. -->\n<span class=\"mdc-list-item__end\" *ngIf=\"_hasCheckboxAt('after')\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n</span>\n<!-- Conditionally renders icons/avatars after the list item text. -->\n<ng-template [ngIf]=\"_hasIconsOrAvatarsAt('after')\">\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n</ng-template>\n\n<!-- Divider -->\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-subheader], [matSubheader]',\n // TODO(mmalerba): MDC's subheader font looks identical to the list item font, figure out why and\n // make a change in one of the repos to visually distinguish.\n host: {'class': 'mat-mdc-subheader mdc-list-group__subheader'},\n})\nexport class MatListSubheaderCssMatStyler {}\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 {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatListBase} from './list-base';\n\n@Component({\n selector: 'mat-nav-list',\n exportAs: 'matNavList',\n template: '<ng-content></ng-content>',\n host: {\n 'class': 'mat-mdc-nav-list mat-mdc-list-base mdc-list',\n 'role': 'navigation',\n },\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: MatListBase, useExisting: MatNavList}],\n})\nexport class MatNavList extends MatListBase {\n // An navigation list is considered interactive, but does not extend the interactive list\n // base class. We do this because as per MDC, items of interactive lists are only reachable\n // through keyboard shortcuts. We want all items for the navigation list to be reachable\n // through tab key as we do not intend to provide any special accessibility treatment. The\n // accessibility treatment depends on how the end-user will interact with it.\n override _isNonInteractive = false;\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 {FocusKeyManager} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {A, ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {_getFocusedElementPierceShadowDom} from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {MatListBase} from './list-base';\nimport {MatListOption, SELECTION_LIST, SelectionList} from './list-option';\n\nconst MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectionList),\n multi: true,\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n constructor(\n /** Reference to the selection list that emitted the event. */\n public source: MatSelectionList,\n /**\n * Reference to the option that has been changed.\n * @deprecated Use `options` instead, because some events may change more than one option.\n * @breaking-change 12.0.0\n */\n public option: MatListOption,\n /** Reference to the options that have been changed. */\n public options: MatListOption[],\n ) {}\n}\n\n@Component({\n selector: 'mat-selection-list',\n exportAs: 'matSelectionList',\n host: {\n 'class': 'mat-mdc-selection-list mat-mdc-list-base mdc-list',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple',\n '(keydown)': '_handleKeydown($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n MAT_SELECTION_LIST_VALUE_ACCESSOR,\n {provide: MatListBase, useExisting: MatSelectionList},\n {provide: SELECTION_LIST, useExisting: MatSelectionList},\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSelectionList\n extends MatListBase\n implements SelectionList, ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy\n{\n private _initialized = false;\n private _keyManager: FocusKeyManager<MatListOption>;\n\n /** Emits when the list has been destroyed. */\n private _destroyed = new Subject<void>();\n\n /** Whether the list has been destroyed. */\n private _isDestroyed: boolean;\n\n /** View to model callback that should be called whenever the selected options change. */\n private _onChange: (value: any) => void = (_: any) => {};\n\n @ContentChildren(MatListOption, {descendants: true}) _items: QueryList<MatListOption>;\n\n /** Emits a change event whenever the selected state of an option changes. */\n @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n new EventEmitter<MatSelectionListChange>();\n\n /** Theme color of the selection list. This sets the checkbox color for all list options. */\n @Input() color: ThemePalette = 'accent';\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean = (a1, a2) => a1 === a2;\n\n /** Whether selection is limited to one or multiple items (default multiple). */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: BooleanInput) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._multiple) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && this._initialized) {\n throw new Error(\n 'Cannot change `multiple` mode of mat-selection-list after initialization.',\n );\n }\n\n this._multiple = newValue;\n this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);\n }\n }\n private _multiple = true;\n\n /** The currently selected options. */\n selectedOptions = new SelectionModel<MatListOption>(this._multiple);\n\n /** Keeps track of the currently-selected value. */\n _value: string[] | null;\n\n /** View to model callback that should be called if the list or its options lost focus. */\n _onTouched: () => void = () => {};\n\n constructor(public _element: ElementRef<HTMLElement>, private _ngZone: NgZone) {\n super();\n this._isNonInteractive = false;\n }\n\n ngAfterViewInit() {\n // Mark the selection list as initialized so that the `multiple`\n // binding can no longer be changed.\n this._initialized = true;\n this._setupRovingTabindex();\n\n // These events are bound outside the zone, because they don't change\n // any change-detected properties and they can trigger timeouts.\n this._ngZone.runOutsideAngular(() => {\n this._element.nativeElement.addEventListener('focusin', this._handleFocusin);\n this._element.nativeElement.addEventListener('focusout', this._handleFocusout);\n });\n\n if (this._value) {\n this._setOptionsFromValues(this._value);\n }\n\n this._watchForSelectionChange();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disabledChanges = changes['disabled'];\n const disableRippleChanges = changes['disableRipple'];\n\n if (\n (disableRippleChanges && !disableRippleChanges.firstChange) ||\n (disabledChanges && !disabledChanges.firstChange)\n ) {\n this._markOptionsForCheck();\n }\n }\n\n ngOnDestroy() {\n this._element.nativeElement.removeEventListener('focusin', this._handleFocusin);\n this._element.nativeElement.removeEventListener('focusout', this._handleFocusout);\n this._destroyed.next();\n this._destroyed.complete();\n this._isDestroyed = true;\n }\n\n /** Focuses the selection list. */\n focus(options?: FocusOptions) {\n this._element.nativeElement.focus(options);\n }\n\n /** Selects all of the options. Returns the options that changed as a result. */\n selectAll(): MatListOption[] {\n return this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. Returns the options that changed as a result. */\n deselectAll(): MatListOption[] {\n return this._setAllOptionsSelected(false);\n }\n\n /** Reports a value change to the ControlValueAccessor */\n _reportValueChange() {\n // Stop reporting value changes after the list has been destroyed. This avoids\n // cases where the list might wrongly reset its value once it is removed, but\n // the form control is still live.\n if (this.options && !this._isDestroyed) {\n const value = this._getSelectedOptionValues();\n this._onChange(value);\n this._value = value;\n }\n }\n\n /** Emits a change event if the selected state of an option changed. */\n _emitChangeEvent(options: MatListOption[]) {\n this.selectionChange.emit(new MatSelectionListChange(this, options[0], options));\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(values: string[]): void {\n this._value = values;\n\n if (this.options) {\n this._setOptionsFromValues(values || []);\n }\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /** Watches for changes in the selected state of the options and updates the list accordingly. */\n private _watchForSelectionChange() {\n this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {\n // Sync external changes to the model back to the options.\n for (let item of event.added) {\n item.selected = true;\n }\n\n for (let item of event.removed) {\n item.selected = false;\n }\n\n if (!this._containsFocus()) {\n this._resetActiveOption();\n }\n });\n }\n\n /** Sets the selected options based on the specified values. */\n private _setOptionsFromValues(values: string[]) {\n this.options.forEach(option => option._setSelected(false));\n\n values.forEach(value => {\n const correspondingOption = this.options.find(option => {\n // Skip options that are already in the model. This allows us to handle cases\n // where the same primitive value is selected multiple times.\n return option.selected ? false : this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n correspondingOption._setSelected(true);\n }\n });\n }\n\n /** Returns the values of the selected options. */\n private _getSelectedOptionValues(): string[] {\n return this.options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Marks all the options to be checked in the next change detection run. */\n private _markOptionsForCheck() {\n if (this.options) {\n this.options.forEach(option => option._markForCheck());\n }\n }\n\n /**\n * Sets the selected state on all of the options\n * and emits an event if anything changed.\n */\n private _setAllOptionsSelected(isSelected: boolean, skipDisabled?: boolean): MatListOption[] {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n const changedOptions: MatListOption[] = [];\n\n this.options.forEach(option => {\n if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {\n changedOptions.push(option);\n }\n });\n\n if (changedOptions.length) {\n this._reportValueChange();\n }\n\n return changedOptions;\n }\n\n // Note: This getter exists for backwards compatibility. The `_items` query list\n // cannot be named `options` as it will be picked up by the interactive list base.\n /** The option components contained within this selection-list. */\n get options(): QueryList<MatListOption> {\n return this._items;\n }\n\n /** Handles keydown events within the list. */\n _handleKeydown(event: KeyboardEvent) {\n const activeItem = this._keyManager.activeItem;\n\n if (\n (event.keyCode === ENTER || event.keyCode === SPACE) &&\n !this._keyManager.isTyping() &&\n activeItem &&\n !activeItem.disabled\n ) {\n event.preventDefault();\n activeItem._toggleOnInteraction();\n } else if (\n event.keyCode === A &&\n this.multiple &&\n !this._keyManager.isTyping() &&\n hasModifierKey(event, 'ctrlKey')\n ) {\n const shouldSelect = this.options.some(option => !option.disabled && !option.selected);\n event.preventDefault();\n this._emitChangeEvent(this._setAllOptionsSelected(shouldSelect, true));\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n /** Handles focusout events within the list. */\n private _handleFocusout = () => {\n // Focus takes a while to update so we have to wrap our call in a timeout.\n setTimeout(() => {\n if (!this._containsFocus()) {\n this._resetActiveOption();\n }\n });\n };\n\n /** Handles focusin events within the list. */\n private _handleFocusin = (event: FocusEvent) => {\n const activeIndex = this._items\n .toArray()\n .findIndex(item => item._elementRef.nativeElement.contains(event.target as HTMLElement));\n\n if (activeIndex > -1) {\n this._setActiveOption(activeIndex);\n } else {\n this._resetActiveOption();\n }\n };\n\n /** Sets up the logic for maintaining the roving tabindex. */\n private _setupRovingTabindex() {\n this._keyManager = new FocusKeyManager(this._items)\n .withHomeAndEnd()\n .withTypeAhead()\n .withWrap()\n // Allow navigation to disabled items.\n .skipPredicate(() => false);\n\n // Set the initial focus.\n this._resetActiveOption();\n\n // Move the tabindex to the currently-focused list item.\n this._keyManager.change\n .pipe(takeUntil(this._destroyed))\n .subscribe(activeItemIndex => this._setActiveOption(activeItemIndex));\n\n // If the active item is removed from the list, reset back to the first one.\n this._items.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n const activeItem = this._keyManager.activeItem;\n\n if (!activeItem || !this._items.toArray().indexOf(activeItem)) {\n this._resetActiveOption();\n }\n });\n }\n\n /**\n * Sets an option as active.\n * @param index Index of the active option. If set to -1, no option will be active.\n */\n private _setActiveOption(index: number) {\n this._items.forEach((item, itemIndex) => item._setTabindex(itemIndex === index ? 0 : -1));\n this._keyManager.updateActiveItem(index);\n }\n\n /** Resets the active option to the first selected option. */\n private _resetActiveOption() {\n const activeItem =\n this._items.find(item => item.selected && !item.disabled) || this._items.first;\n this._setActiveOption(activeItem ? this._items.toArray().indexOf(activeItem) : -1);\n }\n\n /** Returns whether the focus is currently within the list. */\n private _containsFocus() {\n const activeElement = _getFocusedElementPierceShadowDom();\n return activeElement && this._element.nativeElement.contains(activeElement);\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n MatPseudoCheckboxModule,\n MatRippleModule,\n MatCommonModule,\n} from '@angular/material-experimental/mdc-core';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatActionList} from './action-list';\nimport {MatList, MatListItem} from './list';\nimport {MatListOption} from './list-option';\nimport {MatListSubheaderCssMatStyler} from './subheader';\nimport {\n MatListItemLine,\n MatListItemTitle,\n MatListItemMeta,\n MatListItemAvatar,\n MatListItemIcon,\n} from './list-item-sections';\nimport {MatNavList} from './nav-list';\nimport {MatSelectionList} from './selection-list';\nimport {ObserversModule} from '@angular/cdk/observers';\n\n@NgModule({\n imports: [\n ObserversModule,\n CommonModule,\n MatCommonModule,\n MatRippleModule,\n MatPseudoCheckboxModule,\n ],\n exports: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListItemAvatar,\n MatListItemIcon,\n MatListSubheaderCssMatStyler,\n MatDividerModule,\n MatListItemLine,\n MatListItemTitle,\n MatListItemMeta,\n ],\n declarations: [\n MatList,\n MatActionList,\n MatNavList,\n MatSelectionList,\n MatListItem,\n MatListOption,\n MatListSubheaderCssMatStyler,\n MatListItemAvatar,\n MatListItemIcon,\n MatListItemLine,\n MatListItemTitle,\n MatListItemMeta,\n ],\n})\nexport class MatListModule {}\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';\nexport * from './list';\nexport * from './module';\nexport * from './nav-list';\nexport * from './selection-list';\nexport * from './list-option';\nexport * from './subheader';\nexport * from './list-item-sections';\n\nexport {MatListOptionCheckboxPosition} from './list-option-types';\nexport {MatListOption} from './list-option';\n\nexport {MAT_LIST, MAT_NAV_LIST, MAT_SELECTION_LIST_VALUE_ACCESSOR} from '@angular/material/list';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MatListBase","i2","ANIMATION_MODULE_TYPE","i3"],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { HarnessPredicate } from '@angular/cdk/testing';
2
- import { _MatMenuHarnessBase, _MatMenuItemHarnessBase } from '@angular/material/menu/testing';
3
-
4
- /**
5
- * @license
6
- * Copyright Google LLC All Rights Reserved.
7
- *
8
- * Use of this source code is governed by an MIT-style license that can be
9
- * found in the LICENSE file at https://angular.io/license
10
- */
11
- /** Harness for interacting with an MDC-based mat-menu in tests. */
12
- class MatMenuHarness extends _MatMenuHarnessBase {
13
- constructor() {
14
- super(...arguments);
15
- this._itemClass = MatMenuItemHarness;
16
- }
17
- /**
18
- * Gets a `HarnessPredicate` that can be used to search for a menu with specific attributes.
19
- * @param options Options for filtering which menu instances are considered a match.
20
- * @return a `HarnessPredicate` configured with the given options.
21
- */
22
- static with(options = {}) {
23
- return new HarnessPredicate(this, options).addOption('triggerText', options.triggerText, (harness, text) => HarnessPredicate.stringMatches(harness.getTriggerText(), text));
24
- }
25
- }
26
- /** The selector for the host element of a `MatMenu` instance. */
27
- MatMenuHarness.hostSelector = '.mat-mdc-menu-trigger';
28
- /** Harness for interacting with an MDC-based mat-menu-item in tests. */
29
- class MatMenuItemHarness extends _MatMenuItemHarnessBase {
30
- constructor() {
31
- super(...arguments);
32
- this._menuClass = MatMenuHarness;
33
- }
34
- /**
35
- * Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.
36
- * @param options Options for filtering which menu item instances are considered a match.
37
- * @return a `HarnessPredicate` configured with the given options.
38
- */
39
- static with(options = {}) {
40
- return new HarnessPredicate(this, options)
41
- .addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))
42
- .addOption('hasSubmenu', options.hasSubmenu, async (harness, hasSubmenu) => (await harness.hasSubmenu()) === hasSubmenu);
43
- }
44
- }
45
- /** The selector for the host element of a `MatMenuItem` instance. */
46
- MatMenuItemHarness.hostSelector = '.mat-mdc-menu-item';
47
-
48
- /**
49
- * @license
50
- * Copyright Google LLC All Rights Reserved.
51
- *
52
- * Use of this source code is governed by an MIT-style license that can be
53
- * found in the LICENSE file at https://angular.io/license
54
- */
55
-
56
- /**
57
- * @license
58
- * Copyright Google LLC All Rights Reserved.
59
- *
60
- * Use of this source code is governed by an MIT-style license that can be
61
- * found in the LICENSE file at https://angular.io/license
62
- */
63
-
64
- export { MatMenuHarness, MatMenuItemHarness };
65
- //# sourceMappingURL=testing.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-menu/testing/menu-harness.ts","../../../../../../../src/material-experimental/mdc-menu/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-menu/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 {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {\n MenuHarnessFilters,\n MenuItemHarnessFilters,\n _MatMenuItemHarnessBase,\n _MatMenuHarnessBase,\n} from '@angular/material/menu/testing';\n\n/** Harness for interacting with an MDC-based mat-menu in tests. */\nexport class MatMenuHarness extends _MatMenuHarnessBase<\n typeof MatMenuItemHarness,\n MatMenuItemHarness,\n MenuItemHarnessFilters\n> {\n /** The selector for the host element of a `MatMenu` instance. */\n static hostSelector = '.mat-mdc-menu-trigger';\n protected _itemClass = MatMenuItemHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu with specific attributes.\n * @param options Options for filtering which menu instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'triggerText',\n options.triggerText,\n (harness, text) => HarnessPredicate.stringMatches(harness.getTriggerText(), text),\n );\n }\n}\n\n/** Harness for interacting with an MDC-based mat-menu-item in tests. */\nexport class MatMenuItemHarness extends _MatMenuItemHarnessBase<\n typeof MatMenuHarness,\n MatMenuHarness\n> {\n /** The selector for the host element of a `MatMenuItem` instance. */\n static hostSelector = '.mat-mdc-menu-item';\n protected _menuClass = MatMenuHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.\n * @param options Options for filtering which menu item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'hasSubmenu',\n options.hasSubmenu,\n async (harness, hasSubmenu) => (await harness.hasSubmenu()) === hasSubmenu,\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 './menu-harness';\nexport {MenuHarnessFilters, MenuItemHarnessFilters} from '@angular/material/menu/testing';\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":";;;AAAA;;;;;;AAMG;AAUH;AACM,MAAO,cAAe,SAAQ,mBAInC,CAAA;AAJD,IAAA,WAAA,GAAA;;QAOY,IAAU,CAAA,UAAA,GAAG,kBAAkB,CAAC;KAiB3C;AAfC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAA8B,EAAE,EAAA;AAEhC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,aAAa,EACb,OAAO,CAAC,WAAW,EACnB,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAClF,CAAC;KACH;;AAlBD;AACO,cAAY,CAAA,YAAA,GAAG,uBAAuB,CAAC;AAoBhD;AACM,MAAO,kBAAmB,SAAQ,uBAGvC,CAAA;AAHD,IAAA,WAAA,GAAA;;QAMY,IAAU,CAAA,UAAA,GAAG,cAAc,CAAC;KAqBvC;AAnBC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAkC,EAAE,EAAA;AAEpC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;aACvC,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;aACA,SAAS,CACR,YAAY,EACZ,OAAO,CAAC,UAAU,EAClB,OAAO,OAAO,EAAE,UAAU,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,UAAU,CAC3E,CAAC;KACL;;AAtBD;AACO,kBAAY,CAAA,YAAA,GAAG,oBAAoB;;ACjD5C;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}
@@ -1,172 +0,0 @@
1
- import { Overlay, OverlayModule } from '@angular/cdk/overlay';
2
- import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Directive, NgModule } from '@angular/core';
4
- import { MAT_MENU_SCROLL_STRATEGY, _MatMenuBase, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, matMenuAnimations, MatMenuItem as MatMenuItem$1, _MatMenuTriggerBase, _MatMenuContentBase, MAT_MENU_CONTENT } from '@angular/material/menu';
5
- export { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, fadeInItems, matMenuAnimations, transformMenu } from '@angular/material/menu';
6
- import * as i1 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i2 from '@angular/material-experimental/mdc-core';
9
- import { MatRippleModule, MatCommonModule } from '@angular/material-experimental/mdc-core';
10
- import { CdkScrollableModule } from '@angular/cdk/scrolling';
11
-
12
- /**
13
- * @license
14
- * Copyright Google LLC All Rights Reserved.
15
- *
16
- * Use of this source code is governed by an MIT-style license that can be
17
- * found in the LICENSE file at https://angular.io/license
18
- */
19
- /** @docs-private */
20
- function MAT_MENU_SCROLL_STRATEGY_FACTORY(overlay) {
21
- return () => overlay.scrollStrategies.reposition();
22
- }
23
- /** @docs-private */
24
- const MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER = {
25
- provide: MAT_MENU_SCROLL_STRATEGY,
26
- deps: [Overlay],
27
- useFactory: MAT_MENU_SCROLL_STRATEGY_FACTORY,
28
- };
29
- class MatMenu extends _MatMenuBase {
30
- constructor(_elementRef, _ngZone, _defaultOptions, changeDetectorRef) {
31
- super(_elementRef, _ngZone, _defaultOptions, changeDetectorRef);
32
- this._elevationPrefix = 'mat-mdc-elevation-z';
33
- this._baseElevation = 8;
34
- }
35
- }
36
- MatMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenu, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
- MatMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MatMenu, selector: "mat-menu", host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], exportAs: ["matMenu"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel mdc-menu-surface mdc-menu-surface--open mat-mdc-elevation-specific\"\n [id]=\"panelId\"\n [ngClass]=\"_classList\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"closed.emit('click')\"\n [@transformMenu]=\"_panelAnimationState\"\n (@transformMenu.start)=\"_onAnimationStart($event)\"\n (@transformMenu.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content mdc-list\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item.mdc-list-item{align-items:center}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:16px}.mat-mdc-menu-item .mdc-list-item__primary-text{white-space:normal}.mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenu, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'mat-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'matMenu', host: {
41
- '[attr.aria-label]': 'null',
42
- '[attr.aria-labelledby]': 'null',
43
- '[attr.aria-describedby]': 'null',
44
- }, animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel mdc-menu-surface mdc-menu-surface--open mat-mdc-elevation-specific\"\n [id]=\"panelId\"\n [ngClass]=\"_classList\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"closed.emit('click')\"\n [@transformMenu]=\"_panelAnimationState\"\n (@transformMenu.start)=\"_onAnimationStart($event)\"\n (@transformMenu.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content mdc-list\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item.mdc-list-item{align-items:center}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:16px}.mat-mdc-menu-item .mdc-list-item__primary-text{white-space:normal}.mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"] }]
45
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
46
- type: Inject,
47
- args: [MAT_MENU_DEFAULT_OPTIONS]
48
- }] }, { type: i0.ChangeDetectorRef }]; } });
49
-
50
- /**
51
- * @license
52
- * Copyright Google LLC All Rights Reserved.
53
- *
54
- * Use of this source code is governed by an MIT-style license that can be
55
- * found in the LICENSE file at https://angular.io/license
56
- */
57
- /**
58
- * Single item inside of a `mat-menu`. Provides the menu item styling and accessibility treatment.
59
- */
60
- class MatMenuItem extends MatMenuItem$1 {
61
- }
62
- MatMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
63
- MatMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MatMenuItem, selector: "[mat-menu-item]", inputs: { disabled: "disabled", disableRipple: "disableRipple" }, host: { properties: { "attr.role": "role", "class.mat-menu-item": "false", "class.mat-focus-indicator": "false", "class.mat-mdc-menu-item-highlighted": "_highlighted", "class.mat-mdc-menu-item-submenu-trigger": "_triggersSubmenu", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "disabled", "attr.disabled": "disabled || null" }, classAttribute: "mat-mdc-menu-item mat-mdc-focus-indicator mdc-list-item" }, providers: [{ provide: MatMenuItem$1, useExisting: MatMenuItem }], exportAs: ["matMenuItem"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"mat-icon\"></ng-content>\n<span class=\"mdc-list-item__primary-text\"><ng-content></ng-content></span>\n<div class=\"mat-mdc-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n<svg\n *ngIf=\"_triggersSubmenu\"\n class=\"mat-mdc-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuItem, decorators: [{
65
- type: Component,
66
- args: [{ selector: '[mat-menu-item]', exportAs: 'matMenuItem', inputs: ['disabled', 'disableRipple'], host: {
67
- '[attr.role]': 'role',
68
- // The MatMenuItem parent class adds `mat-menu-item` and `mat-focus-indicator` to the CSS
69
- // classlist, but these should not be added for this MDC equivalent menu item.
70
- '[class.mat-menu-item]': 'false',
71
- '[class.mat-focus-indicator]': 'false',
72
- 'class': 'mat-mdc-menu-item mat-mdc-focus-indicator mdc-list-item',
73
- '[class.mat-mdc-menu-item-highlighted]': '_highlighted',
74
- '[class.mat-mdc-menu-item-submenu-trigger]': '_triggersSubmenu',
75
- '[attr.tabindex]': '_getTabIndex()',
76
- '[attr.aria-disabled]': 'disabled',
77
- '[attr.disabled]': 'disabled || null',
78
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: MatMenuItem$1, useExisting: MatMenuItem }], template: "<ng-content select=\"mat-icon\"></ng-content>\n<span class=\"mdc-list-item__primary-text\"><ng-content></ng-content></span>\n<div class=\"mat-mdc-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n<svg\n *ngIf=\"_triggersSubmenu\"\n class=\"mat-mdc-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n" }]
79
- }] });
80
-
81
- /**
82
- * @license
83
- * Copyright Google LLC All Rights Reserved.
84
- *
85
- * Use of this source code is governed by an MIT-style license that can be
86
- * found in the LICENSE file at https://angular.io/license
87
- */
88
- /** Directive applied to an element that should trigger a `mat-menu`. */
89
- class MatMenuTrigger extends _MatMenuTriggerBase {
90
- }
91
- MatMenuTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
92
- MatMenuTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", host: { classAttribute: "mat-mdc-menu-trigger" }, exportAs: ["matMenuTrigger"], usesInheritance: true, ngImport: i0 });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuTrigger, decorators: [{
94
- type: Directive,
95
- args: [{
96
- selector: `[mat-menu-trigger-for], [matMenuTriggerFor]`,
97
- host: {
98
- 'class': 'mat-mdc-menu-trigger',
99
- },
100
- exportAs: 'matMenuTrigger',
101
- }]
102
- }] });
103
- /** Menu content that will be rendered lazily once the menu is opened. */
104
- class MatMenuContent extends _MatMenuContentBase {
105
- }
106
- MatMenuContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
107
- MatMenuContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: MatMenuContent, selector: "ng-template[matMenuContent]", providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }], usesInheritance: true, ngImport: i0 });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuContent, decorators: [{
109
- type: Directive,
110
- args: [{
111
- selector: 'ng-template[matMenuContent]',
112
- providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }],
113
- }]
114
- }] });
115
-
116
- /**
117
- * @license
118
- * Copyright Google LLC All Rights Reserved.
119
- *
120
- * Use of this source code is governed by an MIT-style license that can be
121
- * found in the LICENSE file at https://angular.io/license
122
- */
123
- class MatMenuModule {
124
- }
125
- MatMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
126
- MatMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: MatMenuModule, declarations: [MatMenu, MatMenuItem, MatMenuContent, MatMenuTrigger], imports: [CommonModule, MatRippleModule, MatCommonModule, OverlayModule], exports: [CdkScrollableModule,
127
- MatMenu,
128
- MatCommonModule,
129
- MatMenuItem,
130
- MatMenuContent,
131
- MatMenuTrigger] });
132
- MatMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuModule, providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [CommonModule, MatRippleModule, MatCommonModule, OverlayModule, CdkScrollableModule,
133
- MatCommonModule] });
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatMenuModule, decorators: [{
135
- type: NgModule,
136
- args: [{
137
- imports: [CommonModule, MatRippleModule, MatCommonModule, OverlayModule],
138
- exports: [
139
- CdkScrollableModule,
140
- MatMenu,
141
- MatCommonModule,
142
- MatMenuItem,
143
- MatMenuContent,
144
- MatMenuTrigger,
145
- ],
146
- declarations: [MatMenu, MatMenuItem, MatMenuContent, MatMenuTrigger],
147
- providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER],
148
- }]
149
- }] });
150
-
151
- /**
152
- * @license
153
- * Copyright Google LLC All Rights Reserved.
154
- *
155
- * Use of this source code is governed by an MIT-style license that can be
156
- * found in the LICENSE file at https://angular.io/license
157
- */
158
-
159
- /**
160
- * @license
161
- * Copyright Google LLC All Rights Reserved.
162
- *
163
- * Use of this source code is governed by an MIT-style license that can be
164
- * found in the LICENSE file at https://angular.io/license
165
- */
166
-
167
- /**
168
- * Generated bundle index. Do not edit.
169
- */
170
-
171
- export { MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger };
172
- //# sourceMappingURL=mdc-menu.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdc-menu.mjs","sources":["../../../../../../src/material-experimental/mdc-menu/menu.ts","../../../../../../src/material-experimental/mdc-menu/menu.html","../../../../../../src/material-experimental/mdc-menu/menu-item.ts","../../../../../../src/material-experimental/mdc-menu/menu-item.html","../../../../../../src/material-experimental/mdc-menu/directives.ts","../../../../../../src/material-experimental/mdc-menu/module.ts","../../../../../../src/material-experimental/mdc-menu/public-api.ts","../../../../../../src/material-experimental/mdc-menu/index.ts","../../../../../../src/material-experimental/mdc-menu/mdc-menu_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Overlay, ScrollStrategy} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Provider,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MAT_MENU_DEFAULT_OPTIONS,\n MAT_MENU_PANEL,\n MAT_MENU_SCROLL_STRATEGY,\n _MatMenuBase,\n matMenuAnimations,\n MatMenuDefaultOptions,\n} from '@angular/material/menu';\n\n/** @docs-private */\nexport function MAT_MENU_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER: Provider = {\n provide: MAT_MENU_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_MENU_SCROLL_STRATEGY_FACTORY,\n};\n\n@Component({\n selector: 'mat-menu',\n templateUrl: 'menu.html',\n styleUrls: ['menu.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matMenu',\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n },\n animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems],\n providers: [{provide: MAT_MENU_PANEL, useExisting: MatMenu}],\n})\nexport class MatMenu extends _MatMenuBase {\n protected override _elevationPrefix = 'mat-mdc-elevation-z';\n protected override _baseElevation = 8;\n\n /*\n * @deprecated `changeDetectorRef` parameter will become a required parameter.\n * @breaking-change 15.0.0\n */\n constructor(\n elementRef: ElementRef<HTMLElement>,\n ngZone: NgZone,\n defaultOptions: MatMenuDefaultOptions,\n );\n\n constructor(\n _elementRef: ElementRef<HTMLElement>,\n _ngZone: NgZone,\n @Inject(MAT_MENU_DEFAULT_OPTIONS) _defaultOptions: MatMenuDefaultOptions,\n changeDetectorRef?: ChangeDetectorRef,\n ) {\n super(_elementRef, _ngZone, _defaultOptions, changeDetectorRef);\n }\n}\n","<ng-template>\n <div\n class=\"mat-mdc-menu-panel mdc-menu-surface mdc-menu-surface--open mat-mdc-elevation-specific\"\n [id]=\"panelId\"\n [ngClass]=\"_classList\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"closed.emit('click')\"\n [@transformMenu]=\"_panelAnimationState\"\n (@transformMenu.start)=\"_onAnimationStart($event)\"\n (@transformMenu.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content mdc-list\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Component, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {MatMenuItem as BaseMatMenuItem} from '@angular/material/menu';\n\n/**\n * Single item inside of a `mat-menu`. Provides the menu item styling and accessibility treatment.\n */\n@Component({\n selector: '[mat-menu-item]',\n exportAs: 'matMenuItem',\n inputs: ['disabled', 'disableRipple'],\n host: {\n '[attr.role]': 'role',\n // The MatMenuItem parent class adds `mat-menu-item` and `mat-focus-indicator` to the CSS\n // classlist, but these should not be added for this MDC equivalent menu item.\n '[class.mat-menu-item]': 'false',\n '[class.mat-focus-indicator]': 'false',\n 'class': 'mat-mdc-menu-item mat-mdc-focus-indicator mdc-list-item',\n '[class.mat-mdc-menu-item-highlighted]': '_highlighted',\n '[class.mat-mdc-menu-item-submenu-trigger]': '_triggersSubmenu',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': 'disabled',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: 'menu-item.html',\n providers: [{provide: BaseMatMenuItem, useExisting: MatMenuItem}],\n})\nexport class MatMenuItem extends BaseMatMenuItem {}\n","<ng-content select=\"mat-icon\"></ng-content>\n<span class=\"mdc-list-item__primary-text\"><ng-content></ng-content></span>\n<div class=\"mat-mdc-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n<svg\n *ngIf=\"_triggersSubmenu\"\n class=\"mat-mdc-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\nimport {_MatMenuContentBase, _MatMenuTriggerBase, MAT_MENU_CONTENT} from '@angular/material/menu';\n\n/** Directive applied to an element that should trigger a `mat-menu`. */\n@Directive({\n selector: `[mat-menu-trigger-for], [matMenuTriggerFor]`,\n host: {\n 'class': 'mat-mdc-menu-trigger',\n },\n exportAs: 'matMenuTrigger',\n})\nexport class MatMenuTrigger extends _MatMenuTriggerBase {}\n\n/** Menu content that will be rendered lazily once the menu is opened. */\n@Directive({\n selector: 'ng-template[matMenuContent]',\n providers: [{provide: MAT_MENU_CONTENT, useExisting: MatMenuContent}],\n})\nexport class MatMenuContent extends _MatMenuContentBase {}\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MatMenu} from './menu';\nimport {MatMenuItem} from './menu-item';\nimport {MatMenuContent, MatMenuTrigger} from './directives';\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, MatCommonModule, OverlayModule],\n exports: [\n CdkScrollableModule,\n MatMenu,\n MatCommonModule,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger,\n ],\n declarations: [MatMenu, MatMenuItem, MatMenuContent, MatMenuTrigger],\n providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER],\n})\nexport class MatMenuModule {}\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 {MatMenu} from './menu';\nexport {MatMenuItem} from './menu-item';\nexport {MatMenuTrigger, MatMenuContent} from './directives';\nexport * from './module';\n\nexport {\n fadeInItems,\n MAT_MENU_DEFAULT_OPTIONS,\n MAT_MENU_PANEL,\n MAT_MENU_SCROLL_STRATEGY,\n matMenuAnimations,\n MatMenuDefaultOptions,\n MatMenuPanel,\n MenuPositionX,\n MenuPositionY,\n transformMenu,\n MAT_MENU_CONTENT,\n} from '@angular/material/menu';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseMatMenuItem"],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import { HarnessPredicate } from '@angular/cdk/testing';
2
- import { MatSelectHarness } from '@angular/material-experimental/mdc-select/testing';
3
- import { _MatPaginatorHarnessBase } from '@angular/material/paginator/testing';
4
-
5
- /**
6
- * @license
7
- * Copyright Google LLC All Rights Reserved.
8
- *
9
- * Use of this source code is governed by an MIT-style license that can be
10
- * found in the LICENSE file at https://angular.io/license
11
- */
12
- /** Harness for interacting with an MDC-based mat-paginator in tests. */
13
- class MatPaginatorHarness extends _MatPaginatorHarnessBase {
14
- constructor() {
15
- super(...arguments);
16
- this._nextButton = this.locatorFor('.mat-mdc-paginator-navigation-next');
17
- this._previousButton = this.locatorFor('.mat-mdc-paginator-navigation-previous');
18
- this._firstPageButton = this.locatorForOptional('.mat-mdc-paginator-navigation-first');
19
- this._lastPageButton = this.locatorForOptional('.mat-mdc-paginator-navigation-last');
20
- this._select = this.locatorForOptional(MatSelectHarness.with({
21
- ancestor: '.mat-mdc-paginator-page-size',
22
- }));
23
- this._pageSizeFallback = this.locatorFor('.mat-mdc-paginator-page-size-value');
24
- this._rangeLabel = this.locatorFor('.mat-mdc-paginator-range-label');
25
- }
26
- /**
27
- * Gets a `HarnessPredicate` that can be used to search for a paginator with specific attributes.
28
- * @param options Options for filtering which paginator instances are considered a match.
29
- * @return a `HarnessPredicate` configured with the given options.
30
- */
31
- static with(options = {}) {
32
- return new HarnessPredicate(this, options);
33
- }
34
- }
35
- /** Selector used to find paginator instances. */
36
- MatPaginatorHarness.hostSelector = '.mat-mdc-paginator';
37
-
38
- /**
39
- * @license
40
- * Copyright Google LLC All Rights Reserved.
41
- *
42
- * Use of this source code is governed by an MIT-style license that can be
43
- * found in the LICENSE file at https://angular.io/license
44
- */
45
-
46
- /**
47
- * @license
48
- * Copyright Google LLC All Rights Reserved.
49
- *
50
- * Use of this source code is governed by an MIT-style license that can be
51
- * found in the LICENSE file at https://angular.io/license
52
- */
53
-
54
- export { MatPaginatorHarness };
55
- //# sourceMappingURL=testing.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-paginator/testing/paginator-harness.ts","../../../../../../../src/material-experimental/mdc-paginator/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-paginator/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 {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatSelectHarness} from '@angular/material-experimental/mdc-select/testing';\nimport {\n PaginatorHarnessFilters,\n _MatPaginatorHarnessBase,\n} from '@angular/material/paginator/testing';\n\n/** Harness for interacting with an MDC-based mat-paginator in tests. */\nexport class MatPaginatorHarness extends _MatPaginatorHarnessBase {\n /** Selector used to find paginator instances. */\n static hostSelector = '.mat-mdc-paginator';\n protected _nextButton = this.locatorFor('.mat-mdc-paginator-navigation-next');\n protected _previousButton = this.locatorFor('.mat-mdc-paginator-navigation-previous');\n protected _firstPageButton = this.locatorForOptional('.mat-mdc-paginator-navigation-first');\n protected _lastPageButton = this.locatorForOptional('.mat-mdc-paginator-navigation-last');\n protected _select = this.locatorForOptional(\n MatSelectHarness.with({\n ancestor: '.mat-mdc-paginator-page-size',\n }),\n );\n protected _pageSizeFallback = this.locatorFor('.mat-mdc-paginator-page-size-value');\n protected _rangeLabel = this.locatorFor('.mat-mdc-paginator-range-label');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a paginator with specific attributes.\n * @param options Options for filtering which paginator instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatPaginatorHarness>(\n this: ComponentHarnessConstructor<T>,\n options: PaginatorHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(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\nexport * from './paginator-harness';\nexport {PaginatorHarnessFilters} from '@angular/material/paginator/testing';\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":";;;;AAAA;;;;;;AAMG;AASH;AACM,MAAO,mBAAoB,SAAQ,wBAAwB,CAAA;AAAjE,IAAA,WAAA,GAAA;;AAGY,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;AACpE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;AAC5E,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;AAClF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,oCAAoC,CAAC,CAAC;QAChF,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,kBAAkB,CACzC,gBAAgB,CAAC,IAAI,CAAC;AACpB,YAAA,QAAQ,EAAE,8BAA8B;AACzC,SAAA,CAAC,CACH,CAAC;AACQ,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;AAC1E,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;KAa3E;AAXC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAmC,EAAE,EAAA;AAErC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;;AAxBD;AACO,mBAAY,CAAA,YAAA,GAAG,oBAAoB;;AClB5C;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}