@angular/material 14.0.0-next.5 → 14.0.0-next.8

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 (460) hide show
  1. package/badge/_badge-theme.scss +8 -0
  2. package/checkbox/_checkbox-theme.scss +0 -6
  3. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  4. package/core/style/_vendor-prefixes.scss +0 -16
  5. package/datepicker/calendar-body.d.ts +22 -1
  6. package/dialog/dialog-animations.d.ts +10 -0
  7. package/dialog/dialog-config.d.ts +6 -0
  8. package/dialog/dialog-container.d.ts +8 -4
  9. package/dialog/dialog.d.ts +12 -6
  10. package/dialog/public-api.d.ts +1 -1
  11. package/dialog/testing/dialog-opener.d.ts +33 -0
  12. package/dialog/testing/public-api.d.ts +1 -0
  13. package/esm2020/autocomplete/autocomplete-module.mjs +4 -4
  14. package/esm2020/autocomplete/autocomplete-origin.mjs +6 -6
  15. package/esm2020/autocomplete/autocomplete-trigger.mjs +25 -20
  16. package/esm2020/autocomplete/autocomplete.mjs +6 -6
  17. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  18. package/esm2020/badge/badge-module.mjs +4 -4
  19. package/esm2020/badge/badge.mjs +3 -3
  20. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  21. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +11 -6
  22. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +4 -4
  23. package/esm2020/bottom-sheet/bottom-sheet.mjs +3 -3
  24. package/esm2020/button/button-module.mjs +4 -4
  25. package/esm2020/button/button.mjs +10 -10
  26. package/esm2020/button-toggle/button-toggle-module.mjs +4 -4
  27. package/esm2020/button-toggle/button-toggle.mjs +7 -7
  28. package/esm2020/card/card-module.mjs +4 -4
  29. package/esm2020/card/card.mjs +43 -43
  30. package/esm2020/checkbox/checkbox-module.mjs +8 -8
  31. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  32. package/esm2020/checkbox/checkbox.mjs +7 -6
  33. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  34. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  35. package/esm2020/chips/chip-input.mjs +3 -3
  36. package/esm2020/chips/chip-list.mjs +3 -3
  37. package/esm2020/chips/chip.mjs +12 -12
  38. package/esm2020/chips/chips-module.mjs +4 -4
  39. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  40. package/esm2020/core/datetime/index.mjs +8 -8
  41. package/esm2020/core/datetime/native-date-adapter.mjs +3 -3
  42. package/esm2020/core/error/error-options.mjs +6 -6
  43. package/esm2020/core/line/line.mjs +7 -7
  44. package/esm2020/core/option/index.mjs +4 -4
  45. package/esm2020/core/option/optgroup.mjs +7 -7
  46. package/esm2020/core/option/option.mjs +7 -7
  47. package/esm2020/core/ripple/index.mjs +4 -4
  48. package/esm2020/core/ripple/ripple.mjs +3 -3
  49. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  50. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  51. package/esm2020/core/version.mjs +1 -1
  52. package/esm2020/datepicker/calendar-body.mjs +35 -12
  53. package/esm2020/datepicker/calendar.mjs +6 -6
  54. package/esm2020/datepicker/date-range-input-parts.mjs +9 -9
  55. package/esm2020/datepicker/date-range-input.mjs +5 -5
  56. package/esm2020/datepicker/date-range-picker.mjs +3 -3
  57. package/esm2020/datepicker/date-range-selection-strategy.mjs +3 -3
  58. package/esm2020/datepicker/date-selection-model.mjs +9 -9
  59. package/esm2020/datepicker/datepicker-actions.mjs +9 -9
  60. package/esm2020/datepicker/datepicker-base.mjs +6 -6
  61. package/esm2020/datepicker/datepicker-input-base.mjs +3 -3
  62. package/esm2020/datepicker/datepicker-input.mjs +3 -3
  63. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  64. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  65. package/esm2020/datepicker/datepicker-toggle.mjs +6 -6
  66. package/esm2020/datepicker/datepicker.mjs +3 -3
  67. package/esm2020/datepicker/month-view.mjs +5 -5
  68. package/esm2020/datepicker/multi-year-view.mjs +3 -3
  69. package/esm2020/datepicker/year-view.mjs +3 -3
  70. package/esm2020/dialog/dialog-animations.mjs +17 -4
  71. package/esm2020/dialog/dialog-config.mjs +8 -1
  72. package/esm2020/dialog/dialog-container.mjs +38 -24
  73. package/esm2020/dialog/dialog-content-directives.mjs +17 -13
  74. package/esm2020/dialog/dialog-module.mjs +4 -4
  75. package/esm2020/dialog/dialog.mjs +22 -38
  76. package/esm2020/dialog/public-api.mjs +2 -2
  77. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  78. package/esm2020/dialog/testing/public-api.mjs +2 -1
  79. package/esm2020/divider/divider-module.mjs +4 -4
  80. package/esm2020/divider/divider.mjs +3 -3
  81. package/esm2020/expansion/accordion.mjs +3 -3
  82. package/esm2020/expansion/expansion-module.mjs +4 -4
  83. package/esm2020/expansion/expansion-panel-content.mjs +3 -3
  84. package/esm2020/expansion/expansion-panel-header.mjs +9 -9
  85. package/esm2020/expansion/expansion-panel.mjs +9 -9
  86. package/esm2020/form-field/error.mjs +3 -3
  87. package/esm2020/form-field/form-field-control.mjs +4 -4
  88. package/esm2020/form-field/form-field-module.mjs +4 -4
  89. package/esm2020/form-field/form-field.mjs +11 -8
  90. package/esm2020/form-field/hint.mjs +3 -3
  91. package/esm2020/form-field/label.mjs +3 -3
  92. package/esm2020/form-field/placeholder.mjs +3 -3
  93. package/esm2020/form-field/prefix.mjs +3 -3
  94. package/esm2020/form-field/suffix.mjs +3 -3
  95. package/esm2020/grid-list/grid-list-module.mjs +4 -4
  96. package/esm2020/grid-list/grid-list.mjs +3 -3
  97. package/esm2020/grid-list/grid-tile.mjs +15 -15
  98. package/esm2020/icon/icon-module.mjs +4 -4
  99. package/esm2020/icon/icon-registry.mjs +3 -3
  100. package/esm2020/icon/icon.mjs +5 -12
  101. package/esm2020/icon/testing/fake-icon-registry.mjs +7 -7
  102. package/esm2020/input/input-module.mjs +4 -4
  103. package/esm2020/input/input.mjs +29 -22
  104. package/esm2020/list/list-module.mjs +4 -4
  105. package/esm2020/list/list.mjs +19 -21
  106. package/esm2020/list/selection-list.mjs +13 -36
  107. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  108. package/esm2020/menu/menu-content.mjs +6 -6
  109. package/esm2020/menu/menu-item.mjs +3 -3
  110. package/esm2020/menu/menu-module.mjs +4 -4
  111. package/esm2020/menu/menu-trigger.mjs +6 -6
  112. package/esm2020/menu/menu.mjs +8 -8
  113. package/esm2020/paginator/paginator-intl.mjs +3 -3
  114. package/esm2020/paginator/paginator-module.mjs +4 -4
  115. package/esm2020/paginator/paginator.mjs +6 -6
  116. package/esm2020/progress-bar/progress-bar-module.mjs +4 -4
  117. package/esm2020/progress-bar/progress-bar.mjs +3 -3
  118. package/esm2020/progress-spinner/progress-spinner-module.mjs +4 -4
  119. package/esm2020/progress-spinner/progress-spinner.mjs +3 -3
  120. package/esm2020/radio/radio-module.mjs +4 -4
  121. package/esm2020/radio/radio.mjs +13 -13
  122. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  123. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  124. package/esm2020/select/select-module.mjs +4 -4
  125. package/esm2020/select/select.mjs +42 -23
  126. package/esm2020/sidenav/drawer.mjs +17 -12
  127. package/esm2020/sidenav/sidenav-module.mjs +4 -4
  128. package/esm2020/sidenav/sidenav.mjs +9 -9
  129. package/esm2020/slide-toggle/slide-toggle-module.mjs +8 -8
  130. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  131. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  132. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  133. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +3 -2
  134. package/esm2020/slider/slider-module.mjs +4 -4
  135. package/esm2020/slider/slider.mjs +4 -4
  136. package/esm2020/snack-bar/simple-snack-bar.mjs +3 -3
  137. package/esm2020/snack-bar/snack-bar-container.mjs +3 -3
  138. package/esm2020/snack-bar/snack-bar-module.mjs +4 -4
  139. package/esm2020/snack-bar/snack-bar.mjs +6 -6
  140. package/esm2020/sort/sort-header-intl.mjs +3 -3
  141. package/esm2020/sort/sort-header.mjs +3 -3
  142. package/esm2020/sort/sort-module.mjs +4 -4
  143. package/esm2020/sort/sort.mjs +3 -3
  144. package/esm2020/stepper/public-api.mjs +2 -2
  145. package/esm2020/stepper/step-content.mjs +3 -3
  146. package/esm2020/stepper/step-header.mjs +3 -3
  147. package/esm2020/stepper/step-label.mjs +3 -3
  148. package/esm2020/stepper/stepper-animations.mjs +9 -3
  149. package/esm2020/stepper/stepper-button.mjs +6 -6
  150. package/esm2020/stepper/stepper-icon.mjs +3 -3
  151. package/esm2020/stepper/stepper-intl.mjs +3 -3
  152. package/esm2020/stepper/stepper-module.mjs +4 -4
  153. package/esm2020/stepper/stepper.mjs +35 -9
  154. package/esm2020/table/cell.mjs +21 -21
  155. package/esm2020/table/row.mjs +21 -21
  156. package/esm2020/table/table-module.mjs +4 -4
  157. package/esm2020/table/table.mjs +8 -8
  158. package/esm2020/table/text-column.mjs +3 -3
  159. package/esm2020/tabs/ink-bar.mjs +11 -22
  160. package/esm2020/tabs/paginated-tab-header.mjs +8 -6
  161. package/esm2020/tabs/tab-body.mjs +9 -9
  162. package/esm2020/tabs/tab-content.mjs +3 -3
  163. package/esm2020/tabs/tab-group.mjs +6 -6
  164. package/esm2020/tabs/tab-header.mjs +7 -7
  165. package/esm2020/tabs/tab-label-wrapper.mjs +3 -3
  166. package/esm2020/tabs/tab-label.mjs +3 -3
  167. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  168. package/esm2020/tabs/tab.mjs +3 -3
  169. package/esm2020/tabs/tabs-module.mjs +4 -4
  170. package/esm2020/toolbar/toolbar-module.mjs +4 -4
  171. package/esm2020/toolbar/toolbar.mjs +6 -6
  172. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  173. package/esm2020/tooltip/tooltip-module.mjs +4 -4
  174. package/esm2020/tooltip/tooltip.mjs +99 -47
  175. package/esm2020/tree/node.mjs +9 -9
  176. package/esm2020/tree/outlet.mjs +3 -3
  177. package/esm2020/tree/padding.mjs +3 -3
  178. package/esm2020/tree/toggle.mjs +3 -3
  179. package/esm2020/tree/tree-module.mjs +4 -4
  180. package/esm2020/tree/tree.mjs +3 -3
  181. package/fesm2015/autocomplete/testing.mjs +6 -0
  182. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  183. package/fesm2015/autocomplete.mjs +40 -35
  184. package/fesm2015/autocomplete.mjs.map +1 -1
  185. package/fesm2015/badge/testing.mjs.map +1 -1
  186. package/fesm2015/badge.mjs +7 -7
  187. package/fesm2015/badge.mjs.map +1 -1
  188. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  189. package/fesm2015/bottom-sheet.mjs +26 -15
  190. package/fesm2015/bottom-sheet.mjs.map +1 -1
  191. package/fesm2015/button/testing.mjs.map +1 -1
  192. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  193. package/fesm2015/button-toggle.mjs +11 -11
  194. package/fesm2015/button-toggle.mjs.map +1 -1
  195. package/fesm2015/button.mjs +13 -13
  196. package/fesm2015/button.mjs.map +1 -1
  197. package/fesm2015/card/testing.mjs.map +1 -1
  198. package/fesm2015/card.mjs +47 -47
  199. package/fesm2015/card.mjs.map +1 -1
  200. package/fesm2015/checkbox/testing.mjs +2 -1
  201. package/fesm2015/checkbox/testing.mjs.map +1 -1
  202. package/fesm2015/checkbox.mjs +17 -16
  203. package/fesm2015/checkbox.mjs.map +1 -1
  204. package/fesm2015/chips/testing.mjs.map +1 -1
  205. package/fesm2015/chips.mjs +22 -22
  206. package/fesm2015/chips.mjs.map +1 -1
  207. package/fesm2015/core/testing.mjs.map +1 -1
  208. package/fesm2015/core.mjs +61 -61
  209. package/fesm2015/core.mjs.map +1 -1
  210. package/fesm2015/datepicker/testing.mjs.map +1 -1
  211. package/fesm2015/datepicker.mjs +116 -93
  212. package/fesm2015/datepicker.mjs.map +1 -1
  213. package/fesm2015/dialog/testing.mjs +65 -2
  214. package/fesm2015/dialog/testing.mjs.map +1 -1
  215. package/fesm2015/dialog.mjs +121 -100
  216. package/fesm2015/dialog.mjs.map +1 -1
  217. package/fesm2015/divider/testing.mjs.map +1 -1
  218. package/fesm2015/divider.mjs +7 -7
  219. package/fesm2015/divider.mjs.map +1 -1
  220. package/fesm2015/expansion/testing.mjs.map +1 -1
  221. package/fesm2015/expansion.mjs +27 -27
  222. package/fesm2015/expansion.mjs.map +1 -1
  223. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  224. package/fesm2015/form-field/testing.mjs.map +1 -1
  225. package/fesm2015/form-field.mjs +35 -32
  226. package/fesm2015/form-field.mjs.map +1 -1
  227. package/fesm2015/grid-list/testing.mjs.map +1 -1
  228. package/fesm2015/grid-list.mjs +22 -22
  229. package/fesm2015/grid-list.mjs.map +1 -1
  230. package/fesm2015/icon/testing.mjs +7 -7
  231. package/fesm2015/icon/testing.mjs.map +1 -1
  232. package/fesm2015/icon.mjs +11 -18
  233. package/fesm2015/icon.mjs.map +1 -1
  234. package/fesm2015/input/testing.mjs.map +1 -1
  235. package/fesm2015/input.mjs +33 -26
  236. package/fesm2015/input.mjs.map +1 -1
  237. package/fesm2015/list/testing.mjs +0 -10
  238. package/fesm2015/list/testing.mjs.map +1 -1
  239. package/fesm2015/list.mjs +37 -63
  240. package/fesm2015/list.mjs.map +1 -1
  241. package/fesm2015/material.mjs.map +1 -1
  242. package/fesm2015/menu/testing.mjs.map +1 -1
  243. package/fesm2015/menu.mjs +26 -26
  244. package/fesm2015/menu.mjs.map +1 -1
  245. package/fesm2015/paginator/testing.mjs.map +1 -1
  246. package/fesm2015/paginator.mjs +13 -13
  247. package/fesm2015/paginator.mjs.map +1 -1
  248. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  249. package/fesm2015/progress-bar.mjs +7 -7
  250. package/fesm2015/progress-bar.mjs.map +1 -1
  251. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  252. package/fesm2015/progress-spinner.mjs +7 -7
  253. package/fesm2015/progress-spinner.mjs.map +1 -1
  254. package/fesm2015/radio/testing.mjs +2 -1
  255. package/fesm2015/radio/testing.mjs.map +1 -1
  256. package/fesm2015/radio.mjs +17 -17
  257. package/fesm2015/radio.mjs.map +1 -1
  258. package/fesm2015/select/testing.mjs.map +1 -1
  259. package/fesm2015/select.mjs +45 -26
  260. package/fesm2015/select.mjs.map +1 -1
  261. package/fesm2015/sidenav/testing.mjs.map +1 -1
  262. package/fesm2015/sidenav.mjs +29 -24
  263. package/fesm2015/sidenav.mjs.map +1 -1
  264. package/fesm2015/slide-toggle/testing.mjs +2 -1
  265. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  266. package/fesm2015/slide-toggle.mjs +16 -15
  267. package/fesm2015/slide-toggle.mjs.map +1 -1
  268. package/fesm2015/slider/testing.mjs.map +1 -1
  269. package/fesm2015/slider.mjs +8 -8
  270. package/fesm2015/slider.mjs.map +1 -1
  271. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  272. package/fesm2015/snack-bar.mjs +16 -16
  273. package/fesm2015/snack-bar.mjs.map +1 -1
  274. package/fesm2015/sort/testing.mjs.map +1 -1
  275. package/fesm2015/sort.mjs +13 -13
  276. package/fesm2015/sort.mjs.map +1 -1
  277. package/fesm2015/stepper/testing.mjs.map +1 -1
  278. package/fesm2015/stepper.mjs +66 -34
  279. package/fesm2015/stepper.mjs.map +1 -1
  280. package/fesm2015/table/testing.mjs.map +1 -1
  281. package/fesm2015/table.mjs +57 -57
  282. package/fesm2015/table.mjs.map +1 -1
  283. package/fesm2015/tabs/testing.mjs.map +1 -1
  284. package/fesm2015/tabs.mjs +71 -81
  285. package/fesm2015/tabs.mjs.map +1 -1
  286. package/fesm2015/toolbar/testing.mjs.map +1 -1
  287. package/fesm2015/toolbar.mjs +10 -10
  288. package/fesm2015/toolbar.mjs.map +1 -1
  289. package/fesm2015/tooltip/testing.mjs +11 -8
  290. package/fesm2015/tooltip/testing.mjs.map +1 -1
  291. package/fesm2015/tooltip.mjs +125 -75
  292. package/fesm2015/tooltip.mjs.map +1 -1
  293. package/fesm2015/tree/testing.mjs.map +1 -1
  294. package/fesm2015/tree.mjs +25 -25
  295. package/fesm2015/tree.mjs.map +1 -1
  296. package/fesm2020/autocomplete/testing.mjs +6 -0
  297. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  298. package/fesm2020/autocomplete.mjs +40 -35
  299. package/fesm2020/autocomplete.mjs.map +1 -1
  300. package/fesm2020/badge/testing.mjs.map +1 -1
  301. package/fesm2020/badge.mjs +7 -7
  302. package/fesm2020/badge.mjs.map +1 -1
  303. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  304. package/fesm2020/bottom-sheet.mjs +26 -15
  305. package/fesm2020/bottom-sheet.mjs.map +1 -1
  306. package/fesm2020/button/testing.mjs.map +1 -1
  307. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  308. package/fesm2020/button-toggle.mjs +11 -11
  309. package/fesm2020/button-toggle.mjs.map +1 -1
  310. package/fesm2020/button.mjs +13 -13
  311. package/fesm2020/button.mjs.map +1 -1
  312. package/fesm2020/card/testing.mjs.map +1 -1
  313. package/fesm2020/card.mjs +47 -47
  314. package/fesm2020/card.mjs.map +1 -1
  315. package/fesm2020/checkbox/testing.mjs +2 -1
  316. package/fesm2020/checkbox/testing.mjs.map +1 -1
  317. package/fesm2020/checkbox.mjs +17 -16
  318. package/fesm2020/checkbox.mjs.map +1 -1
  319. package/fesm2020/chips/testing.mjs.map +1 -1
  320. package/fesm2020/chips.mjs +22 -22
  321. package/fesm2020/chips.mjs.map +1 -1
  322. package/fesm2020/core/testing.mjs.map +1 -1
  323. package/fesm2020/core.mjs +61 -61
  324. package/fesm2020/core.mjs.map +1 -1
  325. package/fesm2020/datepicker/testing.mjs.map +1 -1
  326. package/fesm2020/datepicker.mjs +116 -93
  327. package/fesm2020/datepicker.mjs.map +1 -1
  328. package/fesm2020/dialog/testing.mjs +65 -1
  329. package/fesm2020/dialog/testing.mjs.map +1 -1
  330. package/fesm2020/dialog.mjs +121 -100
  331. package/fesm2020/dialog.mjs.map +1 -1
  332. package/fesm2020/divider/testing.mjs.map +1 -1
  333. package/fesm2020/divider.mjs +7 -7
  334. package/fesm2020/divider.mjs.map +1 -1
  335. package/fesm2020/expansion/testing.mjs.map +1 -1
  336. package/fesm2020/expansion.mjs +27 -27
  337. package/fesm2020/expansion.mjs.map +1 -1
  338. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  339. package/fesm2020/form-field/testing.mjs.map +1 -1
  340. package/fesm2020/form-field.mjs +35 -32
  341. package/fesm2020/form-field.mjs.map +1 -1
  342. package/fesm2020/grid-list/testing.mjs.map +1 -1
  343. package/fesm2020/grid-list.mjs +22 -22
  344. package/fesm2020/grid-list.mjs.map +1 -1
  345. package/fesm2020/icon/testing.mjs +7 -7
  346. package/fesm2020/icon/testing.mjs.map +1 -1
  347. package/fesm2020/icon.mjs +11 -18
  348. package/fesm2020/icon.mjs.map +1 -1
  349. package/fesm2020/input/testing.mjs.map +1 -1
  350. package/fesm2020/input.mjs +32 -25
  351. package/fesm2020/input.mjs.map +1 -1
  352. package/fesm2020/list/testing.mjs +0 -8
  353. package/fesm2020/list/testing.mjs.map +1 -1
  354. package/fesm2020/list.mjs +34 -59
  355. package/fesm2020/list.mjs.map +1 -1
  356. package/fesm2020/material.mjs.map +1 -1
  357. package/fesm2020/menu/testing.mjs.map +1 -1
  358. package/fesm2020/menu.mjs +26 -26
  359. package/fesm2020/menu.mjs.map +1 -1
  360. package/fesm2020/paginator/testing.mjs.map +1 -1
  361. package/fesm2020/paginator.mjs +13 -13
  362. package/fesm2020/paginator.mjs.map +1 -1
  363. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  364. package/fesm2020/progress-bar.mjs +7 -7
  365. package/fesm2020/progress-bar.mjs.map +1 -1
  366. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  367. package/fesm2020/progress-spinner.mjs +7 -7
  368. package/fesm2020/progress-spinner.mjs.map +1 -1
  369. package/fesm2020/radio/testing.mjs +2 -1
  370. package/fesm2020/radio/testing.mjs.map +1 -1
  371. package/fesm2020/radio.mjs +17 -17
  372. package/fesm2020/radio.mjs.map +1 -1
  373. package/fesm2020/select/testing.mjs.map +1 -1
  374. package/fesm2020/select.mjs +45 -26
  375. package/fesm2020/select.mjs.map +1 -1
  376. package/fesm2020/sidenav/testing.mjs.map +1 -1
  377. package/fesm2020/sidenav.mjs +29 -24
  378. package/fesm2020/sidenav.mjs.map +1 -1
  379. package/fesm2020/slide-toggle/testing.mjs +2 -1
  380. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  381. package/fesm2020/slide-toggle.mjs +16 -15
  382. package/fesm2020/slide-toggle.mjs.map +1 -1
  383. package/fesm2020/slider/testing.mjs.map +1 -1
  384. package/fesm2020/slider.mjs +8 -8
  385. package/fesm2020/slider.mjs.map +1 -1
  386. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  387. package/fesm2020/snack-bar.mjs +16 -16
  388. package/fesm2020/snack-bar.mjs.map +1 -1
  389. package/fesm2020/sort/testing.mjs.map +1 -1
  390. package/fesm2020/sort.mjs +13 -13
  391. package/fesm2020/sort.mjs.map +1 -1
  392. package/fesm2020/stepper/testing.mjs.map +1 -1
  393. package/fesm2020/stepper.mjs +66 -34
  394. package/fesm2020/stepper.mjs.map +1 -1
  395. package/fesm2020/table/testing.mjs.map +1 -1
  396. package/fesm2020/table.mjs +57 -57
  397. package/fesm2020/table.mjs.map +1 -1
  398. package/fesm2020/tabs/testing.mjs.map +1 -1
  399. package/fesm2020/tabs.mjs +71 -81
  400. package/fesm2020/tabs.mjs.map +1 -1
  401. package/fesm2020/toolbar/testing.mjs.map +1 -1
  402. package/fesm2020/toolbar.mjs +10 -10
  403. package/fesm2020/toolbar.mjs.map +1 -1
  404. package/fesm2020/tooltip/testing.mjs +11 -6
  405. package/fesm2020/tooltip/testing.mjs.map +1 -1
  406. package/fesm2020/tooltip.mjs +120 -67
  407. package/fesm2020/tooltip.mjs.map +1 -1
  408. package/fesm2020/tree/testing.mjs.map +1 -1
  409. package/fesm2020/tree.mjs +25 -25
  410. package/fesm2020/tree.mjs.map +1 -1
  411. package/form-field/form-field-control.d.ts +3 -3
  412. package/form-field/form-field.d.ts +6 -3
  413. package/input/input.d.ts +1 -0
  414. package/list/selection-list.d.ts +4 -21
  415. package/list/testing/list-item-harness-base.d.ts +1 -7
  416. package/package.json +2 -2
  417. package/prebuilt-themes/deeppurple-amber.css +1 -1
  418. package/prebuilt-themes/indigo-pink.css +1 -1
  419. package/prebuilt-themes/pink-bluegrey.css +1 -1
  420. package/prebuilt-themes/purple-green.css +1 -1
  421. package/radio/testing/radio-harness-filters.d.ts +2 -0
  422. package/schematics/collection.json +4 -2
  423. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  424. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  425. package/schematics/ng-add/index.js +1 -1
  426. package/schematics/ng-add/index.mjs +1 -1
  427. package/schematics/ng-add/setup-project.js +10 -19
  428. package/schematics/ng-add/setup-project.mjs +10 -19
  429. package/schematics/ng-add/theming/theming.js +28 -39
  430. package/schematics/ng-add/theming/theming.mjs +28 -39
  431. package/schematics/ng-generate/address-form/index.js +5 -14
  432. package/schematics/ng-generate/address-form/index.mjs +5 -14
  433. package/schematics/ng-generate/dashboard/index.js +5 -14
  434. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  435. package/schematics/ng-generate/navigation/index.js +5 -14
  436. package/schematics/ng-generate/navigation/index.mjs +5 -14
  437. package/schematics/ng-generate/table/index.js +5 -14
  438. package/schematics/ng-generate/table/index.mjs +5 -14
  439. package/schematics/ng-generate/tree/index.js +5 -14
  440. package/schematics/ng-generate/tree/index.mjs +5 -14
  441. package/schematics/ng-update/data/constructor-checks.js +7 -1
  442. package/schematics/ng-update/data/constructor-checks.mjs +7 -1
  443. package/schematics/ng-update/data/css-selectors.js +7 -1
  444. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  445. package/schematics/ng-update/data/index.js +6 -2
  446. package/schematics/ng-update/data/index.mjs +6 -2
  447. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +3 -12
  448. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +3 -12
  449. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -3
  450. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -3
  451. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  452. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  453. package/select/select.d.ts +8 -1
  454. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +2 -0
  455. package/stepper/public-api.d.ts +1 -1
  456. package/stepper/stepper-animations.d.ts +2 -0
  457. package/stepper/stepper.d.ts +11 -1
  458. package/tabs/ink-bar.d.ts +0 -5
  459. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  460. package/tooltip/tooltip.d.ts +23 -7
