@angular/material 14.0.0-next.8 → 14.0.0-rc.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 (953) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/index.d.ts +436 -6
  3. package/autocomplete/testing/index.d.ts +71 -8
  4. package/badge/_badge-theme.scss +3 -2
  5. package/badge/index.d.ts +107 -8
  6. package/badge/testing/index.d.ts +36 -8
  7. package/bottom-sheet/index.d.ts +199 -6
  8. package/bottom-sheet/testing/index.d.ts +27 -8
  9. package/button/index.d.ts +77 -6
  10. package/button/testing/index.d.ts +44 -8
  11. package/button-toggle/index.d.ts +245 -6
  12. package/button-toggle/testing/index.d.ts +91 -8
  13. package/card/index.d.ts +165 -5
  14. package/card/testing/index.d.ts +44 -8
  15. package/checkbox/index.d.ts +277 -6
  16. package/checkbox/testing/index.d.ts +91 -8
  17. package/chips/index.d.ts +650 -5
  18. package/chips/testing/index.d.ts +256 -8
  19. package/core/_core.scss +5 -7
  20. package/core/index.d.ts +1079 -5
  21. package/core/ripple/_ripple.scss +2 -2
  22. package/core/style/_menu-common.scss +3 -2
  23. package/core/style/_private.scss +5 -14
  24. package/core/style/_vendor-prefixes.scss +1 -1
  25. package/core/testing/index.d.ts +64 -8
  26. package/core/theming/_theming.scss +2 -2
  27. package/core/typography/_typography.scss +51 -14
  28. package/datepicker/index.d.ts +1782 -6
  29. package/datepicker/testing/index.d.ts +307 -8
  30. package/dialog/index.d.ts +489 -6
  31. package/dialog/testing/index.d.ts +97 -8
  32. package/divider/index.d.ts +30 -8
  33. package/divider/testing/index.d.ts +16 -8
  34. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  35. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  36. package/esm2020/autocomplete/autocomplete-trigger.mjs +26 -13
  37. package/esm2020/autocomplete/autocomplete.mjs +9 -9
  38. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +5 -1
  39. package/esm2020/badge/badge-module.mjs +5 -5
  40. package/esm2020/badge/badge.mjs +4 -4
  41. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +24 -176
  42. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +7 -7
  43. package/esm2020/bottom-sheet/bottom-sheet-ref.mjs +34 -34
  44. package/esm2020/bottom-sheet/bottom-sheet.mjs +30 -89
  45. package/esm2020/button/button-module.mjs +5 -5
  46. package/esm2020/button/button.mjs +9 -9
  47. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  48. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  49. package/esm2020/card/card-module.mjs +5 -5
  50. package/esm2020/card/card.mjs +44 -44
  51. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  52. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  53. package/esm2020/checkbox/checkbox.mjs +151 -133
  54. package/esm2020/chips/chip-input.mjs +4 -4
  55. package/esm2020/chips/chip-list.mjs +5 -5
  56. package/esm2020/chips/chip.mjs +15 -16
  57. package/esm2020/chips/chips-module.mjs +6 -6
  58. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  59. package/esm2020/core/common-behaviors/error-state.mjs +1 -1
  60. package/esm2020/core/datetime/index.mjs +9 -9
  61. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  62. package/esm2020/core/error/error-options.mjs +7 -7
  63. package/esm2020/core/line/line.mjs +8 -8
  64. package/esm2020/core/option/index.mjs +5 -5
  65. package/esm2020/core/option/optgroup.mjs +8 -8
  66. package/esm2020/core/option/option.mjs +10 -10
  67. package/esm2020/core/ripple/index.mjs +5 -5
  68. package/esm2020/core/ripple/ripple-ref.mjs +2 -2
  69. package/esm2020/core/ripple/ripple-renderer.mjs +36 -19
  70. package/esm2020/core/ripple/ripple.mjs +4 -4
  71. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  72. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  73. package/esm2020/core/version.mjs +1 -1
  74. package/esm2020/datepicker/calendar-body.mjs +5 -5
  75. package/esm2020/datepicker/calendar.mjs +26 -15
  76. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  77. package/esm2020/datepicker/date-range-input.mjs +6 -6
  78. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  79. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  80. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  81. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  82. package/esm2020/datepicker/datepicker-base.mjs +11 -11
  83. package/esm2020/datepicker/datepicker-input-base.mjs +6 -7
  84. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  85. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  86. package/esm2020/datepicker/datepicker-module.mjs +10 -12
  87. package/esm2020/datepicker/datepicker-toggle.mjs +10 -10
  88. package/esm2020/datepicker/datepicker.mjs +4 -4
  89. package/esm2020/datepicker/month-view.mjs +6 -6
  90. package/esm2020/datepicker/multi-year-view.mjs +4 -4
  91. package/esm2020/datepicker/testing/calendar-harness.mjs +4 -4
  92. package/esm2020/datepicker/year-view.mjs +4 -4
  93. package/esm2020/dialog/dialog-config.mjs +1 -1
  94. package/esm2020/dialog/dialog-container.mjs +42 -220
  95. package/esm2020/dialog/dialog-content-directives.mjs +14 -14
  96. package/esm2020/dialog/dialog-module.mjs +8 -7
  97. package/esm2020/dialog/dialog-ref.mjs +28 -60
  98. package/esm2020/dialog/dialog.mjs +74 -197
  99. package/esm2020/dialog/testing/dialog-harness.mjs +4 -4
  100. package/esm2020/divider/divider-module.mjs +5 -5
  101. package/esm2020/divider/divider.mjs +5 -5
  102. package/esm2020/expansion/accordion.mjs +4 -4
  103. package/esm2020/expansion/expansion-module.mjs +5 -5
  104. package/esm2020/expansion/expansion-panel-content.mjs +4 -4
  105. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  106. package/esm2020/expansion/expansion-panel.mjs +9 -9
  107. package/esm2020/expansion/testing/expansion-harness.mjs +6 -6
  108. package/esm2020/form-field/error.mjs +4 -4
  109. package/esm2020/form-field/form-field-control.mjs +4 -4
  110. package/esm2020/form-field/form-field-module.mjs +5 -5
  111. package/esm2020/form-field/form-field.mjs +5 -5
  112. package/esm2020/form-field/hint.mjs +4 -4
  113. package/esm2020/form-field/label.mjs +4 -4
  114. package/esm2020/form-field/placeholder.mjs +4 -4
  115. package/esm2020/form-field/prefix.mjs +4 -4
  116. package/esm2020/form-field/suffix.mjs +4 -4
  117. package/esm2020/form-field/testing/public-api.mjs +4 -4
  118. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  119. package/esm2020/grid-list/grid-list.mjs +6 -6
  120. package/esm2020/grid-list/grid-tile.mjs +17 -17
  121. package/esm2020/grid-list/testing/grid-tile-harness.mjs +3 -3
  122. package/esm2020/icon/icon-module.mjs +5 -5
  123. package/esm2020/icon/icon-registry.mjs +4 -4
  124. package/esm2020/icon/icon.mjs +5 -5
  125. package/esm2020/icon/testing/fake-icon-registry.mjs +8 -8
  126. package/esm2020/icon/testing/icon-harness.mjs +3 -3
  127. package/esm2020/input/input-module.mjs +5 -5
  128. package/esm2020/input/input.mjs +4 -4
  129. package/esm2020/list/list-module.mjs +5 -5
  130. package/esm2020/list/list.mjs +21 -21
  131. package/esm2020/list/selection-list.mjs +9 -9
  132. package/esm2020/menu/menu-content.mjs +7 -7
  133. package/esm2020/menu/menu-item.mjs +6 -6
  134. package/esm2020/menu/menu-module.mjs +5 -5
  135. package/esm2020/menu/menu-trigger.mjs +7 -7
  136. package/esm2020/menu/menu.mjs +28 -40
  137. package/esm2020/paginator/paginator-intl.mjs +4 -4
  138. package/esm2020/paginator/paginator-module.mjs +5 -5
  139. package/esm2020/paginator/paginator.mjs +13 -13
  140. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  141. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  142. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  143. package/esm2020/progress-spinner/progress-spinner-module.mjs +5 -5
  144. package/esm2020/progress-spinner/progress-spinner.mjs +5 -5
  145. package/esm2020/radio/radio-module.mjs +5 -5
  146. package/esm2020/radio/radio.mjs +42 -14
  147. package/esm2020/select/select-module.mjs +5 -5
  148. package/esm2020/select/select.mjs +25 -18
  149. package/esm2020/sidenav/drawer.mjs +12 -12
  150. package/esm2020/sidenav/sidenav-module.mjs +5 -5
  151. package/esm2020/sidenav/sidenav.mjs +12 -12
  152. package/esm2020/slide-toggle/slide-toggle-module.mjs +12 -14
  153. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  154. package/esm2020/slide-toggle/slide-toggle.mjs +89 -77
  155. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  156. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +3 -2
  157. package/esm2020/slider/slider-module.mjs +5 -5
  158. package/esm2020/slider/slider.mjs +5 -5
  159. package/esm2020/snack-bar/simple-snack-bar.mjs +7 -7
  160. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  161. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  162. package/esm2020/snack-bar/snack-bar-ref.mjs +2 -3
  163. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  164. package/esm2020/sort/sort-header-intl.mjs +4 -4
  165. package/esm2020/sort/sort-header.mjs +5 -5
  166. package/esm2020/sort/sort-module.mjs +5 -5
  167. package/esm2020/sort/sort.mjs +4 -4
  168. package/esm2020/stepper/step-content.mjs +4 -4
  169. package/esm2020/stepper/step-header.mjs +8 -8
  170. package/esm2020/stepper/step-label.mjs +4 -4
  171. package/esm2020/stepper/stepper-button.mjs +7 -7
  172. package/esm2020/stepper/stepper-icon.mjs +4 -4
  173. package/esm2020/stepper/stepper-intl.mjs +4 -4
  174. package/esm2020/stepper/stepper-module.mjs +11 -13
  175. package/esm2020/stepper/stepper.mjs +11 -11
  176. package/esm2020/stepper/testing/stepper-harness.mjs +3 -3
  177. package/esm2020/table/cell.mjs +22 -22
  178. package/esm2020/table/row.mjs +22 -22
  179. package/esm2020/table/table-data-source.mjs +1 -1
  180. package/esm2020/table/table-module.mjs +5 -5
  181. package/esm2020/table/table.mjs +9 -9
  182. package/esm2020/table/text-column.mjs +5 -5
  183. package/esm2020/tabs/ink-bar.mjs +4 -4
  184. package/esm2020/tabs/paginated-tab-header.mjs +34 -8
  185. package/esm2020/tabs/tab-body.mjs +11 -11
  186. package/esm2020/tabs/tab-content.mjs +4 -4
  187. package/esm2020/tabs/tab-group.mjs +35 -18
  188. package/esm2020/tabs/tab-header.mjs +8 -8
  189. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  190. package/esm2020/tabs/tab-label.mjs +4 -4
  191. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -17
  192. package/esm2020/tabs/tab.mjs +4 -4
  193. package/esm2020/tabs/tabs-module.mjs +10 -12
  194. package/esm2020/toolbar/testing/toolbar-harness.mjs +2 -2
  195. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  196. package/esm2020/toolbar/toolbar.mjs +8 -8
  197. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  198. package/esm2020/tooltip/tooltip.mjs +14 -14
  199. package/esm2020/tree/node.mjs +10 -10
  200. package/esm2020/tree/outlet.mjs +4 -4
  201. package/esm2020/tree/padding.mjs +4 -4
  202. package/esm2020/tree/toggle.mjs +4 -4
  203. package/esm2020/tree/tree-module.mjs +5 -5
  204. package/esm2020/tree/tree.mjs +5 -5
  205. package/expansion/index.d.ts +343 -5
  206. package/expansion/testing/index.d.ts +106 -8
  207. package/fesm2015/autocomplete/testing.mjs +6 -0
  208. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  209. package/fesm2015/autocomplete.mjs +43 -30
  210. package/fesm2015/autocomplete.mjs.map +1 -1
  211. package/fesm2015/badge.mjs +7 -7
  212. package/fesm2015/badge.mjs.map +1 -1
  213. package/fesm2015/bottom-sheet.mjs +126 -344
  214. package/fesm2015/bottom-sheet.mjs.map +1 -1
  215. package/fesm2015/button-toggle.mjs +11 -11
  216. package/fesm2015/button-toggle.mjs.map +1 -1
  217. package/fesm2015/button.mjs +12 -12
  218. package/fesm2015/button.mjs.map +1 -1
  219. package/fesm2015/card.mjs +47 -47
  220. package/fesm2015/card.mjs.map +1 -1
  221. package/fesm2015/checkbox.mjs +164 -146
  222. package/fesm2015/checkbox.mjs.map +1 -1
  223. package/fesm2015/chips.mjs +26 -27
  224. package/fesm2015/chips.mjs.map +1 -1
  225. package/fesm2015/core.mjs +99 -81
  226. package/fesm2015/core.mjs.map +1 -1
  227. package/fesm2015/datepicker/testing.mjs +3 -3
  228. package/fesm2015/datepicker/testing.mjs.map +1 -1
  229. package/fesm2015/datepicker.mjs +111 -103
  230. package/fesm2015/datepicker.mjs.map +1 -1
  231. package/fesm2015/dialog/testing.mjs +3 -3
  232. package/fesm2015/dialog/testing.mjs.map +1 -1
  233. package/fesm2015/dialog.mjs +152 -490
  234. package/fesm2015/dialog.mjs.map +1 -1
  235. package/fesm2015/divider.mjs +8 -8
  236. package/fesm2015/divider.mjs.map +1 -1
  237. package/fesm2015/expansion/testing.mjs +5 -5
  238. package/fesm2015/expansion/testing.mjs.map +1 -1
  239. package/fesm2015/expansion.mjs +28 -28
  240. package/fesm2015/expansion.mjs.map +1 -1
  241. package/fesm2015/form-field/testing.mjs +1 -1
  242. package/fesm2015/form-field/testing.mjs.map +1 -1
  243. package/fesm2015/form-field.mjs +29 -29
  244. package/fesm2015/form-field.mjs.map +1 -1
  245. package/fesm2015/grid-list/testing.mjs +2 -2
  246. package/fesm2015/grid-list/testing.mjs.map +1 -1
  247. package/fesm2015/grid-list.mjs +25 -25
  248. package/fesm2015/grid-list.mjs.map +1 -1
  249. package/fesm2015/icon/testing.mjs +9 -9
  250. package/fesm2015/icon/testing.mjs.map +1 -1
  251. package/fesm2015/icon.mjs +11 -11
  252. package/fesm2015/icon.mjs.map +1 -1
  253. package/fesm2015/input.mjs +7 -7
  254. package/fesm2015/input.mjs.map +1 -1
  255. package/fesm2015/list.mjs +32 -32
  256. package/fesm2015/list.mjs.map +1 -1
  257. package/fesm2015/menu.mjs +48 -60
  258. package/fesm2015/menu.mjs.map +1 -1
  259. package/fesm2015/paginator/testing.mjs +14 -0
  260. package/fesm2015/paginator/testing.mjs.map +1 -1
  261. package/fesm2015/paginator.mjs +19 -19
  262. package/fesm2015/paginator.mjs.map +1 -1
  263. package/fesm2015/progress-bar.mjs +11 -8
  264. package/fesm2015/progress-bar.mjs.map +1 -1
  265. package/fesm2015/progress-spinner.mjs +8 -8
  266. package/fesm2015/progress-spinner.mjs.map +1 -1
  267. package/fesm2015/radio.mjs +46 -17
  268. package/fesm2015/radio.mjs.map +1 -1
  269. package/fesm2015/select.mjs +29 -22
  270. package/fesm2015/select.mjs.map +1 -1
  271. package/fesm2015/sidenav.mjs +26 -26
  272. package/fesm2015/sidenav.mjs.map +1 -1
  273. package/fesm2015/slide-toggle/testing.mjs +2 -1
  274. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  275. package/fesm2015/slide-toggle.mjs +103 -93
  276. package/fesm2015/slide-toggle.mjs.map +1 -1
  277. package/fesm2015/slider.mjs +8 -8
  278. package/fesm2015/slider.mjs.map +1 -1
  279. package/fesm2015/snack-bar.mjs +40 -35
  280. package/fesm2015/snack-bar.mjs.map +1 -1
  281. package/fesm2015/sort.mjs +14 -14
  282. package/fesm2015/sort.mjs.map +1 -1
  283. package/fesm2015/stepper/testing.mjs +2 -2
  284. package/fesm2015/stepper/testing.mjs.map +1 -1
  285. package/fesm2015/stepper.mjs +42 -44
  286. package/fesm2015/stepper.mjs.map +1 -1
  287. package/fesm2015/table.mjs +58 -58
  288. package/fesm2015/table.mjs.map +1 -1
  289. package/fesm2015/tabs.mjs +120 -78
  290. package/fesm2015/tabs.mjs.map +1 -1
  291. package/fesm2015/toolbar/testing.mjs +1 -1
  292. package/fesm2015/toolbar/testing.mjs.map +1 -1
  293. package/fesm2015/toolbar.mjs +11 -11
  294. package/fesm2015/toolbar.mjs.map +1 -1
  295. package/fesm2015/tooltip.mjs +17 -17
  296. package/fesm2015/tooltip.mjs.map +1 -1
  297. package/fesm2015/tree.mjs +26 -26
  298. package/fesm2015/tree.mjs.map +1 -1
  299. package/fesm2020/autocomplete/testing.mjs +4 -0
  300. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  301. package/fesm2020/autocomplete.mjs +43 -30
  302. package/fesm2020/autocomplete.mjs.map +1 -1
  303. package/fesm2020/badge.mjs +7 -7
  304. package/fesm2020/badge.mjs.map +1 -1
  305. package/fesm2020/bottom-sheet.mjs +133 -343
  306. package/fesm2020/bottom-sheet.mjs.map +1 -1
  307. package/fesm2020/button-toggle.mjs +11 -11
  308. package/fesm2020/button-toggle.mjs.map +1 -1
  309. package/fesm2020/button.mjs +12 -12
  310. package/fesm2020/button.mjs.map +1 -1
  311. package/fesm2020/card.mjs +47 -47
  312. package/fesm2020/card.mjs.map +1 -1
  313. package/fesm2020/checkbox.mjs +162 -144
  314. package/fesm2020/checkbox.mjs.map +1 -1
  315. package/fesm2020/chips.mjs +26 -27
  316. package/fesm2020/chips.mjs.map +1 -1
  317. package/fesm2020/core.mjs +98 -81
  318. package/fesm2020/core.mjs.map +1 -1
  319. package/fesm2020/datepicker/testing.mjs +3 -3
  320. package/fesm2020/datepicker/testing.mjs.map +1 -1
  321. package/fesm2020/datepicker.mjs +111 -103
  322. package/fesm2020/datepicker.mjs.map +1 -1
  323. package/fesm2020/dialog/testing.mjs +3 -3
  324. package/fesm2020/dialog/testing.mjs.map +1 -1
  325. package/fesm2020/dialog.mjs +155 -489
  326. package/fesm2020/dialog.mjs.map +1 -1
  327. package/fesm2020/divider.mjs +8 -8
  328. package/fesm2020/divider.mjs.map +1 -1
  329. package/fesm2020/expansion/testing.mjs +5 -5
  330. package/fesm2020/expansion/testing.mjs.map +1 -1
  331. package/fesm2020/expansion.mjs +28 -28
  332. package/fesm2020/expansion.mjs.map +1 -1
  333. package/fesm2020/form-field/testing.mjs +1 -1
  334. package/fesm2020/form-field/testing.mjs.map +1 -1
  335. package/fesm2020/form-field.mjs +29 -29
  336. package/fesm2020/form-field.mjs.map +1 -1
  337. package/fesm2020/grid-list/testing.mjs +2 -2
  338. package/fesm2020/grid-list/testing.mjs.map +1 -1
  339. package/fesm2020/grid-list.mjs +25 -25
  340. package/fesm2020/grid-list.mjs.map +1 -1
  341. package/fesm2020/icon/testing.mjs +9 -9
  342. package/fesm2020/icon/testing.mjs.map +1 -1
  343. package/fesm2020/icon.mjs +11 -11
  344. package/fesm2020/icon.mjs.map +1 -1
  345. package/fesm2020/input.mjs +7 -7
  346. package/fesm2020/input.mjs.map +1 -1
  347. package/fesm2020/list.mjs +32 -32
  348. package/fesm2020/list.mjs.map +1 -1
  349. package/fesm2020/menu.mjs +48 -60
  350. package/fesm2020/menu.mjs.map +1 -1
  351. package/fesm2020/paginator/testing.mjs +10 -0
  352. package/fesm2020/paginator/testing.mjs.map +1 -1
  353. package/fesm2020/paginator.mjs +19 -19
  354. package/fesm2020/paginator.mjs.map +1 -1
  355. package/fesm2020/progress-bar.mjs +11 -8
  356. package/fesm2020/progress-bar.mjs.map +1 -1
  357. package/fesm2020/progress-spinner.mjs +8 -8
  358. package/fesm2020/progress-spinner.mjs.map +1 -1
  359. package/fesm2020/radio.mjs +45 -17
  360. package/fesm2020/radio.mjs.map +1 -1
  361. package/fesm2020/select.mjs +29 -22
  362. package/fesm2020/select.mjs.map +1 -1
  363. package/fesm2020/sidenav.mjs +26 -26
  364. package/fesm2020/sidenav.mjs.map +1 -1
  365. package/fesm2020/slide-toggle/testing.mjs +2 -1
  366. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  367. package/fesm2020/slide-toggle.mjs +103 -93
  368. package/fesm2020/slide-toggle.mjs.map +1 -1
  369. package/fesm2020/slider.mjs +8 -8
  370. package/fesm2020/slider.mjs.map +1 -1
  371. package/fesm2020/snack-bar.mjs +40 -35
  372. package/fesm2020/snack-bar.mjs.map +1 -1
  373. package/fesm2020/sort.mjs +14 -14
  374. package/fesm2020/sort.mjs.map +1 -1
  375. package/fesm2020/stepper/testing.mjs +2 -2
  376. package/fesm2020/stepper/testing.mjs.map +1 -1
  377. package/fesm2020/stepper.mjs +42 -44
  378. package/fesm2020/stepper.mjs.map +1 -1
  379. package/fesm2020/table.mjs +58 -58
  380. package/fesm2020/table.mjs.map +1 -1
  381. package/fesm2020/tabs.mjs +119 -78
  382. package/fesm2020/tabs.mjs.map +1 -1
  383. package/fesm2020/toolbar/testing.mjs +1 -1
  384. package/fesm2020/toolbar/testing.mjs.map +1 -1
  385. package/fesm2020/toolbar.mjs +11 -11
  386. package/fesm2020/toolbar.mjs.map +1 -1
  387. package/fesm2020/tooltip.mjs +17 -17
  388. package/fesm2020/tooltip.mjs.map +1 -1
  389. package/fesm2020/tree.mjs +26 -26
  390. package/fesm2020/tree.mjs.map +1 -1
  391. package/form-field/index.d.ts +401 -5
  392. package/form-field/testing/control/index.d.ts +8 -6
  393. package/form-field/testing/index.d.ts +127 -8
  394. package/grid-list/index.d.ts +232 -5
  395. package/grid-list/testing/index.d.ts +86 -8
  396. package/icon/index.d.ts +443 -5
  397. package/icon/testing/index.d.ts +81 -6
  398. package/index.d.ts +3 -7
  399. package/input/index.d.ts +209 -6
  400. package/input/testing/index.d.ts +129 -8
  401. package/list/index.d.ts +369 -6
  402. package/list/testing/index.d.ts +329 -6
  403. package/menu/index.d.ts +613 -6
  404. package/menu/testing/index.d.ts +115 -8
  405. package/package.json +38 -38
  406. package/paginator/index.d.ts +224 -6
  407. package/paginator/testing/index.d.ts +65 -8
  408. package/prebuilt-themes/deeppurple-amber.css +1 -1
  409. package/prebuilt-themes/indigo-pink.css +1 -1
  410. package/prebuilt-themes/pink-bluegrey.css +1 -1
  411. package/prebuilt-themes/purple-green.css +1 -1
  412. package/progress-bar/index.d.ts +147 -6
  413. package/progress-bar/testing/index.d.ts +26 -8
  414. package/progress-spinner/index.d.ts +138 -6
  415. package/progress-spinner/testing/index.d.ts +27 -8
  416. package/radio/index.d.ts +305 -6
  417. package/radio/testing/index.d.ts +130 -8
  418. package/schematics/ng-add/index.js +1 -1
  419. package/schematics/ng-add/index.mjs +1 -1
  420. package/schematics/ng-add/setup-project.js +59 -18
  421. package/schematics/ng-add/setup-project.mjs +59 -18
  422. package/schematics/ng-update/migrations/hammer-gestures-v9/gesture-config.template +1 -1
  423. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +5 -5
  424. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +5 -5
  425. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +22 -22
  426. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +22 -22
  427. package/select/index.d.ts +534 -5
  428. package/select/testing/index.d.ts +79 -8
  429. package/sidenav/index.d.ts +395 -5
  430. package/sidenav/testing/index.d.ts +124 -6
  431. package/slide-toggle/index.d.ts +186 -5
  432. package/slide-toggle/testing/index.d.ts +77 -8
  433. package/slider/index.d.ts +289 -6
  434. package/slider/testing/index.d.ts +60 -8
  435. package/snack-bar/index.d.ts +372 -6
  436. package/snack-bar/testing/index.d.ts +72 -8
  437. package/sort/index.d.ts +326 -5
  438. package/sort/testing/index.d.ts +50 -8
  439. package/stepper/index.d.ts +288 -6
  440. package/stepper/testing/index.d.ts +142 -6
  441. package/table/index.d.ts +382 -5
  442. package/table/testing/index.d.ts +178 -8
  443. package/tabs/_tabs-common.scss +6 -5
  444. package/tabs/index.d.ts +965 -5
  445. package/tabs/testing/index.d.ts +153 -8
  446. package/toolbar/index.d.ts +56 -6
  447. package/toolbar/testing/index.d.ts +35 -8
  448. package/tooltip/index.d.ts +362 -5
  449. package/tooltip/testing/index.d.ts +42 -8
  450. package/tree/index.d.ts +243 -5
  451. package/tree/testing/index.d.ts +122 -8
  452. package/autocomplete/autocomplete-module.d.ts +0 -13
  453. package/autocomplete/autocomplete-origin.d.ts +0 -27
  454. package/autocomplete/autocomplete-trigger.d.ts +0 -211
  455. package/autocomplete/autocomplete.d.ts +0 -150
  456. package/autocomplete/autocomplete_public_index.d.ts +0 -4
  457. package/autocomplete/package.json +0 -9
  458. package/autocomplete/public-api.d.ts +0 -11
  459. package/autocomplete/testing/autocomplete-harness-filters.d.ts +0 -13
  460. package/autocomplete/testing/autocomplete-harness.d.ts +0 -61
  461. package/autocomplete/testing/package.json +0 -9
  462. package/autocomplete/testing/public-api.d.ts +0 -9
  463. package/badge/badge-module.d.ts +0 -9
  464. package/badge/badge.d.ts +0 -86
  465. package/badge/badge_public_index.d.ts +0 -4
  466. package/badge/package.json +0 -9
  467. package/badge/public-api.d.ts +0 -9
  468. package/badge/testing/badge-harness-filters.d.ts +0 -11
  469. package/badge/testing/badge-harness.d.ts +0 -34
  470. package/badge/testing/package.json +0 -9
  471. package/badge/testing/public-api.d.ts +0 -9
  472. package/bottom-sheet/bottom-sheet-animations.d.ts +0 -12
  473. package/bottom-sheet/bottom-sheet-config.d.ts +0 -54
  474. package/bottom-sheet/bottom-sheet-container.d.ts +0 -87
  475. package/bottom-sheet/bottom-sheet-module.d.ts +0 -10
  476. package/bottom-sheet/bottom-sheet-ref.d.ts +0 -51
  477. package/bottom-sheet/bottom-sheet.d.ts +0 -59
  478. package/bottom-sheet/bottom-sheet_public_index.d.ts +0 -4
  479. package/bottom-sheet/package.json +0 -9
  480. package/bottom-sheet/public-api.d.ts +0 -13
  481. package/bottom-sheet/testing/bottom-sheet-harness-filters.d.ts +0 -10
  482. package/bottom-sheet/testing/bottom-sheet-harness.d.ts +0 -27
  483. package/bottom-sheet/testing/package.json +0 -9
  484. package/bottom-sheet/testing/public-api.d.ts +0 -9
  485. package/button/button-module.d.ts +0 -8
  486. package/button/button.d.ts +0 -58
  487. package/button/button_public_index.d.ts +0 -4
  488. package/button/package.json +0 -9
  489. package/button/public-api.d.ts +0 -9
  490. package/button/testing/button-harness-filters.d.ts +0 -13
  491. package/button/testing/button-harness.d.ts +0 -41
  492. package/button/testing/package.json +0 -9
  493. package/button/testing/public-api.d.ts +0 -9
  494. package/button-toggle/button-toggle-module.d.ts +0 -8
  495. package/button-toggle/button-toggle.d.ts +0 -212
  496. package/button-toggle/button-toggle_public_index.d.ts +0 -4
  497. package/button-toggle/package.json +0 -9
  498. package/button-toggle/public-api.d.ts +0 -9
  499. package/button-toggle/testing/button-toggle-group-harness-filters.d.ts +0 -11
  500. package/button-toggle/testing/button-toggle-group-harness.d.ts +0 -35
  501. package/button-toggle/testing/button-toggle-harness-filters.d.ts +0 -17
  502. package/button-toggle/testing/button-toggle-harness.d.ts +0 -56
  503. package/button-toggle/testing/package.json +0 -9
  504. package/button-toggle/testing/public-api.d.ts +0 -11
  505. package/card/card-module.d.ts +0 -8
  506. package/card/card.d.ts +0 -126
  507. package/card/card_public_index.d.ts +0 -4
  508. package/card/package.json +0 -9
  509. package/card/public-api.d.ts +0 -9
  510. package/card/testing/card-harness-filters.d.ts +0 -17
  511. package/card/testing/card-harness.d.ts +0 -36
  512. package/card/testing/package.json +0 -9
  513. package/card/testing/public-api.d.ts +0 -9
  514. package/checkbox/checkbox-config.d.ts +0 -28
  515. package/checkbox/checkbox-module.d.ts +0 -16
  516. package/checkbox/checkbox-required-validator.d.ts +0 -20
  517. package/checkbox/checkbox.d.ts +0 -166
  518. package/checkbox/checkbox_public_index.d.ts +0 -4
  519. package/checkbox/package.json +0 -9
  520. package/checkbox/public-api.d.ts +0 -11
  521. package/checkbox/testing/checkbox-harness-filters.d.ts +0 -17
  522. package/checkbox/testing/checkbox-harness.d.ts +0 -81
  523. package/checkbox/testing/package.json +0 -9
  524. package/checkbox/testing/public-api.d.ts +0 -9
  525. package/chips/chip-default-options.d.ts +0 -15
  526. package/chips/chip-input.d.ts +0 -91
  527. package/chips/chip-list.d.ts +0 -289
  528. package/chips/chip-text-control.d.ts +0 -20
  529. package/chips/chip.d.ts +0 -210
  530. package/chips/chips-module.d.ts +0 -10
  531. package/chips/chips_public_index.d.ts +0 -4
  532. package/chips/package.json +0 -9
  533. package/chips/public-api.d.ts +0 -12
  534. package/chips/testing/chip-avatar-harness.d.ts +0 -20
  535. package/chips/testing/chip-harness-filters.d.ts +0 -43
  536. package/chips/testing/chip-harness.d.ts +0 -63
  537. package/chips/testing/chip-input-harness.d.ts +0 -47
  538. package/chips/testing/chip-list-harness.d.ts +0 -54
  539. package/chips/testing/chip-listbox-harness.d.ts +0 -34
  540. package/chips/testing/chip-option-harness.d.ts +0 -29
  541. package/chips/testing/chip-remove-harness.d.ts +0 -22
  542. package/chips/testing/package.json +0 -9
  543. package/chips/testing/public-api.d.ts +0 -14
  544. package/core/animation/animation.d.ts +0 -20
  545. package/core/common-behaviors/color.d.ts +0 -26
  546. package/core/common-behaviors/common-module.d.ts +0 -44
  547. package/core/common-behaviors/constructor.d.ts +0 -14
  548. package/core/common-behaviors/disable-ripple.d.ts +0 -17
  549. package/core/common-behaviors/disabled.d.ts +0 -17
  550. package/core/common-behaviors/error-state.d.ts +0 -35
  551. package/core/common-behaviors/index.d.ts +0 -15
  552. package/core/common-behaviors/initialized.d.ts +0 -30
  553. package/core/common-behaviors/tabindex.d.ts +0 -20
  554. package/core/core_public_index.d.ts +0 -4
  555. package/core/datetime/date-adapter.d.ts +0 -215
  556. package/core/datetime/date-formats.d.ts +0 -21
  557. package/core/datetime/index.d.ts +0 -15
  558. package/core/datetime/native-date-adapter.d.ts +0 -74
  559. package/core/datetime/native-date-formats.d.ts +0 -9
  560. package/core/error/error-options.d.ts +0 -14
  561. package/core/line/line.d.ts +0 -29
  562. package/core/option/index.d.ts +0 -15
  563. package/core/option/optgroup.d.ts +0 -40
  564. package/core/option/option-parent.d.ts +0 -22
  565. package/core/option/option.d.ts +0 -135
  566. package/core/package.json +0 -9
  567. package/core/public-api.d.ts +0 -16
  568. package/core/ripple/index.d.ts +0 -11
  569. package/core/ripple/ripple-ref.d.ts +0 -54
  570. package/core/ripple/ripple-renderer.d.ts +0 -99
  571. package/core/ripple/ripple.d.ts +0 -113
  572. package/core/selection/index.d.ts +0 -9
  573. package/core/selection/pseudo-checkbox/pseudo-checkbox-module.d.ts +0 -8
  574. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -29
  575. package/core/testing/optgroup-harness-filters.d.ts +0 -11
  576. package/core/testing/optgroup-harness.d.ts +0 -33
  577. package/core/testing/option-harness-filters.d.ts +0 -12
  578. package/core/testing/option-harness.d.ts +0 -35
  579. package/core/testing/package.json +0 -9
  580. package/core/testing/public-api.d.ts +0 -11
  581. package/core/version.d.ts +0 -10
  582. package/datepicker/calendar-body.d.ts +0 -176
  583. package/datepicker/calendar.d.ts +0 -156
  584. package/datepicker/date-range-input-parts.d.ts +0 -108
  585. package/datepicker/date-range-input.d.ts +0 -133
  586. package/datepicker/date-range-picker.d.ts +0 -17
  587. package/datepicker/date-range-selection-strategy.d.ts +0 -48
  588. package/datepicker/date-selection-model.d.ts +0 -139
  589. package/datepicker/datepicker-actions.d.ts +0 -40
  590. package/datepicker/datepicker-animations.d.ts +0 -16
  591. package/datepicker/datepicker-base.d.ts +0 -272
  592. package/datepicker/datepicker-errors.d.ts +0 -9
  593. package/datepicker/datepicker-input-base.d.ts +0 -136
  594. package/datepicker/datepicker-input.d.ts +0 -67
  595. package/datepicker/datepicker-intl.d.ts +0 -36
  596. package/datepicker/datepicker-module.d.ts +0 -26
  597. package/datepicker/datepicker-toggle.d.ts +0 -47
  598. package/datepicker/datepicker.d.ts +0 -7
  599. package/datepicker/datepicker_public_index.d.ts +0 -4
  600. package/datepicker/month-view.d.ts +0 -139
  601. package/datepicker/multi-year-view.d.ts +0 -103
  602. package/datepicker/package.json +0 -9
  603. package/datepicker/public-api.d.ts +0 -26
  604. package/datepicker/testing/calendar-cell-harness.d.ts +0 -64
  605. package/datepicker/testing/calendar-harness.d.ts +0 -53
  606. package/datepicker/testing/date-range-input-harness.d.ts +0 -59
  607. package/datepicker/testing/datepicker-harness-filters.d.ts +0 -45
  608. package/datepicker/testing/datepicker-input-harness-base.d.ts +0 -44
  609. package/datepicker/testing/datepicker-input-harness.d.ts +0 -36
  610. package/datepicker/testing/datepicker-toggle-harness.d.ts +0 -28
  611. package/datepicker/testing/datepicker-trigger-harness-base.d.ts +0 -44
  612. package/datepicker/testing/package.json +0 -9
  613. package/datepicker/testing/public-api.d.ts +0 -13
  614. package/datepicker/year-view.d.ts +0 -114
  615. package/dialog/dialog-animations.d.ts +0 -25
  616. package/dialog/dialog-config.d.ts +0 -100
  617. package/dialog/dialog-container.d.ts +0 -133
  618. package/dialog/dialog-content-directives.d.ts +0 -76
  619. package/dialog/dialog-module.d.ts +0 -11
  620. package/dialog/dialog-ref.d.ts +0 -101
  621. package/dialog/dialog.d.ts +0 -154
  622. package/dialog/dialog_public_index.d.ts +0 -4
  623. package/dialog/package.json +0 -9
  624. package/dialog/public-api.d.ts +0 -14
  625. package/dialog/testing/dialog-harness-filters.d.ts +0 -11
  626. package/dialog/testing/dialog-harness.d.ts +0 -58
  627. package/dialog/testing/dialog-opener.d.ts +0 -33
  628. package/dialog/testing/package.json +0 -9
  629. package/dialog/testing/public-api.d.ts +0 -10
  630. package/divider/divider-module.d.ts +0 -8
  631. package/divider/divider.d.ts +0 -14
  632. package/divider/divider_public_index.d.ts +0 -4
  633. package/divider/package.json +0 -9
  634. package/divider/public-api.d.ts +0 -9
  635. package/divider/testing/divider-harness-filters.d.ts +0 -10
  636. package/divider/testing/divider-harness.d.ts +0 -16
  637. package/divider/testing/package.json +0 -9
  638. package/divider/testing/public-api.d.ts +0 -9
  639. package/expansion/accordion-base.d.ts +0 -34
  640. package/expansion/accordion.d.ts +0 -45
  641. package/expansion/expansion-animations.d.ts +0 -36
  642. package/expansion/expansion-module.d.ts +0 -14
  643. package/expansion/expansion-panel-base.d.ts +0 -22
  644. package/expansion/expansion-panel-content.d.ts +0 -21
  645. package/expansion/expansion-panel-header.d.ts +0 -83
  646. package/expansion/expansion-panel.d.ts +0 -96
  647. package/expansion/expansion_public_index.d.ts +0 -4
  648. package/expansion/package.json +0 -9
  649. package/expansion/public-api.d.ts +0 -15
  650. package/expansion/testing/accordion-harness.d.ts +0 -25
  651. package/expansion/testing/expansion-harness-filters.d.ts +0 -17
  652. package/expansion/testing/expansion-harness.d.ts +0 -79
  653. package/expansion/testing/package.json +0 -9
  654. package/expansion/testing/public-api.d.ts +0 -10
  655. package/form-field/error.d.ts +0 -22
  656. package/form-field/form-field-animations.d.ts +0 -15
  657. package/form-field/form-field-control.d.ts +0 -60
  658. package/form-field/form-field-errors.d.ts +0 -13
  659. package/form-field/form-field-module.d.ts +0 -16
  660. package/form-field/form-field.d.ts +0 -189
  661. package/form-field/form-field_public_index.d.ts +0 -4
  662. package/form-field/hint.d.ts +0 -27
  663. package/form-field/label.d.ts +0 -6
  664. package/form-field/package.json +0 -9
  665. package/form-field/placeholder.d.ts +0 -11
  666. package/form-field/prefix.d.ts +0 -20
  667. package/form-field/public-api.d.ts +0 -18
  668. package/form-field/suffix.d.ts +0 -20
  669. package/form-field/testing/control/form-field-control-harness.d.ts +0 -14
  670. package/form-field/testing/control/package.json +0 -9
  671. package/form-field/testing/form-field-harness-filters.d.ts +0 -15
  672. package/form-field/testing/form-field-harness.d.ts +0 -114
  673. package/form-field/testing/package.json +0 -9
  674. package/form-field/testing/public-api.d.ts +0 -10
  675. package/grid-list/grid-list-base.d.ts +0 -22
  676. package/grid-list/grid-list-module.d.ts +0 -9
  677. package/grid-list/grid-list.d.ts +0 -63
  678. package/grid-list/grid-list_public_index.d.ts +0 -4
  679. package/grid-list/grid-tile.d.ts +0 -64
  680. package/grid-list/package.json +0 -9
  681. package/grid-list/public-api.d.ts +0 -12
  682. package/grid-list/testing/grid-list-harness-filters.d.ts +0 -18
  683. package/grid-list/testing/grid-list-harness.d.ts +0 -41
  684. package/grid-list/testing/grid-tile-harness.d.ts +0 -43
  685. package/grid-list/testing/package.json +0 -9
  686. package/grid-list/testing/public-api.d.ts +0 -10
  687. package/grid-list/tile-coordinator.d.ts +0 -79
  688. package/grid-list/tile-styler.d.ts +0 -134
  689. package/icon/fake-svgs.d.ts +0 -23
  690. package/icon/icon-module.d.ts +0 -8
  691. package/icon/icon-registry.d.ts +0 -262
  692. package/icon/icon.d.ts +0 -147
  693. package/icon/icon_public_index.d.ts +0 -4
  694. package/icon/package.json +0 -9
  695. package/icon/public-api.d.ts +0 -10
  696. package/icon/testing/fake-icon-registry.d.ts +0 -46
  697. package/icon/testing/icon-harness-filters.d.ts +0 -22
  698. package/icon/testing/icon-harness.d.ts +0 -29
  699. package/icon/testing/package.json +0 -9
  700. package/icon/testing/public-api.d.ts +0 -10
  701. package/icon/testing/testing_public_index.d.ts +0 -4
  702. package/icon/trusted-types.d.ts +0 -37
  703. package/input/input-errors.d.ts +0 -9
  704. package/input/input-module.d.ts +0 -10
  705. package/input/input-value-accessor.d.ts +0 -17
  706. package/input/input.d.ts +0 -174
  707. package/input/input_public_index.d.ts +0 -4
  708. package/input/package.json +0 -9
  709. package/input/public-api.d.ts +0 -11
  710. package/input/testing/input-harness-filters.d.ts +0 -15
  711. package/input/testing/input-harness.d.ts +0 -57
  712. package/input/testing/native-option-harness.d.ts +0 -29
  713. package/input/testing/native-select-harness-filters.d.ts +0 -17
  714. package/input/testing/native-select-harness.d.ts +0 -45
  715. package/input/testing/package.json +0 -9
  716. package/input/testing/public-api.d.ts +0 -12
  717. package/list/list-module.d.ts +0 -11
  718. package/list/list.d.ts +0 -99
  719. package/list/list_public_index.d.ts +0 -4
  720. package/list/package.json +0 -9
  721. package/list/public-api.d.ts +0 -10
  722. package/list/selection-list.d.ts +0 -226
  723. package/list/testing/action-list-harness.d.ts +0 -44
  724. package/list/testing/list-harness-base.d.ts +0 -100
  725. package/list/testing/list-harness-filters.d.ts +0 -32
  726. package/list/testing/list-harness.d.ts +0 -36
  727. package/list/testing/list-item-harness-base.d.ts +0 -48
  728. package/list/testing/nav-list-harness.d.ts +0 -46
  729. package/list/testing/package.json +0 -9
  730. package/list/testing/public-api.d.ts +0 -13
  731. package/list/testing/selection-list-harness.d.ts +0 -74
  732. package/menu/menu-animations.d.ts +0 -30
  733. package/menu/menu-content.d.ts +0 -47
  734. package/menu/menu-errors.d.ts +0 -25
  735. package/menu/menu-item.d.ts +0 -61
  736. package/menu/menu-module.d.ts +0 -14
  737. package/menu/menu-panel.d.ts +0 -49
  738. package/menu/menu-positions.d.ts +0 -9
  739. package/menu/menu-trigger.d.ts +0 -180
  740. package/menu/menu.d.ts +0 -207
  741. package/menu/menu_public_index.d.ts +0 -4
  742. package/menu/package.json +0 -9
  743. package/menu/public-api.d.ts +0 -15
  744. package/menu/testing/menu-harness-filters.d.ts +0 -20
  745. package/menu/testing/menu-harness.d.ts +0 -98
  746. package/menu/testing/package.json +0 -9
  747. package/menu/testing/public-api.d.ts +0 -9
  748. package/paginator/package.json +0 -9
  749. package/paginator/paginator-intl.d.ts +0 -43
  750. package/paginator/paginator-module.d.ts +0 -12
  751. package/paginator/paginator.d.ts +0 -157
  752. package/paginator/paginator_public_index.d.ts +0 -4
  753. package/paginator/public-api.d.ts +0 -10
  754. package/paginator/testing/package.json +0 -9
  755. package/paginator/testing/paginator-harness-filters.d.ts +0 -11
  756. package/paginator/testing/paginator-harness.d.ts +0 -58
  757. package/paginator/testing/public-api.d.ts +0 -9
  758. package/progress-bar/package.json +0 -9
  759. package/progress-bar/progress-bar-module.d.ts +0 -9
  760. package/progress-bar/progress-bar.d.ts +0 -116
  761. package/progress-bar/progress-bar_public_index.d.ts +0 -4
  762. package/progress-bar/public-api.d.ts +0 -9
  763. package/progress-bar/testing/package.json +0 -9
  764. package/progress-bar/testing/progress-bar-harness-filters.d.ts +0 -11
  765. package/progress-bar/testing/progress-bar-harness.d.ts +0 -25
  766. package/progress-bar/testing/public-api.d.ts +0 -9
  767. package/progress-spinner/package.json +0 -9
  768. package/progress-spinner/progress-spinner-module.d.ts +0 -9
  769. package/progress-spinner/progress-spinner.d.ts +0 -107
  770. package/progress-spinner/progress-spinner_public_index.d.ts +0 -4
  771. package/progress-spinner/public-api.d.ts +0 -16
  772. package/progress-spinner/testing/package.json +0 -9
  773. package/progress-spinner/testing/progress-spinner-harness-filters.d.ts +0 -11
  774. package/progress-spinner/testing/progress-spinner-harness.d.ts +0 -26
  775. package/progress-spinner/testing/public-api.d.ts +0 -9
  776. package/radio/package.json +0 -9
  777. package/radio/public-api.d.ts +0 -9
  778. package/radio/radio-module.d.ts +0 -8
  779. package/radio/radio.d.ts +0 -260
  780. package/radio/radio_public_index.d.ts +0 -4
  781. package/radio/testing/package.json +0 -9
  782. package/radio/testing/public-api.d.ts +0 -9
  783. package/radio/testing/radio-harness-filters.d.ts +0 -22
  784. package/radio/testing/radio-harness.d.ts +0 -111
  785. package/select/package.json +0 -9
  786. package/select/public-api.d.ts +0 -10
  787. package/select/select-animations.d.ts +0 -19
  788. package/select/select-errors.d.ts +0 -26
  789. package/select/select-module.d.ts +0 -12
  790. package/select/select.d.ts +0 -452
  791. package/select/select_public_index.d.ts +0 -4
  792. package/select/testing/package.json +0 -9
  793. package/select/testing/public-api.d.ts +0 -9
  794. package/select/testing/select-harness-filters.d.ts +0 -11
  795. package/select/testing/select-harness.d.ts +0 -73
  796. package/sidenav/drawer-animations.d.ts +0 -15
  797. package/sidenav/drawer.d.ts +0 -299
  798. package/sidenav/package.json +0 -9
  799. package/sidenav/public-api.d.ts +0 -11
  800. package/sidenav/sidenav-module.d.ts +0 -11
  801. package/sidenav/sidenav.d.ts +0 -45
  802. package/sidenav/sidenav_public_index.d.ts +0 -4
  803. package/sidenav/testing/drawer-container-harness.d.ts +0 -30
  804. package/sidenav/testing/drawer-content-harness.d.ts +0 -21
  805. package/sidenav/testing/drawer-harness-filters.d.ts +0 -19
  806. package/sidenav/testing/drawer-harness.d.ts +0 -33
  807. package/sidenav/testing/package.json +0 -9
  808. package/sidenav/testing/public-api.d.ts +0 -14
  809. package/sidenav/testing/sidenav-container-harness.d.ts +0 -30
  810. package/sidenav/testing/sidenav-content-harness.d.ts +0 -21
  811. package/sidenav/testing/sidenav-harness.d.ts +0 -24
  812. package/slide-toggle/package.json +0 -9
  813. package/slide-toggle/public-api.d.ts +0 -11
  814. package/slide-toggle/slide-toggle-config.d.ts +0 -18
  815. package/slide-toggle/slide-toggle-module.d.ts +0 -16
  816. package/slide-toggle/slide-toggle-required-validator.d.ts +0 -23
  817. package/slide-toggle/slide-toggle.d.ts +0 -109
  818. package/slide-toggle/slide-toggle_public_index.d.ts +0 -4
  819. package/slide-toggle/testing/package.json +0 -9
  820. package/slide-toggle/testing/public-api.d.ts +0 -9
  821. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +0 -17
  822. package/slide-toggle/testing/slide-toggle-harness.d.ts +0 -65
  823. package/slider/package.json +0 -9
  824. package/slider/public-api.d.ts +0 -9
  825. package/slider/slider-module.d.ts +0 -9
  826. package/slider/slider.d.ts +0 -267
  827. package/slider/slider_public_index.d.ts +0 -4
  828. package/slider/testing/package.json +0 -9
  829. package/slider/testing/public-api.d.ts +0 -9
  830. package/slider/testing/slider-harness-filters.d.ts +0 -11
  831. package/slider/testing/slider-harness.d.ts +0 -59
  832. package/snack-bar/package.json +0 -9
  833. package/snack-bar/public-api.d.ts +0 -14
  834. package/snack-bar/simple-snack-bar.d.ts +0 -33
  835. package/snack-bar/snack-bar-animations.d.ts +0 -15
  836. package/snack-bar/snack-bar-config.d.ts +0 -45
  837. package/snack-bar/snack-bar-container.d.ts +0 -101
  838. package/snack-bar/snack-bar-module.d.ts +0 -13
  839. package/snack-bar/snack-bar-ref.d.ts +0 -64
  840. package/snack-bar/snack-bar.d.ts +0 -107
  841. package/snack-bar/snack-bar_public_index.d.ts +0 -4
  842. package/snack-bar/testing/package.json +0 -9
  843. package/snack-bar/testing/public-api.d.ts +0 -9
  844. package/snack-bar/testing/snack-bar-harness-filters.d.ts +0 -11
  845. package/snack-bar/testing/snack-bar-harness.d.ts +0 -71
  846. package/sort/package.json +0 -9
  847. package/sort/public-api.d.ts +0 -13
  848. package/sort/sort-animations.d.ts +0 -20
  849. package/sort/sort-direction.d.ts +0 -8
  850. package/sort/sort-errors.d.ts +0 -15
  851. package/sort/sort-header-intl.d.ts +0 -31
  852. package/sort/sort-header.d.ts +0 -166
  853. package/sort/sort-module.d.ts +0 -10
  854. package/sort/sort.d.ts +0 -93
  855. package/sort/sort_public_index.d.ts +0 -4
  856. package/sort/testing/package.json +0 -9
  857. package/sort/testing/public-api.d.ts +0 -10
  858. package/sort/testing/sort-harness-filters.d.ts +0 -15
  859. package/sort/testing/sort-harness.d.ts +0 -24
  860. package/sort/testing/sort-header-harness.d.ts +0 -30
  861. package/stepper/package.json +0 -9
  862. package/stepper/public-api.d.ts +0 -17
  863. package/stepper/step-content.d.ts +0 -18
  864. package/stepper/step-header.d.ts +0 -66
  865. package/stepper/step-label.d.ts +0 -6
  866. package/stepper/stepper-animations.d.ts +0 -18
  867. package/stepper/stepper-button.d.ts +0 -19
  868. package/stepper/stepper-icon.d.ts +0 -30
  869. package/stepper/stepper-intl.d.ts +0 -34
  870. package/stepper/stepper-module.d.ts +0 -18
  871. package/stepper/stepper.d.ts +0 -80
  872. package/stepper/stepper_public_index.d.ts +0 -4
  873. package/stepper/testing/package.json +0 -9
  874. package/stepper/testing/public-api.d.ts +0 -11
  875. package/stepper/testing/step-harness-filters.d.ts +0 -37
  876. package/stepper/testing/step-harness.d.ts +0 -52
  877. package/stepper/testing/stepper-button-harnesses.d.ts +0 -41
  878. package/stepper/testing/stepper-harness.d.ts +0 -35
  879. package/table/cell.d.ts +0 -59
  880. package/table/package.json +0 -9
  881. package/table/public-api.d.ts +0 -13
  882. package/table/row.d.ts +0 -55
  883. package/table/table-data-source.d.ts +0 -169
  884. package/table/table-module.d.ts +0 -12
  885. package/table/table.d.ts +0 -28
  886. package/table/table_public_index.d.ts +0 -4
  887. package/table/testing/cell-harness.d.ts +0 -49
  888. package/table/testing/package.json +0 -9
  889. package/table/testing/public-api.d.ts +0 -11
  890. package/table/testing/row-harness.d.ts +0 -66
  891. package/table/testing/table-harness-filters.d.ts +0 -21
  892. package/table/testing/table-harness.d.ts +0 -58
  893. package/table/text-column.d.ts +0 -22
  894. package/tabs/ink-bar.d.ts +0 -49
  895. package/tabs/package.json +0 -9
  896. package/tabs/paginated-tab-header.d.ts +0 -196
  897. package/tabs/public-api.d.ts +0 -20
  898. package/tabs/tab-body.d.ts +0 -116
  899. package/tabs/tab-config.d.ts +0 -35
  900. package/tabs/tab-content.d.ts +0 -22
  901. package/tabs/tab-group.d.ts +0 -181
  902. package/tabs/tab-header.d.ts +0 -49
  903. package/tabs/tab-label-wrapper.d.ts +0 -29
  904. package/tabs/tab-label.d.ts +0 -28
  905. package/tabs/tab-nav-bar/index.d.ts +0 -8
  906. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +0 -134
  907. package/tabs/tab.d.ts +0 -89
  908. package/tabs/tabs-animations.d.ts +0 -15
  909. package/tabs/tabs-module.d.ts +0 -20
  910. package/tabs/tabs_public_index.d.ts +0 -4
  911. package/tabs/testing/package.json +0 -9
  912. package/tabs/testing/public-api.d.ts +0 -12
  913. package/tabs/testing/tab-group-harness.d.ts +0 -35
  914. package/tabs/testing/tab-harness-filters.d.ts +0 -29
  915. package/tabs/testing/tab-harness.d.ts +0 -38
  916. package/tabs/testing/tab-link-harness.d.ts +0 -29
  917. package/tabs/testing/tab-nav-bar-harness.d.ts +0 -38
  918. package/tabs/testing/tab-nav-panel-harness.d.ts +0 -23
  919. package/toolbar/package.json +0 -9
  920. package/toolbar/public-api.d.ts +0 -9
  921. package/toolbar/testing/package.json +0 -9
  922. package/toolbar/testing/public-api.d.ts +0 -9
  923. package/toolbar/testing/toolbar-harness-filters.d.ts +0 -13
  924. package/toolbar/testing/toolbar-harness.d.ts +0 -31
  925. package/toolbar/toolbar-module.d.ts +0 -8
  926. package/toolbar/toolbar.d.ts +0 -41
  927. package/toolbar/toolbar_public_index.d.ts +0 -4
  928. package/tooltip/package.json +0 -9
  929. package/tooltip/public-api.d.ts +0 -10
  930. package/tooltip/testing/package.json +0 -9
  931. package/tooltip/testing/public-api.d.ts +0 -9
  932. package/tooltip/testing/tooltip-harness-filters.d.ts +0 -11
  933. package/tooltip/testing/tooltip-harness.d.ts +0 -38
  934. package/tooltip/tooltip-animations.d.ts +0 -15
  935. package/tooltip/tooltip-module.d.ts +0 -12
  936. package/tooltip/tooltip.d.ts +0 -299
  937. package/tooltip/tooltip_public_index.d.ts +0 -4
  938. package/tree/data-source/flat-data-source.d.ts +0 -83
  939. package/tree/data-source/nested-data-source.d.ts +0 -25
  940. package/tree/node.d.ts +0 -53
  941. package/tree/outlet.d.ts +0 -21
  942. package/tree/package.json +0 -9
  943. package/tree/padding.d.ts +0 -23
  944. package/tree/public-api.d.ts +0 -15
  945. package/tree/testing/node-harness.d.ts +0 -35
  946. package/tree/testing/package.json +0 -9
  947. package/tree/testing/public-api.d.ts +0 -10
  948. package/tree/testing/tree-harness-filters.d.ts +0 -22
  949. package/tree/testing/tree-harness.d.ts +0 -79
  950. package/tree/toggle.d.ts +0 -16
  951. package/tree/tree-module.d.ts +0 -13
  952. package/tree/tree.d.ts +0 -18
  953. package/tree/tree_public_index.d.ts +0 -4
