@angular/material 13.2.5 → 13.3.1

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 (401) hide show
  1. package/badge/_badge-theme.scss +8 -0
  2. package/checkbox/_checkbox-theme.scss +0 -6
  3. package/core/style/_vendor-prefixes.scss +0 -16
  4. package/datepicker/calendar-body.d.ts +22 -1
  5. package/dialog/dialog-config.d.ts +2 -0
  6. package/dialog/dialog-container.d.ts +1 -4
  7. package/dialog/dialog.d.ts +12 -6
  8. package/dialog/testing/dialog-opener.d.ts +33 -0
  9. package/dialog/testing/public-api.d.ts +1 -0
  10. package/esm2020/autocomplete/autocomplete-module.mjs +4 -4
  11. package/esm2020/autocomplete/autocomplete-origin.mjs +6 -6
  12. package/esm2020/autocomplete/autocomplete-trigger.mjs +25 -20
  13. package/esm2020/autocomplete/autocomplete.mjs +6 -6
  14. package/esm2020/badge/badge-module.mjs +4 -4
  15. package/esm2020/badge/badge.mjs +3 -3
  16. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  17. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +11 -6
  18. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +4 -4
  19. package/esm2020/bottom-sheet/bottom-sheet.mjs +3 -3
  20. package/esm2020/button/button-module.mjs +4 -4
  21. package/esm2020/button/button.mjs +10 -10
  22. package/esm2020/button-toggle/button-toggle-module.mjs +4 -4
  23. package/esm2020/button-toggle/button-toggle.mjs +7 -7
  24. package/esm2020/card/card-module.mjs +4 -4
  25. package/esm2020/card/card.mjs +42 -42
  26. package/esm2020/checkbox/checkbox-module.mjs +8 -8
  27. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  28. package/esm2020/checkbox/checkbox.mjs +7 -6
  29. package/esm2020/chips/chip-input.mjs +3 -3
  30. package/esm2020/chips/chip-list.mjs +3 -3
  31. package/esm2020/chips/chip.mjs +12 -12
  32. package/esm2020/chips/chips-module.mjs +4 -4
  33. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  34. package/esm2020/core/datetime/index.mjs +8 -8
  35. package/esm2020/core/datetime/native-date-adapter.mjs +3 -3
  36. package/esm2020/core/error/error-options.mjs +6 -6
  37. package/esm2020/core/line/line.mjs +7 -7
  38. package/esm2020/core/option/index.mjs +4 -4
  39. package/esm2020/core/option/optgroup.mjs +7 -7
  40. package/esm2020/core/option/option.mjs +7 -7
  41. package/esm2020/core/ripple/index.mjs +4 -4
  42. package/esm2020/core/ripple/ripple.mjs +3 -3
  43. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  44. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  45. package/esm2020/core/version.mjs +1 -1
  46. package/esm2020/datepicker/calendar-body.mjs +35 -12
  47. package/esm2020/datepicker/calendar.mjs +6 -6
  48. package/esm2020/datepicker/date-range-input-parts.mjs +9 -9
  49. package/esm2020/datepicker/date-range-input.mjs +5 -5
  50. package/esm2020/datepicker/date-range-picker.mjs +3 -3
  51. package/esm2020/datepicker/date-range-selection-strategy.mjs +3 -3
  52. package/esm2020/datepicker/date-selection-model.mjs +9 -9
  53. package/esm2020/datepicker/datepicker-actions.mjs +9 -9
  54. package/esm2020/datepicker/datepicker-base.mjs +6 -6
  55. package/esm2020/datepicker/datepicker-input-base.mjs +3 -3
  56. package/esm2020/datepicker/datepicker-input.mjs +3 -3
  57. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  58. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  59. package/esm2020/datepicker/datepicker-toggle.mjs +6 -6
  60. package/esm2020/datepicker/datepicker.mjs +3 -3
  61. package/esm2020/datepicker/month-view.mjs +5 -5
  62. package/esm2020/datepicker/multi-year-view.mjs +3 -3
  63. package/esm2020/datepicker/year-view.mjs +3 -3
  64. package/esm2020/dialog/dialog-animations.mjs +10 -4
  65. package/esm2020/dialog/dialog-config.mjs +3 -1
  66. package/esm2020/dialog/dialog-container.mjs +27 -22
  67. package/esm2020/dialog/dialog-content-directives.mjs +12 -12
  68. package/esm2020/dialog/dialog-module.mjs +4 -4
  69. package/esm2020/dialog/dialog.mjs +20 -36
  70. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  71. package/esm2020/dialog/testing/public-api.mjs +2 -1
  72. package/esm2020/divider/divider-module.mjs +4 -4
  73. package/esm2020/divider/divider.mjs +3 -3
  74. package/esm2020/expansion/accordion.mjs +3 -3
  75. package/esm2020/expansion/expansion-module.mjs +4 -4
  76. package/esm2020/expansion/expansion-panel-content.mjs +3 -3
  77. package/esm2020/expansion/expansion-panel-header.mjs +9 -9
  78. package/esm2020/expansion/expansion-panel.mjs +9 -9
  79. package/esm2020/form-field/error.mjs +3 -3
  80. package/esm2020/form-field/form-field-control.mjs +3 -3
  81. package/esm2020/form-field/form-field-module.mjs +4 -4
  82. package/esm2020/form-field/form-field.mjs +5 -5
  83. package/esm2020/form-field/hint.mjs +3 -3
  84. package/esm2020/form-field/label.mjs +3 -3
  85. package/esm2020/form-field/placeholder.mjs +3 -3
  86. package/esm2020/form-field/prefix.mjs +3 -3
  87. package/esm2020/form-field/suffix.mjs +3 -3
  88. package/esm2020/grid-list/grid-list-module.mjs +4 -4
  89. package/esm2020/grid-list/grid-list.mjs +3 -3
  90. package/esm2020/grid-list/grid-tile.mjs +15 -15
  91. package/esm2020/icon/icon-module.mjs +4 -4
  92. package/esm2020/icon/icon-registry.mjs +3 -3
  93. package/esm2020/icon/icon.mjs +5 -12
  94. package/esm2020/icon/testing/fake-icon-registry.mjs +7 -7
  95. package/esm2020/input/input-module.mjs +4 -4
  96. package/esm2020/input/input.mjs +25 -21
  97. package/esm2020/list/list-module.mjs +4 -4
  98. package/esm2020/list/list.mjs +18 -18
  99. package/esm2020/list/selection-list.mjs +6 -6
  100. package/esm2020/menu/menu-content.mjs +6 -6
  101. package/esm2020/menu/menu-item.mjs +3 -3
  102. package/esm2020/menu/menu-module.mjs +4 -4
  103. package/esm2020/menu/menu-trigger.mjs +6 -6
  104. package/esm2020/menu/menu.mjs +8 -8
  105. package/esm2020/paginator/paginator-intl.mjs +3 -3
  106. package/esm2020/paginator/paginator-module.mjs +4 -4
  107. package/esm2020/paginator/paginator.mjs +6 -6
  108. package/esm2020/progress-bar/progress-bar-module.mjs +4 -4
  109. package/esm2020/progress-bar/progress-bar.mjs +3 -3
  110. package/esm2020/progress-spinner/progress-spinner-module.mjs +4 -4
  111. package/esm2020/progress-spinner/progress-spinner.mjs +3 -3
  112. package/esm2020/radio/radio-module.mjs +4 -4
  113. package/esm2020/radio/radio.mjs +13 -13
  114. package/esm2020/select/select-module.mjs +4 -4
  115. package/esm2020/select/select.mjs +42 -23
  116. package/esm2020/sidenav/drawer.mjs +17 -12
  117. package/esm2020/sidenav/sidenav-module.mjs +4 -4
  118. package/esm2020/sidenav/sidenav.mjs +9 -9
  119. package/esm2020/slide-toggle/slide-toggle-module.mjs +8 -8
  120. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  121. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  122. package/esm2020/slider/slider-module.mjs +4 -4
  123. package/esm2020/slider/slider.mjs +4 -4
  124. package/esm2020/snack-bar/simple-snack-bar.mjs +3 -3
  125. package/esm2020/snack-bar/snack-bar-container.mjs +3 -3
  126. package/esm2020/snack-bar/snack-bar-module.mjs +4 -4
  127. package/esm2020/snack-bar/snack-bar.mjs +6 -6
  128. package/esm2020/sort/sort-header-intl.mjs +3 -3
  129. package/esm2020/sort/sort-header.mjs +3 -3
  130. package/esm2020/sort/sort-module.mjs +4 -4
  131. package/esm2020/sort/sort.mjs +3 -3
  132. package/esm2020/stepper/step-content.mjs +3 -3
  133. package/esm2020/stepper/step-header.mjs +3 -3
  134. package/esm2020/stepper/step-label.mjs +3 -3
  135. package/esm2020/stepper/stepper-button.mjs +6 -6
  136. package/esm2020/stepper/stepper-icon.mjs +3 -3
  137. package/esm2020/stepper/stepper-intl.mjs +3 -3
  138. package/esm2020/stepper/stepper-module.mjs +4 -4
  139. package/esm2020/stepper/stepper.mjs +15 -15
  140. package/esm2020/table/cell.mjs +21 -21
  141. package/esm2020/table/row.mjs +21 -21
  142. package/esm2020/table/table-module.mjs +4 -4
  143. package/esm2020/table/table.mjs +8 -8
  144. package/esm2020/table/text-column.mjs +3 -3
  145. package/esm2020/tabs/ink-bar.mjs +11 -22
  146. package/esm2020/tabs/paginated-tab-header.mjs +8 -6
  147. package/esm2020/tabs/tab-body.mjs +9 -9
  148. package/esm2020/tabs/tab-content.mjs +3 -3
  149. package/esm2020/tabs/tab-group.mjs +6 -6
  150. package/esm2020/tabs/tab-header.mjs +7 -7
  151. package/esm2020/tabs/tab-label-wrapper.mjs +3 -3
  152. package/esm2020/tabs/tab-label.mjs +3 -3
  153. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +16 -16
  154. package/esm2020/tabs/tab.mjs +3 -3
  155. package/esm2020/tabs/tabs-module.mjs +4 -4
  156. package/esm2020/toolbar/toolbar-module.mjs +4 -4
  157. package/esm2020/toolbar/toolbar.mjs +6 -6
  158. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  159. package/esm2020/tooltip/tooltip-module.mjs +4 -4
  160. package/esm2020/tooltip/tooltip.mjs +99 -47
  161. package/esm2020/tree/node.mjs +9 -9
  162. package/esm2020/tree/outlet.mjs +3 -3
  163. package/esm2020/tree/padding.mjs +3 -3
  164. package/esm2020/tree/toggle.mjs +3 -3
  165. package/esm2020/tree/tree-module.mjs +4 -4
  166. package/esm2020/tree/tree.mjs +3 -3
  167. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  168. package/fesm2015/autocomplete.mjs +40 -35
  169. package/fesm2015/autocomplete.mjs.map +1 -1
  170. package/fesm2015/badge/testing.mjs.map +1 -1
  171. package/fesm2015/badge.mjs +7 -7
  172. package/fesm2015/badge.mjs.map +1 -1
  173. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  174. package/fesm2015/bottom-sheet.mjs +26 -15
  175. package/fesm2015/bottom-sheet.mjs.map +1 -1
  176. package/fesm2015/button/testing.mjs.map +1 -1
  177. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  178. package/fesm2015/button-toggle.mjs +11 -11
  179. package/fesm2015/button-toggle.mjs.map +1 -1
  180. package/fesm2015/button.mjs +13 -13
  181. package/fesm2015/button.mjs.map +1 -1
  182. package/fesm2015/card/testing.mjs.map +1 -1
  183. package/fesm2015/card.mjs +46 -46
  184. package/fesm2015/card.mjs.map +1 -1
  185. package/fesm2015/checkbox/testing.mjs.map +1 -1
  186. package/fesm2015/checkbox.mjs +17 -16
  187. package/fesm2015/checkbox.mjs.map +1 -1
  188. package/fesm2015/chips/testing.mjs.map +1 -1
  189. package/fesm2015/chips.mjs +22 -22
  190. package/fesm2015/chips.mjs.map +1 -1
  191. package/fesm2015/core/testing.mjs.map +1 -1
  192. package/fesm2015/core.mjs +61 -61
  193. package/fesm2015/core.mjs.map +1 -1
  194. package/fesm2015/datepicker/testing.mjs.map +1 -1
  195. package/fesm2015/datepicker.mjs +116 -93
  196. package/fesm2015/datepicker.mjs.map +1 -1
  197. package/fesm2015/dialog/testing.mjs +65 -2
  198. package/fesm2015/dialog/testing.mjs.map +1 -1
  199. package/fesm2015/dialog.mjs +72 -75
  200. package/fesm2015/dialog.mjs.map +1 -1
  201. package/fesm2015/divider/testing.mjs.map +1 -1
  202. package/fesm2015/divider.mjs +7 -7
  203. package/fesm2015/divider.mjs.map +1 -1
  204. package/fesm2015/expansion/testing.mjs.map +1 -1
  205. package/fesm2015/expansion.mjs +27 -27
  206. package/fesm2015/expansion.mjs.map +1 -1
  207. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  208. package/fesm2015/form-field/testing.mjs.map +1 -1
  209. package/fesm2015/form-field.mjs +29 -29
  210. package/fesm2015/form-field.mjs.map +1 -1
  211. package/fesm2015/grid-list/testing.mjs.map +1 -1
  212. package/fesm2015/grid-list.mjs +22 -22
  213. package/fesm2015/grid-list.mjs.map +1 -1
  214. package/fesm2015/icon/testing.mjs +7 -7
  215. package/fesm2015/icon/testing.mjs.map +1 -1
  216. package/fesm2015/icon.mjs +11 -18
  217. package/fesm2015/icon.mjs.map +1 -1
  218. package/fesm2015/input/testing.mjs.map +1 -1
  219. package/fesm2015/input.mjs +28 -24
  220. package/fesm2015/input.mjs.map +1 -1
  221. package/fesm2015/list/testing.mjs.map +1 -1
  222. package/fesm2015/list.mjs +28 -28
  223. package/fesm2015/list.mjs.map +1 -1
  224. package/fesm2015/material.mjs.map +1 -1
  225. package/fesm2015/menu/testing.mjs.map +1 -1
  226. package/fesm2015/menu.mjs +26 -26
  227. package/fesm2015/menu.mjs.map +1 -1
  228. package/fesm2015/paginator/testing.mjs.map +1 -1
  229. package/fesm2015/paginator.mjs +13 -13
  230. package/fesm2015/paginator.mjs.map +1 -1
  231. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  232. package/fesm2015/progress-bar.mjs +7 -7
  233. package/fesm2015/progress-bar.mjs.map +1 -1
  234. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  235. package/fesm2015/progress-spinner.mjs +7 -7
  236. package/fesm2015/progress-spinner.mjs.map +1 -1
  237. package/fesm2015/radio/testing.mjs.map +1 -1
  238. package/fesm2015/radio.mjs +17 -17
  239. package/fesm2015/radio.mjs.map +1 -1
  240. package/fesm2015/select/testing.mjs.map +1 -1
  241. package/fesm2015/select.mjs +45 -26
  242. package/fesm2015/select.mjs.map +1 -1
  243. package/fesm2015/sidenav/testing.mjs.map +1 -1
  244. package/fesm2015/sidenav.mjs +29 -24
  245. package/fesm2015/sidenav.mjs.map +1 -1
  246. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  247. package/fesm2015/slide-toggle.mjs +16 -15
  248. package/fesm2015/slide-toggle.mjs.map +1 -1
  249. package/fesm2015/slider/testing.mjs.map +1 -1
  250. package/fesm2015/slider.mjs +8 -8
  251. package/fesm2015/slider.mjs.map +1 -1
  252. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  253. package/fesm2015/snack-bar.mjs +16 -16
  254. package/fesm2015/snack-bar.mjs.map +1 -1
  255. package/fesm2015/sort/testing.mjs.map +1 -1
  256. package/fesm2015/sort.mjs +13 -13
  257. package/fesm2015/sort.mjs.map +1 -1
  258. package/fesm2015/stepper/testing.mjs.map +1 -1
  259. package/fesm2015/stepper.mjs +40 -40
  260. package/fesm2015/stepper.mjs.map +1 -1
  261. package/fesm2015/table/testing.mjs.map +1 -1
  262. package/fesm2015/table.mjs +57 -57
  263. package/fesm2015/table.mjs.map +1 -1
  264. package/fesm2015/tabs/testing.mjs.map +1 -1
  265. package/fesm2015/tabs.mjs +70 -80
  266. package/fesm2015/tabs.mjs.map +1 -1
  267. package/fesm2015/toolbar/testing.mjs.map +1 -1
  268. package/fesm2015/toolbar.mjs +10 -10
  269. package/fesm2015/toolbar.mjs.map +1 -1
  270. package/fesm2015/tooltip/testing.mjs +11 -8
  271. package/fesm2015/tooltip/testing.mjs.map +1 -1
  272. package/fesm2015/tooltip.mjs +125 -75
  273. package/fesm2015/tooltip.mjs.map +1 -1
  274. package/fesm2015/tree/testing.mjs.map +1 -1
  275. package/fesm2015/tree.mjs +25 -25
  276. package/fesm2015/tree.mjs.map +1 -1
  277. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  278. package/fesm2020/autocomplete.mjs +40 -35
  279. package/fesm2020/autocomplete.mjs.map +1 -1
  280. package/fesm2020/badge/testing.mjs.map +1 -1
  281. package/fesm2020/badge.mjs +7 -7
  282. package/fesm2020/badge.mjs.map +1 -1
  283. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  284. package/fesm2020/bottom-sheet.mjs +26 -15
  285. package/fesm2020/bottom-sheet.mjs.map +1 -1
  286. package/fesm2020/button/testing.mjs.map +1 -1
  287. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  288. package/fesm2020/button-toggle.mjs +11 -11
  289. package/fesm2020/button-toggle.mjs.map +1 -1
  290. package/fesm2020/button.mjs +13 -13
  291. package/fesm2020/button.mjs.map +1 -1
  292. package/fesm2020/card/testing.mjs.map +1 -1
  293. package/fesm2020/card.mjs +46 -46
  294. package/fesm2020/card.mjs.map +1 -1
  295. package/fesm2020/checkbox/testing.mjs.map +1 -1
  296. package/fesm2020/checkbox.mjs +17 -16
  297. package/fesm2020/checkbox.mjs.map +1 -1
  298. package/fesm2020/chips/testing.mjs.map +1 -1
  299. package/fesm2020/chips.mjs +22 -22
  300. package/fesm2020/chips.mjs.map +1 -1
  301. package/fesm2020/core/testing.mjs.map +1 -1
  302. package/fesm2020/core.mjs +61 -61
  303. package/fesm2020/core.mjs.map +1 -1
  304. package/fesm2020/datepicker/testing.mjs.map +1 -1
  305. package/fesm2020/datepicker.mjs +116 -93
  306. package/fesm2020/datepicker.mjs.map +1 -1
  307. package/fesm2020/dialog/testing.mjs +65 -1
  308. package/fesm2020/dialog/testing.mjs.map +1 -1
  309. package/fesm2020/dialog.mjs +72 -75
  310. package/fesm2020/dialog.mjs.map +1 -1
  311. package/fesm2020/divider/testing.mjs.map +1 -1
  312. package/fesm2020/divider.mjs +7 -7
  313. package/fesm2020/divider.mjs.map +1 -1
  314. package/fesm2020/expansion/testing.mjs.map +1 -1
  315. package/fesm2020/expansion.mjs +27 -27
  316. package/fesm2020/expansion.mjs.map +1 -1
  317. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  318. package/fesm2020/form-field/testing.mjs.map +1 -1
  319. package/fesm2020/form-field.mjs +29 -29
  320. package/fesm2020/form-field.mjs.map +1 -1
  321. package/fesm2020/grid-list/testing.mjs.map +1 -1
  322. package/fesm2020/grid-list.mjs +22 -22
  323. package/fesm2020/grid-list.mjs.map +1 -1
  324. package/fesm2020/icon/testing.mjs +7 -7
  325. package/fesm2020/icon/testing.mjs.map +1 -1
  326. package/fesm2020/icon.mjs +11 -18
  327. package/fesm2020/icon.mjs.map +1 -1
  328. package/fesm2020/input/testing.mjs.map +1 -1
  329. package/fesm2020/input.mjs +28 -24
  330. package/fesm2020/input.mjs.map +1 -1
  331. package/fesm2020/list/testing.mjs.map +1 -1
  332. package/fesm2020/list.mjs +28 -28
  333. package/fesm2020/list.mjs.map +1 -1
  334. package/fesm2020/material.mjs.map +1 -1
  335. package/fesm2020/menu/testing.mjs.map +1 -1
  336. package/fesm2020/menu.mjs +26 -26
  337. package/fesm2020/menu.mjs.map +1 -1
  338. package/fesm2020/paginator/testing.mjs.map +1 -1
  339. package/fesm2020/paginator.mjs +13 -13
  340. package/fesm2020/paginator.mjs.map +1 -1
  341. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  342. package/fesm2020/progress-bar.mjs +7 -7
  343. package/fesm2020/progress-bar.mjs.map +1 -1
  344. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  345. package/fesm2020/progress-spinner.mjs +7 -7
  346. package/fesm2020/progress-spinner.mjs.map +1 -1
  347. package/fesm2020/radio/testing.mjs.map +1 -1
  348. package/fesm2020/radio.mjs +17 -17
  349. package/fesm2020/radio.mjs.map +1 -1
  350. package/fesm2020/select/testing.mjs.map +1 -1
  351. package/fesm2020/select.mjs +45 -26
  352. package/fesm2020/select.mjs.map +1 -1
  353. package/fesm2020/sidenav/testing.mjs.map +1 -1
  354. package/fesm2020/sidenav.mjs +29 -24
  355. package/fesm2020/sidenav.mjs.map +1 -1
  356. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  357. package/fesm2020/slide-toggle.mjs +16 -15
  358. package/fesm2020/slide-toggle.mjs.map +1 -1
  359. package/fesm2020/slider/testing.mjs.map +1 -1
  360. package/fesm2020/slider.mjs +8 -8
  361. package/fesm2020/slider.mjs.map +1 -1
  362. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  363. package/fesm2020/snack-bar.mjs +16 -16
  364. package/fesm2020/snack-bar.mjs.map +1 -1
  365. package/fesm2020/sort/testing.mjs.map +1 -1
  366. package/fesm2020/sort.mjs +13 -13
  367. package/fesm2020/sort.mjs.map +1 -1
  368. package/fesm2020/stepper/testing.mjs.map +1 -1
  369. package/fesm2020/stepper.mjs +40 -40
  370. package/fesm2020/stepper.mjs.map +1 -1
  371. package/fesm2020/table/testing.mjs.map +1 -1
  372. package/fesm2020/table.mjs +57 -57
  373. package/fesm2020/table.mjs.map +1 -1
  374. package/fesm2020/tabs/testing.mjs.map +1 -1
  375. package/fesm2020/tabs.mjs +70 -80
  376. package/fesm2020/tabs.mjs.map +1 -1
  377. package/fesm2020/toolbar/testing.mjs.map +1 -1
  378. package/fesm2020/toolbar.mjs +10 -10
  379. package/fesm2020/toolbar.mjs.map +1 -1
  380. package/fesm2020/tooltip/testing.mjs +11 -6
  381. package/fesm2020/tooltip/testing.mjs.map +1 -1
  382. package/fesm2020/tooltip.mjs +120 -67
  383. package/fesm2020/tooltip.mjs.map +1 -1
  384. package/fesm2020/tree/testing.mjs.map +1 -1
  385. package/fesm2020/tree.mjs +25 -25
  386. package/fesm2020/tree.mjs.map +1 -1
  387. package/input/input.d.ts +1 -0
  388. package/package.json +2 -2
  389. package/prebuilt-themes/deeppurple-amber.css +1 -1
  390. package/prebuilt-themes/indigo-pink.css +1 -1
  391. package/prebuilt-themes/pink-bluegrey.css +1 -1
  392. package/prebuilt-themes/purple-green.css +1 -1
  393. package/schematics/collection.json +4 -2
  394. package/schematics/ng-add/index.js +1 -1
  395. package/schematics/ng-add/index.mjs +1 -1
  396. package/schematics/ng-update/data/index.js +6 -2
  397. package/schematics/ng-update/data/index.mjs +6 -2
  398. package/select/select.d.ts +8 -1
  399. package/tabs/ink-bar.d.ts +0 -5
  400. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  401. package/tooltip/tooltip.d.ts +23 -7