@@ -1,5 +1,8 @@
1
- import { __awaiter } from 'tslib';
1
+ import { __awaiter, __decorate, __metadata } from 'tslib';
2
2
  import { ContentContainerComponentHarness, TestKey, HarnessPredicate } from '@angular/cdk/testing';
3
+ import { Directive, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
4
+ import { _MatDialogBase, MatDialog, MatDialogModule } from '@angular/material/dialog';
5
+ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
3
6
 
4
7
  /** Base class for the `MatDialogHarness` implementation. */
5
8
  class _MatDialogHarnessBase
@@ -99,6 +102,66 @@ class MatDialogHarness extends _MatDialogHarnessBase {
99
102
  /** The selector for the host element of a `MatDialog` instance. */
100
103
  MatDialogHarness.hostSelector = '.mat-dialog-container';
101
104
 
105
+ /**
106
+ * @license
107
+ * Copyright Google LLC All Rights Reserved.
108
+ *
109
+ * Use of this source code is governed by an MIT-style license that can be
110
+ * found in the LICENSE file at https://angular.io/license
111
+ */
112
+ var _MatTestDialogOpenerBase_1, MatTestDialogOpener_1;
113
+ /** Base class for a component that immediately opens a dialog when created. */
114
+ let _MatTestDialogOpenerBase = _MatTestDialogOpenerBase_1 = class _MatTestDialogOpenerBase {
115
+ constructor(dialog) {
116
+ this.dialog = dialog;
117
+ if (!_MatTestDialogOpenerBase_1.component) {
118
+ throw new Error(`MatTestDialogOpener does not have a component provided.`);
119
+ }
120
+ this.dialogRef = this.dialog.open(_MatTestDialogOpenerBase_1.component, _MatTestDialogOpenerBase_1.config || {});
121
+ this._afterClosedSubscription = this.dialogRef.afterClosed().subscribe(result => {
122
+ this.closedResult = result;
123
+ });
124
+ }
125
+ ngOnDestroy() {
126
+ this._afterClosedSubscription.unsubscribe();
127
+ _MatTestDialogOpenerBase_1.component = undefined;
128
+ _MatTestDialogOpenerBase_1.config = undefined;
129
+ }
130
+ };
131
+ _MatTestDialogOpenerBase = _MatTestDialogOpenerBase_1 = __decorate([
132
+ Directive(),
133
+ __metadata("design:paramtypes", [_MatDialogBase])
134
+ ], _MatTestDialogOpenerBase);
135
+ /** Test component that immediately opens a dialog when created. */
136
+ let MatTestDialogOpener = MatTestDialogOpener_1 = class MatTestDialogOpener extends _MatTestDialogOpenerBase {
137
+ constructor(dialog) {
138
+ super(dialog);
139
+ }
140
+ /** Static method that prepares this class to open the provided component. */
141
+ static withComponent(component, config) {
142
+ _MatTestDialogOpenerBase.component = component;
143
+ _MatTestDialogOpenerBase.config = config;
144
+ return MatTestDialogOpener_1;
145
+ }
146
+ };
147
+ MatTestDialogOpener = MatTestDialogOpener_1 = __decorate([
148
+ Component({
149
+ selector: 'mat-test-dialog-opener',
150
+ template: '',
151
+ changeDetection: ChangeDetectionStrategy.OnPush,
152
+ encapsulation: ViewEncapsulation.None,
153
+ }),
154
+ __metadata("design:paramtypes", [MatDialog])
155
+ ], MatTestDialogOpener);
156
+ let MatTestDialogOpenerModule = class MatTestDialogOpenerModule {
157
+ };
158
+ MatTestDialogOpenerModule = __decorate([
159
+ NgModule({
160
+ declarations: [MatTestDialogOpener],
161
+ imports: [MatDialogModule, NoopAnimationsModule],
162
+ })
163
+ ], MatTestDialogOpenerModule);
164
+
102
165
  /**
103
166
  * @license
104
167
  * Copyright Google LLC All Rights Reserved.
@@ -115,5 +178,5 @@ MatDialogHarness.hostSelector = '.mat-dialog-container';
115
178
  * found in the LICENSE file at https://angular.io/license
116
179
  */
117
180
 
118
- export { MatDialogHarness, _MatDialogHarnessBase };
181
+ export { MatDialogHarness, MatTestDialogOpener, MatTestDialogOpenerModule, _MatDialogHarnessBase, _MatTestDialogOpenerBase };
119
182
  //# sourceMappingURL=testing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/dialog/testing/dialog-harness.ts","../../../../../../../src/material/dialog/testing/public-api.ts","../../../../../../../src/material/dialog/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 {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {DialogRole} from '@angular/material/dialog';\nimport {DialogHarnessFilters} from './dialog-harness-filters';\n\n/** Selectors for different sections of the mat-dialog that can contain user content. */\nexport const enum MatDialogSection {\n TITLE = '.mat-dialog-title',\n CONTENT = '.mat-dialog-content',\n ACTIONS = '.mat-dialog-actions',\n}\n\n/** Base class for the `MatDialogHarness` implementation. */\nexport class _MatDialogHarnessBase\n // @breaking-change 14.0.0 change generic type to MatDialogSection.\n extends ContentContainerComponentHarness<MatDialogSection | string>\n{\n protected _title = this.locatorForOptional(MatDialogSection.TITLE);\n protected _content = this.locatorForOptional(MatDialogSection.CONTENT);\n protected _actions = this.locatorForOptional(MatDialogSection.ACTIONS);\n\n /** Gets the id of the dialog. */\n async getId(): Promise<string | null> {\n const id = await (await this.host()).getAttribute('id');\n // In case no id has been specified, the \"id\" property always returns\n // an empty string. To make this method more explicit, we return null.\n return id !== '' ? id : null;\n }\n\n /** Gets the role of the dialog. */\n async getRole(): Promise<DialogRole | null> {\n return (await this.host()).getAttribute('role') as Promise<DialogRole | null>;\n }\n\n /** Gets the value of the dialog's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /** Gets the value of the dialog's \"aria-labelledby\" attribute. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-labelledby');\n }\n\n /** Gets the value of the dialog's \"aria-describedby\" attribute. */\n async getAriaDescribedby(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-describedby');\n }\n\n /**\n * Closes the dialog by pressing escape.\n *\n * Note: this method does nothing if `disableClose` has been set to `true` for the dialog.\n */\n async close(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n\n /** Gets te dialog's text. */\n async getText() {\n return (await this.host()).text();\n }\n\n /** Gets the dialog's title text. This only works if the dialog is using mat-dialog-title. */\n async getTitleText() {\n return (await this._title())?.text() ?? '';\n }\n\n /** Gets the dialog's content text. This only works if the dialog is using mat-dialog-content. */\n async getContentText() {\n return (await this._content())?.text() ?? '';\n }\n\n /** Gets the dialog's actions text. This only works if the dialog is using mat-dialog-actions. */\n async getActionsText() {\n return (await this._actions())?.text() ?? '';\n }\n}\n\n/** Harness for interacting with a standard `MatDialog` in tests. */\nexport class MatDialogHarness extends _MatDialogHarnessBase {\n // Developers can provide a custom component or template for the\n // dialog. The canonical dialog parent is the \"MatDialogContainer\".\n /** The selector for the host element of a `MatDialog` instance. */\n static hostSelector = '.mat-dialog-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDialogHarness` that meets\n * certain criteria.\n * @param options Options for filtering which dialog instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DialogHarnessFilters = {}): HarnessPredicate<MatDialogHarness> {\n return new HarnessPredicate(MatDialogHarness, 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 './dialog-harness';\nexport * from './dialog-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":";;;AAmBA;MACa,qBAAqB;AAChC;SACQ,gCAA2D;IAFrE;;QAIY,WAAM,GAAG,IAAI,CAAC,kBAAkB,iCAAwB,CAAC;QACzD,aAAQ,GAAG,IAAI,CAAC,kBAAkB,qCAA0B,CAAC;QAC7D,aAAQ,GAAG,IAAI,CAAC,kBAAkB,qCAA0B,CAAC;KA0DxE;;IAvDO,KAAK;;YACT,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;;;YAGxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;SAC9B;KAAA;;IAGK,OAAO;;YACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAA+B,CAAC;SAC/E;KAAA;;IAGK,YAAY;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;SACvD;KAAA;;IAGK,iBAAiB;;YACrB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;SAC5D;KAAA;;IAGK,kBAAkB;;YACtB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;SAC7D;KAAA;;;;;;IAOK,KAAK;;YACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACpD;KAAA;;IAGK,OAAO;;YACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC;KAAA;;IAGK,YAAY;;;YAChB,OAAO,MAAA,OAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,0CAAE,IAAI,EAAE,mCAAI,EAAE,CAAC;;KAC5C;;IAGK,cAAc;;;YAClB,OAAO,MAAA,OAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,0CAAE,IAAI,EAAE,mCAAI,EAAE,CAAC;;KAC9C;;IAGK,cAAc;;;YAClB,OAAO,MAAA,OAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,0CAAE,IAAI,EAAE,mCAAI,EAAE,CAAC;;KAC9C;CACF;AAED;MACa,yBAAyB,qBAAqB;;;;;;;IAYzD,OAAO,IAAI,CAAC,UAAgC,EAAE;QAC5C,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;KACxD;;AAbD;AACA;AACA;AACO,6BAAY,GAAG,uBAAuB;;AC3F/C;;;;;;;;ACAA;;;;;;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/dialog/testing/dialog-harness.ts","../../../../../../../src/material/dialog/testing/dialog-opener.ts","../../../../../../../src/material/dialog/testing/public-api.ts","../../../../../../../src/material/dialog/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 {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {DialogRole} from '@angular/material/dialog';\nimport {DialogHarnessFilters} from './dialog-harness-filters';\n\n/** Selectors for different sections of the mat-dialog that can contain user content. */\nexport const enum MatDialogSection {\n TITLE = '.mat-dialog-title',\n CONTENT = '.mat-dialog-content',\n ACTIONS = '.mat-dialog-actions',\n}\n\n/** Base class for the `MatDialogHarness` implementation. */\nexport class _MatDialogHarnessBase\n // @breaking-change 14.0.0 change generic type to MatDialogSection.\n extends ContentContainerComponentHarness<MatDialogSection | string>\n{\n protected _title = this.locatorForOptional(MatDialogSection.TITLE);\n protected _content = this.locatorForOptional(MatDialogSection.CONTENT);\n protected _actions = this.locatorForOptional(MatDialogSection.ACTIONS);\n\n /** Gets the id of the dialog. */\n async getId(): Promise<string | null> {\n const id = await (await this.host()).getAttribute('id');\n // In case no id has been specified, the \"id\" property always returns\n // an empty string. To make this method more explicit, we return null.\n return id !== '' ? id : null;\n }\n\n /** Gets the role of the dialog. */\n async getRole(): Promise<DialogRole | null> {\n return (await this.host()).getAttribute('role') as Promise<DialogRole | null>;\n }\n\n /** Gets the value of the dialog's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /** Gets the value of the dialog's \"aria-labelledby\" attribute. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-labelledby');\n }\n\n /** Gets the value of the dialog's \"aria-describedby\" attribute. */\n async getAriaDescribedby(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-describedby');\n }\n\n /**\n * Closes the dialog by pressing escape.\n *\n * Note: this method does nothing if `disableClose` has been set to `true` for the dialog.\n */\n async close(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n\n /** Gets te dialog's text. */\n async getText() {\n return (await this.host()).text();\n }\n\n /** Gets the dialog's title text. This only works if the dialog is using mat-dialog-title. */\n async getTitleText() {\n return (await this._title())?.text() ?? '';\n }\n\n /** Gets the dialog's content text. This only works if the dialog is using mat-dialog-content. */\n async getContentText() {\n return (await this._content())?.text() ?? '';\n }\n\n /** Gets the dialog's actions text. This only works if the dialog is using mat-dialog-actions. */\n async getActionsText() {\n return (await this._actions())?.text() ?? '';\n }\n}\n\n/** Harness for interacting with a standard `MatDialog` in tests. */\nexport class MatDialogHarness extends _MatDialogHarnessBase {\n // Developers can provide a custom component or template for the\n // dialog. The canonical dialog parent is the \"MatDialogContainer\".\n /** The selector for the host element of a `MatDialog` instance. */\n static hostSelector = '.mat-dialog-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDialogHarness` that meets\n * certain criteria.\n * @param options Options for filtering which dialog instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DialogHarnessFilters = {}): HarnessPredicate<MatDialogHarness> {\n return new HarnessPredicate(MatDialogHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentType} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Directive,\n Component,\n NgModule,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n _MatDialogBase,\n _MatDialogContainerBase,\n MatDialog,\n MatDialogConfig,\n MatDialogContainer,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport {Subscription} from 'rxjs';\nimport {NoopAnimationsModule} from '@angular/platform-browser/animations';\n\n/** Base class for a component that immediately opens a dialog when created. */\n@Directive()\nexport class _MatTestDialogOpenerBase<C extends _MatDialogContainerBase, T, R>\n implements OnDestroy\n{\n /** Component that should be opened with the MatDialog `open` method. */\n protected static component: ComponentType<unknown> | undefined;\n\n /** Config that should be provided to the MatDialog `open` method. */\n protected static config: MatDialogConfig | undefined;\n\n /** MatDialogRef returned from the MatDialog `open` method. */\n dialogRef: MatDialogRef<T, R>;\n\n /** Data passed to the `MatDialog` close method. */\n closedResult: R | undefined;\n\n private readonly _afterClosedSubscription: Subscription;\n\n constructor(public dialog: _MatDialogBase<C>) {\n if (!_MatTestDialogOpenerBase.component) {\n throw new Error(`MatTestDialogOpener does not have a component provided.`);\n }\n\n this.dialogRef = this.dialog.open<T, R>(\n _MatTestDialogOpenerBase.component as ComponentType<T>,\n _MatTestDialogOpenerBase.config || {},\n );\n this._afterClosedSubscription = this.dialogRef.afterClosed().subscribe(result => {\n this.closedResult = result;\n });\n }\n\n ngOnDestroy() {\n this._afterClosedSubscription.unsubscribe();\n _MatTestDialogOpenerBase.component = undefined;\n _MatTestDialogOpenerBase.config = undefined;\n }\n}\n\n/** Test component that immediately opens a dialog when created. */\n@Component({\n selector: 'mat-test-dialog-opener',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatTestDialogOpener<T = unknown, R = unknown> extends _MatTestDialogOpenerBase<\n MatDialogContainer,\n T,\n R\n> {\n constructor(dialog: MatDialog) {\n super(dialog);\n }\n\n /** Static method that prepares this class to open the provided component. */\n static withComponent<T = unknown, R = unknown>(\n component: ComponentType<T>,\n config?: MatDialogConfig,\n ) {\n _MatTestDialogOpenerBase.component = component;\n _MatTestDialogOpenerBase.config = config;\n return MatTestDialogOpener as ComponentType<MatTestDialogOpener<T, R>>;\n }\n}\n\n@NgModule({\n declarations: [MatTestDialogOpener],\n imports: [MatDialogModule, NoopAnimationsModule],\n})\nexport class MatTestDialogOpenerModule {}\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 './dialog-harness';\nexport * from './dialog-harness-filters';\nexport * from './dialog-opener';\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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"}
@@ -6,16 +6,53 @@ import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Directive, Optional, Inject, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Injector, TemplateRef, InjectFlags, Injectable, SkipSelf, Input, NgModule } from '@angular/core';
7
7
  import { MatCommonModule } from '@angular/material/core';
8
8
  import { Directionality } from '@angular/cdk/bidi';
9
- import { Subject, defer, Subscription, of } from 'rxjs';
9
+ import { Subject, defer, of } from 'rxjs';
10
10
  import { filter, take, startWith } from 'rxjs/operators';
11
+ import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
11
12
  import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
12
13
  import * as i2 from '@angular/common';
13
14
  import { DOCUMENT } from '@angular/common';
14
- import { trigger, state, style, transition, animate } from '@angular/animations';
15
15
  import * as i1 from '@angular/cdk/a11y';
16
16
  import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
17
17
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
18
18
 
19
+ /**
20
+ * @license
21
+ * Copyright Google LLC All Rights Reserved.
22
+ *
23
+ * Use of this source code is governed by an MIT-style license that can be
24
+ * found in the LICENSE file at https://angular.io/license
25
+ */
26
+ /**
27
+ * Default parameters for the animation for backwards compatibility.
28
+ * @docs-private
29
+ */
30
+ const defaultParams = {
31
+ params: { enterAnimationDuration: '150ms', exitAnimationDuration: '75ms' },
32
+ };
33
+ /**
34
+ * Animations used by MatDialog.
35
+ * @docs-private
36
+ */
37
+ const matDialogAnimations = {
38
+ /** Animation that is applied on the dialog container by default. */
39
+ dialogContainer: trigger('dialogContainer', [
40
+ // Note: The `enter` animation transitions to `transform: none`, because for some reason
41
+ // specifying the transform explicitly, causes IE both to blur the dialog content and
42
+ // decimate the animation performance. Leaving it as `none` solves both issues.
43
+ state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
44
+ state('enter', style({ transform: 'none' })),
45
+ transition('* => enter', group([
46
+ animate('{{enterAnimationDuration}} cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'none', opacity: 1 })),
47
+ query('@*', animateChild(), { optional: true }),
48
+ ]), defaultParams),
49
+ transition('* => void, * => exit', group([
50
+ animate('{{exitAnimationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0 })),
51
+ query('@*', animateChild(), { optional: true }),
52
+ ]), defaultParams),
53
+ ]),
54
+ };
55
+
19
56
  /**
20
57
  * @license
21
58
  * Copyright Google LLC All Rights Reserved.
@@ -63,40 +100,22 @@ class MatDialogConfig {
63
100
  * previously-focused element, after it's closed.
64
101
  */
65
102
  this.restoreFocus = true;
103
+ /** Whether to wait for the opening animation to finish before trapping focus. */
104
+ this.delayFocusTrap = true;
66
105
  /**
67
106
  * Whether the dialog should close when the user goes backwards/forwards in history.
68
107
  * Note that this usually doesn't include clicking on links (unless the user is using
69
108
  * the `HashLocationStrategy`).
70
109
  */
71
110
  this.closeOnNavigation = true;
111
+ /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */
112
+ this.enterAnimationDuration = defaultParams.params.enterAnimationDuration;
113
+ /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */
114
+ this.exitAnimationDuration = defaultParams.params.exitAnimationDuration;
72
115
  // TODO(jelbourn): add configuration for lifecycle hooks, ARIA labelling.
73
116
  }
74
117
  }
75
118
 
76
- /**
77
- * @license
78
- * Copyright Google LLC All Rights Reserved.
79
- *
80
- * Use of this source code is governed by an MIT-style license that can be
81
- * found in the LICENSE file at https://angular.io/license
82
- */
83
- /**
84
- * Animations used by MatDialog.
85
- * @docs-private
86
- */
87
- const matDialogAnimations = {
88
- /** Animation that is applied on the dialog container by default. */
89
- dialogContainer: trigger('dialogContainer', [
90
- // Note: The `enter` animation transitions to `transform: none`, because for some reason
91
- // specifying the transform explicitly, causes IE both to blur the dialog content and
92
- // decimate the animation performance. Leaving it as `none` solves both issues.
93
- state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
94
- state('enter', style({ transform: 'none' })),
95
- transition('* => enter', animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'none', opacity: 1 }))),
96
- transition('* => void, * => exit', animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0 }))),
97
- ]),
98
- };
99
-
100
119
  /**
101
120
  * Throws an exception for the case when a ComponentPortal is
102
121
  * attached to a DomPortalOutlet without an origin.
@@ -148,10 +167,12 @@ class _MatDialogContainerBase extends BasePortalOutlet {
148
167
  }
149
168
  /** Initializes the dialog container with the attached content. */