@@ -2,12 +2,12 @@ import * as i1$1 from '@angular/cdk/overlay';
2
2
  import { OverlayModule, OverlayConfig } from '@angular/cdk/overlay';
3
3
  import * as i3$1 from '@angular/cdk/portal';
4
4
  import { BasePortalOutlet, CdkPortalOutlet, PortalModule, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
5
- import * as i3 from '@angular/common';
5
+ import * as i2 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
8
  import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, NgModule, Injector, TemplateRef, Injectable, Optional, SkipSelf } from '@angular/core';
9
9
  import { MatCommonModule } from '@angular/material/core';
10
- import * as i2 from '@angular/material/button';
10
+ import * as i3 from '@angular/material/button';
11
11
  import { MatButtonModule } from '@angular/material/button';
12
12
  import { Subject } from 'rxjs';
13
13
  import { take, takeUntil } from 'rxjs/operators';
@@ -73,8 +73,6 @@ class MatSnackBarRef {
73
73
  /** Whether the snack bar was dismissed using the action button. */
74
74
  this._dismissedByAction = false;
75
75
  this.containerInstance = containerInstance;
76
- // Dismiss snackbar on action.
77
- this.onAction().subscribe(() => this.dismiss());
78
76
  containerInstance._onExit.subscribe(() => this._finishDismiss());
79
77
  }
