@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
@@ -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,12 +6,12 @@ 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
11
  import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
12
12
  import * as i2 from '@angular/common';
13
13
  import { DOCUMENT } from '@angular/common';
14
- import { trigger, state, style, transition, animate } from '@angular/animations';
14
+ import { trigger, state, style, transition, group, animate, query, animateChild } 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';
@@ -63,6 +63,8 @@ class MatDialogConfig {
63
63
  * previously-focused element, after it's closed.
64
64
  */
65
65
  this.restoreFocus = true;
66
+ /** Whether to wait for the opening animation to finish before trapping focus. */
67
+ this.delayFocusTrap = true;
66
68
  /**
67
69
  * Whether the dialog should close when the user goes backwards/forwards in history.
68
70
  * Note that this usually doesn't include clicking on links (unless the user is using
@@ -92,8 +94,14 @@ const matDialogAnimations = {
92
94
  // decimate the animation performance. Leaving it as `none` solves both issues.
93
95
  state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
94
96
  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
+ transition('* => enter', group([
98
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'none', opacity: 1 })),
99
+ query('@*', animateChild(), { optional: true }),
100
+ ])),
101
+ transition('* => void, * => exit', group([
102
+ animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0 })),
103
+ query('@*', animateChild(), { optional: true }),
104
+ ])),
97
105
  ]),
98
106
  };
99
107
 
@@ -148,10 +156,12 @@ class _MatDialogContainerBase extends BasePortalOutlet {
148
156
  }
149
157
  /** Initializes the dialog container with the attached content. */
150
158
  _initializeWithAttachedContent() {
151
- this._setupFocusTrap();
159
+ this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
152
160
  // Save the previously focused element. This element will be re-focused
153
161
  // when the dialog closes.
154
- this._capturePreviouslyFocusedElement();
162
+ if (this._document) {
163
+ this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();
164
+ }
155
165
  }
156
166
  /**
157
167
  * Attach a ComponentPortal as content to this dialog container.
@@ -189,8 +199,13 @@ class _MatDialogContainerBase extends BasePortalOutlet {
189
199
  element.tabIndex = -1;
190
200
  // The tabindex attribute should be removed to avoid navigating to that element again
191
201
  this._ngZone.runOutsideAngular(() => {
192
- element.addEventListener('blur', () => element.removeAttribute('tabindex'));
193
- element.addEventListener('mousedown', () => element.removeAttribute('tabindex'));
202
+ const callback = () => {
203
+ element.removeEventListener('blur', callback);
204
+ element.removeEventListener('mousedown', callback);
205
+ element.removeAttribute('tabindex');
206
+ };
207
+ element.addEventListener('blur', callback);
208
+ element.addEventListener('mousedown', callback);
194
209
  });
195
210
  }
196
211
  element.focus(options);
@@ -276,16 +291,6 @@ class _MatDialogContainerBase extends BasePortalOutlet {
276
291
  this._focusTrap.destroy();
277
292
  }
278
293
  }
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
294
  /** Focuses the dialog container. */
290
295
  _focusDialogContainer() {
291
296
  // Note that there is no focus method when rendering on the server.
@@ -300,9 +305,9 @@ class _MatDialogContainerBase extends BasePortalOutlet {
300
305
  return element === activeElement || element.contains(activeElement);
301
306
  }
302
307
  }
303
- _MatDialogContainerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", 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: "13.2.0", 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: "13.2.0", ngImport: i0, type: _MatDialogContainerBase, decorators: [{
308
+ _MatDialogContainerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", 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 });
309
+ _MatDialogContainerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatDialogContainerBase, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatDialogContainerBase, decorators: [{
306
311
  type: Directive
307
312
  }], ctorParameters: function () {
308
313
  return [{ type: i0.ElementRef }, { type: i1.FocusTrapFactory }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -329,7 +334,9 @@ class MatDialogContainer extends _MatDialogContainerBase {
329
334
  /** Callback, invoked whenever an animation on the host completes. */
330
335
  _onAnimationDone({ toState, totalTime }) {
331
336
  if (toState === 'enter') {
332
- this._trapFocus();
337
+ if (this._config.delayFocusTrap) {
338
+ this._trapFocus();
339
+ }
333
340
  this._animationStateChanged.next({ state: 'opened', totalTime });
334
341
  }
335
342
  else if (toState === 'exit') {
@@ -353,10 +360,16 @@ class MatDialogContainer extends _MatDialogContainerBase {
353
360
  // view container is using OnPush change detection.
354
361
  this._changeDetectorRef.markForCheck();
355
362
  }
363
+ _initializeWithAttachedContent() {
364
+ super._initializeWithAttachedContent();
365
+ if (!this._config.delayFocusTrap) {
366
+ this._trapFocus();
367
+ }
368
+ }
356
369
  }
357
- MatDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
358
- MatDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", 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[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.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: "13.2.0", ngImport: i0, type: MatDialogContainer, decorators: [{
370
+ MatDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
371
+ MatDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", 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[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.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 });
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogContainer, decorators: [{
360
373
  type: Component,
361
374
  args: [{ selector: 'mat-dialog-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [matDialogAnimations.dialogContainer], host: {
362
375
  'class': 'mat-dialog-container',
@@ -603,7 +616,12 @@ const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {
603
616
  * for arbitrary dialog refs and dialog container components.
604
617
  */
605
618
  class _MatDialogBase {
606
- constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, scrollStrategy, _dialogRefConstructor, _dialogContainerType, _dialogDataToken, _animationMode) {
619
+ constructor(_overlay, _injector, _defaultOptions, _parentDialog, _overlayContainer, scrollStrategy, _dialogRefConstructor, _dialogContainerType, _dialogDataToken,
620
+ /**
621
+ * @deprecated No longer used. To be removed.
622
+ * @breaking-change 14.0.0
623
+ */
624
+ _animationMode) {
607
625
  this._overlay = _overlay;
608
626
  this._injector = _injector;
609
627
  this._defaultOptions = _defaultOptions;
@@ -612,12 +630,10 @@ class _MatDialogBase {
612
630
  this._dialogRefConstructor = _dialogRefConstructor;
613
631
  this._dialogContainerType = _dialogContainerType;
614
632
  this._dialogDataToken = _dialogDataToken;
615
- this._animationMode = _animationMode;
616
633
  this._openDialogsAtThisLevel = [];
617
634
  this._afterAllClosedAtThisLevel = new Subject();
618
635
  this._afterOpenedAtThisLevel = new Subject();
619
636
  this._ariaHiddenElements = new Map();
620
- this._dialogAnimatingOpen = false;
621
637
  // TODO (jelbourn): tighten the typing right-hand side of this expression.
622
638
  /**
623
639
  * Stream that emits when all open dialog have finished closing.
@@ -647,29 +663,9 @@ class _MatDialogBase {
647
663
  (typeof ngDevMode === 'undefined' || ngDevMode)) {
648
664
  throw Error(`Dialog with id "${config.id}" exists already. The dialog id must be unique.`);
649
665
  }
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
666
  const overlayRef = this._createOverlay(config);
655
667
  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
668
  const dialogRef = this._attachDialogContent(componentOrTemplateRef, dialogContainer, overlayRef, config);
672
- this._lastDialogRef = dialogRef;
673
669
  // If this is the first dialog that we're opening, hide all the non-overlay content.
674
670
  if (!this.openDialogs.length) {
675
671
  this._hideNonDialogContentFromAssistiveTechnology();
@@ -700,10 +696,6 @@ class _MatDialogBase {
700
696
  this._closeDialogs(this._openDialogsAtThisLevel);
701
697
  this._afterAllClosedAtThisLevel.complete();
702
698
  this._afterOpenedAtThisLevel.complete();
703
- // Clean up any subscriptions to dialogs that never finished opening.
704
- if (this._animationStateSubscriptions) {
705
- this._animationStateSubscriptions.unsubscribe();
706
- }
707
699
  }
708
700
  /**
709
701
  * Creates the overlay into which the dialog will be loaded.
@@ -865,9 +857,9 @@ class _MatDialogBase {
865
857
  }
866
858
  }
867
859
  }
868
- _MatDialogBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatDialogBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
869
- _MatDialogBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatDialogBase, ngImport: i0 });
870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatDialogBase, decorators: [{
860
+ _MatDialogBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatDialogBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
861
+ _MatDialogBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatDialogBase, ngImport: i0 });
862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatDialogBase, decorators: [{
871
863
  type: Directive
872
864
  }], 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
865
  /**
@@ -879,13 +871,18 @@ class MatDialog extends _MatDialogBase {
879
871
  * @deprecated `_location` parameter to be removed.
880
872
  * @breaking-change 10.0.0
881
873
  */
882
- location, defaultOptions, scrollStrategy, parentDialog, overlayContainer, animationMode) {
874
+ location, defaultOptions, scrollStrategy, parentDialog, overlayContainer,
875
+ /**
876
+ * @deprecated No longer used. To be removed.
877
+ * @breaking-change 14.0.0
878
+ */
879
+ animationMode) {
883
880
  super(overlay, injector, defaultOptions, parentDialog, overlayContainer, scrollStrategy, MatDialogRef, MatDialogContainer, MAT_DIALOG_DATA, animationMode);
884
881
  }
885
882
  }
886
- MatDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", 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: "13.2.0", ngImport: i0, type: MatDialog });
888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialog, decorators: [{
883
+ MatDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", 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 });
884
+ MatDialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialog });
885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialog, decorators: [{
889
886
  type: Injectable
890
887
  }], ctorParameters: function () {
891
888
  return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i2.Location, decorators: [{
@@ -971,9 +968,9 @@ class MatDialogClose {
971
968
  _closeDialogVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
972
969
  }
973
970
  }
974
- MatDialogClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", 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: "13.2.0", 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: "13.2.0", ngImport: i0, type: MatDialogClose, decorators: [{
971
+ MatDialogClose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogClose, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
972
+ MatDialogClose.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", 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 });
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogClose, decorators: [{
977
974
  type: Directive,
978
975
  args: [{
979
976
  selector: '[mat-dialog-close], [matDialogClose]',
@@ -1028,9 +1025,9 @@ class MatDialogTitle {
1028
1025
  }
1029
1026
  }
1030
1027
  }
1031
- MatDialogTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", 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: "13.2.0", 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: "13.2.0", ngImport: i0, type: MatDialogTitle, decorators: [{
1028
+ MatDialogTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogTitle, deps: [{ token: MatDialogRef, optional: true }, { token: i0.ElementRef }, { token: MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
1029
+ MatDialogTitle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: { id: "id" }, host: { properties: { "id": "id" }, classAttribute: "mat-dialog-title" }, exportAs: ["matDialogTitle"], ngImport: i0 });
1030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogTitle, decorators: [{
1034
1031
  type: Directive,
1035
1032
  args: [{
1036
1033
  selector: '[mat-dialog-title], [matDialogTitle]',
@@ -1052,9 +1049,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1052
1049
  */
1053
1050
  class MatDialogContent {
1054
1051
  }
1055
- MatDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1056
- MatDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", 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: "13.2.0", ngImport: i0, type: MatDialogContent, decorators: [{
1052
+ MatDialogContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1053
+ MatDialogContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]", host: { classAttribute: "mat-dialog-content" }, ngImport: i0 });
1054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogContent, decorators: [{
1058
1055
  type: Directive,
1059
1056
  args: [{
1060
1057
  selector: `[mat-dialog-content], mat-dialog-content, [matDialogContent]`,
@@ -1067,9 +1064,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1067
1064
  */
1068
1065
  class MatDialogActions {
1069
1066
  }
1070
- MatDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1071
- MatDialogActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", host: { classAttribute: "mat-dialog-actions" }, ngImport: i0 });
1072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogActions, decorators: [{
1067
+ MatDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1068
+ MatDialogActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", host: { classAttribute: "mat-dialog-actions" }, ngImport: i0 });
1069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogActions, decorators: [{
1073
1070
  type: Directive,
1074
1071
  args: [{
1075
1072
  selector: `[mat-dialog-actions], mat-dialog-actions, [matDialogActions]`,
@@ -1098,8 +1095,8 @@ function getClosestDialog(element, openDialogs) {
1098
1095
  */
1099
1096
  class MatDialogModule {
1100
1097
  }
1101
- MatDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1102
- MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogModule, declarations: [MatDialogContainer,
1098
+ MatDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1099
+ MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogModule, declarations: [MatDialogContainer,
1103
1100
  MatDialogClose,
1104
1101
  MatDialogTitle,
1105
1102
  MatDialogActions,
@@ -1109,8 +1106,8 @@ MatDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
1109
1106
  MatDialogContent,
1110
1107
  MatDialogActions,
1111
1108
  MatCommonModule] });
1112
- MatDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogModule, providers: [MatDialog, MAT_DIALOG_SCROLL_STRATEGY_PROVIDER], imports: [[OverlayModule, PortalModule, MatCommonModule], MatCommonModule] });
1113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatDialogModule, decorators: [{
1109
+ MatDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogModule, providers: [MatDialog, MAT_DIALOG_SCROLL_STRATEGY_PROVIDER], imports: [[OverlayModule, PortalModule, MatCommonModule], MatCommonModule] });
1110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatDialogModule, decorators: [{
1114
1111
  type: NgModule,
1115
1112
  args: [{
1116
1113
  imports: [OverlayModule, PortalModule, MatCommonModule],