@angular/material 7.1.1 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +32 -13
  3. package/autocomplete/typings/index.d.ts +0 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/autocomplete/typings/public-api.d.ts +1 -0
  6. package/badge/typings/index.metadata.json +1 -1
  7. package/bottom-sheet/typings/bottom-sheet-ref.d.ts +2 -0
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +18 -12
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +6 -0
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js +12 -6
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +10 -2
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +8 -4
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +1 -1
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +1 -1
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +20 -28
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +6 -6
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -2
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +9 -6
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +41 -1
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-expansion.umd.js +21 -5
  54. package/bundles/material-expansion.umd.js.map +1 -1
  55. package/bundles/material-expansion.umd.min.js +1 -1
  56. package/bundles/material-expansion.umd.min.js.map +1 -1
  57. package/bundles/material-form-field.umd.js +68 -13
  58. package/bundles/material-form-field.umd.js.map +1 -1
  59. package/bundles/material-form-field.umd.min.js +1 -1
  60. package/bundles/material-form-field.umd.min.js.map +1 -1
  61. package/bundles/material-grid-list.umd.js +6 -4
  62. package/bundles/material-grid-list.umd.js.map +1 -1
  63. package/bundles/material-grid-list.umd.min.js +1 -1
  64. package/bundles/material-grid-list.umd.min.js.map +1 -1
  65. package/bundles/material-icon.umd.js +12 -0
  66. package/bundles/material-icon.umd.js.map +1 -1
  67. package/bundles/material-icon.umd.min.js +1 -1
  68. package/bundles/material-icon.umd.min.js.map +1 -1
  69. package/bundles/material-input.umd.js +8 -4
  70. package/bundles/material-input.umd.js.map +1 -1
  71. package/bundles/material-input.umd.min.js +1 -1
  72. package/bundles/material-input.umd.min.js.map +1 -1
  73. package/bundles/material-list.umd.js +98 -11
  74. package/bundles/material-list.umd.js.map +1 -1
  75. package/bundles/material-list.umd.min.js +2 -2
  76. package/bundles/material-list.umd.min.js.map +1 -1
  77. package/bundles/material-menu.umd.js +35 -20
  78. package/bundles/material-menu.umd.js.map +1 -1
  79. package/bundles/material-menu.umd.min.js +1 -1
  80. package/bundles/material-menu.umd.min.js.map +1 -1
  81. package/bundles/material-progress-bar.umd.js +2 -2
  82. package/bundles/material-progress-bar.umd.js.map +1 -1
  83. package/bundles/material-progress-bar.umd.min.js +1 -1
  84. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  85. package/bundles/material-progress-spinner.umd.js +1 -1
  86. package/bundles/material-progress-spinner.umd.min.js +1 -1
  87. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  88. package/bundles/material-radio.umd.js +16 -37
  89. package/bundles/material-radio.umd.js.map +1 -1
  90. package/bundles/material-radio.umd.min.js +1 -1
  91. package/bundles/material-radio.umd.min.js.map +1 -1
  92. package/bundles/material-select.umd.js +13 -3
  93. package/bundles/material-select.umd.js.map +1 -1
  94. package/bundles/material-select.umd.min.js +1 -1
  95. package/bundles/material-select.umd.min.js.map +1 -1
  96. package/bundles/material-sidenav.umd.js +24 -5
  97. package/bundles/material-sidenav.umd.js.map +1 -1
  98. package/bundles/material-sidenav.umd.min.js +1 -1
  99. package/bundles/material-sidenav.umd.min.js.map +1 -1
  100. package/bundles/material-slide-toggle.umd.js +2 -2
  101. package/bundles/material-slide-toggle.umd.js.map +1 -1
  102. package/bundles/material-slide-toggle.umd.min.js +1 -1
  103. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  104. package/bundles/material-slider.umd.js +2 -2
  105. package/bundles/material-slider.umd.js.map +1 -1
  106. package/bundles/material-slider.umd.min.js +1 -1
  107. package/bundles/material-slider.umd.min.js.map +1 -1
  108. package/bundles/material-snack-bar.umd.js +2 -2
  109. package/bundles/material-snack-bar.umd.js.map +1 -1
  110. package/bundles/material-snack-bar.umd.min.js +1 -1
  111. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  112. package/bundles/material-sort.umd.js +1 -1
  113. package/bundles/material-sort.umd.js.map +1 -1
  114. package/bundles/material-sort.umd.min.js +1 -1
  115. package/bundles/material-sort.umd.min.js.map +1 -1
  116. package/bundles/material-stepper.umd.js +26 -6
  117. package/bundles/material-stepper.umd.js.map +1 -1
  118. package/bundles/material-stepper.umd.min.js +1 -1
  119. package/bundles/material-stepper.umd.min.js.map +1 -1
  120. package/bundles/material-table.umd.js +20 -7
  121. package/bundles/material-table.umd.js.map +1 -1
  122. package/bundles/material-table.umd.min.js +1 -1
  123. package/bundles/material-table.umd.min.js.map +1 -1
  124. package/bundles/material-tabs.umd.js +214 -51
  125. package/bundles/material-tabs.umd.js.map +1 -1
  126. package/bundles/material-tabs.umd.min.js +2 -2
  127. package/bundles/material-tabs.umd.min.js.map +1 -1
  128. package/bundles/material-toolbar.umd.js +1 -1
  129. package/bundles/material-toolbar.umd.js.map +1 -1
  130. package/bundles/material-toolbar.umd.min.js +1 -1
  131. package/bundles/material-toolbar.umd.min.js.map +1 -1
  132. package/bundles/material-tooltip.umd.js +13 -1
  133. package/bundles/material-tooltip.umd.js.map +1 -1
  134. package/bundles/material-tooltip.umd.min.js +1 -1
  135. package/bundles/material-tooltip.umd.min.js.map +1 -1
  136. package/bundles/material-tree.umd.js +9 -7
  137. package/bundles/material-tree.umd.js.map +1 -1
  138. package/bundles/material-tree.umd.min.js +1 -1
  139. package/bundles/material-tree.umd.min.js.map +1 -1
  140. package/bundles/material.umd.js +715 -241
  141. package/bundles/material.umd.js.map +1 -1
  142. package/bundles/material.umd.min.js +19 -19
  143. package/bundles/material.umd.min.js.map +1 -1
  144. package/button/typings/button.d.ts +0 -5
  145. package/button/typings/index.metadata.json +1 -1
  146. package/button-toggle/typings/index.metadata.json +1 -1
  147. package/card/typings/index.metadata.json +1 -1
  148. package/checkbox/typings/index.metadata.json +1 -1
  149. package/chips/typings/chip-list.d.ts +1 -1
  150. package/chips/typings/chip.d.ts +5 -5
  151. package/chips/typings/index.metadata.json +1 -1
  152. package/core/typings/index.metadata.json +1 -1
  153. package/core/typings/ripple/ripple.d.ts +2 -2
  154. package/datepicker/typings/calendar.d.ts +2 -2
  155. package/datepicker/typings/index.metadata.json +1 -1
  156. package/dialog/typings/dialog-ref.d.ts +4 -0
  157. package/dialog/typings/index.metadata.json +1 -1
  158. package/esm2015/autocomplete.js +18 -12
  159. package/esm2015/autocomplete.js.map +1 -1
  160. package/esm2015/badge.js +6 -0
  161. package/esm2015/badge.js.map +1 -1
  162. package/esm2015/bottom-sheet.js +11 -5
  163. package/esm2015/bottom-sheet.js.map +1 -1
  164. package/esm2015/button-toggle.js +8 -1
  165. package/esm2015/button-toggle.js.map +1 -1
  166. package/esm2015/button.js +8 -4
  167. package/esm2015/button.js.map +1 -1
  168. package/esm2015/card.js +1 -1
  169. package/esm2015/card.js.map +1 -1
  170. package/esm2015/checkbox.js +1 -1
  171. package/esm2015/checkbox.js.map +1 -1
  172. package/esm2015/chips.js +19 -27
  173. package/esm2015/chips.js.map +1 -1
  174. package/esm2015/core.js +5 -5
  175. package/esm2015/core.js.map +1 -1
  176. package/esm2015/datepicker.js +7 -4
  177. package/esm2015/datepicker.js.map +1 -1
  178. package/esm2015/dialog.js +25 -1
  179. package/esm2015/dialog.js.map +1 -1
  180. package/esm2015/expansion.js +23 -6
  181. package/esm2015/expansion.js.map +1 -1
  182. package/esm2015/form-field.js +61 -13
  183. package/esm2015/form-field.js.map +1 -1
  184. package/esm2015/grid-list.js +5 -3
  185. package/esm2015/grid-list.js.map +1 -1
  186. package/esm2015/icon.js +9 -0
  187. package/esm2015/icon.js.map +1 -1
  188. package/esm2015/input.js +8 -4
  189. package/esm2015/input.js.map +1 -1
  190. package/esm2015/list.js +79 -8
  191. package/esm2015/list.js.map +1 -1
  192. package/esm2015/material.js +7 -7
  193. package/esm2015/material.js.map +1 -1
  194. package/esm2015/menu.js +26 -15
  195. package/esm2015/menu.js.map +1 -1
  196. package/esm2015/progress-bar.js +1 -1
  197. package/esm2015/progress-bar.js.map +1 -1
  198. package/esm2015/radio.js +6 -15
  199. package/esm2015/radio.js.map +1 -1
  200. package/esm2015/select.js +15 -4
  201. package/esm2015/select.js.map +1 -1
  202. package/esm2015/sidenav.js +26 -6
  203. package/esm2015/sidenav.js.map +1 -1
  204. package/esm2015/slide-toggle.js +1 -1
  205. package/esm2015/slide-toggle.js.map +1 -1
  206. package/esm2015/slider.js +4 -4
  207. package/esm2015/slider.js.map +1 -1
  208. package/esm2015/snack-bar.js +1 -1
  209. package/esm2015/snack-bar.js.map +1 -1
  210. package/esm2015/sort.js +1 -1
  211. package/esm2015/sort.js.map +1 -1
  212. package/esm2015/stepper.js +23 -7
  213. package/esm2015/stepper.js.map +1 -1
  214. package/esm2015/table.js +21 -8
  215. package/esm2015/table.js.map +1 -1
  216. package/esm2015/tabs.js +162 -43
  217. package/esm2015/tabs.js.map +1 -1
  218. package/esm2015/toolbar.js +1 -1
  219. package/esm2015/toolbar.js.map +1 -1
  220. package/esm2015/tooltip.js +10 -1
  221. package/esm2015/tooltip.js.map +1 -1
  222. package/esm2015/tree.js +9 -7
  223. package/esm2015/tree.js.map +1 -1
  224. package/esm5/autocomplete.es5.js +18 -12
  225. package/esm5/autocomplete.es5.js.map +1 -1
  226. package/esm5/badge.es5.js +6 -0
  227. package/esm5/badge.es5.js.map +1 -1
  228. package/esm5/bottom-sheet.es5.js +11 -5
  229. package/esm5/bottom-sheet.es5.js.map +1 -1
  230. package/esm5/button-toggle.es5.js +9 -1
  231. package/esm5/button-toggle.es5.js.map +1 -1
  232. package/esm5/button.es5.js +8 -4
  233. package/esm5/button.es5.js.map +1 -1
  234. package/esm5/card.es5.js +1 -1
  235. package/esm5/card.es5.js.map +1 -1
  236. package/esm5/checkbox.es5.js +1 -1
  237. package/esm5/checkbox.es5.js.map +1 -1
  238. package/esm5/chips.es5.js +21 -29
  239. package/esm5/chips.es5.js.map +1 -1
  240. package/esm5/core.es5.js +6 -6
  241. package/esm5/core.es5.js.map +1 -1
  242. package/esm5/datepicker.es5.js +9 -6
  243. package/esm5/datepicker.es5.js.map +1 -1
  244. package/esm5/dialog.es5.js +41 -1
  245. package/esm5/dialog.es5.js.map +1 -1
  246. package/esm5/expansion.es5.js +21 -6
  247. package/esm5/expansion.es5.js.map +1 -1
  248. package/esm5/form-field.es5.js +69 -14
  249. package/esm5/form-field.es5.js.map +1 -1
  250. package/esm5/grid-list.es5.js +5 -3
  251. package/esm5/grid-list.es5.js.map +1 -1
  252. package/esm5/icon.es5.js +12 -0
  253. package/esm5/icon.es5.js.map +1 -1
  254. package/esm5/input.es5.js +8 -4
  255. package/esm5/input.es5.js.map +1 -1
  256. package/esm5/list.es5.js +97 -9
  257. package/esm5/list.es5.js.map +1 -1
  258. package/esm5/material.es5.js +7 -7
  259. package/esm5/material.es5.js.map +1 -1
  260. package/esm5/menu.es5.js +30 -15
  261. package/esm5/menu.es5.js.map +1 -1
  262. package/esm5/progress-bar.es5.js +1 -1
  263. package/esm5/progress-bar.es5.js.map +1 -1
  264. package/esm5/radio.es5.js +18 -37
  265. package/esm5/radio.es5.js.map +1 -1
  266. package/esm5/select.es5.js +14 -4
  267. package/esm5/select.es5.js.map +1 -1
  268. package/esm5/sidenav.es5.js +25 -6
  269. package/esm5/sidenav.es5.js.map +1 -1
  270. package/esm5/slide-toggle.es5.js +1 -1
  271. package/esm5/slide-toggle.es5.js.map +1 -1
  272. package/esm5/slider.es5.js +3 -3
  273. package/esm5/slider.es5.js.map +1 -1
  274. package/esm5/snack-bar.es5.js +1 -1
  275. package/esm5/snack-bar.es5.js.map +1 -1
  276. package/esm5/sort.es5.js +1 -1
  277. package/esm5/sort.es5.js.map +1 -1
  278. package/esm5/stepper.es5.js +27 -7
  279. package/esm5/stepper.es5.js.map +1 -1
  280. package/esm5/table.es5.js +21 -8
  281. package/esm5/table.es5.js.map +1 -1
  282. package/esm5/tabs.es5.js +207 -44
  283. package/esm5/tabs.es5.js.map +1 -1
  284. package/esm5/toolbar.es5.js +1 -1
  285. package/esm5/toolbar.es5.js.map +1 -1
  286. package/esm5/tooltip.es5.js +13 -1
  287. package/esm5/tooltip.es5.js.map +1 -1
  288. package/esm5/tree.es5.js +9 -7
  289. package/esm5/tree.es5.js.map +1 -1
  290. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  291. package/expansion/typings/expansion-panel.d.ts +19 -2
  292. package/expansion/typings/index.metadata.json +1 -1
  293. package/form-field/typings/form-field.d.ts +15 -4
  294. package/form-field/typings/index.metadata.json +1 -1
  295. package/form-field/typings/prefix.d.ts +1 -1
  296. package/grid-list/typings/index.d.ts +1 -1
  297. package/grid-list/typings/index.metadata.json +1 -1
  298. package/icon/typings/icon-registry.d.ts +3 -2
  299. package/icon/typings/index.metadata.json +1 -1
  300. package/list/typings/index.metadata.json +1 -1
  301. package/list/typings/list.d.ts +16 -5
  302. package/list/typings/selection-list.d.ts +1 -0
  303. package/menu/typings/index.d.ts +4 -4
  304. package/menu/typings/index.metadata.json +1 -1
  305. package/menu/typings/menu-directive.d.ts +1 -0
  306. package/menu/typings/menu-trigger.d.ts +1 -1
  307. package/package.json +5 -5
  308. package/prebuilt-themes/deeppurple-amber.css +1 -1
  309. package/prebuilt-themes/indigo-pink.css +1 -1
  310. package/prebuilt-themes/pink-bluegrey.css +1 -1
  311. package/prebuilt-themes/purple-green.css +1 -1
  312. package/progress-bar/typings/index.metadata.json +1 -1
  313. package/radio/typings/index.metadata.json +1 -1
  314. package/radio/typings/radio.d.ts +2 -6
  315. package/schematics/ng-add/theming/theming.js +10 -9
  316. package/schematics/ng-add/theming/theming.js.map +1 -1
  317. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  318. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  319. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  320. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  321. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  322. package/select/typings/index.metadata.json +1 -1
  323. package/select/typings/select.d.ts +12 -2
  324. package/sidenav/typings/drawer.d.ts +9 -2
  325. package/sidenav/typings/index.metadata.json +1 -1
  326. package/slide-toggle/typings/index.metadata.json +1 -1
  327. package/slider/typings/index.metadata.json +1 -1
  328. package/snack-bar/typings/index.metadata.json +1 -1
  329. package/sort/typings/index.metadata.json +1 -1
  330. package/stepper/typings/index.metadata.json +1 -1
  331. package/stepper/typings/step-header.d.ts +1 -0
  332. package/table/typings/index.metadata.json +1 -1
  333. package/table/typings/table-data-source.d.ts +2 -0
  334. package/tabs/typings/index.d.ts +5 -5
  335. package/tabs/typings/index.metadata.json +1 -1
  336. package/tabs/typings/tab-group.d.ts +2 -1
  337. package/tabs/typings/tab-header.d.ts +33 -6
  338. package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +6 -6
  339. package/toolbar/typings/index.metadata.json +1 -1
  340. package/tooltip/typings/index.metadata.json +1 -1
  341. package/tooltip/typings/tooltip.d.ts +3 -1
  342. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  343. package/tree/typings/index.metadata.json +1 -1
  344. package/typings/autocomplete/index.d.ts +0 -1
  345. package/typings/autocomplete/index.metadata.json +1 -1
  346. package/typings/autocomplete/public-api.d.ts +1 -0
  347. package/typings/badge/index.metadata.json +1 -1
  348. package/typings/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
  349. package/typings/bottom-sheet/index.metadata.json +1 -1
  350. package/typings/button/button.d.ts +0 -5
  351. package/typings/button/index.metadata.json +1 -1
  352. package/typings/button-toggle/index.metadata.json +1 -1
  353. package/typings/card/index.metadata.json +1 -1
  354. package/typings/checkbox/index.metadata.json +1 -1
  355. package/typings/chips/chip-list.d.ts +1 -1
  356. package/typings/chips/chip.d.ts +5 -5
  357. package/typings/chips/index.metadata.json +1 -1
  358. package/typings/core/index.metadata.json +1 -1
  359. package/typings/core/ripple/ripple.d.ts +2 -2
  360. package/typings/datepicker/calendar.d.ts +2 -2
  361. package/typings/datepicker/index.metadata.json +1 -1
  362. package/typings/dialog/dialog-ref.d.ts +4 -0
  363. package/typings/dialog/index.metadata.json +1 -1
  364. package/typings/esm5/autocomplete/index.d.ts +0 -1
  365. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  366. package/typings/esm5/autocomplete/public-api.d.ts +1 -0
  367. package/typings/esm5/badge/index.metadata.json +1 -1
  368. package/typings/esm5/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
  369. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  370. package/typings/esm5/button/button.d.ts +0 -5
  371. package/typings/esm5/button/index.metadata.json +1 -1
  372. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  373. package/typings/esm5/card/index.metadata.json +1 -1
  374. package/typings/esm5/checkbox/index.metadata.json +1 -1
  375. package/typings/esm5/chips/chip-list.d.ts +1 -1
  376. package/typings/esm5/chips/chip.d.ts +5 -5
  377. package/typings/esm5/chips/index.metadata.json +1 -1
  378. package/typings/esm5/core/index.metadata.json +1 -1
  379. package/typings/esm5/core/ripple/ripple.d.ts +2 -2
  380. package/typings/esm5/datepicker/calendar.d.ts +2 -2
  381. package/typings/esm5/datepicker/index.metadata.json +1 -1
  382. package/typings/esm5/dialog/dialog-ref.d.ts +4 -0
  383. package/typings/esm5/dialog/index.metadata.json +1 -1
  384. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  385. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  386. package/typings/esm5/expansion/index.metadata.json +1 -1
  387. package/typings/esm5/form-field/form-field.d.ts +15 -4
  388. package/typings/esm5/form-field/index.metadata.json +1 -1
  389. package/typings/esm5/form-field/prefix.d.ts +1 -1
  390. package/typings/esm5/grid-list/index.d.ts +1 -1
  391. package/typings/esm5/grid-list/index.metadata.json +1 -1
  392. package/typings/esm5/icon/icon-registry.d.ts +3 -2
  393. package/typings/esm5/icon/index.metadata.json +1 -1
  394. package/typings/esm5/index.metadata.json +1 -1
  395. package/typings/esm5/list/index.metadata.json +1 -1
  396. package/typings/esm5/list/list.d.ts +16 -5
  397. package/typings/esm5/list/selection-list.d.ts +1 -0
  398. package/typings/esm5/menu/index.d.ts +4 -4
  399. package/typings/esm5/menu/index.metadata.json +1 -1
  400. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  401. package/typings/esm5/menu/menu-trigger.d.ts +1 -1
  402. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  403. package/typings/esm5/radio/index.metadata.json +1 -1
  404. package/typings/esm5/radio/radio.d.ts +2 -6
  405. package/typings/esm5/select/index.metadata.json +1 -1
  406. package/typings/esm5/select/select.d.ts +12 -2
  407. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  408. package/typings/esm5/sidenav/index.metadata.json +1 -1
  409. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  410. package/typings/esm5/slider/index.metadata.json +1 -1
  411. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  412. package/typings/esm5/sort/index.metadata.json +1 -1
  413. package/typings/esm5/stepper/index.metadata.json +1 -1
  414. package/typings/esm5/stepper/step-header.d.ts +1 -0
  415. package/typings/esm5/table/index.metadata.json +1 -1
  416. package/typings/esm5/table/table-data-source.d.ts +2 -0
  417. package/typings/esm5/tabs/index.d.ts +5 -5
  418. package/typings/esm5/tabs/index.metadata.json +1 -1
  419. package/typings/esm5/tabs/tab-group.d.ts +2 -1
  420. package/typings/esm5/tabs/tab-header.d.ts +33 -6
  421. package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +6 -6
  422. package/typings/esm5/toolbar/index.metadata.json +1 -1
  423. package/typings/esm5/tooltip/index.metadata.json +1 -1
  424. package/typings/esm5/tooltip/tooltip.d.ts +3 -1
  425. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  426. package/typings/esm5/tree/index.metadata.json +1 -1
  427. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  428. package/typings/expansion/expansion-panel.d.ts +19 -2
  429. package/typings/expansion/index.metadata.json +1 -1
  430. package/typings/form-field/form-field.d.ts +15 -4
  431. package/typings/form-field/index.metadata.json +1 -1
  432. package/typings/form-field/prefix.d.ts +1 -1
  433. package/typings/grid-list/index.d.ts +1 -1
  434. package/typings/grid-list/index.metadata.json +1 -1
  435. package/typings/icon/icon-registry.d.ts +3 -2
  436. package/typings/icon/index.metadata.json +1 -1
  437. package/typings/index.metadata.json +1 -1
  438. package/typings/list/index.metadata.json +1 -1
  439. package/typings/list/list.d.ts +16 -5
  440. package/typings/list/selection-list.d.ts +1 -0
  441. package/typings/menu/index.d.ts +4 -4
  442. package/typings/menu/index.metadata.json +1 -1
  443. package/typings/menu/menu-directive.d.ts +1 -0
  444. package/typings/menu/menu-trigger.d.ts +1 -1
  445. package/typings/progress-bar/index.metadata.json +1 -1
  446. package/typings/radio/index.metadata.json +1 -1
  447. package/typings/radio/radio.d.ts +2 -6
  448. package/typings/select/index.metadata.json +1 -1
  449. package/typings/select/select.d.ts +12 -2
  450. package/typings/sidenav/drawer.d.ts +9 -2
  451. package/typings/sidenav/index.metadata.json +1 -1
  452. package/typings/slide-toggle/index.metadata.json +1 -1
  453. package/typings/slider/index.metadata.json +1 -1
  454. package/typings/snack-bar/index.metadata.json +1 -1
  455. package/typings/sort/index.metadata.json +1 -1
  456. package/typings/stepper/index.metadata.json +1 -1
  457. package/typings/stepper/step-header.d.ts +1 -0
  458. package/typings/table/index.metadata.json +1 -1
  459. package/typings/table/table-data-source.d.ts +2 -0
  460. package/typings/tabs/index.d.ts +5 -5
  461. package/typings/tabs/index.metadata.json +1 -1
  462. package/typings/tabs/tab-group.d.ts +2 -1
  463. package/typings/tabs/tab-header.d.ts +33 -6
  464. package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +6 -6
  465. package/typings/toolbar/index.metadata.json +1 -1
  466. package/typings/tooltip/index.metadata.json +1 -1
  467. package/typings/tooltip/tooltip.d.ts +3 -1
  468. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  469. package/typings/tree/index.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"material-snack-bar.umd.js","sources":["../../src/lib/snack-bar/snack-bar.ts","../../src/lib/snack-bar/snack-bar-module.ts","../../src/lib/snack-bar/snack-bar-container.ts","../../src/lib/snack-bar/snack-bar-animations.ts","../../src/lib/snack-bar/simple-snack-bar.ts","../../src/lib/snack-bar/snack-bar-config.ts","../../src/lib/snack-bar/snack-bar-ref.ts","../../node_modules/tslib/tslib.es6.js"],"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 {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, PortalInjector, 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} from '@angular/core';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS =\n new InjectionToken<MatSnackBarConfig>('mat-snack-bar-default-options', {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar 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 /** 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: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig) {}\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):\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(template: TemplateRef<any>, 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(message: string, action: string = '', config?: MatSnackBarConfig):\n MatSnackBarRef<SimpleSnackBar> {\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 if (!_config.announcementMessage) {\n _config.announcementMessage = message;\n }\n\n return this.openFromComponent(SimpleSnackBar, _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(overlayRef: OverlayRef,\n config: MatSnackBarConfig): MatSnackBarContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatSnackBarConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatSnackBarContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatSnackBarContainer> = 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>(content: ComponentType<T> | TemplateRef<T>, userConfig?: MatSnackBarConfig):\n MatSnackBarRef<T | EmbeddedViewRef<any>> {\n\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.observe(Breakpoints.Handset).pipe(\n takeUntil(overlayRef.detachments().pipe(take(1)))\n ).subscribe(state => {\n if (state.matches) {\n overlayRef.overlayElement.classList.add('mat-snack-bar-handset');\n } else {\n overlayRef.overlayElement.classList.remove('mat-snack-bar-handset');\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 if (config.announcementMessage) {\n this._live.announce(config.announcementMessage, config.politeness);\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>(\n config: MatSnackBarConfig,\n snackBarRef: MatSnackBarRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return new PortalInjector(userInjector || this._injector, new WeakMap<any, any>([\n [MatSnackBarRef, snackBarRef],\n [MAT_SNACK_BAR_DATA, config.data]\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 {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\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n CommonModule,\n MatButtonModule,\n MatCommonModule,\n ],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n entryComponents: [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 {AnimationEvent} from '@angular/animations';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\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/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n '[attr.role]': '_role',\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)'\n },\n})\nexport class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy {\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) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<any> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<any> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** ARIA role for the snack bar container. */\n _role: 'alert' | 'status' | null;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig) {\n\n super();\n\n // Based on the ARIA spec, `alert` and `status` roles have an\n // implicit `assertive` and `polite` politeness respectively.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._role = 'alert';\n } else if (snackBarConfig.politeness === 'off') {\n this._role = null;\n } else {\n this._role = 'status';\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 /** 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 }\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 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.asObservable().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()) {\n throw Error('Attempting to attach snack bar content after content is already attached');\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 */\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('void, hidden', style({\n transform: 'scale(0.8)',\n opacity: 0,\n })),\n state('visible', style({\n transform: 'scale(1)',\n opacity: 1,\n })),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void, * => hidden', animate('75ms cubic-bezier(0.4, 0.0, 1, 1)', style({\n opacity: 0\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 {Component, ViewEncapsulation, Inject, ChangeDetectionStrategy} from '@angular/core';\nimport {MatSnackBarRef} from './snack-bar-ref';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\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 moduleId: module.id,\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 {\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 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","/**\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 /** The view container to place the overlay for the snack bar into. */\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 {MatSnackBarContainer} from './snack-bar-container';\n\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/**\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: MatSnackBarContainer;\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: MatSnackBarContainer,\n 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 }\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 this._durationTimeoutId = setTimeout(() => this.dismiss(), duration);\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.asObservable();\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.asObservable();\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["Inject","Optional","SkipSelf","BreakpointObserver","Injector","LiveAnnouncer","Overlay","Injectable","PortalInjector","OverlayConfig","state","Breakpoints","takeUntil","take","portal","ComponentPortal","TemplatePortal","TemplateRef","tslib_1.__assign","InjectionToken","MatCommonModule","MatButtonModule","CommonModule","PortalModule","OverlayModule","NgModule","ChangeDetectorRef","ViewEncapsulation","ChangeDetectionStrategy","Component","Subject","tslib_1.__extends","transition","animate","style","trigger"],"mappings":"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"}