80
78
  /** Dismisses the snack bar. */
@@ -90,6 +88,7 @@ class MatSnackBarRef {
90
88
  this._dismissedByAction = true;
91
89
  this._onAction.next();
92
90
  this._onAction.complete();
91
+ this.dismiss();
93
92
  }
94
93
  clearTimeout(this._durationTimeoutId);
95
94
  }
@@ -163,13 +162,13 @@ class SimpleSnackBar {
163
162
  return !!this.data.action;
164
163
  }
165
164
  }
166
- SimpleSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: SimpleSnackBar, deps: [{ token: MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
167
- SimpleSnackBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: SimpleSnackBar, selector: "simple-snack-bar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n", styles: [".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: SimpleSnackBar, decorators: [{
165
+ SimpleSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: SimpleSnackBar, deps: [{ token: MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
166
+ SimpleSnackBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: SimpleSnackBar, selector: "simple-snack-bar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n", styles: [".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: SimpleSnackBar, decorators: [{
169
168
  type: Component,
170
169
  args: [{ selector: 'simple-snack-bar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
171
170
  'class': 'mat-simple-snackbar',
172
- }, template: "<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n", styles: [".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}\n"] }]
171
+ }, template: "<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n", styles: [".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}"] }]
173
172
  }], ctorParameters: function () {
174
173
  return [{ type: MatSnackBarRef }, { type: undefined, decorators: [{
175
174
  type: Inject,
@@ -302,17 +301,21 @@ class MatSnackBarContainer extends BasePortalOutlet {
302
301
  }
303
302
  /** Begin animation of the snack bar exiting from view. */
304
303
  exit() {
305
- // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case
306
- // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to
307
- // `MatSnackBar.open`).
308
- this._animationState = 'hidden';
309
- // Mark this element with an 'exit' attribute to indicate that the snackbar has
310
- // been dismissed and will soon be removed from the DOM. This is used by the snackbar
311
- // test harness.
312
- this._elementRef.nativeElement.setAttribute('mat-exit', '');
313
- // If the snack bar hasn't been announced by the time it exits it wouldn't have been open
314
- // long enough to visually read it either, so clear the timeout for announcing.
315
- clearTimeout(this._announceTimeoutId);
304
+ // It's common for snack bars to be opened by random outside calls like HTTP requests or
305
+ // errors. Run inside the NgZone to ensure that it functions correctly.
306
+ this._ngZone.run(() => {
307
+ // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case
308
+ // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to
309
+ // `MatSnackBar.open`).
310
+ this._animationState = 'hidden';
311
+ // Mark this element with an 'exit' attribute to indicate that the snackbar has
312
+ // been dismissed and will soon be removed from the DOM. This is used by the snackbar
313
+ // test harness.
314
+ this._elementRef.nativeElement.setAttribute('mat-exit', '');
315
+ // If the snack bar hasn't been announced by the time it exits it wouldn't have been open
316
+ // long enough to visually read it either, so clear the timeout for announcing.
317
+ clearTimeout(this._announceTimeoutId);
318
+ });
316
319
  return this._onExit;
317
320
  }
318
321
  /** Makes sure the exit callbacks have been invoked when the element is destroyed. */
@@ -326,8 +329,10 @@ class MatSnackBarContainer extends BasePortalOutlet {
326
329
  */
327
330
  _completeExit() {
328
331
  this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {
329
- this._onExit.next();
330
- this._onExit.complete();
332
+ this._ngZone.run(() => {
333
+ this._onExit.next();
334
+ this._onExit.complete();
335
+ });
331
336
  });
332
337
  }
333
338
  /** Applies the various positioning and user-configured CSS classes to the snack bar. */
@@ -386,15 +391,15 @@ class MatSnackBarContainer extends BasePortalOutlet {
386
391
  }
387
392
  }
388
393
  }
389
- MatSnackBarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarContainer, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: MatSnackBarConfig }], target: i0.ɵɵFactoryTarget.Component });
390
- MatSnackBarContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSnackBarContainer, selector: "snack-bar-container", host: { listeners: { "@state.done": "onAnimationEnd($event)" }, properties: { "@state": "_animationState" }, classAttribute: "mat-snack-bar-container" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n", styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"], directives: [{ type: i3$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matSnackBarAnimations.snackBarState], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarContainer, decorators: [{
394
+ MatSnackBarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarContainer, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: MatSnackBarConfig }], target: i0.ɵɵFactoryTarget.Component });
395
+ MatSnackBarContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatSnackBarContainer, selector: "snack-bar-container", host: { listeners: { "@state.done": "onAnimationEnd($event)" }, properties: { "@state": "_animationState" }, classAttribute: "mat-snack-bar-container" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n", styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"], dependencies: [{ kind: "directive", type: i3$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matSnackBarAnimations.snackBarState], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarContainer, decorators: [{
392
397
  type: Component,
393
398
  args: [{ selector: 'snack-bar-container', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, animations: [matSnackBarAnimations.snackBarState], host: {
394
399
  'class': 'mat-snack-bar-container',
395
400
  '[@state]': '_animationState',
396
401
  '(@state.done)': 'onAnimationEnd($event)',
397
- }, template: "<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n", styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"] }]
402
+ }, template: "<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n", styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"] }]
398
403
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Platform }, { type: MatSnackBarConfig }]; }, propDecorators: { _portalOutlet: [{
399
404
  type: ViewChild,
400
405
  args: [CdkPortalOutlet, { static: true }]
@@ -409,10 +414,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
409
414
  */
410
415
  class MatSnackBarModule {
411
416
  }
412
- MatSnackBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
413
- MatSnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarModule, declarations: [MatSnackBarContainer, SimpleSnackBar], imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule], exports: [MatSnackBarContainer, MatCommonModule] });
414
- MatSnackBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarModule, imports: [[OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule], MatCommonModule] });
415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBarModule, decorators: [{
417
+ MatSnackBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
418
+ MatSnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarModule, declarations: [MatSnackBarContainer, SimpleSnackBar], imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule], exports: [MatSnackBarContainer, MatCommonModule] });
419
+ MatSnackBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarModule, imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule, MatCommonModule] });
420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBarModule, decorators: [{
416
421
  type: NgModule,
417
422
  args: [{
418
423
  imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],
@@ -643,9 +648,9 @@ class _MatSnackBarBase {
643
648
  });
644
649
  }
645
650
  }