150
169
  _initializeWithAttachedContent() {
151
- this._setupFocusTrap();
170
+ this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
152
171
  // Save the previously focused element. This element will be re-focused
153
172
  // when the dialog closes.
154
- this._capturePreviouslyFocusedElement();
173
+ if (this._document) {
174
+ this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();
175
+ }
155
176
  }
156
177
  /**
157
178
  * Attach a ComponentPortal as content to this dialog container.
@@ -189,8 +210,13 @@ class _MatDialogContainerBase extends BasePortalOutlet {
189
210
  element.tabIndex = -1;
190
211
  // The tabindex attribute should be removed to avoid navigating to that element again
191
212
  this._ngZone.runOutsideAngular(() => {
192
- element.addEventListener('blur', () => element.removeAttribute('tabindex'));
193
- element.addEventListener('mousedown', () => element.removeAttribute('tabindex'));
213
+ const callback = () => {
214
+ element.removeEventListener('blur', callback);
215
+ element.removeEventListener('mousedown', callback);
216
+ element.removeAttribute('tabindex');
217
+ };
218
+ element.addEventListener('blur', callback);
219
+ element.addEventListener('mousedown', callback);
194
220
  });
195
221
  }
196
222
  element.focus(options);
@@ -276,16 +302,6 @@ class _MatDialogContainerBase extends BasePortalOutlet {
276
302
  this._focusTrap.destroy();
277
303
  }
278
304
  }
279
- /** Sets up the focus trap. */
280
- _setupFocusTrap() {
281
- this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
282
- }
283
- /** Captures the element that was focused before the dialog was opened. */
284
- _capturePreviouslyFocusedElement() {
285
- if (this._document) {
286
- this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();
287
- }
288
- }
289
305
  /** Focuses the dialog container. */