1
+ {"version":3,"file":"material-snack-bar.umd.js","sources":["../../src/lib/snack-bar/snack-bar.ts","../../src/lib/snack-bar/snack-bar-module.ts","../../src/lib/snack-bar/snack-bar-container.ts","../../src/lib/snack-bar/snack-bar-animations.ts","../../src/lib/snack-bar/simple-snack-bar.ts","../../src/lib/snack-bar/snack-bar-config.ts","../../src/lib/snack-bar/snack-bar-ref.ts","../../node_modules/tslib/tslib.es6.js"],"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 {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, PortalInjector, 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} from '@angular/core';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS =\n new InjectionToken<MatSnackBarConfig>('mat-snack-bar-default-options', {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar 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 /** 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: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig) {}\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):\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(template: TemplateRef<any>, 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(message: string, action: string = '', config?: MatSnackBarConfig):\n MatSnackBarRef<SimpleSnackBar> {\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 if (!_config.announcementMessage) {\n _config.announcementMessage = message;\n }\n\n return this.openFromComponent(SimpleSnackBar, _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(overlayRef: OverlayRef,\n config: MatSnackBarConfig): MatSnackBarContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatSnackBarConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatSnackBarContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatSnackBarContainer> = 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>(content: ComponentType<T> | TemplateRef<T>, userConfig?: MatSnackBarConfig):\n MatSnackBarRef<T | EmbeddedViewRef<any>> {\n\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.observe(Breakpoints.Handset).pipe(\n takeUntil(overlayRef.detachments().pipe(take(1)))\n ).subscribe(state => {\n if (state.matches) {\n overlayRef.overlayElement.classList.add('mat-snack-bar-handset');\n } else {\n overlayRef.overlayElement.classList.remove('mat-snack-bar-handset');\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 if (config.announcementMessage) {\n this._live.announce(config.announcementMessage, config.politeness);\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>(\n config: MatSnackBarConfig,\n snackBarRef: MatSnackBarRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return new PortalInjector(userInjector || this._injector, new WeakMap<any, any>([\n [MatSnackBarRef, snackBarRef],\n [MAT_SNACK_BAR_DATA, config.data]\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 {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\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n CommonModule,\n MatButtonModule,\n MatCommonModule,\n ],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n entryComponents: [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 {AnimationEvent} from '@angular/animations';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\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/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n '[attr.role]': '_role',\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)'\n },\n})\nexport class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy {\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) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<any> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<any> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** ARIA role for the snack bar container. */\n _role: 'alert' | 'status' | null;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig) {\n\n super();\n\n // Based on the ARIA spec, `alert` and `status` roles have an\n // implicit `assertive` and `polite` politeness respectively.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._role = 'alert';\n } else if (snackBarConfig.politeness === 'off') {\n this._role = null;\n } else {\n this._role = 'status';\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 /** 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 }\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 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.asObservable().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()) {\n throw Error('Attempting to attach snack bar content after content is already attached');\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 */\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('void, hidden', style({\n transform: 'scale(0.8)',\n opacity: 0,\n })),\n state('visible', style({\n transform: 'scale(1)',\n opacity: 1,\n })),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void, * => hidden', animate('75ms cubic-bezier(0.4, 0.0, 1, 1)', style({\n opacity: 0\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 {Component, ViewEncapsulation, Inject, ChangeDetectionStrategy} from '@angular/core';\nimport {MatSnackBarRef} from './snack-bar-ref';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\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 moduleId: module.id,\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 {\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 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","/**\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 /** The view container to place the overlay for the snack bar into. */\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 {MatSnackBarContainer} from './snack-bar-container';\n\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/**\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: MatSnackBarContainer;\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: MatSnackBarContainer,\n 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 }\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 this._durationTimeoutId = setTimeout(() => this.dismiss(), duration);\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.asObservable();\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.asObservable();\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["Inject","Optional","SkipSelf","BreakpointObserver","Injector","LiveAnnouncer","Overlay","Injectable","PortalInjector","OverlayConfig","state","Breakpoints","takeUntil","take","portal","ComponentPortal","TemplatePortal","TemplateRef","tslib_1.__assign","InjectionToken","MatCommonModule","MatButtonModule","CommonModule","PortalModule","OverlayModule","NgModule","ChangeDetectorRef","ViewEncapsulation","ChangeDetectionStrategy","Component","Subject","tslib_1.__extends","transition","animate","style","trigger"],"mappings":";;;;;;;;;;;;;AOAA;;;;;;;;;;;;;;;;AAgBA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;SAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC9B,CAAC;;AAEF,AAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAC5B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;CACxF;;AAED,AAAO,IAAI,QAAQ,GAAG,WAAW;IAC7B,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;QAC7C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAChF;QACD,OAAO,CAAC,CAAC;MACZ;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CAC1C;;;;;;;;;;ADhBD,AAAA,IAAA;;;;;IA4BE,SAAF,cAAA,CAAc,iBAAuC,EAC/B,WAAuB,EAD7C;QAAE,IAAF,KAAA,GAAA,IAAA,CAMG;QALmB,IAAtB,CAAA,WAAiC,GAAX,WAAW,CAAY;;;;QAlB1B,IAAnB,CAAA,eAAkC,GAAG,IAAI8B,YAAO,EAAsB,CAAC;;;;QAGpD,IAAnB,CAAA,YAA+B,GAAG,IAAIA,YAAO,EAAQ,CAAC;;;;QAGnC,IAAnB,CAAA,SAA4B,GAAG,IAAIA,YAAO,EAAQ,CAAC;;;;QASzC,IAAV,CAAA,kBAA4B,GAAG,KAAK,CAAC;QAIjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;;QAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,YAA9B,EAAoC,OAAA,KAAI,CAAC,OAAO,EAAE,CAAlD,EAAkD,CAAC,CAAC;QAChD,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,YAAxC,EAA8C,OAAA,KAAI,CAAC,cAAc,EAAE,CAAnE,EAAmE,CAAC,CAAC;KAClE;;;;;;IAGD,cAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvC,CAAH;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,iBAAmB;;;;IAAjB,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC3B;KACF,CAAH;;;;;;;;;;;;IAQE,cAAF,CAAA,SAAA,CAAA,eAAiB;;;;;;IAAf,YAAF;QACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B,CAAH;;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,aAAe;;;;;IAAb,UAAc,QAAgB,EAAhC;QAAE,IAAF,KAAA,GAAA,IAAA,CAEG;QADC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,YAAzC,EAA+C,OAAA,KAAI,CAAC,OAAO,EAAE,CAA7D,EAA6D,EAAE,QAAQ,CAAC,CAAC;KACtE,CAAH;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,KAAO;;;;IAAL,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;SAC9B;KACF,CAAH;;;;;;;IAGU,cAAV,CAAA,SAAA,CAAA,cAAwB;;;;;IAAtB,YAAF;QACI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC3B;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACjC,CAAH;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,cAAgB;;;;IAAd,YAAF;QACI,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC5C,CAAH;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,WAAa;;;;IAAX,YAAF;QACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;KACxC,CAAH;;;;;;IAGE,cAAF,CAAA,SAAA,CAAA,QAAU;;;;IAAR,YAAF;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACtC,CAAH;IACA,OAAA,cAAC,CAAD;CAAC,EAAD,CAAA,CAAA;;;;;;;;;;ADhHA,AAAA,IAAa,kBAAkB,GAAG,IAAIX,mBAAc,CAAM,iBAAiB,CAAC,CAA5E;;;;;AAWA,AAAA,IAAA;;;;;IAAA,SAAA,iBAAA,GAAA;;;;QAEE,IAAF,CAAA,UAAY,GAAwB,WAAW,CAAC;;;;;QAM9C,IAAF,CAAA,mBAAqB,GAAY,EAAE,CAAC;;;;QAMlC,IAAF,CAAA,QAAU,GAAY,CAAC,CAAC;;;;QAStB,IAAF,CAAA,IAAM,GAAc,IAAI,CAAC;;;;QAGvB,IAAF,CAAA,kBAAoB,GAAmC,QAAQ,CAAC;;;;QAG9D,IAAF,CAAA,gBAAkB,GAAiC,QAAQ,CAAC;KAC3D;IAAD,OAAA,iBAAC,CAAD;CAAC,EAAD,CAAA,CAAA;;;;;;;;;;ADrCA,AAAA,IAAA,cAAA,kBAAA,YAAA;IAeE,SAAF,cAAA,CACW,WAA2C,EACtB,IAAS,EAFzC;QACW,IAAX,CAAA,WAAsB,GAAX,WAAW,CAAgC;QAElD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;;;;;IAGD,cAAF,CAAA,SAAA,CAAA,MAAQ;;;;IAAN,YAAF;QACI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;KACtC,CAAH;IAGE,MAAF,CAAA,cAAA,CAAM,cAAN,CAAA,SAAA,EAAA,WAAe,EAAf;;;;;;QAAE,YAAF;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;SAC3B;;;KAAH,CAAA,CAAG;;QA7BH,EAAA,IAAA,EAACU,cAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,kBAAA;oBACE,QAAQ,EAAE,mKAAZ;oBACE,MAAF,EAAU,CAAV,uUAAA,CAAA;oBACE,aAAa,EAAfF,sBAAA,CAAA,IAAA;oBACE,eAAF,EAAAC,4BAAA,CAAA,MAAA;oBACE,IAAF,EAAA;wBACA,OAAA,EAAA,qBAAA;qBACA;iBACA,EAAA,EAAA;KACA,CAAA;;;;;KAjBA,CAAA,EAAA,CAAA;IAyBA,OAAA,cAAA,CAAA;;;;;;;;;;;;ADdA,AAAA,IAAa,qBAAqB,GAE9B;;;;IAEF,aAAa,EAAEO,kBAAO,CAAC,OAAO,EAAE;QAC9BzB,gBAAK,CAAC,cAAc,EAAEwB,gBAAK,CAAC;YAC1B,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACHxB,gBAAK,CAAC,SAAS,EAAEwB,gBAAK,CAAC;YACrB,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACHF,qBAAU,CAAC,cAAc,EAAEC,kBAAO,CAAC,kCAAkC,CAAC,CAAC;QACvED,qBAAU,CAAC,wBAAwB,EAAEC,kBAAO,CAAC,mCAAmC,EAAEC,gBAAK,CAAC;YACtF,OAAO,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;KACL,CAAC;CACH,CAAD;;;;;;;;;;ADDA,AAAA,IAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;IAe0CH,SAA1C,CAAA,oBAAA,EAAA,MAAA,CAAA,CAA0D;IAmBxD,SAAF,oBAAA,CACY,OAAe,EACf,WAAoC,EACpC,kBAAqC,EAEtC,cAAiC,EAL5C;QAAE,IAAF,KAAA,GAOI,MAPJ,CAAA,IAAA,CAAA,IAAA,CAOW,IAPX,IAAA,CAkBG;QAjBS,KAAZ,CAAA,OAAmB,GAAP,OAAO,CAAQ;QACf,KAAZ,CAAA,WAAuB,GAAX,WAAW,CAAyB;QACpC,KAAZ,CAAA,kBAA8B,GAAlB,kBAAkB,CAAmB;QAEtC,KAAX,CAAA,cAAyB,GAAd,cAAc,CAAmB;;;;QAtBlC,KAAV,CAAA,UAAoB,GAAG,KAAK,CAAC;;;;QAMlB,KAAX,CAAA,OAAkB,GAAiB,IAAID,YAAO,EAAE,CAAC;;;;QAGtC,KAAX,CAAA,QAAmB,GAAiB,IAAIA,YAAO,EAAE,CAAC;;;;QAGhD,KAAF,CAAA,eAAiB,GAAG,MAAM,CAAC;;;QAgBvB,IAAI,cAAc,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;YACpF,KAAI,CAAC,KAAK,GAAG,OAAO,CAAC;SACtB;aAAM,IAAI,cAAc,CAAC,UAAU,KAAK,KAAK,EAAE;YAC9C,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;aAAM;YACL,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;SACvB;;KACF;;;;;;;;IAGD,oBAAF,CAAA,SAAA,CAAA,qBAAuB;;;;;;IAArB,UAAyBhB,SAA0B,EAArD;QACI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAACA,SAAM,CAAC,CAAC;KACzD,CAAH;;;;;;;;IAGE,oBAAF,CAAA,SAAA,CAAA,oBAAsB;;;;;;IAApB,UAAwBA,SAAyB,EAAnD;QACI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAACA,SAAM,CAAC,CAAC;KACxD,CAAH;;;;;;;IAGE,oBAAF,CAAA,SAAA,CAAA,cAAgB;;;;;IAAd,UAAe,KAAqB,EAAtC;QACW,IAAA,SAAX,GAAA,KAAA,CAAA,SAAoB,EAAE,OAAtB,GAAA,KAAA,CAAA,OAA6B,CAA7B;QAEI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,EAAE;YACxE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,IAAI,OAAO,KAAK,SAAS,EAAE;;;;YAG/B,IAAY,SAAO,GAAG,IAAI,CAAC,QAAQ,CAAnC;YAEM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAvB;gBACQ,SAAO,CAAC,IAAI,EAAE,CAAC;gBACf,SAAO,CAAC,QAAQ,EAAE,CAAC;aACpB,CAAC,CAAC;SACJ;KACF,CAAH;;;;;;IAGE,oBAAF,CAAA,SAAA,CAAA,KAAO;;;;IAAL,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;KACF,CAAH;;;;;;IAGE,oBAAF,CAAA,SAAA,CAAA,IAAM;;;;IAAJ,YAAF;;;;QAII,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB,CAAH;;;;;;IAGE,oBAAF,CAAA,SAAA,CAAA,WAAa;;;;IAAX,YAAF;QACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB,CAAH;;;;;;;;;;;IAMU,oBAAV,CAAA,SAAA,CAAA,aAAuB;;;;;;IAArB,YAAF;QAAE,IAAF,KAAA,GAAA,IAAA,CAKG;QAJC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAACD,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAzE;YACM,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SACzB,CAAC,CAAC;KACJ,CAAH;;;;;;;IAGU,oBAAV,CAAA,SAAA,CAAA,qBAA+B;;;;;IAA7B,YAAF;;QACA,IAAU,OAAO,GAAgB,IAAI,CAAC,WAAW,CAAC,aAAa,CAA/D;;QACA,IAAU,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAvD;QAEI,IAAI,YAAY,EAAE;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;;gBAE/B,YAAY,CAAC,OAAO,CAAC,UAAA,QAAQ,EAArC,EAAyC,OAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAxE,EAAwE,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACrC;SACF;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,KAAK,QAAQ,EAAE;YACvD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;SAC/C;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,KAAK,KAAK,EAAE;YAClD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAC5C;KACF,CAAH;;;;;;;IAGU,oBAAV,CAAA,SAAA,CAAA,kBAA4B;;;;;IAA1B,YAAF;QACI,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,KAAK,CAAC,0EAA0E,CAAC,CAAC;SACzF;KACF,CAAH;;QAtJA,EAAA,IAAA,EAACgB,cAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,qBAAA;oBACE,QAAQ,EAAE,6CAAZ;oBACE,MAAF,EAAU,CAAV,sYAAA,CAAA;oBACE,eAAF,EAAAD,4BAAA,CAAA,MAAA;oBACE,aAAF,EAAAD,sBAAA,CAAA,IAAuC;oBACrC,UAAF,EAAA,CAAA,qBAAA,CAAA,aAAA,CAAA;oBACE,IAAF,EAAA;wBACA,aAAA,EAAA,OAAA;wBACM,OAAN,EAAA,yBAAA;wBACI,UAAJ,EAAA,iBAAA;wBACI,eAAJ,EAAA,wBAAA;qBACA;iBACA,EAAA,EAAA;KACA,CAAA;;;;;QA5BA,EAAA,IAAA,EAAED,sBAAF,EAAA;QAFA,EAAA,IAAA,EAAE,iBAAF,EAAA;KAHA,CAAA,EAAA,CAAA;IAaA,oBAAA,CAAA,cAAA,GAAA;;;IA2BA,OAAA,oBAAA,CAAG;;;;;;;ADvCH,AAAA,IAAA,iBAAA,kBAAA,YAAA;IAAA,SAAA,iBAAA,GAAA;KAYiC;;QAZjC,EAAA,IAAA,EAACD,aAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE;wBACPD,qBAAa;wBACbD,mBAAY;wBACZD,mBAAY;wBACZD,sBAAe;wBACfD,sBAAe;qBAChB;oBACD,OAAO,EAAE,CAAC,oBAAoB,EAAEA,sBAAe,CAAC;oBAChD,YAAY,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;oBACpD,eAAe,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;iBACxD,EAAD,EAAA;;IACgC,OAAhC,iBAAiC,CAAjC;CAAiC,EAAjC,CAAA,CAAA;;;;;;;;;;ADGA,AAAA,IAAa,6BAA6B,GACtC,IAAID,mBAAc,CAAoB,+BAA+B,EAAE;IACrE,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,qCAAqC;CAC/C,CAAC,CAAN;;;;;AAGA,SAAgB,qCAAqC,GAArD;IACE,OAAO,IAAI,iBAAiB,EAAE,CAAC;CAChC;;;;AAKD,AAAA,IAAA,WAAA,kBAAA,YAAA;IAuBE,SAAF,WAAA,CACc,QAAiB,EACjB,KAAoB,EACpB,SAAmB,EACnB,mBAAuC,EACf,eAA4B,EACb,cAAiC,EANtF;QACc,IAAd,CAAA,QAAsB,GAAR,QAAQ,CAAS;QACjB,IAAd,CAAA,KAAmB,GAAL,KAAK,CAAe;QACpB,IAAd,CAAA,SAAuB,GAAT,SAAS,CAAU;QACnB,IAAd,CAAA,mBAAiC,GAAnB,mBAAmB,CAAoB;QACf,IAAtC,CAAA,eAAqD,GAAf,eAAe,CAAa;QACb,IAArD,CAAA,cAAmE,GAAd,cAAc,CAAmB;;;;;;QAtB5E,IAAV,CAAA,uBAAiC,GAA+B,IAAI,CAAC;KAsBqB;IAnBxF,MAAF,CAAA,cAAA,CAAM,WAAN,CAAA,SAAA,EAAA,oBAAwB,EAAxB;;;;;;QAAE,YAAF;;YACA,IAAU,MAAM,GAAG,IAAI,CAAC,eAAe,CAAvC;YACI,OAAO,MAAM,GAAG,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC;SAC1E;;;;;QAED,UAAuB,KAAiC,EAA1D;YACI,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,KAAK,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACtC;SACF;;;KARH,CAAA,CAAG;;;;;;;;;;;;;;;;;IAyBD,WAAF,CAAA,SAAA,CAAA,iBAAmB;;;;;;;;;IAAjB,UAAqB,SAA2B,EAAE,MAA0B,EAA9E;QAEI,0BAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAsB;KAC7D,CAAH;;;;;;;;;;;;;;;;IASE,WAAF,CAAA,SAAA,CAAA,gBAAkB;;;;;;;;IAAhB,UAAiB,QAA0B,EAAE,MAA0B,EAAzE;QAEI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACvC,CAAH;;;;;;;;;;;;;;IAQE,WAAF,CAAA,SAAA,CAAA,IAAM;;;;;;;IAAJ,UAAK,OAAe,EAAE,MAAmB,EAAE,MAA0B,EAAvE;QAAwB,IAAxB,MAAA,KAAA,KAAA,CAAA,EAAwB,EAAA,MAAxB,GAAA,EAA2C,CAA3C,EAAA;;QAEA,IAAU,OAAO,GAAjBD,QAAA,CAAA,EAAA,EAAwB,IAAI,CAAC,cAAc,EAAK,MAAM,CAAC,CAAvD;;;QAII,OAAO,CAAC,IAAI,GAAG,EAAC,OAAO,EAA3B,OAA2B,EAAE,MAAM,EAAnC,MAAmC,EAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAChC,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACxD,CAAH;;;;;;;;IAKE,WAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,YAAF;QACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;SACnC;KACF,CAAH;;;;IAEE,WAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;;QAEI,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;SACxC;KACF,CAAH;;;;;;;;;;;IAKU,WAAV,CAAA,SAAA,CAAA,wBAAkC;;;;;;;IAAhC,UAAiC,UAAsB,EACtB,MAAyB,EAD5D;;QAGA,IAAU,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAA9F;;QACA,IAAU,QAAQ,GAAG,IAAIV,qBAAc,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC;YAC9E,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAC5B,CAAC,CAAC,CAAP;;QAEA,IAAU,eAAe,GACjB,IAAIO,sBAAe,CAAC,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CADpF;;QAEA,IAAU,YAAY,GAAuC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAA/F;QACI,YAAY,CAAC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;QAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC;KAC9B,CAAH;;;;;;;;;;;;IAKU,WAAV,CAAA,SAAA,CAAA,OAAiB;;;;;;;;IAAf,UAAmB,OAA0C,EAAE,UAA8B,EAA/F;;QAGA,IAAU,MAAM,GAAhBG,QAAA,CAAA,EAAA,EAAuB,IAAI,iBAAiB,EAAE,EAAK,IAAI,CAAC,cAAc,EAAK,UAAU,CAAC,CAAtF;;QACA,IAAU,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAlD;;QACA,IAAU,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAvE;;QACA,IAAU,WAAW,GAAG,IAAI,cAAc,CAA2B,SAAS,EAAE,UAAU,CAAC,CAA3F;QAEI,IAAI,OAAO,YAAYD,gBAAW,EAAE;;YACxC,IAAYH,SAAM,GAAG,IAAIE,qBAAc,CAAC,OAAO,qBAAE,IAAI,uBAAG;gBAChD,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,WAAW,EAAnB,WAAmB;aACZ,GAAQ,CAAf;YAEM,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,oBAAoB,CAACF,SAAM,CAAC,CAAC;SAC/D;aAAM;;YACX,IAAY,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAhE;;YACA,IAAYA,SAAM,GAAG,IAAIC,sBAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAtE;;YACA,IAAY,UAAU,GAAG,SAAS,CAAC,qBAAqB,CAAID,SAAM,CAAC,CAAnE;;YAGM,WAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC5C;;;;QAKD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAACH,kBAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CACxDC,mBAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC,SAAS,CAAC,UAAAH,QAAK,EAFrB;YAGM,IAAIA,QAAK,CAAC,OAAO,EAAE;gBACjB,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;aAClE;iBAAM;gBACL,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;aACrE;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC,CAAH;;;;;;;;;IAGU,WAAV,CAAA,SAAA,CAAA,gBAA0B;;;;;;;IAAxB,UAAyB,WAAgC,EAAE,MAAyB,EAAtF;QAAE,IAAF,KAAA,GAAA,IAAA,CAiCG;;QA/BC,WAAW,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,YAA3C;;YAEM,IAAI,KAAI,CAAC,kBAAkB,IAAI,WAAW,EAAE;gBAC1C,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAChC;YAED,IAAI,MAAM,CAAC,mBAAmB,EAAE;gBAC9B,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;;;YAG3B,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,YAAzD;gBACQ,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;SACnC;aAAM;;YAEL,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SACvC;;QAGD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;YAC1C,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,YAA1C,EAAgD,OAAA,WAAW,CAAC,aAAa,oBAAC,MAAM,CAAC,QAAQ,GAAE,CAA3F,EAA2F,CAAC,CAAC;SACxF;QAED,IAAI,MAAM,CAAC,mBAAmB,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;SACpE;KACF,CAAH;;;;;;;;;;;IAMU,WAAV,CAAA,SAAA,CAAA,cAAwB;;;;;;IAAtB,UAAuB,MAAyB,EAAlD;;QACA,IAAU,aAAa,GAAG,IAAID,qBAAa,EAAE,CAA7C;QACI,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;;QAE/C,IAAQ,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAA5D;;;QAEA,IAAU,KAAK,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAA5C;;QACA,IAAU,MAAM,IACV,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,CAArD;;QACA,IAAU,OAAO,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAArE;QACI,IAAI,MAAM,EAAE;YACV,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;aAAM,IAAI,OAAO,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7B;aAAM;YACL,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;SACvC;;QAED,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;YACrC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC3B;aAAM;YACL,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;QAED,aAAa,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KAC5C,CAAH;;;;;;;;;;;;;;IAOU,WAAV,CAAA,SAAA,CAAA,eAAyB;;;;;;;;IAAvB,UACI,MAAyB,EACzB,WAA8B,EAFpC;;QAIA,IAAU,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAA9F;QAEI,OAAO,IAAID,qBAAc,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,CAAW;YAC9E,CAAC,cAAc,EAAE,WAAW,CAAC;YAC7B,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC,CAAC;KACL,CAAH;;QAhPA,EAAA,IAAA,EAACD,eAAU,EAAX,IAAA,EAAA,CAAY,EAAC,UAAU,EAAE,iBAAiB,EAAC,EAA3C,EAAA;;;;QArCA,EAAA,IAAA,EAAQD,eAAO,EAAf;QAFA,EAAA,IAAA,EAAQD,kBAAa,EAArB;QAUA,EAAA,IAAA,EAAED,aAAQ,EAAV;QATA,EAAA,IAAA,EAAQD,yBAAkB,EAA1B;QAkEA,EAAA,IAAA,EAAuD,WAAW,EAAlE,UAAA,EAAA,CAAA,EAAA,IAAA,EAAOF,aAAQ,EAAf,EAAA,EAAA,IAAA,EAAmBC,aAAQ,EAA3B,CAAA,EAAA;QAjDA,EAAA,IAAA,EAA4B,iBAAiB,EAA7C,UAAA,EAAA,CAAA,EAAA,IAAA,EAkDOF,WAAM,EAlDb,IAAA,EAAA,CAkDc,6BAA6B,EAlD3C,EAAA,CAAA,EAAA;;;IA1BA,OAAA,WAAA,CAAA;CAgSC,EAAD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,5 +5,5 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs"),require("@angular/core"),require("@angular/animations"),require("@angular/cdk/portal"),require("rxjs/operators"),require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/material/core"),require("@angular/material/button"),require("@angular/cdk/a11y"),require("@angular/cdk/layout")):"function"==typeof define&&define.amd?define("@angular/material/snackBar",["exports","rxjs","@angular/core","@angular/animations","@angular/cdk/portal","rxjs/operators","@angular/cdk/overlay","@angular/common","@angular/material/core","@angular/material/button","@angular/cdk/a11y","@angular/cdk/layout"],e):e((t.ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.snackBar={}),t.rxjs,t.ng.core,t.ng.animations,t.ng.cdk.portal,t.rxjs.operators,t.ng.cdk.overlay,t.ng.common,t.ng.material.core,t.ng.material.button,t.ng.cdk.a11y,t.ng.cdk.layout)}(this,function(t,e,n,a,i,o,r,s,c,p,l,u){"use strict";function d(t,e){function n(){this.constructor=t}m(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function h(){return new g}var m=function(t,e){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},f=function(){return f=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},f.apply(this,arguments)},_=function(){function t(t,n){var a=this;this._overlayRef=n,this._afterDismissed=new e.Subject,this._afterOpened=new e.Subject,this._onAction=new e.Subject,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(function(){return a.dismiss()}),t._onExit.subscribe(function(){return a._finishDismiss()})}return t.prototype.dismiss=function(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)},t.prototype.dismissWithAction=function(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete())},t.prototype.closeWithAction=function(){this.dismissWithAction()},t.prototype._dismissAfter=function(t){var e=this;this._durationTimeoutId=setTimeout(function(){return e.dismiss()},t)},t.prototype._open=function(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1},t.prototype.afterDismissed=function(){return this._afterDismissed.asObservable()},t.prototype.afterOpened=function(){return this.containerInstance._onEnter},t.prototype.onAction=function(){return this._onAction.asObservable()},t}(),y=new n.InjectionToken("MatSnackBarData"),g=function(){function t(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}return t}(),k=function(){function t(t,e){this.snackBarRef=t,this.data=e}return t.prototype.action=function(){this.snackBarRef.dismissWithAction()},Object.defineProperty(t.prototype,"hasAction",{get:function(){return!!this.data.action},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"simple-snack-bar",template:'<span>{{data.message}}</span><div class="mat-simple-snackbar-action" *ngIf="hasAction"><button mat-button (click)="action()">{{data.action}}</button></div>',styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;height:100%;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}"],encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,host:{class:"mat-simple-snackbar"}}]}],t.ctorParameters=function(){return[{type:_},{type:void 0,decorators:[{type:n.Inject,args:[y]}]}]},t}(),b={snackBarState:a.trigger("state",[a.state("void, hidden",a.style({transform:"scale(0.8)",opacity:0})),a.state("visible",a.style({transform:"scale(1)",opacity:1})),a.transition("* => visible",a.animate("150ms cubic-bezier(0, 0, 0.2, 1)")),a.transition("* => void, * => hidden",a.animate("75ms cubic-bezier(0.4, 0.0, 1, 1)",a.style({opacity:0})))])},v=function(t){function a(n,a,i,o){var r=t.call(this)||this;return r._ngZone=n,r._elementRef=a,r._changeDetectorRef=i,r.snackBarConfig=o,r._destroyed=!1,r._onExit=new e.Subject,r._onEnter=new e.Subject,r._animationState="void","assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?r._role=null:r._role="status":r._role="alert",r}return d(a,t),a.prototype.attachComponentPortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)},a.prototype.attachTemplatePortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)},a.prototype.onAnimationEnd=function(t){var e=t.fromState,n=t.toState;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){var a=this._onEnter;this._ngZone.run(function(){a.next(),a.complete()})}},a.prototype.enter=function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges())},a.prototype.exit=function(){return this._animationState="hidden",this._onExit},a.prototype.ngOnDestroy=function(){this._destroyed=!0,this._completeExit()},a.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(o.take(1)).subscribe(function(){t._onExit.next(),t._onExit.complete()})},a.prototype._applySnackBarClasses=function(){var t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(function(e){return t.classList.add(e)}):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")},a.prototype._assertNotAttached=function(){if(this._portalOutlet.hasAttached())throw Error("Attempting to attach snack bar content after content is already attached")},a.decorators=[{type:n.Component,args:[{selector:"snack-bar-container",template:"<ng-template cdkPortalOutlet></ng-template>",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}@media screen and (-ms-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%}"],changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None,animations:[b.snackBarState],host:{"[attr.role]":"_role",class:"mat-snack-bar-container","[@state]":"_animationState","(@state.done)":"onAnimationEnd($event)"}}]}],a.ctorParameters=function(){return[{type:n.NgZone},{type:n.ElementRef},{type:n.ChangeDetectorRef},{type:g}]},a.propDecorators={_portalOutlet:[{type:n.ViewChild,args:[i.CdkPortalOutlet]}]},a}(i.BasePortalOutlet),B=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[r.OverlayModule,i.PortalModule,s.CommonModule,p.MatButtonModule,c.MatCommonModule],exports:[v,c.MatCommonModule],declarations:[v,k],entryComponents:[v,k]}]}],t}(),S=new n.InjectionToken("mat-snack-bar-default-options",{providedIn:"root",factory:h}),A=function(){function t(t,e,n,a,i,o){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=a,this._parentSnackBar=i,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackBarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,e){return this._attach(t,e)},t.prototype.openFromTemplate=function(t,e){return this._attach(t,e)},t.prototype.open=function(t,e,n){void 0===e&&(e="");var a=f({},this._defaultConfig,n);return a.data={message:t,action:e},a.announcementMessage||(a.announcementMessage=t),this.openFromComponent(k,a)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,a=new i.PortalInjector(n||this._injector,new WeakMap([[g,e]])),o=new i.ComponentPortal(v,e.viewContainerRef,a),r=t.attach(o);return r.instance.snackBarConfig=e,r.instance},t.prototype._attach=function(t,e){var a=f({},new g,this._defaultConfig,e),r=this._createOverlay(a),s=this._attachSnackBarContainer(r,a),c=new _(s,r);if(t instanceof n.TemplateRef){var p=new i.TemplatePortal(t,null,{$implicit:a.data,snackBarRef:c});c.instance=s.attachTemplatePortal(p)}else{var l=this._createInjector(a,c),p=new i.ComponentPortal(t,void 0,l),d=s.attachComponentPortal(p);c.instance=d.instance}return this._breakpointObserver.observe(u.Breakpoints.Handset).pipe(o.takeUntil(r.detachments().pipe(o.take(1)))).subscribe(function(t){t.matches?r.overlayElement.classList.add("mat-snack-bar-handset"):r.overlayElement.classList.remove("mat-snack-bar-handset")}),this._animateSnackBar(c,a),this._openedSnackBarRef=c,this._openedSnackBarRef},t.prototype._animateSnackBar=function(t,e){var n=this;t.afterDismissed().subscribe(function(){n._openedSnackBarRef==t&&(n._openedSnackBarRef=null),e.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(function(){return t._dismissAfter(e.duration)}),e.announcementMessage&&this._live.announce(e.announcementMessage,e.politeness)},t.prototype._createOverlay=function(t){var e=new r.OverlayConfig;e.direction=t.direction;var n=this._overlay.position().global(),a="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!a||"end"===t.horizontalPosition&&a,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new i.PortalInjector(n||this._injector,new WeakMap([[_,e],[y,t.data]]))},t.decorators=[{type:n.Injectable,args:[{providedIn:B}]}],t.ctorParameters=function(){return[{type:r.Overlay},{type:l.LiveAnnouncer},{type:n.Injector},{type:u.BreakpointObserver},{type:t,decorators:[{type:n.Optional},{type:n.SkipSelf}]},{type:g,decorators:[{type:n.Inject,args:[S]}]}]},t.ngInjectableDef=n.defineInjectable({factory:function(){return new t(n.inject(r.Overlay),n.inject(l.LiveAnnouncer),n.inject(n.INJECTOR),n.inject(u.BreakpointObserver),n.inject(t,12),n.inject(S))},token:t,providedIn:B}),t}();t.MatSnackBarModule=B,t.MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY=h,t.MAT_SNACK_BAR_DEFAULT_OPTIONS=S,t.MatSnackBar=A,t.MatSnackBarContainer=v,t.MAT_SNACK_BAR_DATA=y,t.MatSnackBarConfig=g,t.MatSnackBarRef=_,t.SimpleSnackBar=k,t.matSnackBarAnimations=b,Object.defineProperty(t,"__esModule",{value:!0})});
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs"),require("@angular/core"),require("@angular/animations"),require("@angular/cdk/portal"),require("rxjs/operators"),require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/material/core"),require("@angular/material/button"),require("@angular/cdk/a11y"),require("@angular/cdk/layout")):"function"==typeof define&&define.amd?define("@angular/material/snack-bar",["exports","rxjs","@angular/core","@angular/animations","@angular/cdk/portal","rxjs/operators","@angular/cdk/overlay","@angular/common","@angular/material/core","@angular/material/button","@angular/cdk/a11y","@angular/cdk/layout"],e):e((t.ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.snackBar={}),t.rxjs,t.ng.core,t.ng.animations,t.ng.cdk.portal,t.rxjs.operators,t.ng.cdk.overlay,t.ng.common,t.ng.material.core,t.ng.material.button,t.ng.cdk.a11y,t.ng.cdk.layout)}(this,function(t,e,n,a,i,o,r,s,c,p,l,u){"use strict";function d(t,e){function n(){this.constructor=t}m(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function h(){return new g}var m=function(t,e){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},f=function(){return f=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},f.apply(this,arguments)},_=function(){function t(t,n){var a=this;this._overlayRef=n,this._afterDismissed=new e.Subject,this._afterOpened=new e.Subject,this._onAction=new e.Subject,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(function(){return a.dismiss()}),t._onExit.subscribe(function(){return a._finishDismiss()})}return t.prototype.dismiss=function(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)},t.prototype.dismissWithAction=function(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete())},t.prototype.closeWithAction=function(){this.dismissWithAction()},t.prototype._dismissAfter=function(t){var e=this;this._durationTimeoutId=setTimeout(function(){return e.dismiss()},t)},t.prototype._open=function(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1},t.prototype.afterDismissed=function(){return this._afterDismissed.asObservable()},t.prototype.afterOpened=function(){return this.containerInstance._onEnter},t.prototype.onAction=function(){return this._onAction.asObservable()},t}(),y=new n.InjectionToken("MatSnackBarData"),g=function(){function t(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}return t}(),k=function(){function t(t,e){this.snackBarRef=t,this.data=e}return t.prototype.action=function(){this.snackBarRef.dismissWithAction()},Object.defineProperty(t.prototype,"hasAction",{get:function(){return!!this.data.action},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Component,args:[{selector:"simple-snack-bar",template:'<span>{{data.message}}</span><div class="mat-simple-snackbar-action" *ngIf="hasAction"><button mat-button (click)="action()">{{data.action}}</button></div>',styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;height:100%;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}"],encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,host:{class:"mat-simple-snackbar"}}]}],t.ctorParameters=function(){return[{type:_},{type:void 0,decorators:[{type:n.Inject,args:[y]}]}]},t}(),b={snackBarState:a.trigger("state",[a.state("void, hidden",a.style({transform:"scale(0.8)",opacity:0})),a.state("visible",a.style({transform:"scale(1)",opacity:1})),a.transition("* => visible",a.animate("150ms cubic-bezier(0, 0, 0.2, 1)")),a.transition("* => void, * => hidden",a.animate("75ms cubic-bezier(0.4, 0.0, 1, 1)",a.style({opacity:0})))])},v=function(t){function a(n,a,i,o){var r=t.call(this)||this;return r._ngZone=n,r._elementRef=a,r._changeDetectorRef=i,r.snackBarConfig=o,r._destroyed=!1,r._onExit=new e.Subject,r._onEnter=new e.Subject,r._animationState="void","assertive"!==o.politeness||o.announcementMessage?"off"===o.politeness?r._role=null:r._role="status":r._role="alert",r}return d(a,t),a.prototype.attachComponentPortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)},a.prototype.attachTemplatePortal=function(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)},a.prototype.onAnimationEnd=function(t){var e=t.fromState,n=t.toState;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){var a=this._onEnter;this._ngZone.run(function(){a.next(),a.complete()})}},a.prototype.enter=function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges())},a.prototype.exit=function(){return this._animationState="hidden",this._onExit},a.prototype.ngOnDestroy=function(){this._destroyed=!0,this._completeExit()},a.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(o.take(1)).subscribe(function(){t._onExit.next(),t._onExit.complete()})},a.prototype._applySnackBarClasses=function(){var t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(function(e){return t.classList.add(e)}):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")},a.prototype._assertNotAttached=function(){if(this._portalOutlet.hasAttached())throw Error("Attempting to attach snack bar content after content is already attached")},a.decorators=[{type:n.Component,args:[{selector:"snack-bar-container",template:"<ng-template cdkPortalOutlet></ng-template>",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}@media (-ms-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%}"],changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None,animations:[b.snackBarState],host:{"[attr.role]":"_role",class:"mat-snack-bar-container","[@state]":"_animationState","(@state.done)":"onAnimationEnd($event)"}}]}],a.ctorParameters=function(){return[{type:n.NgZone},{type:n.ElementRef},{type:n.ChangeDetectorRef},{type:g}]},a.propDecorators={_portalOutlet:[{type:n.ViewChild,args:[i.CdkPortalOutlet]}]},a}(i.BasePortalOutlet),B=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[r.OverlayModule,i.PortalModule,s.CommonModule,p.MatButtonModule,c.MatCommonModule],exports:[v,c.MatCommonModule],declarations:[v,k],entryComponents:[v,k]}]}],t}(),S=new n.InjectionToken("mat-snack-bar-default-options",{providedIn:"root",factory:h}),A=function(){function t(t,e,n,a,i,o){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=a,this._parentSnackBar=i,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackBarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,e){return this._attach(t,e)},t.prototype.openFromTemplate=function(t,e){return this._attach(t,e)},t.prototype.open=function(t,e,n){void 0===e&&(e="");var a=f({},this._defaultConfig,n);return a.data={message:t,action:e},a.announcementMessage||(a.announcementMessage=t),this.openFromComponent(k,a)},t.prototype.dismiss=function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackBarContainer=function(t,e){var n=e&&e.viewContainerRef&&e.viewContainerRef.injector,a=new i.PortalInjector(n||this._injector,new WeakMap([[g,e]])),o=new i.ComponentPortal(v,e.viewContainerRef,a),r=t.attach(o);return r.instance.snackBarConfig=e,r.instance},t.prototype._attach=function(t,e){var a=f({},new g,this._defaultConfig,e),r=this._createOverlay(a),s=this._attachSnackBarContainer(r,a),c=new _(s,r);if(t instanceof n.TemplateRef){var p=new i.TemplatePortal(t,null,{$implicit:a.data,snackBarRef:c});c.instance=s.attachTemplatePortal(p)}else{var l=this._createInjector(a,c),p=new i.ComponentPortal(t,void 0,l),d=s.attachComponentPortal(p);c.instance=d.instance}return this._breakpointObserver.observe(u.Breakpoints.Handset).pipe(o.takeUntil(r.detachments().pipe(o.take(1)))).subscribe(function(t){t.matches?r.overlayElement.classList.add("mat-snack-bar-handset"):r.overlayElement.classList.remove("mat-snack-bar-handset")}),this._animateSnackBar(c,a),this._openedSnackBarRef=c,this._openedSnackBarRef},t.prototype._animateSnackBar=function(t,e){var n=this;t.afterDismissed().subscribe(function(){n._openedSnackBarRef==t&&(n._openedSnackBarRef=null),e.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(function(){return t._dismissAfter(e.duration)}),e.announcementMessage&&this._live.announce(e.announcementMessage,e.politeness)},t.prototype._createOverlay=function(t){var e=new r.OverlayConfig;e.direction=t.direction;var n=this._overlay.position().global(),a="rtl"===t.direction,i="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!a||"end"===t.horizontalPosition&&a,o=!i&&"center"!==t.horizontalPosition;return i?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)},t.prototype._createInjector=function(t,e){var n=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new i.PortalInjector(n||this._injector,new WeakMap([[_,e],[y,t.data]]))},t.decorators=[{type:n.Injectable,args:[{providedIn:B}]}],t.ctorParameters=function(){return[{type:r.Overlay},{type:l.LiveAnnouncer},{type:n.Injector},{type:u.BreakpointObserver},{type:t,decorators:[{type:n.Optional},{type:n.SkipSelf}]},{type:g,decorators:[{type:n.Inject,args:[S]}]}]},t.ngInjectableDef=n.defineInjectable({factory:function(){return new t(n.inject(r.Overlay),n.inject(l.LiveAnnouncer),n.inject(n.INJECTOR),n.inject(u.BreakpointObserver),n.inject(t,12),n.inject(S))},token:t,providedIn:B}),t}();t.MatSnackBarModule=B,t.MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY=h,t.MAT_SNACK_BAR_DEFAULT_OPTIONS=S,t.MatSnackBar=A,t.MatSnackBarContainer=v,t.MAT_SNACK_BAR_DATA=y,t.MatSnackBarConfig=g,t.MatSnackBarRef=_,t.SimpleSnackBar=k,t.matSnackBarAnimations=b,Object.defineProperty(t,"__esModule",{value:!0})});
9
9
  //# sourceMappingURL=material-snack-bar.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"material-snack-bar.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/snack-bar/snack-bar.ts","../../src/lib/snack-bar/snack-bar-ref.ts","../../src/lib/snack-bar/snack-bar-config.ts","../../src/lib/snack-bar/simple-snack-bar.ts","../../src/lib/snack-bar/snack-bar-animations.ts","../../src/lib/snack-bar/snack-bar-container.ts","../../src/lib/snack-bar/snack-bar-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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, PortalInjector, 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} from '@angular/core';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS =\n new InjectionToken<MatSnackBarConfig>('mat-snack-bar-default-options', {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar 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 /** 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: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig) {}\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):\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(template: TemplateRef<any>, 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(message: string, action: string = '', config?: MatSnackBarConfig):\n MatSnackBarRef<SimpleSnackBar> {\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 if (!_config.announcementMessage) {\n _config.announcementMessage = message;\n }\n\n return this.openFromComponent(SimpleSnackBar, _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(overlayRef: OverlayRef,\n config: MatSnackBarConfig): MatSnackBarContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatSnackBarConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatSnackBarContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatSnackBarContainer> = 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>(content: ComponentType<T> | TemplateRef<T>, userConfig?: MatSnackBarConfig):\n MatSnackBarRef<T | EmbeddedViewRef<any>> {\n\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.observe(Breakpoints.Handset).pipe(\n takeUntil(overlayRef.detachments().pipe(take(1)))\n ).subscribe(state => {\n if (state.matches) {\n overlayRef.overlayElement.classList.add('mat-snack-bar-handset');\n } else {\n overlayRef.overlayElement.classList.remove('mat-snack-bar-handset');\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 if (config.announcementMessage) {\n this._live.announce(config.announcementMessage, config.politeness);\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>(\n config: MatSnackBarConfig,\n snackBarRef: MatSnackBarRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return new PortalInjector(userInjector || this._injector, new WeakMap<any, any>([\n [MatSnackBarRef, snackBarRef],\n [MAT_SNACK_BAR_DATA, config.data]\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 {OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\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/**\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: MatSnackBarContainer;\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: MatSnackBarContainer,\n 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 }\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 this._durationTimeoutId = setTimeout(() => this.dismiss(), duration);\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.asObservable();\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.asObservable();\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 {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 /** The view container to place the overlay for the snack bar into. */\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 {Component, ViewEncapsulation, Inject, ChangeDetectionStrategy} from '@angular/core';\nimport {MatSnackBarRef} from './snack-bar-ref';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\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 moduleId: module.id,\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 {\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 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","/**\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('void, hidden', style({\n transform: 'scale(0.8)',\n opacity: 0,\n })),\n state('visible', style({\n transform: 'scale(1)',\n opacity: 1,\n })),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void, * => hidden', animate('75ms cubic-bezier(0.4, 0.0, 1, 1)', style({\n opacity: 0\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 {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\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/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n '[attr.role]': '_role',\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)'\n },\n})\nexport class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy {\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) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<any> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<any> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** ARIA role for the snack bar container. */\n _role: 'alert' | 'status' | null;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig) {\n\n super();\n\n // Based on the ARIA spec, `alert` and `status` roles have an\n // implicit `assertive` and `polite` politeness respectively.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._role = 'alert';\n } else if (snackBarConfig.politeness === 'off') {\n this._role = null;\n } else {\n this._role = 'status';\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 /** 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 }\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 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.asObservable().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()) {\n throw Error('Attempting to attach snack bar content after content is already attached');\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 {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\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n CommonModule,\n MatButtonModule,\n MatCommonModule,\n ],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n entryComponents: [MatSnackBarContainer, SimpleSnackBar],\n})\nexport class MatSnackBarModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","MatSnackBarConfig","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","call","apply","MatSnackBarRef","containerInstance","_overlayRef","_this","_afterDismissed","Subject","_afterOpened","_onAction","_dismissedByAction","onAction","subscribe","dismiss","_onExit","_finishDismiss","closed","exit","clearTimeout","_durationTimeoutId","dismissWithAction","next","complete","closeWithAction","_dismissAfter","duration","setTimeout","_open","dispose","dismissedByAction","afterDismissed","asObservable","afterOpened","_onEnter","MAT_SNACK_BAR_DATA","InjectionToken","politeness","announcementMessage","data","horizontalPosition","verticalPosition","SimpleSnackBar","snackBarRef","action","defineProperty","type","Component","args","selector","template","styles","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","host","class","matSnackBarAnimations","snackBarState","trigger","state","style","transform","opacity","transition","animate","MatSnackBarContainer","_super","_ngZone","_elementRef","_changeDetectorRef","snackBarConfig","_destroyed","_animationState","_role","tslib_1.__extends","attachComponentPortal","portal","_assertNotAttached","_applySnackBarClasses","_portalOutlet","attachTemplatePortal","onAnimationEnd","event","fromState","toState","_completeExit","onEnter_1","run","enter","detectChanges","ngOnDestroy","onMicrotaskEmpty","pipe","take","element","nativeElement","panelClasses","panelClass","isArray","forEach","cssClass","classList","add","hasAttached","Error","animations","[attr.role]","[@state]","(@state.done)","ChangeDetectorRef","propDecorators","MatSnackBarModule","NgModule","imports","OverlayModule","PortalModule","CommonModule","MatButtonModule","MatCommonModule","exports","declarations","entryComponents","MAT_SNACK_BAR_DEFAULT_OPTIONS","providedIn","factory","MatSnackBar","_overlay","_live","_injector","_breakpointObserver","_parentSnackBar","_defaultConfig","_snackBarRefAtThisLevel","parent","_openedSnackBarRef","value","openFromComponent","component","config","_attach","openFromTemplate","open","message","_config","tslib_1.__assign","_attachSnackBarContainer","overlayRef","userInjector","viewContainerRef","injector","PortalInjector","WeakMap","containerPortal","ComponentPortal","containerRef","attach","instance","content","userConfig","_createOverlay","container","TemplateRef","TemplatePortal","$implicit","_createInjector","undefined","contentRef","observe","Breakpoints","Handset","takeUntil","detachments","matches","overlayElement","remove","_animateSnackBar","clear","announce","overlayConfig","OverlayConfig","direction","positionStrategy","position","global","isRtl","isLeft","isRight","left","right","centerHorizontally","top","bottom","Injectable","Overlay","LiveAnnouncer","Injector","BreakpointObserver","decorators","Optional","SkipSelf","Inject"],"mappings":"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"}
1
+ {"version":3,"file":"material-snack-bar.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/snack-bar/snack-bar.ts","../../src/lib/snack-bar/snack-bar-ref.ts","../../src/lib/snack-bar/snack-bar-config.ts","../../src/lib/snack-bar/simple-snack-bar.ts","../../src/lib/snack-bar/snack-bar-animations.ts","../../src/lib/snack-bar/snack-bar-container.ts","../../src/lib/snack-bar/snack-bar-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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, PortalInjector, 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} from '@angular/core';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarModule} from './snack-bar-module';\nimport {MatSnackBarRef} from './snack-bar-ref';\n\n\n/** Injection token that can be used to specify default snack bar. */\nexport const MAT_SNACK_BAR_DEFAULT_OPTIONS =\n new InjectionToken<MatSnackBarConfig>('mat-snack-bar-default-options', {\n providedIn: 'root',\n factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY(): MatSnackBarConfig {\n return new MatSnackBarConfig();\n}\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar 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 /** 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: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) private _defaultConfig: MatSnackBarConfig) {}\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):\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(template: TemplateRef<any>, 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(message: string, action: string = '', config?: MatSnackBarConfig):\n MatSnackBarRef<SimpleSnackBar> {\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 if (!_config.announcementMessage) {\n _config.announcementMessage = message;\n }\n\n return this.openFromComponent(SimpleSnackBar, _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(overlayRef: OverlayRef,\n config: MatSnackBarConfig): MatSnackBarContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatSnackBarConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatSnackBarContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatSnackBarContainer> = 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>(content: ComponentType<T> | TemplateRef<T>, userConfig?: MatSnackBarConfig):\n MatSnackBarRef<T | EmbeddedViewRef<any>> {\n\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.observe(Breakpoints.Handset).pipe(\n takeUntil(overlayRef.detachments().pipe(take(1)))\n ).subscribe(state => {\n if (state.matches) {\n overlayRef.overlayElement.classList.add('mat-snack-bar-handset');\n } else {\n overlayRef.overlayElement.classList.remove('mat-snack-bar-handset');\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 if (config.announcementMessage) {\n this._live.announce(config.announcementMessage, config.politeness);\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>(\n config: MatSnackBarConfig,\n snackBarRef: MatSnackBarRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n return new PortalInjector(userInjector || this._injector, new WeakMap<any, any>([\n [MatSnackBarRef, snackBarRef],\n [MAT_SNACK_BAR_DATA, config.data]\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 {OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\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/**\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: MatSnackBarContainer;\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: MatSnackBarContainer,\n 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 }\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 this._durationTimeoutId = setTimeout(() => this.dismiss(), duration);\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.asObservable();\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.asObservable();\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 {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 /** The view container to place the overlay for the snack bar into. */\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 {Component, ViewEncapsulation, Inject, ChangeDetectionStrategy} from '@angular/core';\nimport {MatSnackBarRef} from './snack-bar-ref';\nimport {MAT_SNACK_BAR_DATA} from './snack-bar-config';\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 moduleId: module.id,\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 {\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 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","/**\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('void, hidden', style({\n transform: 'scale(0.8)',\n opacity: 0,\n })),\n state('visible', style({\n transform: 'scale(1)',\n opacity: 1,\n })),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void, * => hidden', animate('75ms cubic-bezier(0.4, 0.0, 1, 1)', style({\n opacity: 0\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 {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\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/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n '[attr.role]': '_role',\n 'class': 'mat-snack-bar-container',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)'\n },\n})\nexport class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy {\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) _portalOutlet: CdkPortalOutlet;\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<any> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<any> = new Subject();\n\n /** The state of the snack bar animations. */\n _animationState = 'void';\n\n /** ARIA role for the snack bar container. */\n _role: 'alert' | 'status' | null;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n /** The snack bar configuration. */\n public snackBarConfig: MatSnackBarConfig) {\n\n super();\n\n // Based on the ARIA spec, `alert` and `status` roles have an\n // implicit `assertive` and `polite` politeness respectively.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._role = 'alert';\n } else if (snackBarConfig.politeness === 'off') {\n this._role = null;\n } else {\n this._role = 'status';\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 /** 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 }\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 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.asObservable().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()) {\n throw Error('Attempting to attach snack bar content after content is already attached');\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 {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\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n CommonModule,\n MatButtonModule,\n MatCommonModule,\n ],\n exports: [MatSnackBarContainer, MatCommonModule],\n declarations: [MatSnackBarContainer, SimpleSnackBar],\n entryComponents: [MatSnackBarContainer, SimpleSnackBar],\n})\nexport class MatSnackBarModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","MatSnackBarConfig","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","call","apply","MatSnackBarRef","containerInstance","_overlayRef","_this","_afterDismissed","Subject","_afterOpened","_onAction","_dismissedByAction","onAction","subscribe","dismiss","_onExit","_finishDismiss","closed","exit","clearTimeout","_durationTimeoutId","dismissWithAction","next","complete","closeWithAction","_dismissAfter","duration","setTimeout","_open","dispose","dismissedByAction","afterDismissed","asObservable","afterOpened","_onEnter","MAT_SNACK_BAR_DATA","InjectionToken","politeness","announcementMessage","data","horizontalPosition","verticalPosition","SimpleSnackBar","snackBarRef","action","defineProperty","type","Component","args","selector","template","styles","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","host","class","matSnackBarAnimations","snackBarState","trigger","state","style","transform","opacity","transition","animate","MatSnackBarContainer","_super","_ngZone","_elementRef","_changeDetectorRef","snackBarConfig","_destroyed","_animationState","_role","tslib_1.__extends","attachComponentPortal","portal","_assertNotAttached","_applySnackBarClasses","_portalOutlet","attachTemplatePortal","onAnimationEnd","event","fromState","toState","_completeExit","onEnter_1","run","enter","detectChanges","ngOnDestroy","onMicrotaskEmpty","pipe","take","element","nativeElement","panelClasses","panelClass","isArray","forEach","cssClass","classList","add","hasAttached","Error","animations","[attr.role]","[@state]","(@state.done)","ChangeDetectorRef","propDecorators","MatSnackBarModule","NgModule","imports","OverlayModule","PortalModule","CommonModule","MatButtonModule","MatCommonModule","exports","declarations","entryComponents","MAT_SNACK_BAR_DEFAULT_OPTIONS","providedIn","factory","MatSnackBar","_overlay","_live","_injector","_breakpointObserver","_parentSnackBar","_defaultConfig","_snackBarRefAtThisLevel","parent","_openedSnackBarRef","value","openFromComponent","component","config","_attach","openFromTemplate","open","message","_config","tslib_1.__assign","_attachSnackBarContainer","overlayRef","userInjector","viewContainerRef","injector","PortalInjector","WeakMap","containerPortal","ComponentPortal","containerRef","attach","instance","content","userConfig","_createOverlay","container","TemplateRef","TemplatePortal","$implicit","_createInjector","undefined","contentRef","observe","Breakpoints","Handset","takeUntil","detachments","matches","overlayElement","remove","_animateSnackBar","clear","announce","overlayConfig","OverlayConfig","direction","positionStrategy","position","global","isRtl","isLeft","isRight","left","right","centerHorizontally","top","bottom","Injectable","Overlay","LiveAnnouncer","Injector","BreakpointObserver","decorators","Optional","SkipSelf","Inject"],"mappings":"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"}