@@ -29,9 +29,9 @@ export class MatTreeNode extends _MatTreeNodeBase {
29
29
  super.ngOnDestroy();
30
30
  }
31
31
  }
32
- MatTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNode, deps: [{ token: i0.ElementRef }, { token: i1.CdkTree }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
33
- MatTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTreeNode, selector: "mat-tree-node", inputs: { role: "role", disabled: "disabled", tabIndex: "tabIndex" }, host: { classAttribute: "mat-tree-node" }, providers: [{ provide: CdkTreeNode, useExisting: MatTreeNode }], exportAs: ["matTreeNode"], usesInheritance: true, ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNode, decorators: [{
32
+ MatTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNode, deps: [{ token: i0.ElementRef }, { token: i1.CdkTree }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
33
+ MatTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatTreeNode, selector: "mat-tree-node", inputs: { role: "role", disabled: "disabled", tabIndex: "tabIndex" }, host: { classAttribute: "mat-tree-node" }, providers: [{ provide: CdkTreeNode, useExisting: MatTreeNode }], exportAs: ["matTreeNode"], usesInheritance: true, ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNode, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: 'mat-tree-node',
@@ -52,9 +52,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
52
52
  */
53
53
  export class MatTreeNodeDef extends CdkTreeNodeDef {
54
54
  }
55
- MatTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
56
- MatTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: { when: ["matTreeNodeDefWhen", "when"], data: ["matTreeNode", "data"] }, providers: [{ provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef }], usesInheritance: true, ngImport: i0 });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeDef, decorators: [{
55
+ MatTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeDef, deps: null, target: i0.ɵɵFactoryTarget.Directive });
56
+ MatTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: { when: ["matTreeNodeDefWhen", "when"], data: ["matTreeNode", "data"] }, providers: [{ provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef }], usesInheritance: true, ngImport: i0 });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeDef, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  selector: '[matTreeNodeDef]',
@@ -102,13 +102,13 @@ export class MatNestedTreeNode extends CdkNestedTreeNode {
102
102
  super.ngOnDestroy();
103
103
  }