290
306
  _focusDialogContainer() {
291
307
  // Note that there is no focus method when rendering on the server.
@@ -300,9 +316,9 @@ class _MatDialogContainerBase extends BasePortalOutlet {
300
316
  return element === activeElement || element.contains(activeElement);
301
317
  }
302
318
  }
303
- _MatDialogContainerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatDialogContainerBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT, optional: true }, { token: MatDialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
304
- _MatDialogContainerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: _MatDialogContainerBase, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatDialogContainerBase, decorators: [{
319
+ _MatDialogContainerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatDialogContainerBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT, optional: true }, { token: MatDialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
320
+ _MatDialogContainerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: _MatDialogContainerBase, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatDialogContainerBase, decorators: [{
306
322
  type: Directive
307
323
  }], ctorParameters: function () {
308
324
  return [{ type: i0.ElementRef }, { type: i1.FocusTrapFactory }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -329,7 +345,9 @@ class MatDialogContainer extends _MatDialogContainerBase {
329
345
  /** Callback, invoked whenever an animation on the host completes. */
330
346
  _onAnimationDone({ toState, totalTime }) {
331
347
  if (toState === 'enter') {
332
- this._trapFocus();
348
+ if (this._config.delayFocusTrap) {
349
+ this._trapFocus();
350
+ }
333
351
  this._animationStateChanged.next({ state: 'opened', totalTime });
334
352
  }
335
353
  else if (toState === 'exit') {
@@ -353,10 +371,25 @@ class MatDialogContainer extends _MatDialogContainerBase {
353
371
  // view container is using OnPush change detection.
354
372
  this._changeDetectorRef.markForCheck();
355
373
  }
374
+ _initializeWithAttachedContent() {
375
+ super._initializeWithAttachedContent();
376
+ if (!this._config.delayFocusTrap) {
377
+ this._trapFocus();
378
+ }
379
+ }
380
+ _getAnimationState() {
381
+ return {
382
+ value: this._state,
383
+ params: {
384
+ 'enterAnimationDuration': this._config.enterAnimationDuration || defaultParams.params.enterAnimationDuration,
385
+ 'exitAnimationDuration': this._config.exitAnimationDuration || defaultParams.params.exitAnimationDuration,
386
+ },
387
+ };
388
+ }
356
389
  }
357
- MatDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
358
- MatDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatDialogContainer, selector: "mat-dialog-container", host: { attributes: { "tabindex": "-1", "aria-modal": "true" }, listeners: { "@dialogContainer.start": "_onAnimationStart($event)", "@dialogContainer.done": "_onAnimationDone($event)" }, properties: { "id": "_id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "@dialogContainer": "_state" }, classAttribute: "mat-dialog-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions.mat-dialog-actions-align-center,.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions.mat-dialog-actions-align-end,.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"], directives: [{ type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matDialogAnimations.dialogContainer], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogContainer, decorators: [{
390
+ MatDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
391
+ MatDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatDialogContainer, selector: "mat-dialog-container", host: { attributes: { "tabindex": "-1", "aria-modal": "true" }, listeners: { "@dialogContainer.start": "_onAnimationStart($event)", "@dialogContainer.done": "_onAnimationDone($event)" }, properties: { "id": "_id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "@dialogContainer": "_getAnimationState()" }, classAttribute: "mat-dialog-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions.mat-dialog-actions-align-center,.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions.mat-dialog-actions-align-end,.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"], directives: [{ type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matDialogAnimations.dialogContainer], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogContainer, decorators: [{
360
393
  type: Component,
361
394
  args: [{ selector: 'mat-dialog-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matDialogAnimations.dialogContainer], host: {
362
395
  'class': 'mat-dialog-container',
@@ -367,7 +400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4",
367
400
  '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
368
401
  '[attr.aria-label]': '_config.ariaLabel',
369
402
  '[attr.aria-describedby]': '_config.ariaDescribedBy || null',
370
- '[@dialogContainer]': '_state',
403
+ '[@dialogContainer]': `_getAnimationState()`,
371
404
  '(@dialogContainer.start)': '_onAnimationStart($event)',
372
405
  '(@dialogContainer.done)': '_onAnimationDone($event)',
373
406
  }, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions.mat-dialog-actions-align-center,.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions.mat-dialog-actions-align-end,.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"] }]
@@ -603,7 +636,12 @@ const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {
603
636
  * for arbitrary dialog refs and dialog container components.
604
637
  */
605
638
  class _MatDialogBase {
606
- constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, scrollStrategy, _dialogRefConstructor, _dialogContainerType, _dialogDataToken, _animationMode) {
639
+ constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, scrollStrategy, _dialogRefConstructor, _dialogContainerType, _dialogDataToken,
640
+ /**
641
+ * @deprecated No longer used. To be removed.
642
+ * @breaking-change 14.0.0
643
+ */
644
+ _animationMode) {
607
645
  this._overlay = _overlay;
608
646
  this._injector = _injector;
609
647
  this._defaultOptions = _defaultOptions;
@@ -612,12 +650,10 @@ class _MatDialogBase {
612
650
  this._dialogRefConstructor = _dialogRefConstructor;
613
651
  this._dialogContainerType = _dialogContainerType;
614
652
  this._dialogDataToken = _dialogDataToken;
615
- this._animationMode = _animationMode;
616
653
  this._openDialogsAtThisLevel = [];
617
654
  this._afterAllClosedAtThisLevel = new Subject();
618
655
  this._afterOpenedAtThisLevel = new Subject();
619
656
  this._ariaHiddenElements = new Map();
620
- this._dialogAnimatingOpen = false;
621
657
  // TODO (jelbourn): tighten the typing right-hand side of this expression.
622
658
  /**
623
659
  * Stream that emits when all open dialog have finished closing.
@@ -647,29 +683,9 @@ class _MatDialogBase {
647
683
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
648
684
  throw Error(`Dialog with id "${config.id}" exists already. The dialog id must be unique.`);
649
685
  }
650
- // If there is a dialog that is currently animating open, return the MatDialogRef of that dialog
651
- if (this._dialogAnimatingOpen) {
652
- return this._lastDialogRef;
653
- }
654
686
  const overlayRef = this._createOverlay(config);
655
687
  const dialogContainer = this._attachDialogContainer(overlayRef, config);
656
- if (this._animationMode !== 'NoopAnimations') {
657
- const animationStateSubscription = dialogContainer._animationStateChanged.subscribe(dialogAnimationEvent => {
658
- if (dialogAnimationEvent.state === 'opening') {
659
- this._dialogAnimatingOpen = true;
660
- }
661
- if (dialogAnimationEvent.state === 'opened') {
662
- this._dialogAnimatingOpen = false;
663
- animationStateSubscription.unsubscribe();
664
- }
665
- });
666
- if (!this._animationStateSubscriptions) {
667
- this._animationStateSubscriptions = new Subscription();
668
- }
669
- this._animationStateSubscriptions.add(animationStateSubscription);
670
- }
671
688
  const dialogRef = this._attachDialogContent(componentOrTemplateRef, dialogContainer, overlayRef, config);
672
- this._lastDialogRef = dialogRef;
673
689
  // If this is the first dialog that we're opening, hide all the non-overlay content.
674
690
  if (!this.openDialogs.length) {
675
691
  this._hideNonDialogContentFromAssistiveTechnology();
@@ -700,10 +716,6 @@ class _MatDialogBase {
700
716
  this._closeDialogs(this._openDialogsAtThisLevel);
701
717
  this._afterAllClosedAtThisLevel.complete();
702
718
  this._afterOpenedAtThisLevel.complete();
703
- // Clean up any subscriptions to dialogs that never finished opening.
704
- if (this._animationStateSubscriptions) {
705
- this._animationStateSubscriptions.unsubscribe();
706
- }
707
719
  }
708
720
  /**
709
721
  * Creates the overlay into which the dialog will be loaded.
@@ -766,14 +778,14 @@ class _MatDialogBase {
766
778
  // Create a reference to the dialog we're creating in order to give the user a handle
767
779
  // to modify and close it.
768
780
  const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);
781
+ const injector = this._createInjector(config, dialogRef, dialogContainer);
769
782
  if (componentOrTemplateRef instanceof TemplateRef) {
770
783
  dialogContainer.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, null, {
771
784
  $implicit: config.data,
772
785
  dialogRef,
773
- }));
786
+ }, injector));
774
787
  }
775
788
  else {
776
- const injector = this._createInjector(config, dialogRef, dialogContainer);
777
789
  const contentRef = dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector, config.componentFactoryResolver));
778
790
  dialogRef.componentInstance = contentRef.instance;
779
791
  }
@@ -865,9 +877,9 @@ class _MatDialogBase {
865
877
  }
866
878
  }
867
879
  }
868
- _MatDialogBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatDialogBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
869
- _MatDialogBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: _MatDialogBase, ngImport: i0 });
870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatDialogBase, decorators: [{
880
+ _MatDialogBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatDialogBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
881
+ _MatDialogBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: _MatDialogBase, ngImport: i0 });
882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatDialogBase, decorators: [{
871
883
  type: Directive
872
884
  }], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: undefined }, { type: undefined }, { type: i1$1.OverlayContainer }, { type: undefined }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }, { type: undefined }]; } });
873
885
  /**
@@ -879,13 +891,18 @@ class MatDialog extends _MatDialogBase {
879
891
  * @deprecated `_location` parameter to be removed.
880
892
  * @breaking-change 10.0.0
881
893
  */
882
- location, defaultOptions, scrollStrategy, parentDialog, overlayContainer, animationMode) {
894
+ location, defaultOptions, scrollStrategy, parentDialog, overlayContainer,
895
+ /**
896
+ * @deprecated No longer used. To be removed.
897
+ * @breaking-change 14.0.0
898
+ */
899
+ animationMode) {
883
900
  super(overlay, injector, defaultOptions, parentDialog, overlayContainer, scrollStrategy, MatDialogRef, MatDialogContainer, MAT_DIALOG_DATA, animationMode);
884
901
  }
885
902
  }
886
- MatDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialog, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: i2.Location, optional: true }, { token: MAT_DIALOG_DEFAULT_OPTIONS, optional: true }, { token: MAT_DIALOG_SCROLL_STRATEGY }, { token: MatDialog, optional: true, skipSelf: true }, { token: i1$1.OverlayContainer }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
887
- MatDialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialog });
888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialog, decorators: [{
903
+ MatDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialog, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: i2.Location, optional: true }, { token: MAT_DIALOG_DEFAULT_OPTIONS, optional: true }, { token: MAT_DIALOG_SCROLL_STRATEGY }, { token: MatDialog, optional: true, skipSelf: true }, { token: i1$1.OverlayContainer }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
904
+ MatDialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialog });
905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialog, decorators: [{
889
906
  type: Injectable
890
907
  }], ctorParameters: function () {
891
908
  return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i2.Location, decorators: [{
@@ -971,9 +988,9 @@ class MatDialogClose {
971
988
  _closeDialogVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
972
989
  }
973
990
  }
974
- MatDialogClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogClose, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
975
- MatDialogClose.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", dialogResult: ["mat-dialog-close", "dialogResult"], _matDialogClose: ["matDialogClose", "_matDialogClose"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "type" } }, exportAs: ["matDialogClose"], usesOnChanges: true, ngImport: i0 });
976
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogClose, decorators: [{
991
+ MatDialogClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogClose, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
992
+ MatDialogClose.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", dialogResult: ["mat-dialog-close", "dialogResult"], _matDialogClose: ["matDialogClose", "_matDialogClose"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "type" } }, exportAs: ["matDialogClose"], usesOnChanges: true, ngImport: i0 });
993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogClose, decorators: [{
977
994
  type: Directive,
978
995
  args: [{
979
996
  selector: '[mat-dialog-close], [matDialogClose]',
@@ -1028,9 +1045,9 @@ class MatDialogTitle {
1028
1045
  }
1029
1046
  }
1030
1047
  }
1031
- MatDialogTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogTitle, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
1032
- MatDialogTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: { id: "id" }, host: { properties: { "id": "id" }, classAttribute: "mat-dialog-title" }, exportAs: ["matDialogTitle"], ngImport: i0 });
1033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogTitle, decorators: [{
1048
+ MatDialogTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogTitle, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
1049
+ MatDialogTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: { id: "id" }, host: { properties: { "id": "id" }, classAttribute: "mat-dialog-title" }, exportAs: ["matDialogTitle"], ngImport: i0 });
1050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogTitle, decorators: [{
1034
1051
  type: Directive,
1035
1052
  args: [{
1036
1053
  selector: '[mat-dialog-title], [matDialogTitle]',
@@ -1052,9 +1069,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4",
1052
1069
  */
1053
1070
  class MatDialogContent {
1054
1071
  }
1055
- MatDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1056
- MatDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]", host: { classAttribute: "mat-dialog-content" }, ngImport: i0 });
1057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogContent, decorators: [{
1072
+ MatDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1073
+ MatDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]", host: { classAttribute: "mat-dialog-content" }, ngImport: i0 });
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogContent, decorators: [{
1058
1075
  type: Directive,
1059
1076
  args: [{
1060
1077
  selector: `[mat-dialog-content], mat-dialog-content, [matDialogContent]`,
@@ -1073,9 +1090,9 @@ class MatDialogActions {
1073
1090
  this.align = 'start';
1074
1091
  }
1075
1092
  }
1076
- MatDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1077
- MatDialogActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: { align: "align" }, host: { properties: { "class.mat-dialog-actions-align-center": "align === \"center\"", "class.mat-dialog-actions-align-end": "align === \"end\"" }, classAttribute: "mat-dialog-actions" }, ngImport: i0 });
1078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogActions, decorators: [{
1093
+ MatDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1094
+ MatDialogActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: { align: "align" }, host: { properties: { "class.mat-dialog-actions-align-center": "align === \"center\"", "class.mat-dialog-actions-align-end": "align === \"end\"" }, classAttribute: "mat-dialog-actions" }, ngImport: i0 });
1095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogActions, decorators: [{
1079
1096
  type: Directive,
1080
1097
  args: [{
1081
1098
  selector: `[mat-dialog-actions], mat-dialog-actions, [matDialogActions]`,
@@ -1088,6 +1105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4",
1088
1105
  }], propDecorators: { align: [{
1089
1106
  type: Input
1090
1107
  }] } });
1108
+ // TODO(crisbeto): this utility shouldn't be necessary anymore, because the dialog ref is provided
1109
+ // both to component and template dialogs through DI. We need to keep it around, because there are
1110
+ // some internal wrappers around `MatDialog` that happened to work by accident, because we had this
1111
+ // fallback logic in place.
1091
1112
  /**
1092
1113
  * Finds the closest MatDialogRef to an element by looking at the DOM.
1093
1114
  * @param element Element relative to which to look for a dialog.
@@ -1110,8 +1131,8 @@ function getClosestDialog(element, openDialogs) {
1110
1131
  */
1111
1132
  class MatDialogModule {
1112
1133
  }
1113
- MatDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1114
- MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogModule, declarations: [MatDialogContainer,
1134
+ MatDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1135
+ MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogModule, declarations: [MatDialogContainer,
1115
1136
  MatDialogClose,
1116
1137
  MatDialogTitle,
1117
1138
  MatDialogActions,
@@ -1121,8 +1142,8 @@ MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
1121
1142
  MatDialogContent,
1122
1143
  MatDialogActions,
1123
1144
  MatCommonModule] });
1124
- MatDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogModule, providers: [MatDialog, MAT_DIALOG_SCROLL_STRATEGY_PROVIDER], imports: [[OverlayModule, PortalModule, MatCommonModule], MatCommonModule] });
1125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatDialogModule, decorators: [{
1145
+ MatDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogModule, providers: [MatDialog, MAT_DIALOG_SCROLL_STRATEGY_PROVIDER], imports: [[OverlayModule, PortalModule, MatCommonModule], MatCommonModule] });
1146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatDialogModule, decorators: [{
1126
1147
  type: NgModule,
1127
1148
  args: [{
1128
1149
  imports: [OverlayModule, PortalModule, MatCommonModule],