646
- _MatSnackBarBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatSnackBarBase, deps: [{ token: i1$1.Overlay }, { token: i2$1.LiveAnnouncer }, { token: i0.Injector }, { token: i3$2.BreakpointObserver }, { token: _MatSnackBarBase, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
647
- _MatSnackBarBase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatSnackBarBase });
648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: _MatSnackBarBase, decorators: [{
651
+ _MatSnackBarBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatSnackBarBase, deps: [{ token: i1$1.Overlay }, { token: i2$1.LiveAnnouncer }, { token: i0.Injector }, { token: i3$2.BreakpointObserver }, { token: _MatSnackBarBase, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
652
+ _MatSnackBarBase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatSnackBarBase });
653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: _MatSnackBarBase, decorators: [{
649
654
  type: Injectable
650
655
  }], ctorParameters: function () {
651
656
  return [{ type: i1$1.Overlay }, { type: i2$1.LiveAnnouncer }, { type: i0.Injector }, { type: i3$2.BreakpointObserver }, { type: _MatSnackBarBase, decorators: [{
@@ -668,9 +673,9 @@ class MatSnackBar extends _MatSnackBarBase {
668
673
  this.handsetCssClass = 'mat-snack-bar-handset';
669
674
  }
670
675
  }
671
- MatSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBar, deps: [{ token: i1$1.Overlay }, { token: i2$1.LiveAnnouncer }, { token: i0.Injector }, { token: i3$2.BreakpointObserver }, { token: MatSnackBar, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
672
- MatSnackBar.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBar, providedIn: MatSnackBarModule });
673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSnackBar, decorators: [{
676
+ MatSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBar, deps: [{ token: i1$1.Overlay }, { token: i2$1.LiveAnnouncer }, { token: i0.Injector }, { token: i3$2.BreakpointObserver }, { token: MatSnackBar, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
677
+ MatSnackBar.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBar, providedIn: MatSnackBarModule });
678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSnackBar, decorators: [{
674
679
  type: Injectable,
675
680
  args: [{ providedIn: MatSnackBarModule }]
676
681
  }], ctorParameters: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"snack-bar.mjs","sources":["../../../../../../src/material/snack-bar/snack-bar-config.ts","../../../../../../src/material/snack-bar/snack-bar-ref.ts","../../../../../../src/material/snack-bar/simple-snack-bar.ts","../../../../../../src/material/snack-bar/simple-snack-bar.html","../../../../../../src/material/snack-bar/snack-bar-animations.ts","../../../../../../src/material/snack-bar/snack-bar-container.ts","../../../../../../src/material/snack-bar/snack-bar-container.html","../../../../../../src/material/snack-bar/snack-bar-module.ts","../../../../../../src/material/snack-bar/snack-bar.ts","../../../../../../src/material/snack-bar/public-api.ts","../../../../../../src/material/snack-bar/index.ts","../../../../../../src/material/snack-bar/snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ViewContainerRef, InjectionToken} from '@angular/core';\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {Direction} from '@angular/cdk/bidi';\n\n/** Injection token that can be used to access the data that was passed in to a snack bar. */\nexport const MAT_SNACK_BAR_DATA = new InjectionToken<any>('MatSnackBarData');\n\n/** Possible values for horizontalPosition on MatSnackBarConfig. */\nexport type MatSnackBarHorizontalPosition = 'start' | 'center' | 'end' | 'left' | 'right';\n\n/** Possible values for verticalPosition on MatSnackBarConfig. */\nexport type MatSnackBarVerticalPosition = 'top' | 'bottom';\n\n/**\n * Configuration used when opening a snack-bar.\n */\nexport class MatSnackBarConfig<D = any> {\n /** The politeness level for the MatAriaLiveAnnouncer announcement. */\n politeness?: AriaLivePoliteness = 'assertive';\n\n /**\n * Message to be announced by the LiveAnnouncer. When opening a snackbar without a custom\n * component or template, the announcement message will default to the specified message.\n */\n announcementMessage?: string = '';\n\n /**\n * The view container that serves as the parent for the snackbar for the purposes of dependency\n * injection. Note: this does not affect where the snackbar is inserted in the DOM.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** The length of time in milliseconds to wait before automatically dismissing the snack bar. */\n duration?: number = 0;\n\n /** Extra CSS classes to be added to the snack bar container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the snack bar. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** The horizontal position to place the snack bar. */\n horizontalPosition?: MatSnackBarHorizontalPosition = 'center';\n\n /** The vertical position to place the snack bar. */\n verticalPosition?: MatSnackBarVerticalPosition = 'bottom';\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 {OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {_SnackBarContainer} from './snack-bar-container';\n\n/** Event that is emitted when a snack bar is dismissed. */\nexport interface MatSnackBarDismiss {\n /** Whether the snack bar was dismissed using the action button. */\n dismissedByAction: boolean;\n}\n\n/** Maximum amount of milliseconds that can be passed into setTimeout. */\nconst MAX_TIMEOUT = Math.pow(2, 31) - 1;\n\n/**\n * Reference to a snack bar dispatched from the snack bar service.\n */\nexport class MatSnackBarRef<T> {\n /** The instance of the component making up the content of the snack bar. */\n instance: T;\n\n /**\n * The instance of the component making up the content of the snack bar.\n * @docs-private\n */\n containerInstance: _SnackBarContainer;\n\n /** Subject for notifying the user that the snack bar has been dismissed. */\n private readonly _afterDismissed = new Subject<MatSnackBarDismiss>();\n\n /** Subject for notifying the user that the snack bar has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Subject for notifying the user that the snack bar action was called. */\n private readonly _onAction = new Subject<void>();\n\n /**\n * Timeout ID for the duration setTimeout call. Used to clear the timeout if the snackbar is\n * dismissed before the duration passes.\n */\n private _durationTimeoutId: number;\n\n /** Whether the snack bar was dismissed using the action button. */\n private _dismissedByAction = false;\n\n constructor(containerInstance: _SnackBarContainer, private _overlayRef: OverlayRef) {\n this.containerInstance = containerInstance;\n // Dismiss snackbar on action.\n this.onAction().subscribe(() => this.dismiss());\n containerInstance._onExit.subscribe(() => this._finishDismiss());\n }\n\n /** Dismisses the snack bar. */\n dismiss(): void {\n if (!this._afterDismissed.closed) {\n this.containerInstance.exit();\n }\n clearTimeout(this._durationTimeoutId);\n }\n\n /** Marks the snackbar action clicked. */\n dismissWithAction(): void {\n if (!this._onAction.closed) {\n this._dismissedByAction = true;\n this._onAction.next();\n this._onAction.complete();\n }\n clearTimeout(this._durationTimeoutId);\n }\n\n /**\n * Marks the snackbar action clicked.\n * @deprecated Use `dismissWithAction` instead.\n * @breaking-change 8.0.0\n */\n closeWithAction(): void {\n this.dismissWithAction();\n }\n\n /** Dismisses the snack bar after some duration */\n _dismissAfter(duration: number): void {\n // Note that we need to cap the duration to the maximum value for setTimeout, because\n // it'll revert to 1 if somebody passes in something greater (e.g. `Infinity`). See #17234.\n this._durationTimeoutId = setTimeout(() => this.dismiss(), Math.min(duration, MAX_TIMEOUT));\n }\n\n /** Marks the snackbar as opened */\n _open(): void {\n if (!this._afterOpened.closed) {\n this._afterOpened.next();\n this._afterOpened.complete();\n }\n }\n\n /** Cleans up the DOM after closing. */\n private _finishDismiss(): void {\n this._overlayRef.dispose();\n\n if (!this._onAction.closed) {\n this._onAction.complete();\n }\n\n this._afterDismissed.next({dismissedByAction: this._dismissedByAction});\n this._afterDismissed.complete();\n this._dismissedByAction = false;\n }\n\n /** Gets an observable that is notified when the snack bar is finished closing. */\n afterDismissed(): Observable<MatSnackBarDismiss> {\n return this._afterDismissed;\n }\n\n /** Gets an observable that is notified when the snack bar has opened and appeared. */\n afterOpened(): Observable<void> {\n return this.containerInstance._onEnter;\n }\n\n /** Gets an observable that is notified when the snack bar action is called. */\n onAction(): Observable<void> {\n return this._onAction;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n/**\n * Interface for a simple snack bar component that has a message and a single action.\n */\nexport interface TextOnlySnackBar {\n data: {message: string; action: string};\n snackBarRef: MatSnackBarRef<TextOnlySnackBar>;\n action: () => void;\n hasAction: boolean;\n}\n\n/**\n * A component used to open as the default snack bar, matching material spec.\n * This should only be used internally by the snack bar service.\n */\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-simple-snackbar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n /** Data that was injected into the snack bar. */\n data: {message: string; action: string};\n\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) data: any,\n ) {\n this.data = data;\n }\n\n /** Performs the action on the snack bar. */\n action(): void {\n this.snackBarRef.dismissWithAction();\n }\n\n /** If the action button should be shown. */\n get hasAction(): boolean {\n return !!this.data.action;\n }\n}\n","<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the Material snack bar.\n * @docs-private\n */\nexport const matSnackBarAnimations: {\n readonly snackBarState: AnimationTriggerMetadata;\n} = {\n /** Animation that shows and hides a snack bar. */\n snackBarState: trigger('state', [\n state(\n 'void, hidden',\n style({\n transform: 'scale(0.8)',\n opacity: 0,\n }),\n ),\n state(\n 'visible',\n style({\n transform: 'scale(1)',\n opacity: 1,\n }),\n ),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition(\n '* => void, * => hidden',\n animate(\n '75ms cubic-bezier(0.4, 0.0, 1, 1)',\n style({\n opacity: 0,\n }),\n ),\n ),\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationEvent} from '@angular/animations';\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n DomPortal,\n} from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n NgZone,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {matSnackBarAnimations} from './snack-bar-animations';\nimport {MatSnackBarConfig} from './snack-bar-config';\n\n/**\n * Internal interface for a snack bar container.\n * @docs-private\n */\nexport interface _SnackBarContainer {\n snackBarConfig: MatSnackBarConfig;\n readonly _onAnnounce: Subject<any>;\n readonly _onExit: Subject<any>;\n readonly _onEnter: Subject<any>;\n enter: () => void;\n exit: () => Observable<void>;\n attachTemplatePortal: <C>(portal: TemplatePortal<C>) => EmbeddedViewRef<C>;\n attachComponentPortal: <T>(portal: ComponentPortal<T>) => ComponentRef<T>;\n}\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)',\n },\n})\nexport class MatSnackBarContainer\n extends BasePortalOutlet\n implements OnDestroy, _SnackBarContainer\n{\n /** The number of milliseconds to wait before announcing the snack bar's content. */\n private readonly _announceDelay: number = 150;\n\n /** The timeout for announcing the snack bar's content. */\n private _announceTimeoutId: number;\n\n /** Whether the component has been destroyed. */\n private _destroyed = false;\n\n /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has announced to screen readers. */\n readonly _onAnnounce: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<void> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** aria-live value for the live region. */\n _live: AriaLivePoliteness;\n\n /**\n * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n * JAWS does not read out aria-live message.\n */\n _role?: 'status' | 'alert';\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _platform: Platform,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig,\n ) {\n super();\n\n // Use aria-live rather than a live role like 'alert' or 'status'\n // because NVDA and JAWS have show inconsistent behavior with live roles.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._live = 'assertive';\n } else if (snackBarConfig.politeness === 'off') {\n this._live = 'off';\n } else {\n this._live = 'polite';\n }\n\n // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n if (this._platform.FIREFOX) {\n if (this._live === 'polite') {\n this._role = 'status';\n }\n if (this._live === 'assertive') {\n this._role = 'alert';\n }\n }\n }\n\n /** Attach a component portal as content to this snack bar container. */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /** Attach a template portal as content to this snack bar container. */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the snack bar container.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachDomPortal(portal);\n };\n\n /** Handle end of animations, updating the state of the snackbar. */\n onAnimationEnd(event: AnimationEvent) {\n const {fromState, toState} = event;\n\n if ((toState === 'void' && fromState !== 'void') || toState === 'hidden') {\n this._completeExit();\n }\n\n if (toState === 'visible') {\n // Note: we shouldn't use `this` inside the zone callback,\n // because it can cause a memory leak.\n const onEnter = this._onEnter;\n\n this._ngZone.run(() => {\n onEnter.next();\n onEnter.complete();\n });\n }\n }\n\n /** Begin animation of snack bar entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.detectChanges();\n this._screenReaderAnnounce();\n }\n }\n\n /** Begin animation of the snack bar exiting from view. */\n exit(): Observable<void> {\n // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case\n // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to\n // `MatSnackBar.open`).\n this._animationState = 'hidden';\n\n // Mark this element with an 'exit' attribute to indicate that the snackbar has\n // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n // test harness.\n this._elementRef.nativeElement.setAttribute('mat-exit', '');\n\n // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n // long enough to visually read it either, so clear the timeout for announcing.\n clearTimeout(this._announceTimeoutId);\n\n return this._onExit;\n }\n\n /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n ngOnDestroy() {\n this._destroyed = true;\n this._completeExit();\n }\n\n /**\n * Waits for the zone to settle before removing the element. Helps prevent\n * errors where we end up removing an element which is in the middle of an animation.\n */\n private _completeExit() {\n this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n this._onExit.next();\n this._onExit.complete();\n });\n }\n\n /** Applies the various positioning and user-configured CSS classes to the snack bar. */\n private _applySnackBarClasses() {\n const element: HTMLElement = this._elementRef.nativeElement;\n const panelClasses = this.snackBarConfig.panelClass;\n\n if (panelClasses) {\n if (Array.isArray(panelClasses)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClasses.forEach(cssClass => element.classList.add(cssClass));\n } else {\n element.classList.add(panelClasses);\n }\n }\n\n if (this.snackBarConfig.horizontalPosition === 'center') {\n element.classList.add('mat-snack-bar-center');\n }\n\n if (this.snackBarConfig.verticalPosition === 'top') {\n element.classList.add('mat-snack-bar-top');\n }\n }\n\n /** Asserts that no content is already attached to the container. */\n private _assertNotAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach snack bar content after content is already attached');\n }\n }\n\n /**\n * Starts a timeout to move the snack bar content to the live region so screen readers will\n * announce it.\n */\n private _screenReaderAnnounce() {\n if (!this._announceTimeoutId) {\n this._ngZone.runOutsideAngular(() => {\n this._announceTimeoutId = setTimeout(() => {\n const inertElement = this._elementRef.nativeElement.querySelector('[aria-hidden]');\n const liveElement = this._elementRef.nativeElement.querySelector('[aria-live]');\n\n if (inertElement && liveElement) {\n // If an element in the snack bar content is focused before being moved\n // track it and restore focus after moving to the live region.\n let focusedElement: HTMLElement | null = null;\n if (\n this._platform.isBrowser &&\n document.activeElement instanceof HTMLElement &&\n inertElement.contains(document.activeElement)\n ) {\n focusedElement = document.activeElement;\n }\n\n inertElement.removeAttribute('aria-hidden');\n liveElement.appendChild(inertElement);\n focusedElement?.focus();\n\n this._onAnnounce.next();\n this._onAnnounce.complete();\n }\n }, this._announceDelay);\n });\n }\n }\n}\n","<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n})\nexport class MatSnackBarModule {}\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 {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, TemplatePortal} from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n InjectionToken,\n Injector,\n Optional,\n SkipSelf,\n TemplateRef,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {TextOnlySnackBar, SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer, _SnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS = new InjectionToken<MatSnackBarConfig>(\n 'mat-snack-bar-default-options',\n {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n@Injectable()\nexport abstract class _MatSnackBarBase implements OnDestroy {\n /**\n * Reference to the current snack bar in the view *at this level* (in the Angular injector tree).\n * If there is a parent snack-bar service, all operations should delegate to that parent\n * via `_openedSnackBarRef`.\n */\n private _snackBarRefAtThisLevel: MatSnackBarRef<any> | null = null;\n\n /** The component that should be rendered as the snack bar's simple component. */\n protected abstract simpleSnackBarComponent: Type<TextOnlySnackBar>;\n\n /** The container component that attaches the provided template or component. */\n protected abstract snackBarContainerComponent: Type<_SnackBarContainer>;\n\n /** The CSS class to apply for handset mode. */\n protected abstract handsetCssClass: string;\n\n /** Reference to the currently opened snackbar at *any* level. */\n get _openedSnackBarRef(): MatSnackBarRef<any> | null {\n const parent = this._parentSnackBar;\n return parent ? parent._openedSnackBarRef : this._snackBarRefAtThisLevel;\n }\n\n set _openedSnackBarRef(value: MatSnackBarRef<any> | null) {\n if (this._parentSnackBar) {\n this._parentSnackBar._openedSnackBarRef = value;\n } else {\n this._snackBarRefAtThisLevel = value;\n }\n }\n\n constructor(\n private _overlay: Overlay,\n private _live: LiveAnnouncer,\n private _injector: Injector,\n private _breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() private _parentSnackBar: _MatSnackBarBase,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig,\n ) {}\n\n /**\n * Creates and dispatches a snack bar with a custom component for the content, removing any\n * currently opened snack bars.\n *\n * @param component Component to be instantiated.\n * @param config Extra configuration for the snack bar.\n */\n openFromComponent<T>(component: ComponentType<T>, config?: MatSnackBarConfig): MatSnackBarRef<T> {\n return this._attach(component, config) as MatSnackBarRef<T>;\n }\n\n /**\n * Creates and dispatches a snack bar with a custom template for the content, removing any\n * currently opened snack bars.\n *\n * @param template Template to be instantiated.\n * @param config Extra configuration for the snack bar.\n */\n openFromTemplate(\n template: TemplateRef<any>,\n config?: MatSnackBarConfig,\n ): MatSnackBarRef<EmbeddedViewRef<any>> {\n return this._attach(template, config);\n }\n\n /**\n * Opens a snackbar with a message and an optional action.\n * @param message The message to show in the snackbar.\n * @param action The label for the snackbar action.\n * @param config Additional configuration options for the snackbar.\n */\n open(\n message: string,\n action: string = '',\n config?: MatSnackBarConfig,\n ): MatSnackBarRef<TextOnlySnackBar> {\n const _config = {...this._defaultConfig, ...config};\n\n // Since the user doesn't have access to the component, we can\n // override the data to pass in our own message and action.\n _config.data = {message, action};\n\n // Since the snack bar has `role=\"alert\"`, we don't\n // want to announce the same message twice.\n if (_config.announcementMessage === message) {\n _config.announcementMessage = undefined;\n }\n\n return this.openFromComponent(this.simpleSnackBarComponent, _config);\n }\n\n /**\n * Dismisses the currently-visible snack bar.\n */\n dismiss(): void {\n if (this._openedSnackBarRef) {\n this._openedSnackBarRef.dismiss();\n }\n }\n\n ngOnDestroy() {\n // Only dismiss the snack bar at the current level on destroy.\n if (this._snackBarRefAtThisLevel) {\n this._snackBarRefAtThisLevel.dismiss();\n }\n }\n\n /**\n * Attaches the snack bar container component to the overlay.\n */\n private _attachSnackBarContainer(\n overlayRef: OverlayRef,\n config: MatSnackBarConfig,\n ): _SnackBarContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: MatSnackBarConfig, useValue: config}],\n });\n\n const containerPortal = new ComponentPortal(\n this.snackBarContainerComponent,\n config.viewContainerRef,\n injector,\n );\n const containerRef: ComponentRef<_SnackBarContainer> = overlayRef.attach(containerPortal);\n containerRef.instance.snackBarConfig = config;\n return containerRef.instance;\n }\n\n /**\n * Places a new component or a template as the content of the snack bar container.\n */\n private _attach<T>(\n content: ComponentType<T> | TemplateRef<T>,\n userConfig?: MatSnackBarConfig,\n ): MatSnackBarRef<T | EmbeddedViewRef<any>> {\n const config = {...new MatSnackBarConfig(), ...this._defaultConfig, ...userConfig};\n const overlayRef = this._createOverlay(config);\n const container = this._attachSnackBarContainer(overlayRef, config);\n const snackBarRef = new MatSnackBarRef<T | EmbeddedViewRef<any>>(container, overlayRef);\n\n if (content instanceof TemplateRef) {\n const portal = new TemplatePortal(content, null!, {\n $implicit: config.data,\n snackBarRef,\n } as any);\n\n snackBarRef.instance = container.attachTemplatePortal(portal);\n } else {\n const injector = this._createInjector(config, snackBarRef);\n const portal = new ComponentPortal(content, undefined, injector);\n const contentRef = container.attachComponentPortal<T>(portal);\n\n // We can't pass this via the injector, because the injector is created earlier.\n snackBarRef.instance = contentRef.instance;\n }\n\n // Subscribe to the breakpoint observer and attach the mat-snack-bar-handset class as\n // appropriate. This class is applied to the overlay element because the overlay must expand to\n // fill the width of the screen for full width snackbars.\n this._breakpointObserver\n .observe(Breakpoints.HandsetPortrait)\n .pipe(takeUntil(overlayRef.detachments()))\n .subscribe(state => {\n overlayRef.overlayElement.classList.toggle(this.handsetCssClass, state.matches);\n });\n\n if (config.announcementMessage) {\n // Wait until the snack bar contents have been announced then deliver this message.\n container._onAnnounce.subscribe(() => {\n this._live.announce(config.announcementMessage!, config.politeness);\n });\n }\n\n this._animateSnackBar(snackBarRef, config);\n this._openedSnackBarRef = snackBarRef;\n return this._openedSnackBarRef;\n }\n\n /** Animates the old snack bar out and the new one in. */\n private _animateSnackBar(snackBarRef: MatSnackBarRef<any>, config: MatSnackBarConfig) {\n // When the snackbar is dismissed, clear the reference to it.\n snackBarRef.afterDismissed().subscribe(() => {\n // Clear the snackbar ref if it hasn't already been replaced by a newer snackbar.\n if (this._openedSnackBarRef == snackBarRef) {\n this._openedSnackBarRef = null;\n }\n\n if (config.announcementMessage) {\n this._live.clear();\n }\n });\n\n if (this._openedSnackBarRef) {\n // If a snack bar is already in view, dismiss it and enter the\n // new snack bar after exit animation is complete.\n this._openedSnackBarRef.afterDismissed().subscribe(() => {\n snackBarRef.containerInstance.enter();\n });\n this._openedSnackBarRef.dismiss();\n } else {\n // If no snack bar is in view, enter the new snack bar.\n snackBarRef.containerInstance.enter();\n }\n\n // If a dismiss timeout is provided, set up dismiss based on after the snackbar is opened.\n if (config.duration && config.duration > 0) {\n snackBarRef.afterOpened().subscribe(() => snackBarRef._dismissAfter(config.duration!));\n }\n }\n\n /**\n * Creates a new overlay and places it in the correct location.\n * @param config The user-specified snack bar config.\n */\n private _createOverlay(config: MatSnackBarConfig): OverlayRef {\n const overlayConfig = new OverlayConfig();\n overlayConfig.direction = config.direction;\n\n let positionStrategy = this._overlay.position().global();\n // Set horizontal position.\n const isRtl = config.direction === 'rtl';\n const isLeft =\n config.horizontalPosition === 'left' ||\n (config.horizontalPosition === 'start' && !isRtl) ||\n (config.horizontalPosition === 'end' && isRtl);\n const isRight = !isLeft && config.horizontalPosition !== 'center';\n if (isLeft) {\n positionStrategy.left('0');\n } else if (isRight) {\n positionStrategy.right('0');\n } else {\n positionStrategy.centerHorizontally();\n }\n // Set horizontal position.\n if (config.verticalPosition === 'top') {\n positionStrategy.top('0');\n } else {\n positionStrategy.bottom('0');\n }\n\n overlayConfig.positionStrategy = positionStrategy;\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an injector to be used inside of a snack bar component.\n * @param config Config that was used to create the snack bar.\n * @param snackBarRef Reference to the snack bar.\n */\n private _createInjector<T>(config: MatSnackBarConfig, snackBarRef: MatSnackBarRef<T>): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return Injector.create({\n parent: userInjector || this._injector,\n providers: [\n {provide: MatSnackBarRef, useValue: snackBarRef},\n {provide: MAT_SNACK_BAR_DATA, useValue: config.data},\n ],\n });\n }\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected simpleSnackBarComponent = SimpleSnackBar;\n protected snackBarContainerComponent = MatSnackBarContainer;\n protected handsetCssClass = 'mat-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\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 './snack-bar-module';\nexport * from './snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-config';\nexport * from './snack-bar-ref';\nexport * from './simple-snack-bar';\nexport * from './snack-bar-animations';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.MatSnackBarConfig","i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAMG;AAMH;MACa,kBAAkB,GAAG,IAAI,cAAc,CAAM,iBAAiB,EAAE;AAQ7E;;AAEG;MACU,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;;AAEE,QAAA,IAAU,CAAA,UAAA,GAAwB,WAAW,CAAC;AAE9C;;;AAGG;AACH,QAAA,IAAmB,CAAA,mBAAA,GAAY,EAAE,CAAC;;AASlC,QAAA,IAAQ,CAAA,QAAA,GAAY,CAAC,CAAC;;AAStB,QAAA,IAAI,CAAA,IAAA,GAAc,IAAI,CAAC;;AAGvB,QAAA,IAAkB,CAAA,kBAAA,GAAmC,QAAQ,CAAC;;AAG9D,QAAA,IAAgB,CAAA,gBAAA,GAAiC,QAAQ,CAAC;KAC3D;AAAA;;ACzDD;;;;;;AAMG;AAYH;AACA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAExC;;AAEG;MACU,cAAc,CAAA;IA4BzB,WAAY,CAAA,iBAAqC,EAAU,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;;AAjBjE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAsB,CAAC;;AAGpD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;;AAGnC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;;AASzC,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAGjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;;AAE3C,QAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChD,QAAA,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;KAClE;;IAGD,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;AAChC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AAC/B,SAAA;AACD,QAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvC;;IAGD,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC3B,SAAA;AACD,QAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvC;AAED;;;;AAIG;IACH,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;;;QAG5B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;KAC7F;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC7B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9B,SAAA;KACF;;IAGO,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AAE3B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACjC;;IAGD,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;;IAGD,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;KACxC;;IAGD,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AACF;;AChID;;;;;;AAMG;AAgBH;;;AAGG;MAWU,cAAc,CAAA;IAIzB,WACS,CAAA,WAA2C,EACtB,IAAS,EAAA;AAD9B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgC;AAGlD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;KACtC;;AAGD,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;KAC3B;;AAnBU,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,6CAMf,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AANjB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAc,yGCpC3B,qNAIA,EAAA,MAAA,EAAA,CAAA,kYAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kGDgCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,qBAAqB;qBAC/B,EAAA,QAAA,EAAA,qNAAA,EAAA,MAAA,EAAA,CAAA,kYAAA,CAAA,EAAA,CAAA;;;8BAQE,MAAM;+BAAC,kBAAkB,CAAA;;;;AE1C9B;;;;;;AAMG;AAUH;;;AAGG;AACU,MAAA,qBAAqB,GAE9B;;AAEF,IAAA,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE;AAC9B,QAAA,KAAK,CACH,cAAc,EACd,KAAK,CAAC;AACJ,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC,CACH;AACD,QAAA,KAAK,CACH,SAAS,EACT,KAAK,CAAC;AACJ,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC,CACH;AACD,QAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACvE,UAAU,CACR,wBAAwB,EACxB,OAAO,CACL,mCAAmC,EACnC,KAAK,CAAC;AACJ,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC,CACH,CACF;KACF,CAAC;;;ACCJ;;;AAGG;AAkBG,MAAO,oBACX,SAAQ,gBAAgB,CAAA;AAoCxB,IAAA,WAAA,CACU,OAAe,EACf,WAAoC,EACpC,kBAAqC,EACrC,SAAmB;;IAEpB,cAAiC,EAAA;AAExC,QAAA,KAAK,EAAE,CAAC;AAPA,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;AACpC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AACrC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AAEpB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;;AAtCzB,QAAA,IAAc,CAAA,cAAA,GAAW,GAAG,CAAC;;AAMtC,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;AAMlB,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAE,CAAC;;AAG3C,QAAA,IAAA,CAAA,OAAO,GAAkB,IAAI,OAAO,EAAE,CAAC;;AAGvC,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAE,CAAC;;AAGjD,QAAA,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC;AAyDzB;;;;AAIG;AACM,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,MAAiB,KAAI;YAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACpD,SAAC,CAAC;;;QA3CA,IAAI,cAAc,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;AACpF,YAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;AAC1B,SAAA;AAAM,aAAA,IAAI,cAAc,CAAC,UAAU,KAAK,KAAK,EAAE;AAC9C,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACpB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AACvB,SAAA;;;AAID,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC3B,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AACvB,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;AACtB,aAAA;AACF,SAAA;KACF;;AAGD,IAAA,qBAAqB,CAAI,MAA0B,EAAA;QACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;KACzD;;AAGD,IAAA,oBAAoB,CAAI,MAAyB,EAAA;QAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACxD;;AAcD,IAAA,cAAc,CAAC,KAAqB,EAAA;AAClC,QAAA,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;AAEnC,QAAA,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,EAAE;YACxE,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,SAAA;QAED,IAAI,OAAO,KAAK,SAAS,EAAE;;;AAGzB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE9B,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;gBACpB,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AACjC,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC9B,SAAA;KACF;;IAGD,IAAI,GAAA;;;;AAIF,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;;;;QAKhC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;;;AAI5D,QAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;IAGD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAED;;;AAGG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACzD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;;IAGO,qBAAqB,GAAA;AAC3B,QAAA,MAAM,OAAO,GAAgB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAC5D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AAEpD,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;;AAE/B,gBAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnE,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACrC,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACvD,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/C,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,KAAK,KAAK,EAAE;AAClD,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5C,SAAA;KACF;;IAGO,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;AACvF,YAAA,MAAM,KAAK,CAAC,0EAA0E,CAAC,CAAC;AACzF,SAAA;KACF;AAED;;;AAGG;IACK,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,MAAK;AACxC,oBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AACnF,oBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oBAEhF,IAAI,YAAY,IAAI,WAAW,EAAE;;;wBAG/B,IAAI,cAAc,GAAuB,IAAI,CAAC;AAC9C,wBAAA,IACE,IAAI,CAAC,SAAS,CAAC,SAAS;4BACxB,QAAQ,CAAC,aAAa,YAAY,WAAW;AAC7C,4BAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC7C;AACA,4BAAA,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC;AACzC,yBAAA;AAED,wBAAA,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AAC5C,wBAAA,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACtC,wBAAA,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAE,KAAK,EAAE,CAAC;AAExB,wBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,wBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC7B,qBAAA;AACH,iBAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1B,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;;wHA9NU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAcpB,eAAe,ECrF5B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yWAOA,yjBDyDc,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kGAOtC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAOd,eAAA,EAAA,uBAAuB,CAAC,OAAO,iBACjC,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAC3C,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,yBAAyB;AAClC,wBAAA,UAAU,EAAE,iBAAiB;AAC7B,wBAAA,eAAe,EAAE,wBAAwB;qBAC1C,EAAA,QAAA,EAAA,yWAAA,EAAA,MAAA,EAAA,CAAA,+XAAA,CAAA,EAAA,CAAA;0MAgB2C,aAAa,EAAA,CAAA;sBAAxD,SAAS;gBAAC,IAAA,EAAA,CAAA,eAAe,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;;;AErF5C;;;;;;AAMG;MAgBU,iBAAiB,CAAA;;qHAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAFb,oBAAoB,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAFzC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,CAC3E,EAAA,OAAA,EAAA,CAAA,oBAAoB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;AAGpC,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJnB,OAAA,EAAA,CAAA,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EACtD,eAAe,CAAA,EAAA,CAAA,CAAA;kGAGpC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC;AACtF,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;AAChD,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;iBACrD,CAAA;;;ACWD;MACa,6BAA6B,GAAG,IAAI,cAAc,CAC7D,+BAA+B,EAC/B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,qCAAqC;AAC/C,CAAA,EACD;AAEF;SACgB,qCAAqC,GAAA;IACnD,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC;MAGqB,gBAAgB,CAAA;IA+BpC,WACU,CAAA,QAAiB,EACjB,KAAoB,EACpB,SAAmB,EACnB,mBAAuC,EACf,eAAiC,EAClB,cAAiC,EAAA;AALxE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAe;AACpB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAoB;AACf,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;AAClB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;AApClF;;;;AAIG;AACK,QAAA,IAAuB,CAAA,uBAAA,GAA+B,IAAI,CAAC;KAgC/D;;AApBJ,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;AACpC,QAAA,OAAO,MAAM,GAAG,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC;KAC1E;IAED,IAAI,kBAAkB,CAAC,KAAiC,EAAA;QACtD,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;AACtC,SAAA;KACF;AAWD;;;;;;AAMG;IACH,iBAAiB,CAAI,SAA2B,EAAE,MAA0B,EAAA;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAsB,CAAC;KAC7D;AAED;;;;;;AAMG;IACH,gBAAgB,CACd,QAA0B,EAC1B,MAA0B,EAAA;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACvC;AAED;;;;;AAKG;AACH,IAAA,IAAI,CACF,OAAe,EACf,MAAiB,GAAA,EAAE,EACnB,MAA0B,EAAA;QAE1B,MAAM,OAAO,mCAAO,IAAI,CAAC,cAAc,CAAK,EAAA,MAAM,CAAC,CAAC;;;QAIpD,OAAO,CAAC,IAAI,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;;;AAIjC,QAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,OAAO,EAAE;AAC3C,YAAA,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;AACzC,SAAA;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;KACtE;AAED;;AAEG;IACH,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACnC,SAAA;KACF;IAED,WAAW,GAAA;;QAET,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAChC,YAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;AACxC,SAAA;KACF;AAED;;AAEG;IACK,wBAAwB,CAC9B,UAAsB,EACtB,MAAyB,EAAA;AAEzB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC3F,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS;YACtC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC;AAC5D,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,IAAI,CAAC,0BAA0B,EAC/B,MAAM,CAAC,gBAAgB,EACvB,QAAQ,CACT,CAAC;QACF,MAAM,YAAY,GAAqC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC1F,QAAA,YAAY,CAAC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;QAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC;KAC9B;AAED;;AAEG;IACK,OAAO,CACb,OAA0C,EAC1C,UAA8B,EAAA;AAE9B,QAAA,MAAM,MAAM,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,IAAI,iBAAiB,EAAE,CAAA,EAAK,IAAI,CAAC,cAAc,CAAA,EAAK,UAAU,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,cAAc,CAA2B,SAAS,EAAE,UAAU,CAAC,CAAC;QAExF,IAAI,OAAO,YAAY,WAAW,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,IAAK,EAAE;gBAChD,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,WAAW;AACL,aAAA,CAAC,CAAC;YAEV,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC/D,SAAA;AAAM,aAAA;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,CAAI,MAAM,CAAC,CAAC;;AAG9D,YAAA,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;AAC5C,SAAA;;;;AAKD,QAAA,IAAI,CAAC,mBAAmB;AACrB,aAAA,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;aACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;aACzC,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAClF,SAAC,CAAC,CAAC;QAEL,IAAI,MAAM,CAAC,mBAAmB,EAAE;;AAE9B,YAAA,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;AACnC,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACtE,aAAC,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;;IAGO,gBAAgB,CAAC,WAAgC,EAAE,MAAyB,EAAA;;AAElF,QAAA,WAAW,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAK;;AAE1C,YAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,WAAW,EAAE;AAC1C,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,aAAA;YAED,IAAI,MAAM,CAAC,mBAAmB,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACpB,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;;;YAG3B,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAK;AACtD,gBAAA,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACnC,SAAA;AAAM,aAAA;;AAEL,YAAA,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AACvC,SAAA;;QAGD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;AAC1C,YAAA,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC;AACxF,SAAA;KACF;AAED;;;AAGG;AACK,IAAA,cAAc,CAAC,MAAyB,EAAA;AAC9C,QAAA,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAC1C,QAAA,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAE3C,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;;AAEzD,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC;AACzC,QAAA,MAAM,MAAM,GACV,MAAM,CAAC,kBAAkB,KAAK,MAAM;aACnC,MAAM,CAAC,kBAAkB,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC;aAChD,MAAM,CAAC,kBAAkB,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC;AAClE,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;AAClB,YAAA,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA;YACL,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;AACvC,SAAA;;AAED,QAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;AACrC,YAAA,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAA;AAAM,aAAA;AACL,YAAA,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9B,SAAA;AAED,QAAA,aAAa,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KAC5C;AAED;;;;AAIG;IACK,eAAe,CAAI,MAAyB,EAAE,WAA8B,EAAA;AAClF,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAE3F,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,YAAA,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS;AACtC,YAAA,SAAS,EAAE;AACT,gBAAA,EAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAC;gBAChD,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAC;AACrD,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;;oHArQmB,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAoCe,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACzD,6BAA6B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHArCnB,gBAAgB,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;wIAqC0C,gBAAgB,EAAA,UAAA,EAAA,CAAA;8BAAhE,QAAQ;;8BAAI,QAAQ;;8BACpB,MAAM;+BAAC,6BAA6B,CAAA;;;AAmOzC;;AAEG;AAEG,MAAO,WAAY,SAAQ,gBAAgB,CAAA;IAK/C,WACE,CAAA,OAAgB,EAChB,IAAmB,EACnB,QAAkB,EAClB,kBAAsC,EACd,cAA2B,EACZ,aAAgC,EAAA;AAEvE,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAZ1E,QAAA,IAAuB,CAAA,uBAAA,GAAG,cAAc,CAAC;AACzC,QAAA,IAA0B,CAAA,0BAAA,GAAG,oBAAoB,CAAC;AAClD,QAAA,IAAe,CAAA,eAAA,GAAG,uBAAuB,CAAC;KAWnD;;+GAdU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAUoB,WAAW,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAC3C,6BAA6B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAX5B,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADC,iBAAiB,EAAA,CAAA,CAAA;kGAC7B,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAC,UAAU,EAAE,iBAAiB,EAAC,CAAA;;wIAWC,WAAW,EAAA,UAAA,EAAA,CAAA;8BAAlD,QAAQ;;8BAAI,QAAQ;;8BACpB,MAAM;+BAAC,6BAA6B,CAAA;;;;ACtUzC;;;;;;AAMG;;ACNH;;;;;;AAMG;;ACNH;;AAEG;;;;"}
1
+ {"version":3,"file":"snack-bar.mjs","sources":["../../../../../../src/material/snack-bar/snack-bar-config.ts","../../../../../../src/material/snack-bar/snack-bar-ref.ts","../../../../../../src/material/snack-bar/simple-snack-bar.ts","../../../../../../src/material/snack-bar/simple-snack-bar.html","../../../../../../src/material/snack-bar/snack-bar-animations.ts","../../../../../../src/material/snack-bar/snack-bar-container.ts","../../../../../../src/material/snack-bar/snack-bar-container.html","../../../../../../src/material/snack-bar/snack-bar-module.ts","../../../../../../src/material/snack-bar/snack-bar.ts","../../../../../../src/material/snack-bar/public-api.ts","../../../../../../src/material/snack-bar/index.ts","../../../../../../src/material/snack-bar/snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ViewContainerRef, InjectionToken} from '@angular/core';\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {Direction} from '@angular/cdk/bidi';\n\n/** Injection token that can be used to access the data that was passed in to a snack bar. */\nexport const MAT_SNACK_BAR_DATA = new InjectionToken<any>('MatSnackBarData');\n\n/** Possible values for horizontalPosition on MatSnackBarConfig. */\nexport type MatSnackBarHorizontalPosition = 'start' | 'center' | 'end' | 'left' | 'right';\n\n/** Possible values for verticalPosition on MatSnackBarConfig. */\nexport type MatSnackBarVerticalPosition = 'top' | 'bottom';\n\n/**\n * Configuration used when opening a snack-bar.\n */\nexport class MatSnackBarConfig<D = any> {\n /** The politeness level for the MatAriaLiveAnnouncer announcement. */\n politeness?: AriaLivePoliteness = 'assertive';\n\n /**\n * Message to be announced by the LiveAnnouncer. When opening a snackbar without a custom\n * component or template, the announcement message will default to the specified message.\n */\n announcementMessage?: string = '';\n\n /**\n * The view container that serves as the parent for the snackbar for the purposes of dependency\n * injection. Note: this does not affect where the snackbar is inserted in the DOM.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** The length of time in milliseconds to wait before automatically dismissing the snack bar. */\n duration?: number = 0;\n\n /** Extra CSS classes to be added to the snack bar container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the snack bar. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** The horizontal position to place the snack bar. */\n horizontalPosition?: MatSnackBarHorizontalPosition = 'center';\n\n /** The vertical position to place the snack bar. */\n verticalPosition?: MatSnackBarVerticalPosition = 'bottom';\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 {OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {_SnackBarContainer} from './snack-bar-container';\n\n/** Event that is emitted when a snack bar is dismissed. */\nexport interface MatSnackBarDismiss {\n /** Whether the snack bar was dismissed using the action button. */\n dismissedByAction: boolean;\n}\n\n/** Maximum amount of milliseconds that can be passed into setTimeout. */\nconst MAX_TIMEOUT = Math.pow(2, 31) - 1;\n\n/**\n * Reference to a snack bar dispatched from the snack bar service.\n */\nexport class MatSnackBarRef<T> {\n /** The instance of the component making up the content of the snack bar. */\n instance: T;\n\n /**\n * The instance of the component making up the content of the snack bar.\n * @docs-private\n */\n containerInstance: _SnackBarContainer;\n\n /** Subject for notifying the user that the snack bar has been dismissed. */\n private readonly _afterDismissed = new Subject<MatSnackBarDismiss>();\n\n /** Subject for notifying the user that the snack bar has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Subject for notifying the user that the snack bar action was called. */\n private readonly _onAction = new Subject<void>();\n\n /**\n * Timeout ID for the duration setTimeout call. Used to clear the timeout if the snackbar is\n * dismissed before the duration passes.\n */\n private _durationTimeoutId: number;\n\n /** Whether the snack bar was dismissed using the action button. */\n private _dismissedByAction = false;\n\n constructor(containerInstance: _SnackBarContainer, private _overlayRef: OverlayRef) {\n this.containerInstance = containerInstance;\n containerInstance._onExit.subscribe(() => this._finishDismiss());\n }\n\n /** Dismisses the snack bar. */\n dismiss(): void {\n if (!this._afterDismissed.closed) {\n this.containerInstance.exit();\n }\n clearTimeout(this._durationTimeoutId);\n }\n\n /** Marks the snackbar action clicked. */\n dismissWithAction(): void {\n if (!this._onAction.closed) {\n this._dismissedByAction = true;\n this._onAction.next();\n this._onAction.complete();\n this.dismiss();\n }\n clearTimeout(this._durationTimeoutId);\n }\n\n /**\n * Marks the snackbar action clicked.\n * @deprecated Use `dismissWithAction` instead.\n * @breaking-change 8.0.0\n */\n closeWithAction(): void {\n this.dismissWithAction();\n }\n\n /** Dismisses the snack bar after some duration */\n _dismissAfter(duration: number): void {\n // Note that we need to cap the duration to the maximum value for setTimeout, because\n // it'll revert to 1 if somebody passes in something greater (e.g. `Infinity`). See #17234.\n this._durationTimeoutId = setTimeout(() => this.dismiss(), Math.min(duration, MAX_TIMEOUT));\n }\n\n /** Marks the snackbar as opened */\n _open(): void {\n if (!this._afterOpened.closed) {\n this._afterOpened.next();\n this._afterOpened.complete();\n }\n }\n\n /** Cleans up the DOM after closing. */\n private _finishDismiss(): void {\n this._overlayRef.dispose();\n\n if (!this._onAction.closed) {\n this._onAction.complete();\n }\n\n this._afterDismissed.next({dismissedByAction: this._dismissedByAction});\n this._afterDismissed.complete();\n this._dismissedByAction = false;\n }\n\n /** Gets an observable that is notified when the snack bar is finished closing. */\n afterDismissed(): Observable<MatSnackBarDismiss> {\n return this._afterDismissed;\n }\n\n /** Gets an observable that is notified when the snack bar has opened and appeared. */\n afterOpened(): Observable<void> {\n return this.containerInstance._onEnter;\n }\n\n /** Gets an observable that is notified when the snack bar action is called. */\n onAction(): Observable<void> {\n return this._onAction;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n/**\n * Interface for a simple snack bar component that has a message and a single action.\n */\nexport interface TextOnlySnackBar {\n data: {message: string; action: string};\n snackBarRef: MatSnackBarRef<TextOnlySnackBar>;\n action: () => void;\n hasAction: boolean;\n}\n\n/**\n * A component used to open as the default snack bar, matching material spec.\n * This should only be used internally by the snack bar service.\n */\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-simple-snackbar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n /** Data that was injected into the snack bar. */\n data: {message: string; action: string};\n\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) data: any,\n ) {\n this.data = data;\n }\n\n /** Performs the action on the snack bar. */\n action(): void {\n this.snackBarRef.dismissWithAction();\n }\n\n /** If the action button should be shown. */\n get hasAction(): boolean {\n return !!this.data.action;\n }\n}\n","<span class=\"mat-simple-snack-bar-content\">{{data.message}}</span>\n<div class=\"mat-simple-snackbar-action\" *ngIf=\"hasAction\">\n <button mat-button (click)=\"action()\">{{data.action}}</button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the Material snack bar.\n * @docs-private\n */\nexport const matSnackBarAnimations: {\n readonly snackBarState: AnimationTriggerMetadata;\n} = {\n /** Animation that shows and hides a snack bar. */\n snackBarState: trigger('state', [\n state(\n 'void, hidden',\n style({\n transform: 'scale(0.8)',\n opacity: 0,\n }),\n ),\n state(\n 'visible',\n style({\n transform: 'scale(1)',\n opacity: 1,\n }),\n ),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition(\n '* => void, * => hidden',\n animate(\n '75ms cubic-bezier(0.4, 0.0, 1, 1)',\n style({\n opacity: 0,\n }),\n ),\n ),\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationEvent} from '@angular/animations';\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n DomPortal,\n} from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n NgZone,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {matSnackBarAnimations} from './snack-bar-animations';\nimport {MatSnackBarConfig} from './snack-bar-config';\n\n/**\n * Internal interface for a snack bar container.\n * @docs-private\n */\nexport interface _SnackBarContainer {\n snackBarConfig: MatSnackBarConfig;\n readonly _onAnnounce: Subject<any>;\n readonly _onExit: Subject<any>;\n readonly _onEnter: Subject<any>;\n enter: () => void;\n exit: () => Observable<void>;\n attachTemplatePortal: <C>(portal: TemplatePortal<C>) => EmbeddedViewRef<C>;\n attachComponentPortal: <T>(portal: ComponentPortal<T>) => ComponentRef<T>;\n}\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)',\n },\n})\nexport class MatSnackBarContainer\n extends BasePortalOutlet\n implements OnDestroy, _SnackBarContainer\n{\n /** The number of milliseconds to wait before announcing the snack bar's content. */\n private readonly _announceDelay: number = 150;\n\n /** The timeout for announcing the snack bar's content. */\n private _announceTimeoutId: number;\n\n /** Whether the component has been destroyed. */\n private _destroyed = false;\n\n /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has announced to screen readers. */\n readonly _onAnnounce: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<void> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** aria-live value for the live region. */\n _live: AriaLivePoliteness;\n\n /**\n * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n * JAWS does not read out aria-live message.\n */\n _role?: 'status' | 'alert';\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _platform: Platform,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig,\n ) {\n super();\n\n // Use aria-live rather than a live role like 'alert' or 'status'\n // because NVDA and JAWS have show inconsistent behavior with live roles.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._live = 'assertive';\n } else if (snackBarConfig.politeness === 'off') {\n this._live = 'off';\n } else {\n this._live = 'polite';\n }\n\n // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n if (this._platform.FIREFOX) {\n if (this._live === 'polite') {\n this._role = 'status';\n }\n if (this._live === 'assertive') {\n this._role = 'alert';\n }\n }\n }\n\n /** Attach a component portal as content to this snack bar container. */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /** Attach a template portal as content to this snack bar container. */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the snack bar container.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n this._assertNotAttached();\n this._applySnackBarClasses();\n return this._portalOutlet.attachDomPortal(portal);\n };\n\n /** Handle end of animations, updating the state of the snackbar. */\n onAnimationEnd(event: AnimationEvent) {\n const {fromState, toState} = event;\n\n if ((toState === 'void' && fromState !== 'void') || toState === 'hidden') {\n this._completeExit();\n }\n\n if (toState === 'visible') {\n // Note: we shouldn't use `this` inside the zone callback,\n // because it can cause a memory leak.\n const onEnter = this._onEnter;\n\n this._ngZone.run(() => {\n onEnter.next();\n onEnter.complete();\n });\n }\n }\n\n /** Begin animation of snack bar entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.detectChanges();\n this._screenReaderAnnounce();\n }\n }\n\n /** Begin animation of the snack bar exiting from view. */\n exit(): Observable<void> {\n // It's common for snack bars to be opened by random outside calls like HTTP requests or\n // errors. Run inside the NgZone to ensure that it functions correctly.\n this._ngZone.run(() => {\n // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case\n // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to\n // `MatSnackBar.open`).\n this._animationState = 'hidden';\n\n // Mark this element with an 'exit' attribute to indicate that the snackbar has\n // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n // test harness.\n this._elementRef.nativeElement.setAttribute('mat-exit', '');\n\n // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n // long enough to visually read it either, so clear the timeout for announcing.\n clearTimeout(this._announceTimeoutId);\n });\n\n return this._onExit;\n }\n\n /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n ngOnDestroy() {\n this._destroyed = true;\n this._completeExit();\n }\n\n /**\n * Waits for the zone to settle before removing the element. Helps prevent\n * errors where we end up removing an element which is in the middle of an animation.\n */\n private _completeExit() {\n this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n this._ngZone.run(() => {\n this._onExit.next();\n this._onExit.complete();\n });\n });\n }\n\n /** Applies the various positioning and user-configured CSS classes to the snack bar. */\n private _applySnackBarClasses() {\n const element: HTMLElement = this._elementRef.nativeElement;\n const panelClasses = this.snackBarConfig.panelClass;\n\n if (panelClasses) {\n if (Array.isArray(panelClasses)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClasses.forEach(cssClass => element.classList.add(cssClass));\n } else {\n element.classList.add(panelClasses);\n }\n }\n\n if (this.snackBarConfig.horizontalPosition === 'center') {\n element.classList.add('mat-snack-bar-center');\n }\n\n if (this.snackBarConfig.verticalPosition === 'top') {\n element.classList.add('mat-snack-bar-top');\n }\n }\n\n /** Asserts that no content is already attached to the container. */\n private _assertNotAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach snack bar content after content is already attached');\n }\n }\n\n /**\n * Starts a timeout to move the snack bar content to the live region so screen readers will\n * announce it.\n */\n private _screenReaderAnnounce() {\n if (!this._announceTimeoutId) {\n this._ngZone.runOutsideAngular(() => {\n this._announceTimeoutId = setTimeout(() => {\n const inertElement = this._elementRef.nativeElement.querySelector('[aria-hidden]');\n const liveElement = this._elementRef.nativeElement.querySelector('[aria-live]');\n\n if (inertElement && liveElement) {\n // If an element in the snack bar content is focused before being moved\n // track it and restore focus after moving to the live region.\n let focusedElement: HTMLElement | null = null;\n if (\n this._platform.isBrowser &&\n document.activeElement instanceof HTMLElement &&\n inertElement.contains(document.activeElement)\n ) {\n focusedElement = document.activeElement;\n }\n\n inertElement.removeAttribute('aria-hidden');\n liveElement.appendChild(inertElement);\n focusedElement?.focus();\n\n this._onAnnounce.next();\n this._onAnnounce.complete();\n }\n }, this._announceDelay);\n });\n }\n }\n}\n","<!-- Initially holds the snack bar content, will be empty after announcing to screen readers. -->\n<div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n\n<!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n<div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n})\nexport class MatSnackBarModule {}\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 {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, TemplatePortal} from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n InjectionToken,\n Injector,\n Optional,\n SkipSelf,\n TemplateRef,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {TextOnlySnackBar, SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer, _SnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS = new InjectionToken<MatSnackBarConfig>(\n 'mat-snack-bar-default-options',\n {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n@Injectable()\nexport abstract class _MatSnackBarBase implements OnDestroy {\n /**\n * Reference to the current snack bar in the view *at this level* (in the Angular injector tree).\n * If there is a parent snack-bar service, all operations should delegate to that parent\n * via `_openedSnackBarRef`.\n */\n private _snackBarRefAtThisLevel: MatSnackBarRef<any> | null = null;\n\n /** The component that should be rendered as the snack bar's simple component. */\n protected abstract simpleSnackBarComponent: Type<TextOnlySnackBar>;\n\n /** The container component that attaches the provided template or component. */\n protected abstract snackBarContainerComponent: Type<_SnackBarContainer>;\n\n /** The CSS class to apply for handset mode. */\n protected abstract handsetCssClass: string;\n\n /** Reference to the currently opened snackbar at *any* level. */\n get _openedSnackBarRef(): MatSnackBarRef<any> | null {\n const parent = this._parentSnackBar;\n return parent ? parent._openedSnackBarRef : this._snackBarRefAtThisLevel;\n }\n\n set _openedSnackBarRef(value: MatSnackBarRef<any> | null) {\n if (this._parentSnackBar) {\n this._parentSnackBar._openedSnackBarRef = value;\n } else {\n this._snackBarRefAtThisLevel = value;\n }\n }\n\n constructor(\n private _overlay: Overlay,\n private _live: LiveAnnouncer,\n private _injector: Injector,\n private _breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() private _parentSnackBar: _MatSnackBarBase,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig,\n ) {}\n\n /**\n * Creates and dispatches a snack bar with a custom component for the content, removing any\n * currently opened snack bars.\n *\n * @param component Component to be instantiated.\n * @param config Extra configuration for the snack bar.\n */\n openFromComponent<T, D = any>(\n component: ComponentType<T>,\n config?: MatSnackBarConfig<D>,\n ): MatSnackBarRef<T> {\n return this._attach(component, config) as MatSnackBarRef<T>;\n }\n\n /**\n * Creates and dispatches a snack bar with a custom template for the content, removing any\n * currently opened snack bars.\n *\n * @param template Template to be instantiated.\n * @param config Extra configuration for the snack bar.\n */\n openFromTemplate(\n template: TemplateRef<any>,\n config?: MatSnackBarConfig,\n ): MatSnackBarRef<EmbeddedViewRef<any>> {\n return this._attach(template, config);\n }\n\n /**\n * Opens a snackbar with a message and an optional action.\n * @param message The message to show in the snackbar.\n * @param action The label for the snackbar action.\n * @param config Additional configuration options for the snackbar.\n */\n open(\n message: string,\n action: string = '',\n config?: MatSnackBarConfig,\n ): MatSnackBarRef<TextOnlySnackBar> {\n const _config = {...this._defaultConfig, ...config};\n\n // Since the user doesn't have access to the component, we can\n // override the data to pass in our own message and action.\n _config.data = {message, action};\n\n // Since the snack bar has `role=\"alert\"`, we don't\n // want to announce the same message twice.\n if (_config.announcementMessage === message) {\n _config.announcementMessage = undefined;\n }\n\n return this.openFromComponent(this.simpleSnackBarComponent, _config);\n }\n\n /**\n * Dismisses the currently-visible snack bar.\n */\n dismiss(): void {\n if (this._openedSnackBarRef) {\n this._openedSnackBarRef.dismiss();\n }\n }\n\n ngOnDestroy() {\n // Only dismiss the snack bar at the current level on destroy.\n if (this._snackBarRefAtThisLevel) {\n this._snackBarRefAtThisLevel.dismiss();\n }\n }\n\n /**\n * Attaches the snack bar container component to the overlay.\n */\n private _attachSnackBarContainer(\n overlayRef: OverlayRef,\n config: MatSnackBarConfig,\n ): _SnackBarContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: MatSnackBarConfig, useValue: config}],\n });\n\n const containerPortal = new ComponentPortal(\n this.snackBarContainerComponent,\n config.viewContainerRef,\n injector,\n );\n const containerRef: ComponentRef<_SnackBarContainer> = overlayRef.attach(containerPortal);\n containerRef.instance.snackBarConfig = config;\n return containerRef.instance;\n }\n\n /**\n * Places a new component or a template as the content of the snack bar container.\n */\n private _attach<T>(\n content: ComponentType<T> | TemplateRef<T>,\n userConfig?: MatSnackBarConfig,\n ): MatSnackBarRef<T | EmbeddedViewRef<any>> {\n const config = {...new MatSnackBarConfig(), ...this._defaultConfig, ...userConfig};\n const overlayRef = this._createOverlay(config);\n const container = this._attachSnackBarContainer(overlayRef, config);\n const snackBarRef = new MatSnackBarRef<T | EmbeddedViewRef<any>>(container, overlayRef);\n\n if (content instanceof TemplateRef) {\n const portal = new TemplatePortal(content, null!, {\n $implicit: config.data,\n snackBarRef,\n } as any);\n\n snackBarRef.instance = container.attachTemplatePortal(portal);\n } else {\n const injector = this._createInjector(config, snackBarRef);\n const portal = new ComponentPortal(content, undefined, injector);\n const contentRef = container.attachComponentPortal<T>(portal);\n\n // We can't pass this via the injector, because the injector is created earlier.\n snackBarRef.instance = contentRef.instance;\n }\n\n // Subscribe to the breakpoint observer and attach the mat-snack-bar-handset class as\n // appropriate. This class is applied to the overlay element because the overlay must expand to\n // fill the width of the screen for full width snackbars.\n this._breakpointObserver\n .observe(Breakpoints.HandsetPortrait)\n .pipe(takeUntil(overlayRef.detachments()))\n .subscribe(state => {\n overlayRef.overlayElement.classList.toggle(this.handsetCssClass, state.matches);\n });\n\n if (config.announcementMessage) {\n // Wait until the snack bar contents have been announced then deliver this message.\n container._onAnnounce.subscribe(() => {\n this._live.announce(config.announcementMessage!, config.politeness);\n });\n }\n\n this._animateSnackBar(snackBarRef, config);\n this._openedSnackBarRef = snackBarRef;\n return this._openedSnackBarRef;\n }\n\n /** Animates the old snack bar out and the new one in. */\n private _animateSnackBar(snackBarRef: MatSnackBarRef<any>, config: MatSnackBarConfig) {\n // When the snackbar is dismissed, clear the reference to it.\n snackBarRef.afterDismissed().subscribe(() => {\n // Clear the snackbar ref if it hasn't already been replaced by a newer snackbar.\n if (this._openedSnackBarRef == snackBarRef) {\n this._openedSnackBarRef = null;\n }\n\n if (config.announcementMessage) {\n this._live.clear();\n }\n });\n\n if (this._openedSnackBarRef) {\n // If a snack bar is already in view, dismiss it and enter the\n // new snack bar after exit animation is complete.\n this._openedSnackBarRef.afterDismissed().subscribe(() => {\n snackBarRef.containerInstance.enter();\n });\n this._openedSnackBarRef.dismiss();\n } else {\n // If no snack bar is in view, enter the new snack bar.\n snackBarRef.containerInstance.enter();\n }\n\n // If a dismiss timeout is provided, set up dismiss based on after the snackbar is opened.\n if (config.duration && config.duration > 0) {\n snackBarRef.afterOpened().subscribe(() => snackBarRef._dismissAfter(config.duration!));\n }\n }\n\n /**\n * Creates a new overlay and places it in the correct location.\n * @param config The user-specified snack bar config.\n */\n private _createOverlay(config: MatSnackBarConfig): OverlayRef {\n const overlayConfig = new OverlayConfig();\n overlayConfig.direction = config.direction;\n\n let positionStrategy = this._overlay.position().global();\n // Set horizontal position.\n const isRtl = config.direction === 'rtl';\n const isLeft =\n config.horizontalPosition === 'left' ||\n (config.horizontalPosition === 'start' && !isRtl) ||\n (config.horizontalPosition === 'end' && isRtl);\n const isRight = !isLeft && config.horizontalPosition !== 'center';\n if (isLeft) {\n positionStrategy.left('0');\n } else if (isRight) {\n positionStrategy.right('0');\n } else {\n positionStrategy.centerHorizontally();\n }\n // Set horizontal position.\n if (config.verticalPosition === 'top') {\n positionStrategy.top('0');\n } else {\n positionStrategy.bottom('0');\n }\n\n overlayConfig.positionStrategy = positionStrategy;\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an injector to be used inside of a snack bar component.\n * @param config Config that was used to create the snack bar.\n * @param snackBarRef Reference to the snack bar.\n */\n private _createInjector<T>(config: MatSnackBarConfig, snackBarRef: MatSnackBarRef<T>): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return Injector.create({\n parent: userInjector || this._injector,\n providers: [\n {provide: MatSnackBarRef, useValue: snackBarRef},\n {provide: MAT_SNACK_BAR_DATA, useValue: config.data},\n ],\n });\n }\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected simpleSnackBarComponent = SimpleSnackBar;\n protected snackBarContainerComponent = MatSnackBarContainer;\n protected handsetCssClass = 'mat-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\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 './snack-bar-module';\nexport * from './snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-config';\nexport * from './snack-bar-ref';\nexport * from './simple-snack-bar';\nexport * from './snack-bar-animations';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.MatSnackBarConfig","i1","i2","i3"],"mappings":"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"}
package/fesm2015/sort.mjs CHANGED
@@ -146,9 +146,9 @@ class MatSort extends _MatSortBase {
146
146
  this._stateChanges.complete();
147
147
  }
148
148
  }
149
- MatSort.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSort, deps: [{ token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
150
- MatSort.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSort, selector: "[matSort]", inputs: { disabled: ["matSortDisabled", "disabled"], active: ["matSortActive", "active"], start: ["matSortStart", "start"], direction: ["matSortDirection", "direction"], disableClear: ["matSortDisableClear", "disableClear"] }, outputs: { sortChange: "matSortChange" }, host: { classAttribute: "mat-sort" }, exportAs: ["matSort"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSort, decorators: [{
149
+ MatSort.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSort, deps: [{ token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
150
+ MatSort.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatSort, selector: "[matSort]", inputs: { disabled: ["matSortDisabled", "disabled"], active: ["matSortActive", "active"], start: ["matSortStart", "start"], direction: ["matSortDirection", "direction"], disableClear: ["matSortDisableClear", "disableClear"] }, outputs: { sortChange: "matSortChange" }, host: { classAttribute: "mat-sort" }, exportAs: ["matSort"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSort, decorators: [{
152
152
  type: Directive,
153
153
  args: [{
154
154
  selector: '[matSort]',
@@ -278,9 +278,9 @@ class MatSortHeaderIntl {
278
278
  this.changes = new Subject();
279
279
  }
280
280
  }
281
- MatSortHeaderIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortHeaderIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
282
- MatSortHeaderIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortHeaderIntl, providedIn: 'root' });
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortHeaderIntl, decorators: [{
281
+ MatSortHeaderIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortHeaderIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
282
+ MatSortHeaderIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortHeaderIntl, providedIn: 'root' });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortHeaderIntl, decorators: [{
284
284
  type: Injectable,
285
285
  args: [{ providedIn: 'root' }]
286
286
  }] });
@@ -544,8 +544,8 @@ class MatSortHeader extends _MatSortHeaderBase {
544
544
  });
545
545
  }
546
546
  }
547
- MatSortHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortHeader, deps: [{ token: MatSortHeaderIntl }, { token: i0.ChangeDetectorRef }, { token: MatSort, optional: true }, { token: 'MAT_SORT_HEADER_COLUMN_DEF', optional: true }, { token: i3.FocusMonitor }, { token: i0.ElementRef }, { token: i3.AriaDescriber, optional: true }, { token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
548
- MatSortHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSortHeader, selector: "[mat-sort-header]", inputs: { disabled: "disabled", id: ["mat-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortActionDescription: "sortActionDescription", disableClear: "disableClear" }, host: { listeners: { "click": "_handleClick()", "keydown": "_handleKeydown($event)", "mouseenter": "_setIndicatorHintVisible(true)", "mouseleave": "_setIndicatorHintVisible(false)" }, properties: { "attr.aria-sort": "_getAriaSortAttribute()", "class.mat-sort-header-disabled": "_isDisabled()" }, classAttribute: "mat-sort-header" }, exportAs: ["matSortHeader"], usesInheritance: true, ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
547
+ MatSortHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortHeader, deps: [{ token: MatSortHeaderIntl }, { token: i0.ChangeDetectorRef }, { token: MatSort, optional: true }, { token: 'MAT_SORT_HEADER_COLUMN_DEF', optional: true }, { token: i3.FocusMonitor }, { token: i0.ElementRef }, { token: i3.AriaDescriber, optional: true }, { token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
548
+ MatSortHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: MatSortHeader, selector: "[mat-sort-header]", inputs: { disabled: "disabled", id: ["mat-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortActionDescription: "sortActionDescription", disableClear: "disableClear" }, host: { listeners: { "click": "_handleClick()", "keydown": "_handleKeydown($event)", "mouseenter": "_setIndicatorHintVisible(true)", "mouseleave": "_setIndicatorHintVisible(false)" }, properties: { "attr.aria-sort": "_getAriaSortAttribute()", "class.mat-sort-header-disabled": "_isDisabled()" }, classAttribute: "mat-sort-header" }, exportAs: ["matSortHeader"], usesInheritance: true, ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
549
549
  matSortAnimations.indicator,
550
550
  matSortAnimations.leftPointer,
551
551
  matSortAnimations.rightPointer,
@@ -553,7 +553,7 @@ MatSortHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
553
553
  matSortAnimations.arrowPosition,
554
554
  matSortAnimations.allowChildren,
555
555
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortHeader, decorators: [{
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortHeader, decorators: [{
557
557
  type: Component,
558
558
  args: [{ selector: '[mat-sort-header]', exportAs: 'matSortHeader', host: {
559
559
  'class': 'mat-sort-header',
@@ -570,7 +570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
570
570
  matSortAnimations.arrowOpacity,
571
571
  matSortAnimations.arrowPosition,
572
572
  matSortAnimations.allowChildren,
573
- ], template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"] }]
573
+ ], template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}"] }]
574
574
  }], ctorParameters: function () {
575
575
  return [{ type: MatSortHeaderIntl }, { type: i0.ChangeDetectorRef }, { type: MatSort, decorators: [{
576
576
  type: Optional
@@ -609,10 +609,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
609
609
  */
610
610
  class MatSortModule {
611
611
  }
612
- MatSortModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
613
- MatSortModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortModule, declarations: [MatSort, MatSortHeader], imports: [CommonModule, MatCommonModule], exports: [MatSort, MatSortHeader] });
614
- MatSortModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortModule, providers: [MAT_SORT_HEADER_INTL_PROVIDER], imports: [[CommonModule, MatCommonModule]] });
615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSortModule, decorators: [{
612
+ MatSortModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
613
+ MatSortModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortModule, declarations: [MatSort, MatSortHeader], imports: [CommonModule, MatCommonModule], exports: [MatSort, MatSortHeader] });
614
+ MatSortModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortModule, providers: [MAT_SORT_HEADER_INTL_PROVIDER], imports: [CommonModule, MatCommonModule] });
615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: MatSortModule, decorators: [{
616
616
  type: NgModule,
617
617
  args: [{
618
618
  imports: [CommonModule, MatCommonModule],