104
104
  }
105
- MatNestedTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNestedTreeNode, deps: [{ token: i0.ElementRef }, { token: i1.CdkTree }, { token: i0.IterableDiffers }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
106
- MatNestedTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: { role: "role", disabled: "disabled", tabIndex: "tabIndex", node: ["matNestedTreeNode", "node"] }, host: { classAttribute: "mat-nested-tree-node" }, providers: [
105
+ MatNestedTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNestedTreeNode, deps: [{ token: i0.ElementRef }, { token: i1.CdkTree }, { token: i0.IterableDiffers }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
106
+ MatNestedTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: { role: "role", disabled: "disabled", tabIndex: "tabIndex", node: ["matNestedTreeNode", "node"] }, host: { classAttribute: "mat-nested-tree-node" }, providers: [
107
107
  { provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode },
108
108
  { provide: CdkTreeNode, useExisting: MatNestedTreeNode },
109
109
  { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode },
110
110
  ], exportAs: ["matNestedTreeNode"], usesInheritance: true, ngImport: i0 });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNestedTreeNode, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNestedTreeNode, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
114
  selector: 'mat-nested-tree-node',
@@ -18,14 +18,14 @@ export class MatTreeNodeOutlet {
18
18
  this._node = _node;
19
19
  }
20
20
  }
21
- MatTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: CDK_TREE_NODE_OUTLET_NODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
22
- MatTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]", providers: [
21
+ MatTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: CDK_TREE_NODE_OUTLET_NODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
22
+ MatTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]", providers: [
23
23
  {
24
24
  provide: CdkTreeNodeOutlet,
25
25
  useExisting: MatTreeNodeOutlet,
26
26
  },
27
27
  ], ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeOutlet, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeOutlet, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: '[matTreeNodeOutlet]',
@@ -20,9 +20,9 @@ export class MatTreeNodePadding extends CdkTreeNodePadding {
20
20
  this._setIndentInput(indent);
21
21
  }
22
22
  }
23
- MatTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodePadding, deps: null, target: i0.ɵɵFactoryTarget.Directive });
24
- MatTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: { level: ["matTreeNodePadding", "level"], indent: ["matTreeNodePaddingIndent", "indent"] }, providers: [{ provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding }], usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodePadding, decorators: [{
23
+ MatTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodePadding, deps: null, target: i0.ɵɵFactoryTarget.Directive });
24
+ MatTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: { level: ["matTreeNodePadding", "level"], indent: ["matTreeNodePaddingIndent", "indent"] }, providers: [{ provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding }], usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodePadding, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[matTreeNodePadding]',
@@ -13,9 +13,9 @@ import * as i0 from "@angular/core";
13
13
  */
14
14
  export class MatTreeNodeToggle extends CdkTreeNodeToggle {
15
15
  }
16
- MatTreeNodeToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeToggle, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
- MatTreeNodeToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: { recursive: ["matTreeNodeToggleRecursive", "recursive"] }, providers: [{ provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle }], usesInheritance: true, ngImport: i0 });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeNodeToggle, decorators: [{
16
+ MatTreeNodeToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeToggle, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
+ MatTreeNodeToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: { recursive: ["matTreeNodeToggleRecursive", "recursive"] }, providers: [{ provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle }], usesInheritance: true, ngImport: i0 });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeNodeToggle, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[matTreeNodeToggle]',
@@ -25,8 +25,8 @@ const MAT_TREE_DIRECTIVES = [
25
25
  ];
26
26
  export class MatTreeModule {
27
27
  }
28
- MatTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- MatTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeModule, declarations: [MatNestedTreeNode,
28
+ MatTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ MatTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeModule, declarations: [MatNestedTreeNode,
30
30
  MatTreeNodeDef,
31
31
  MatTreeNodePadding,
32
32
  MatTreeNodeToggle,
@@ -39,8 +39,8 @@ MatTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
39
39
  MatTree,
40
40
  MatTreeNode,
41
41
  MatTreeNodeOutlet] });
42
- MatTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeModule, imports: [[CdkTreeModule, MatCommonModule], MatCommonModule] });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTreeModule, decorators: [{
42
+ MatTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeModule, imports: [[CdkTreeModule, MatCommonModule], MatCommonModule] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTreeModule, decorators: [{
44
44
  type: NgModule,
45
45
  args: [{
46
46
  imports: [CdkTreeModule, MatCommonModule],
@@ -15,9 +15,9 @@ import * as i1 from "./outlet";
15
15
  */
16
16
  export class MatTree extends CdkTree {
17
17
  }
18
- MatTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTree, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- MatTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatTree, selector: "mat-tree", host: { attributes: { "role": "tree" }, classAttribute: "mat-tree" }, providers: [{ provide: CdkTree, useExisting: MatTree }], viewQueries: [{ propertyName: "_nodeOutlet", first: true, predicate: MatTreeNodeOutlet, descendants: true, static: true }], exportAs: ["matTree"], usesInheritance: true, ngImport: i0, template: `<ng-container matTreeNodeOutlet></ng-container>`, isInline: true, styles: [".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"], directives: [{ type: i1.MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatTree, decorators: [{
18
+ MatTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTree, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
+ MatTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: MatTree, selector: "mat-tree", host: { attributes: { "role": "tree" }, classAttribute: "mat-tree" }, providers: [{ provide: CdkTree, useExisting: MatTree }], viewQueries: [{ propertyName: "_nodeOutlet", first: true, predicate: MatTreeNodeOutlet, descendants: true, static: true }], exportAs: ["matTree"], usesInheritance: true, ngImport: i0, template: `<ng-container matTreeNodeOutlet></ng-container>`, isInline: true, styles: [".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"], directives: [{ type: i1.MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatTree, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'mat-tree', exportAs: 'matTree', template: `<ng-container matTreeNodeOutlet></ng-container>`, host: {
23
23
  'class': 'mat-tree',
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-harness.ts","../../../../../../../src/material/autocomplete/testing/public-api.ts","../../../../../../../src/material/autocomplete/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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '@angular/material/core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport abstract class _MatAutocompleteHarnessBase<\n OptionType extends ComponentHarnessConstructor<Option> & {\n with: (options?: OptionFilters) => HarnessPredicate<Option>;\n },\n Option extends ComponentHarness & {click(): Promise<void>},\n OptionFilters extends BaseHarnessFilters,\n OptionGroupType extends ComponentHarnessConstructor<OptionGroup> & {\n with: (options?: OptionGroupFilters) => HarnessPredicate<OptionGroup>;\n },\n OptionGroup extends ComponentHarness,\n OptionGroupFilters extends BaseHarnessFilters,\n> extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n protected abstract _prefix: string;\n protected abstract _optionClass: OptionType;\n protected abstract _optionGroupClass: OptionGroupType;\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionFilters, 'ancestor'>): Promise<Option[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionClass.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionFilters),\n )();\n }\n\n /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(filters?: Omit<OptionGroupFilters, 'ancestor'>): Promise<OptionGroup[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionGroupClass.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionGroupFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`${this._prefix}-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel() {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n private async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-owns')}`;\n }\n}\n\n/** Harness for interacting with a standard mat-autocomplete in tests. */\nexport class MatAutocompleteHarness extends _MatAutocompleteHarnessBase<\n typeof MatOptionHarness,\n MatOptionHarness,\n OptionHarnessFilters,\n typeof MatOptgroupHarness,\n MatOptgroupHarness,\n OptgroupHarnessFilters\n> {\n protected _prefix = 'mat';\n protected _optionClass = MatOptionHarness;\n protected _optionGroupClass = MatOptgroupHarness;\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatAutocompleteHarness` that meets\n * certain criteria.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: AutocompleteHarnessFilters = {}): HarnessPredicate<MatAutocompleteHarness> {\n return new HarnessPredicate(MatAutocompleteHarness, options).addOption(\n 'value',\n options.value,\n (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value),\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 './autocomplete-harness';\nexport * from './autocomplete-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-harness.ts","../../../../../../../src/material/autocomplete/testing/public-api.ts","../../../../../../../src/material/autocomplete/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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '@angular/material/core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport abstract class _MatAutocompleteHarnessBase<\n OptionType extends ComponentHarnessConstructor<Option> & {\n with: (options?: OptionFilters) => HarnessPredicate<Option>;\n },\n Option extends ComponentHarness & {click(): Promise<void>},\n OptionFilters extends BaseHarnessFilters,\n OptionGroupType extends ComponentHarnessConstructor<OptionGroup> & {\n with: (options?: OptionGroupFilters) => HarnessPredicate<OptionGroup>;\n },\n OptionGroup extends ComponentHarness,\n OptionGroupFilters extends BaseHarnessFilters,\n> extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n protected abstract _prefix: string;\n protected abstract _optionClass: OptionType;\n protected abstract _optionGroupClass: OptionGroupType;\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionFilters, 'ancestor'>): Promise<Option[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionClass.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionFilters),\n )();\n }\n\n /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(filters?: Omit<OptionGroupFilters, 'ancestor'>): Promise<OptionGroup[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionGroupClass.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionGroupFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`${this._prefix}-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel() {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n private async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-owns')}`;\n }\n}\n\n/** Harness for interacting with a standard mat-autocomplete in tests. */\nexport class MatAutocompleteHarness extends _MatAutocompleteHarnessBase<\n typeof MatOptionHarness,\n MatOptionHarness,\n OptionHarnessFilters,\n typeof MatOptgroupHarness,\n MatOptgroupHarness,\n OptgroupHarnessFilters\n> {\n protected _prefix = 'mat';\n protected _optionClass = MatOptionHarness;\n protected _optionGroupClass = MatOptgroupHarness;\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatAutocompleteHarness` that meets\n * certain criteria.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: AutocompleteHarnessFilters = {}): HarnessPredicate<MatAutocompleteHarness> {\n return new HarnessPredicate(MatAutocompleteHarness, options).addOption(\n 'value',\n options.value,\n (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value),\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 './autocomplete-harness';\nexport * from './autocomplete-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAuBM,MAAgB,2BAWpB,SAAQ,gBAAgB,CAAA;AAX1B,IAAA,WAAA,GAAA;;AAYU,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;KAmFlE;;IA7EO,QAAQ,GAAA;;AACZ,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAS,OAAO,CAAC,CAAC;SACzD,CAAA,CAAA;AAAA,KAAA;;IAGK,UAAU,GAAA;;AACd,YAAA,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;AAC9D,YAAA,OAAO,qBAAqB,CAAC,MAAM,QAAQ,CAAC,CAAC;SAC9C,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC,CAAA,CAAA;AAAA,KAAA;;IAGK,IAAI,GAAA;;YACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;;IAGK,SAAS,GAAA;;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,SAAS,CAAC,KAAa,EAAA;;AAC3B,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5C,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,UAAU,CAAC,OAAyC,EAAA;;AACxD,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAChB,OAAO,IAAI,EAAE,EAAC,EAAA,EAClB,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA,CAAA,CACvB,CACpB,EAAE,CAAC;SACL,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,eAAe,CAAC,OAA8C,EAAA;;AAClE,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GACrB,OAAO,IAAI,EAAE,EAAC,EAAA,EAClB,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA,CAAA,CAClB,CACzB,EAAE,CAAC;SACL,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,YAAY,CAAC,OAAsB,EAAA;;AACvC,YAAA,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,MAAM,KAAK,CAAC,CAAA,qCAAA,EAAwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,CAAA,CAAC,CAAC;AAChF,aAAA;AACD,YAAA,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1B,CAAA,CAAA;AAAA,KAAA;;IAGK,MAAM,GAAA;;AACV,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AACrC,YAAA,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAuB,qBAAA,CAAA,CAAC,CAAC,CAAC;SAClF,CAAA,CAAA;AAAA,KAAA;;IAGa,SAAS,GAAA;;;;AAGrB,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACvF,CAAA,CAAA;AAAA,KAAA;;IAGa,iBAAiB,GAAA;;AAC7B,YAAA,OAAO,CAAI,CAAA,EAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;SAClE,CAAA,CAAA;AAAA,KAAA;AACF,CAAA;AAED;AACM,MAAO,sBAAuB,SAAQ,2BAO3C,CAAA;AAPD,IAAA,WAAA,GAAA;;AAQY,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAY,CAAA,YAAA,GAAG,gBAAgB,CAAC;AAChC,QAAA,IAAiB,CAAA,iBAAA,GAAG,kBAAkB,CAAC;KAkBlD;AAbC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAsC,EAAE,EAAA;AAClD,QAAA,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,SAAS,CACpE,OAAO,EACP,OAAO,CAAC,KAAK,EACb,CAAC,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAC9E,CAAC;KACH;;AAfD;AACO,sBAAY,CAAA,YAAA,GAAG,2BAA2B;;ACtInD;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}
@@ -168,9 +168,9 @@ class _MatAutocompleteBase extends _MatAutocompleteMixinBase {
168
168
  classList[this._hiddenClass] = !this.showPanel;
169
169
  }
170
170
  }
171
- _MatAutocompleteBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteBase, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Directive });
172
- _MatAutocompleteBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatAutocompleteBase, inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: "autoActiveFirstOption", panelWidth: "panelWidth", classList: ["class", "classList"] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, ngImport: i0 });
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteBase, decorators: [{
171
+ _MatAutocompleteBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteBase, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Directive });
172
+ _MatAutocompleteBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatAutocompleteBase, inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: "autoActiveFirstOption", panelWidth: "panelWidth", classList: ["class", "classList"] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, ngImport: i0 });
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteBase, decorators: [{
174
174
  type: Directive
175
175
  }], ctorParameters: function () {
176
176
  return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
@@ -214,9 +214,9 @@ class MatAutocomplete extends _MatAutocompleteBase {
214
214
  this._hiddenClass = 'mat-autocomplete-hidden';
215
215
  }
216
216
  }
217
- MatAutocomplete.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocomplete, deps: null, target: i0.ɵɵFactoryTarget.Component });
218
- MatAutocomplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatAutocomplete, selector: "mat-autocomplete", inputs: { disableRipple: "disableRipple" }, host: { classAttribute: "mat-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }], exportAs: ["matAutocomplete"], usesInheritance: true, ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div class=\"mat-autocomplete-panel\"\n role=\"listbox\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [ngClass]=\"_classList\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocomplete, decorators: [{
217
+ MatAutocomplete.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocomplete, deps: null, target: i0.ɵɵFactoryTarget.Component });
218
+ MatAutocomplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: MatAutocomplete, selector: "mat-autocomplete", inputs: { disableRipple: "disableRipple" }, host: { classAttribute: "mat-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }], exportAs: ["matAutocomplete"], usesInheritance: true, ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div class=\"mat-autocomplete-panel\"\n role=\"listbox\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [ngClass]=\"_classList\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocomplete, decorators: [{
220
220
  type: Component,
221
221
  args: [{ selector: 'mat-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'matAutocomplete', inputs: ['disableRipple'], host: {
222
222
  'class': 'mat-autocomplete',
@@ -563,20 +563,25 @@ class _MatAutocompleteTriggerBase {
563
563
  // create a new stream of panelClosingActions, replacing any previous streams
564
564
  // that were created, and flatten it so our stream only emits closing events...
565
565
  switchMap(() => {
566
- const wasOpen = this.panelOpen;
567
- this._resetActiveItem();
568
- this.autocomplete._setVisibility();
569
- this._changeDetectorRef.detectChanges();
570
- if (this.panelOpen) {
571
- this._overlayRef.updatePosition();
572
- // If the `panelOpen` state changed, we need to make sure to emit the `opened`
573
- // event, because we may not have emitted it when the panel was attached. This
574
- // can happen if the users opens the panel and there are no options, but the
575
- // options come in slightly later or as a result of the value changing.
576
- if (wasOpen !== this.panelOpen) {
577
- this.autocomplete.opened.emit();
566
+ // The `NgZone.onStable` always emits outside of the Angular zone, thus we have to re-enter
567
+ // the Angular zone. This will lead to change detection being called outside of the Angular
568
+ // zone and the `autocomplete.opened` will also emit outside of the Angular.
569
+ this._zone.run(() => {
570
+ const wasOpen = this.panelOpen;
571
+ this._resetActiveItem();
572
+ this.autocomplete._setVisibility();
573
+ this._changeDetectorRef.detectChanges();
574
+ if (this.panelOpen) {
575
+ this._overlayRef.updatePosition();
576
+ // If the `panelOpen` state changed, we need to make sure to emit the `opened`
577
+ // event, because we may not have emitted it when the panel was attached. This
578
+ // can happen if the users opens the panel and there are no options, but the
579
+ // options come in slightly later or as a result of the value changing.
580
+ if (wasOpen !== this.panelOpen) {
581
+ this.autocomplete.opened.emit();
582
+ }
578
583
  }
579
- }
584
+ });
580
585
  return this.panelClosingActions;
581
586
  }),
582
587
  // when the first closing event occurs...
@@ -799,9 +804,9 @@ class _MatAutocompleteTriggerBase {
799
804
  }
800
805
  }
801
806
  }
802
- _MatAutocompleteTriggerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteTriggerBase, deps: [{ token: i0.ElementRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: MAT_AUTOCOMPLETE_SCROLL_STRATEGY }, { token: i2$1.Directionality, optional: true }, { token: MAT_FORM_FIELD, host: true, optional: true }, { token: DOCUMENT, optional: true }, { token: i3.ViewportRuler }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
803
- _MatAutocompleteTriggerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatAutocompleteTriggerBase, inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled"] }, usesOnChanges: true, ngImport: i0 });
804
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteTriggerBase, decorators: [{
807
+ _MatAutocompleteTriggerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteTriggerBase, deps: [{ token: i0.ElementRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: MAT_AUTOCOMPLETE_SCROLL_STRATEGY }, { token: i2$1.Directionality, optional: true }, { token: MAT_FORM_FIELD, host: true, optional: true }, { token: DOCUMENT, optional: true }, { token: i3.ViewportRuler }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
808
+ _MatAutocompleteTriggerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatAutocompleteTriggerBase, inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled"] }, usesOnChanges: true, ngImport: i0 });
809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteTriggerBase, decorators: [{
805
810
  type: Directive
806
811
  }], ctorParameters: function () {
807
812
  return [{ type: i0.ElementRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -849,9 +854,9 @@ class MatAutocompleteTrigger extends _MatAutocompleteTriggerBase {
849
854
  this._aboveClass = 'mat-autocomplete-panel-above';
850
855
  }
851
856
  }
852
- MatAutocompleteTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
853
- MatAutocompleteTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-owns": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesInheritance: true, ngImport: i0 });
854
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
857
+ MatAutocompleteTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
858
+ MatAutocompleteTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-owns": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesInheritance: true, ngImport: i0 });
859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
855
860
  type: Directive,
856
861
  args: [{
857
862
  selector: `input[matAutocomplete], textarea[matAutocomplete]`,
@@ -892,9 +897,9 @@ class _MatAutocompleteOriginBase {
892
897
  this.elementRef = elementRef;
893
898
  }
894
899
  }
895
- _MatAutocompleteOriginBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteOriginBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
896
- _MatAutocompleteOriginBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatAutocompleteOriginBase, ngImport: i0 });
897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatAutocompleteOriginBase, decorators: [{
900
+ _MatAutocompleteOriginBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteOriginBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
901
+ _MatAutocompleteOriginBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatAutocompleteOriginBase, ngImport: i0 });
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatAutocompleteOriginBase, decorators: [{
898
903
  type: Directive
899
904
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
900
905
  /**
@@ -903,9 +908,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
903
908
  */
904
909
  class MatAutocompleteOrigin extends _MatAutocompleteOriginBase {
905
910
  }
906
- MatAutocompleteOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteOrigin, deps: null, target: i0.ɵɵFactoryTarget.Directive });
907
- MatAutocompleteOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], usesInheritance: true, ngImport: i0 });
908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
911
+ MatAutocompleteOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteOrigin, deps: null, target: i0.ɵɵFactoryTarget.Directive });
912
+ MatAutocompleteOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], usesInheritance: true, ngImport: i0 });
913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
909
914
  type: Directive,
910
915
  args: [{
911
916
  selector: '[matAutocompleteOrigin]',
@@ -922,17 +927,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
922
927
  */
923
928
  class MatAutocompleteModule {
924
929
  }
925
- MatAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
926
- MatAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [MatAutocomplete,
930
+ MatAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
931
+ MatAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [MatAutocomplete,
927
932
  MatAutocompleteTrigger,
928
933
  MatAutocompleteOrigin,
929
934
  CdkScrollableModule,
930
935
  MatOptionModule,
931
936
  MatCommonModule] });
932
- MatAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[OverlayModule, MatOptionModule, MatCommonModule, CommonModule], CdkScrollableModule,
937
+ MatAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[OverlayModule, MatOptionModule, MatCommonModule, CommonModule], CdkScrollableModule,
933
938
  MatOptionModule,
934
939
  MatCommonModule] });
935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatAutocompleteModule, decorators: [{
940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatAutocompleteModule, decorators: [{
936
941
  type: NgModule,
937
942
  args: [{
938
943
  imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule],