@angular/material-experimental 14.0.0-next.1 → 14.0.0-next.12

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 (453) hide show
  1. package/_index.scss +3 -0
  2. package/column-resize/_column-resize-theme.scss +15 -17
  3. package/column-resize/column-resize-directives/column-resize-flex.d.ts +1 -1
  4. package/column-resize/column-resize-directives/column-resize.d.ts +1 -1
  5. package/column-resize/column-resize-directives/default-enabled-column-resize-flex.d.ts +1 -1
  6. package/column-resize/column-resize-directives/default-enabled-column-resize.d.ts +1 -1
  7. package/column-resize/overlay-handle.d.ts +1 -1
  8. package/column-resize/resizable-directives/default-enabled-resizable.d.ts +1 -1
  9. package/column-resize/resizable-directives/resizable.d.ts +1 -1
  10. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  11. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
  12. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
  13. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
  14. package/esm2020/column-resize/column-resize-module.mjs +13 -13
  15. package/esm2020/column-resize/overlay-handle.mjs +4 -4
  16. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +4 -4
  17. package/esm2020/column-resize/resizable-directives/resizable.mjs +4 -4
  18. package/esm2020/column-resize/resize-strategy.mjs +4 -4
  19. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +4 -4
  20. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +6 -5
  21. package/esm2020/mdc-autocomplete/autocomplete.mjs +5 -5
  22. package/esm2020/mdc-autocomplete/module.mjs +5 -5
  23. package/esm2020/mdc-button/button-base.mjs +8 -8
  24. package/esm2020/mdc-button/button.mjs +9 -9
  25. package/esm2020/mdc-button/fab.mjs +17 -17
  26. package/esm2020/mdc-button/icon-button.mjs +9 -9
  27. package/esm2020/mdc-button/module.mjs +5 -5
  28. package/esm2020/mdc-card/card.mjs +44 -44
  29. package/esm2020/mdc-card/module.mjs +5 -5
  30. package/esm2020/mdc-checkbox/checkbox.mjs +10 -5
  31. package/esm2020/mdc-checkbox/module.mjs +5 -5
  32. package/esm2020/mdc-checkbox/testing/checkbox-harness.mjs +3 -2
  33. package/esm2020/mdc-chips/chip-action.mjs +6 -5
  34. package/esm2020/mdc-chips/chip-edit-input.mjs +5 -5
  35. package/esm2020/mdc-chips/chip-grid.mjs +35 -14
  36. package/esm2020/mdc-chips/chip-icons.mjs +10 -10
  37. package/esm2020/mdc-chips/chip-input.mjs +8 -4
  38. package/esm2020/mdc-chips/chip-listbox.mjs +8 -11
  39. package/esm2020/mdc-chips/chip-option.mjs +8 -8
  40. package/esm2020/mdc-chips/chip-row.mjs +5 -5
  41. package/esm2020/mdc-chips/chip-set.mjs +13 -15
  42. package/esm2020/mdc-chips/chip-text-control.mjs +1 -1
  43. package/esm2020/mdc-chips/chip.mjs +8 -8
  44. package/esm2020/mdc-chips/module.mjs +5 -5
  45. package/esm2020/mdc-chips/testing/public-api.mjs +2 -1
  46. package/esm2020/mdc-core/option/index.mjs +5 -5
  47. package/esm2020/mdc-core/option/optgroup.mjs +5 -5
  48. package/esm2020/mdc-core/option/option.mjs +5 -5
  49. package/esm2020/mdc-dialog/dialog-container.mjs +7 -8
  50. package/esm2020/mdc-dialog/dialog-content-directives.mjs +27 -15
  51. package/esm2020/mdc-dialog/dialog.mjs +10 -5
  52. package/esm2020/mdc-dialog/module.mjs +5 -5
  53. package/esm2020/mdc-dialog/testing/dialog-opener.mjs +45 -0
  54. package/esm2020/mdc-dialog/testing/public-api.mjs +2 -1
  55. package/esm2020/mdc-form-field/directives/error.mjs +4 -4
  56. package/esm2020/mdc-form-field/directives/floating-label.mjs +5 -10
  57. package/esm2020/mdc-form-field/directives/hint.mjs +4 -4
  58. package/esm2020/mdc-form-field/directives/label.mjs +4 -4
  59. package/esm2020/mdc-form-field/directives/line-ripple.mjs +4 -4
  60. package/esm2020/mdc-form-field/directives/notched-outline.mjs +4 -4
  61. package/esm2020/mdc-form-field/directives/prefix.mjs +4 -4
  62. package/esm2020/mdc-form-field/directives/suffix.mjs +4 -4
  63. package/esm2020/mdc-form-field/form-field.mjs +59 -47
  64. package/esm2020/mdc-form-field/module.mjs +5 -5
  65. package/esm2020/mdc-form-field/testing/public-api.mjs +4 -4
  66. package/esm2020/mdc-input/input.mjs +4 -4
  67. package/esm2020/mdc-input/module.mjs +5 -5
  68. package/esm2020/mdc-list/action-list.mjs +6 -6
  69. package/esm2020/mdc-list/interactive-list-base.mjs +5 -5
  70. package/esm2020/mdc-list/list-base.mjs +7 -7
  71. package/esm2020/mdc-list/list-item-sections.mjs +19 -19
  72. package/esm2020/mdc-list/list-option.mjs +9 -9
  73. package/esm2020/mdc-list/list.mjs +21 -9
  74. package/esm2020/mdc-list/module.mjs +5 -5
  75. package/esm2020/mdc-list/nav-list.mjs +5 -5
  76. package/esm2020/mdc-list/selection-list.mjs +6 -6
  77. package/esm2020/mdc-list/subheader.mjs +4 -4
  78. package/esm2020/mdc-menu/directives.mjs +7 -7
  79. package/esm2020/mdc-menu/menu-item.mjs +6 -6
  80. package/esm2020/mdc-menu/menu.mjs +9 -9
  81. package/esm2020/mdc-menu/module.mjs +5 -5
  82. package/esm2020/mdc-paginator/module.mjs +5 -5
  83. package/esm2020/mdc-paginator/paginator.mjs +10 -10
  84. package/esm2020/mdc-paginator/public-api.mjs +1 -1
  85. package/esm2020/mdc-progress-bar/module.mjs +5 -5
  86. package/esm2020/mdc-progress-bar/progress-bar.mjs +8 -5
  87. package/esm2020/mdc-progress-spinner/module.mjs +5 -5
  88. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +8 -5
  89. package/esm2020/mdc-radio/module.mjs +5 -5
  90. package/esm2020/mdc-radio/radio.mjs +9 -8
  91. package/esm2020/mdc-radio/testing/radio-harness.mjs +3 -2
  92. package/esm2020/mdc-select/module.mjs +5 -5
  93. package/esm2020/mdc-select/select.mjs +11 -12
  94. package/esm2020/mdc-slide-toggle/module.mjs +5 -5
  95. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +6 -5
  96. package/esm2020/mdc-slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  97. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +4 -4
  98. package/esm2020/mdc-slider/module.mjs +5 -5
  99. package/esm2020/mdc-slider/slider.mjs +53 -24
  100. package/esm2020/mdc-snack-bar/module.mjs +5 -5
  101. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +8 -8
  102. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +37 -25
  103. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +10 -10
  104. package/esm2020/mdc-snack-bar/snack-bar.mjs +4 -4
  105. package/esm2020/mdc-table/cell.mjs +22 -22
  106. package/esm2020/mdc-table/module.mjs +5 -5
  107. package/esm2020/mdc-table/row.mjs +22 -22
  108. package/esm2020/mdc-table/table.mjs +9 -9
  109. package/esm2020/mdc-table/text-column.mjs +5 -5
  110. package/esm2020/mdc-tabs/ink-bar.mjs +4 -2
  111. package/esm2020/mdc-tabs/module.mjs +5 -5
  112. package/esm2020/mdc-tabs/tab-body.mjs +8 -8
  113. package/esm2020/mdc-tabs/tab-content.mjs +4 -4
  114. package/esm2020/mdc-tabs/tab-group.mjs +25 -13
  115. package/esm2020/mdc-tabs/tab-header.mjs +5 -5
  116. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +4 -4
  117. package/esm2020/mdc-tabs/tab-label.mjs +4 -4
  118. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +29 -12
  119. package/esm2020/mdc-tabs/tab.mjs +4 -4
  120. package/esm2020/mdc-tooltip/module.mjs +5 -5
  121. package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +4 -1
  122. package/esm2020/mdc-tooltip/tooltip.mjs +31 -15
  123. package/esm2020/menubar/menubar-item.mjs +20 -6
  124. package/esm2020/menubar/menubar-module.mjs +6 -6
  125. package/esm2020/menubar/menubar.mjs +11 -14
  126. package/esm2020/popover-edit/lens-directives.mjs +10 -10
  127. package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
  128. package/esm2020/popover-edit/table-directives.mjs +13 -13
  129. package/esm2020/selection/row-selection.mjs +4 -4
  130. package/esm2020/selection/select-all.mjs +4 -4
  131. package/esm2020/selection/selection-column.mjs +8 -8
  132. package/esm2020/selection/selection-module.mjs +5 -5
  133. package/esm2020/selection/selection-toggle.mjs +4 -4
  134. package/esm2020/selection/selection.mjs +4 -4
  135. package/esm2020/version.mjs +1 -1
  136. package/fesm2015/column-resize.mjs +36 -36
  137. package/fesm2015/column-resize.mjs.map +1 -1
  138. package/fesm2015/material-experimental.mjs +1 -1
  139. package/fesm2015/material-experimental.mjs.map +1 -1
  140. package/fesm2015/mdc-autocomplete/testing.mjs.map +1 -1
  141. package/fesm2015/mdc-autocomplete.mjs +16 -15
  142. package/fesm2015/mdc-autocomplete.mjs.map +1 -1
  143. package/fesm2015/mdc-button/testing.mjs.map +1 -1
  144. package/fesm2015/mdc-button.mjs +43 -43
  145. package/fesm2015/mdc-button.mjs.map +1 -1
  146. package/fesm2015/mdc-card/testing.mjs.map +1 -1
  147. package/fesm2015/mdc-card.mjs +47 -47
  148. package/fesm2015/mdc-card.mjs.map +1 -1
  149. package/fesm2015/mdc-checkbox/testing.mjs +2 -1
  150. package/fesm2015/mdc-checkbox/testing.mjs.map +1 -1
  151. package/fesm2015/mdc-checkbox.mjs +13 -8
  152. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  153. package/fesm2015/mdc-chips/testing.mjs +2 -2
  154. package/fesm2015/mdc-chips/testing.mjs.map +1 -1
  155. package/fesm2015/mdc-chips.mjs +96 -76
  156. package/fesm2015/mdc-chips.mjs.map +1 -1
  157. package/fesm2015/mdc-core/testing.mjs.map +1 -1
  158. package/fesm2015/mdc-core.mjs +12 -12
  159. package/fesm2015/mdc-core.mjs.map +1 -1
  160. package/fesm2015/mdc-dialog/testing.mjs +44 -2
  161. package/fesm2015/mdc-dialog/testing.mjs.map +1 -1
  162. package/fesm2015/mdc-dialog.mjs +45 -29
  163. package/fesm2015/mdc-dialog.mjs.map +1 -1
  164. package/fesm2015/mdc-form-field/testing.mjs +1 -1
  165. package/fesm2015/mdc-form-field/testing.mjs.map +1 -1
  166. package/fesm2015/mdc-form-field.mjs +84 -77
  167. package/fesm2015/mdc-form-field.mjs.map +1 -1
  168. package/fesm2015/mdc-input/testing.mjs.map +1 -1
  169. package/fesm2015/mdc-input.mjs +7 -7
  170. package/fesm2015/mdc-input.mjs.map +1 -1
  171. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  172. package/fesm2015/mdc-list.mjs +74 -63
  173. package/fesm2015/mdc-list.mjs.map +1 -1
  174. package/fesm2015/mdc-menu/testing.mjs.map +1 -1
  175. package/fesm2015/mdc-menu.mjs +21 -21
  176. package/fesm2015/mdc-menu.mjs.map +1 -1
  177. package/fesm2015/mdc-paginator/testing.mjs.map +1 -1
  178. package/fesm2015/mdc-paginator.mjs +13 -13
  179. package/fesm2015/mdc-paginator.mjs.map +1 -1
  180. package/fesm2015/mdc-progress-bar/testing.mjs.map +1 -1
  181. package/fesm2015/mdc-progress-bar.mjs +11 -8
  182. package/fesm2015/mdc-progress-bar.mjs.map +1 -1
  183. package/fesm2015/mdc-progress-spinner/testing.mjs.map +1 -1
  184. package/fesm2015/mdc-progress-spinner.mjs +11 -8
  185. package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
  186. package/fesm2015/mdc-radio/testing.mjs +2 -1
  187. package/fesm2015/mdc-radio/testing.mjs.map +1 -1
  188. package/fesm2015/mdc-radio.mjs +12 -11
  189. package/fesm2015/mdc-radio.mjs.map +1 -1
  190. package/fesm2015/mdc-select/testing.mjs.map +1 -1
  191. package/fesm2015/mdc-select.mjs +14 -15
  192. package/fesm2015/mdc-select.mjs.map +1 -1
  193. package/fesm2015/mdc-slide-toggle/testing.mjs +3 -1
  194. package/fesm2015/mdc-slide-toggle/testing.mjs.map +1 -1
  195. package/fesm2015/mdc-slide-toggle.mjs +9 -8
  196. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  197. package/fesm2015/mdc-slider/testing.mjs.map +1 -1
  198. package/fesm2015/mdc-slider.mjs +70 -30
  199. package/fesm2015/mdc-slider.mjs.map +1 -1
  200. package/fesm2015/mdc-snack-bar/testing.mjs.map +1 -1
  201. package/fesm2015/mdc-snack-bar.mjs +62 -50
  202. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  203. package/fesm2015/mdc-table/testing.mjs.map +1 -1
  204. package/fesm2015/mdc-table.mjs +58 -58
  205. package/fesm2015/mdc-table.mjs.map +1 -1
  206. package/fesm2015/mdc-tabs/testing.mjs.map +1 -1
  207. package/fesm2015/mdc-tabs.mjs +77 -46
  208. package/fesm2015/mdc-tabs.mjs.map +1 -1
  209. package/fesm2015/mdc-tooltip/testing.mjs +3 -0
  210. package/fesm2015/mdc-tooltip/testing.mjs.map +1 -1
  211. package/fesm2015/mdc-tooltip.mjs +60 -41
  212. package/fesm2015/mdc-tooltip.mjs.map +1 -1
  213. package/fesm2015/menubar.mjs +32 -20
  214. package/fesm2015/menubar.mjs.map +1 -1
  215. package/fesm2015/popover-edit.mjs +25 -25
  216. package/fesm2015/popover-edit.mjs.map +1 -1
  217. package/fesm2015/selection.mjs +24 -24
  218. package/fesm2015/selection.mjs.map +1 -1
  219. package/fesm2020/column-resize.mjs +36 -36
  220. package/fesm2020/column-resize.mjs.map +1 -1
  221. package/fesm2020/material-experimental.mjs +1 -1
  222. package/fesm2020/material-experimental.mjs.map +1 -1
  223. package/fesm2020/mdc-autocomplete/testing.mjs.map +1 -1
  224. package/fesm2020/mdc-autocomplete.mjs +16 -15
  225. package/fesm2020/mdc-autocomplete.mjs.map +1 -1
  226. package/fesm2020/mdc-button/testing.mjs.map +1 -1
  227. package/fesm2020/mdc-button.mjs +43 -43
  228. package/fesm2020/mdc-button.mjs.map +1 -1
  229. package/fesm2020/mdc-card/testing.mjs.map +1 -1
  230. package/fesm2020/mdc-card.mjs +47 -47
  231. package/fesm2020/mdc-card.mjs.map +1 -1
  232. package/fesm2020/mdc-checkbox/testing.mjs +2 -1
  233. package/fesm2020/mdc-checkbox/testing.mjs.map +1 -1
  234. package/fesm2020/mdc-checkbox.mjs +13 -8
  235. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  236. package/fesm2020/mdc-chips/testing.mjs +1 -1
  237. package/fesm2020/mdc-chips/testing.mjs.map +1 -1
  238. package/fesm2020/mdc-chips.mjs +96 -76
  239. package/fesm2020/mdc-chips.mjs.map +1 -1
  240. package/fesm2020/mdc-core/testing.mjs.map +1 -1
  241. package/fesm2020/mdc-core.mjs +12 -12
  242. package/fesm2020/mdc-core.mjs.map +1 -1
  243. package/fesm2020/mdc-dialog/testing.mjs +44 -2
  244. package/fesm2020/mdc-dialog/testing.mjs.map +1 -1
  245. package/fesm2020/mdc-dialog.mjs +45 -29
  246. package/fesm2020/mdc-dialog.mjs.map +1 -1
  247. package/fesm2020/mdc-form-field/testing.mjs +1 -1
  248. package/fesm2020/mdc-form-field/testing.mjs.map +1 -1
  249. package/fesm2020/mdc-form-field.mjs +83 -76
  250. package/fesm2020/mdc-form-field.mjs.map +1 -1
  251. package/fesm2020/mdc-input/testing.mjs.map +1 -1
  252. package/fesm2020/mdc-input.mjs +7 -7
  253. package/fesm2020/mdc-input.mjs.map +1 -1
  254. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  255. package/fesm2020/mdc-list.mjs +74 -63
  256. package/fesm2020/mdc-list.mjs.map +1 -1
  257. package/fesm2020/mdc-menu/testing.mjs.map +1 -1
  258. package/fesm2020/mdc-menu.mjs +21 -21
  259. package/fesm2020/mdc-menu.mjs.map +1 -1
  260. package/fesm2020/mdc-paginator/testing.mjs.map +1 -1
  261. package/fesm2020/mdc-paginator.mjs +13 -13
  262. package/fesm2020/mdc-paginator.mjs.map +1 -1
  263. package/fesm2020/mdc-progress-bar/testing.mjs.map +1 -1
  264. package/fesm2020/mdc-progress-bar.mjs +11 -8
  265. package/fesm2020/mdc-progress-bar.mjs.map +1 -1
  266. package/fesm2020/mdc-progress-spinner/testing.mjs.map +1 -1
  267. package/fesm2020/mdc-progress-spinner.mjs +11 -8
  268. package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
  269. package/fesm2020/mdc-radio/testing.mjs +2 -1
  270. package/fesm2020/mdc-radio/testing.mjs.map +1 -1
  271. package/fesm2020/mdc-radio.mjs +12 -11
  272. package/fesm2020/mdc-radio.mjs.map +1 -1
  273. package/fesm2020/mdc-select/testing.mjs.map +1 -1
  274. package/fesm2020/mdc-select.mjs +14 -15
  275. package/fesm2020/mdc-select.mjs.map +1 -1
  276. package/fesm2020/mdc-slide-toggle/testing.mjs +3 -1
  277. package/fesm2020/mdc-slide-toggle/testing.mjs.map +1 -1
  278. package/fesm2020/mdc-slide-toggle.mjs +9 -8
  279. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  280. package/fesm2020/mdc-slider/testing.mjs.map +1 -1
  281. package/fesm2020/mdc-slider.mjs +59 -29
  282. package/fesm2020/mdc-slider.mjs.map +1 -1
  283. package/fesm2020/mdc-snack-bar/testing.mjs.map +1 -1
  284. package/fesm2020/mdc-snack-bar.mjs +62 -50
  285. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  286. package/fesm2020/mdc-table/testing.mjs.map +1 -1
  287. package/fesm2020/mdc-table.mjs +58 -58
  288. package/fesm2020/mdc-table.mjs.map +1 -1
  289. package/fesm2020/mdc-tabs/testing.mjs.map +1 -1
  290. package/fesm2020/mdc-tabs.mjs +77 -46
  291. package/fesm2020/mdc-tabs.mjs.map +1 -1
  292. package/fesm2020/mdc-tooltip/testing.mjs +3 -0
  293. package/fesm2020/mdc-tooltip/testing.mjs.map +1 -1
  294. package/fesm2020/mdc-tooltip.mjs +57 -40
  295. package/fesm2020/mdc-tooltip.mjs.map +1 -1
  296. package/fesm2020/menubar.mjs +31 -20
  297. package/fesm2020/menubar.mjs.map +1 -1
  298. package/fesm2020/popover-edit.mjs +25 -25
  299. package/fesm2020/popover-edit.mjs.map +1 -1
  300. package/fesm2020/selection.mjs +24 -24
  301. package/fesm2020/selection.mjs.map +1 -1
  302. package/mdc-autocomplete/_autocomplete-theme.scss +10 -10
  303. package/mdc-autocomplete/autocomplete-origin.d.ts +1 -1
  304. package/mdc-autocomplete/autocomplete-trigger.d.ts +1 -1
  305. package/mdc-autocomplete/autocomplete.d.ts +1 -1
  306. package/mdc-button/_button-base.scss +4 -3
  307. package/mdc-button/_button-theme-private.scss +0 -1
  308. package/mdc-button/_button-theme.scss +16 -13
  309. package/mdc-button/_fab-theme.scss +10 -10
  310. package/mdc-button/_icon-button-theme.scss +13 -12
  311. package/mdc-button/button-base.d.ts +2 -2
  312. package/mdc-button/button.d.ts +2 -2
  313. package/mdc-button/fab.d.ts +4 -4
  314. package/mdc-button/icon-button.d.ts +2 -2
  315. package/mdc-card/_card-theme.scss +11 -11
  316. package/mdc-card/card.d.ts +14 -14
  317. package/mdc-checkbox/_checkbox-theme.scss +16 -17
  318. package/mdc-checkbox/checkbox.d.ts +1 -1
  319. package/mdc-chips/_chips-theme.scss +20 -15
  320. package/mdc-chips/chip-action.d.ts +2 -2
  321. package/mdc-chips/chip-edit-input.d.ts +1 -1
  322. package/mdc-chips/chip-grid.d.ts +23 -6
  323. package/mdc-chips/chip-icons.d.ts +3 -3
  324. package/mdc-chips/chip-input.d.ts +6 -6
  325. package/mdc-chips/chip-listbox.d.ts +2 -3
  326. package/mdc-chips/chip-option.d.ts +1 -1
  327. package/mdc-chips/chip-row.d.ts +1 -1
  328. package/mdc-chips/chip-set.d.ts +4 -4
  329. package/mdc-chips/chip-text-control.d.ts +2 -0
  330. package/mdc-chips/chip.d.ts +1 -1
  331. package/mdc-chips/testing/public-api.d.ts +1 -0
  332. package/mdc-color/_all-color.scss +4 -3
  333. package/mdc-core/_core-theme.scss +23 -11
  334. package/mdc-core/option/_optgroup-theme.scss +11 -11
  335. package/mdc-core/option/_option-theme.scss +11 -11
  336. package/mdc-core/option/optgroup.d.ts +1 -1
  337. package/mdc-core/option/option.d.ts +1 -1
  338. package/mdc-density/_all-density.scss +4 -3
  339. package/mdc-dialog/_dialog-theme.scss +49 -13
  340. package/mdc-dialog/dialog-container.d.ts +1 -1
  341. package/mdc-dialog/dialog-content-directives.d.ts +8 -4
  342. package/mdc-dialog/dialog.d.ts +6 -1
  343. package/mdc-dialog/testing/dialog-opener.d.ts +18 -0
  344. package/mdc-dialog/testing/public-api.d.ts +1 -0
  345. package/mdc-form-field/_form-field-density.scss +6 -5
  346. package/mdc-form-field/_form-field-focus-overlay.scss +2 -2
  347. package/mdc-form-field/_form-field-high-contrast.scss +17 -8
  348. package/mdc-form-field/_form-field-native-select.scss +5 -4
  349. package/mdc-form-field/_form-field-subscript.scss +5 -3
  350. package/mdc-form-field/_form-field-theme.scss +17 -17
  351. package/mdc-form-field/_mdc-text-field-structure-overrides.scss +2 -2
  352. package/mdc-form-field/directives/error.d.ts +1 -1
  353. package/mdc-form-field/directives/floating-label.d.ts +1 -3
  354. package/mdc-form-field/directives/hint.d.ts +1 -1
  355. package/mdc-form-field/directives/label.d.ts +1 -1
  356. package/mdc-form-field/directives/line-ripple.d.ts +1 -1
  357. package/mdc-form-field/directives/notched-outline.d.ts +1 -1
  358. package/mdc-form-field/directives/prefix.d.ts +1 -1
  359. package/mdc-form-field/directives/suffix.d.ts +1 -1
  360. package/mdc-form-field/form-field.d.ts +24 -12
  361. package/mdc-form-field/testing/public-api.d.ts +1 -1
  362. package/mdc-helpers/_focus-indicators-theme.scss +6 -6
  363. package/mdc-helpers/_focus-indicators.scss +2 -2
  364. package/mdc-helpers/_mdc-helpers.scss +13 -16
  365. package/mdc-input/_input-theme.scss +10 -10
  366. package/mdc-input/input.d.ts +1 -1
  367. package/mdc-list/_interactive-list-theme.scss +2 -2
  368. package/mdc-list/_list-theme.scss +22 -15
  369. package/mdc-list/action-list.d.ts +1 -1
  370. package/mdc-list/interactive-list-base.d.ts +1 -1
  371. package/mdc-list/list-base.d.ts +2 -2
  372. package/mdc-list/list-item-sections.d.ts +6 -6
  373. package/mdc-list/list-option.d.ts +1 -1
  374. package/mdc-list/list.d.ts +6 -2
  375. package/mdc-list/nav-list.d.ts +1 -1
  376. package/mdc-list/selection-list.d.ts +1 -1
  377. package/mdc-list/subheader.d.ts +1 -1
  378. package/mdc-menu/_menu-theme.scss +10 -10
  379. package/mdc-menu/directives.d.ts +2 -2
  380. package/mdc-menu/menu-item.d.ts +1 -1
  381. package/mdc-menu/menu.d.ts +2 -2
  382. package/mdc-paginator/_paginator-theme.scss +20 -23
  383. package/mdc-paginator/paginator.d.ts +1 -1
  384. package/mdc-paginator/public-api.d.ts +1 -1
  385. package/mdc-progress-bar/_progress-bar-theme.scss +8 -7
  386. package/mdc-progress-bar/progress-bar.d.ts +1 -1
  387. package/mdc-progress-spinner/_progress-spinner-theme.scss +8 -7
  388. package/mdc-progress-spinner/progress-spinner.d.ts +1 -1
  389. package/mdc-radio/_radio-theme.scss +16 -16
  390. package/mdc-radio/radio.d.ts +2 -2
  391. package/mdc-select/_select-theme.scss +11 -11
  392. package/mdc-select/select.d.ts +2 -2
  393. package/mdc-slide-toggle/_slide-toggle-theme.scss +14 -15
  394. package/mdc-slide-toggle/slide-toggle.d.ts +1 -1
  395. package/mdc-slider/_slider-theme.scss +11 -12
  396. package/mdc-slider/slider.d.ts +9 -3
  397. package/mdc-snack-bar/_snack-bar-theme.scss +11 -11
  398. package/mdc-snack-bar/simple-snack-bar.d.ts +1 -1
  399. package/mdc-snack-bar/snack-bar-container.d.ts +5 -4
  400. package/mdc-snack-bar/snack-bar-content.d.ts +3 -3
  401. package/mdc-table/_table-theme.scss +14 -21
  402. package/mdc-table/cell.d.ts +7 -7
  403. package/mdc-table/row.d.ts +7 -7
  404. package/mdc-table/table.d.ts +2 -2
  405. package/mdc-table/text-column.d.ts +1 -1
  406. package/mdc-tabs/_tabs-common.scss +14 -4
  407. package/mdc-tabs/_tabs-theme.scss +14 -14
  408. package/mdc-tabs/ink-bar.d.ts +1 -1
  409. package/mdc-tabs/tab-body.d.ts +2 -2
  410. package/mdc-tabs/tab-content.d.ts +1 -1
  411. package/mdc-tabs/tab-group.d.ts +5 -1
  412. package/mdc-tabs/tab-header.d.ts +1 -1
  413. package/mdc-tabs/tab-label-wrapper.d.ts +1 -1
  414. package/mdc-tabs/tab-label.d.ts +1 -1
  415. package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +10 -5
  416. package/mdc-tabs/tab.d.ts +1 -1
  417. package/mdc-theming/_all-theme.scss +3 -2
  418. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
  419. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  420. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
  421. package/mdc-theming/prebuilt/purple-green.css +1 -1
  422. package/mdc-tooltip/_tooltip-theme.scss +12 -13
  423. package/mdc-tooltip/testing/tooltip-harness.d.ts +3 -0
  424. package/mdc-tooltip/tooltip.d.ts +8 -4
  425. package/mdc-typography/_all-typography.scss +5 -5
  426. package/menubar/menubar-item.d.ts +3 -2
  427. package/menubar/menubar-module.d.ts +1 -1
  428. package/menubar/menubar.d.ts +2 -2
  429. package/package.json +56 -18
  430. package/popover-edit/_popover-edit-theme.scss +23 -26
  431. package/popover-edit/lens-directives.d.ts +3 -3
  432. package/popover-edit/table-directives.d.ts +4 -4
  433. package/selection/_selection.scss +3 -3
  434. package/selection/row-selection.d.ts +1 -1
  435. package/selection/select-all.d.ts +1 -1
  436. package/selection/selection-column.d.ts +1 -1
  437. package/selection/selection-toggle.d.ts +1 -1
  438. package/selection/selection.d.ts +1 -1
  439. package/esm2020/mdc-sidenav/index.mjs +0 -9
  440. package/esm2020/mdc-sidenav/mdc-sidenav_public_index.mjs +0 -5
  441. package/esm2020/mdc-sidenav/module.mjs +0 -23
  442. package/esm2020/mdc-sidenav/public-api.mjs +0 -9
  443. package/fesm2015/mdc-sidenav.mjs +0 -46
  444. package/fesm2015/mdc-sidenav.mjs.map +0 -1
  445. package/fesm2020/mdc-sidenav.mjs +0 -46
  446. package/fesm2020/mdc-sidenav.mjs.map +0 -1
  447. package/mdc-sidenav/_sidenav-theme.import.scss +0 -5
  448. package/mdc-sidenav/_sidenav-theme.scss +0 -28
  449. package/mdc-sidenav/index.d.ts +0 -8
  450. package/mdc-sidenav/mdc-sidenav_public_index.d.ts +0 -4
  451. package/mdc-sidenav/module.d.ts +0 -7
  452. package/mdc-sidenav/package.json +0 -9
  453. package/mdc-sidenav/public-api.d.ts +0 -8
@@ -3,11 +3,11 @@ import { Directive, Component, ViewEncapsulation, ChangeDetectionStrategy, Injec
3
3
  import * as i1 from '@angular/material/snack-bar';
4
4
  import { MAT_SNACK_BAR_DATA, _MatSnackBarBase, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
5
5
  export { MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY, MatSnackBarConfig, MatSnackBarRef, matSnackBarAnimations } from '@angular/material/snack-bar';
6
- import * as i2 from '@angular/material-experimental/mdc-button';
7
- import { MatButtonModule } from '@angular/material-experimental/mdc-button';
8
- import * as i4 from '@angular/common';
6
+ import * as i2 from '@angular/common';
9
7
  import { CommonModule } from '@angular/common';
10
- import * as i3 from '@angular/cdk/portal';
8
+ import * as i3 from '@angular/material-experimental/mdc-button';
9
+ import { MatButtonModule } from '@angular/material-experimental/mdc-button';
10
+ import * as i3$1 from '@angular/cdk/portal';
11
11
  import { BasePortalOutlet, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
12
12
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
13
13
  import { MDCSnackbarFoundation } from '@material/snackbar';
@@ -17,7 +17,7 @@ import * as i1$1 from '@angular/cdk/overlay';
17
17
  import { OverlayModule } from '@angular/cdk/overlay';
18
18
  import { MatCommonModule } from '@angular/material-experimental/mdc-core';
19
19
  import * as i2$2 from '@angular/cdk/a11y';
20
- import * as i3$1 from '@angular/cdk/layout';
20
+ import * as i3$2 from '@angular/cdk/layout';
21
21
 
22
22
  /**
23
23
  * @license
@@ -29,9 +29,9 @@ import * as i3$1 from '@angular/cdk/layout';
29
29
  /** Directive that should be applied to the text element to be rendered in the snack bar. */
30
30
  class MatSnackBarLabel {
31
31
  }
32
- MatSnackBarLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
33
- MatSnackBarLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSnackBarLabel, selector: "[matSnackBarLabel]", host: { classAttribute: "mat-mdc-snack-bar-label mdc-snackbar__label" }, ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarLabel, decorators: [{
32
+ MatSnackBarLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
33
+ MatSnackBarLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatSnackBarLabel, selector: "[matSnackBarLabel]", host: { classAttribute: "mat-mdc-snack-bar-label mdc-snackbar__label" }, ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarLabel, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: `[matSnackBarLabel]`,
@@ -43,9 +43,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
43
43
  /** Directive that should be applied to the element containing the snack bar's action buttons. */
44
44
  class MatSnackBarActions {
45
45
  }
46
- MatSnackBarActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
- MatSnackBarActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSnackBarActions, selector: "[matSnackBarActions]", host: { classAttribute: "mat-mdc-snack-bar-actions mdc-snackbar__actions" }, ngImport: i0 });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarActions, decorators: [{
46
+ MatSnackBarActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
+ MatSnackBarActions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatSnackBarActions, selector: "[matSnackBarActions]", host: { classAttribute: "mat-mdc-snack-bar-actions mdc-snackbar__actions" }, ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarActions, decorators: [{
49
49
  type: Directive,
50
50
  args: [{
51
51
  selector: `[matSnackBarActions]`,
@@ -57,9 +57,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
57
57
  /** Directive that should be applied to each of the snack bar's action buttons. */
58
58
  class MatSnackBarAction {
59
59
  }
60
- MatSnackBarAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
- MatSnackBarAction.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSnackBarAction, selector: "[matSnackBarAction]", host: { classAttribute: "mat-mdc-snack-bar-action mdc-snackbar__action" }, ngImport: i0 });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarAction, decorators: [{
60
+ MatSnackBarAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
+ MatSnackBarAction.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatSnackBarAction, selector: "[matSnackBarAction]", host: { classAttribute: "mat-mdc-snack-bar-action mdc-snackbar__action" }, ngImport: i0 });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarAction, decorators: [{
63
63
  type: Directive,
64
64
  args: [{
65
65
  selector: `[matSnackBarAction]`,
@@ -90,13 +90,13 @@ class SimpleSnackBar {
90
90
  return !!this.data.action;
91
91
  }
92
92
  }
93
- SimpleSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SimpleSnackBar, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
94
- SimpleSnackBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SimpleSnackBar, selector: "simple-snack-bar", host: { classAttribute: "mat-mdc-simple-snack-bar" }, exportAs: ["matSnackBar"], ngImport: i0, template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n", styles: [".mat-mdc-simple-snack-bar{display:flex}\n"], components: [{ type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MatSnackBarActions, selector: "[matSnackBarActions]" }, { type: MatSnackBarAction, selector: "[matSnackBarAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SimpleSnackBar, decorators: [{
93
+ SimpleSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: SimpleSnackBar, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
94
+ SimpleSnackBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: SimpleSnackBar, selector: "simple-snack-bar", host: { classAttribute: "mat-mdc-simple-snack-bar" }, exportAs: ["matSnackBar"], ngImport: i0, template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n", styles: [".mat-mdc-simple-snack-bar{display:flex}"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: MatSnackBarAction, selector: "[matSnackBarAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: SimpleSnackBar, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'simple-snack-bar', exportAs: 'matSnackBar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
98
98
  'class': 'mat-mdc-simple-snack-bar',
99
- }, template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n", styles: [".mat-mdc-simple-snack-bar{display:flex}\n"] }]
99
+ }, template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n", styles: [".mat-mdc-simple-snack-bar{display:flex}"] }]
100
100
  }], ctorParameters: function () {
101
101
  return [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
102
102
  type: Inject,
@@ -169,17 +169,6 @@ class MatSnackBarContainer extends BasePortalOutlet {
169
169
  // Set this to `-1` to mark it as indefinitely open so that MDC does not close itself.
170
170
  this._mdcFoundation.setTimeoutMs(-1);
171
171
  }
172
- ngAfterViewChecked() {
173
- // Check to see if the attached component or template uses the MDC template structure,
174
- // specifically the MDC label. If not, the container should apply the MDC label class to this
175
- // component's label container, which will apply MDC's label styles to the attached view.
176
- if (!this._label.nativeElement.querySelector(`.${MDC_SNACKBAR_LABEL_CLASS}`)) {
177
- this._label.nativeElement.classList.add(MDC_SNACKBAR_LABEL_CLASS);
178
- }
179
- else {
180
- this._label.nativeElement.classList.remove(MDC_SNACKBAR_LABEL_CLASS);
181
- }
182
- }
183
172
  /** Makes sure the exit callbacks have been invoked when the element is destroyed. */
184
173
  ngOnDestroy() {
185
174
  this._mdcFoundation.close();
@@ -187,29 +176,39 @@ class MatSnackBarContainer extends BasePortalOutlet {
187
176
  enter() {
188
177
  // MDC uses some browser APIs that will throw during server-side rendering.
189
178
  if (this._platform.isBrowser) {
190
- this._mdcFoundation.open();
191
- this._screenReaderAnnounce();
179
+ this._ngZone.run(() => {
180
+ this._mdcFoundation.open();
181
+ this._screenReaderAnnounce();
182
+ });
192
183
  }
193
184
  }
194
185
  exit() {
195
- this._exiting = true;
196
- this._mdcFoundation.close();
197
- // If the snack bar hasn't been announced by the time it exits it wouldn't have been open
198
- // long enough to visually read it either, so clear the timeout for announcing.
199
- clearTimeout(this._announceTimeoutId);
186
+ // It's common for snack bars to be opened by random outside calls like HTTP requests or
187
+ // errors. Run inside the NgZone to ensure that it functions correctly.
188
+ this._ngZone.run(() => {
189
+ this._exiting = true;
190
+ this._mdcFoundation.close();
191
+ // If the snack bar hasn't been announced by the time it exits it wouldn't have been open
192
+ // long enough to visually read it either, so clear the timeout for announcing.
193
+ clearTimeout(this._announceTimeoutId);
194
+ });
200
195
  return this._onExit;
201
196
  }
202
197
  /** Attach a component portal as content to this snack bar container. */
203
198
  attachComponentPortal(portal) {
204
199
  this._assertNotAttached();
205
200
  this._applySnackBarClasses();
206
- return this._portalOutlet.attachComponentPortal(portal);
201
+ const componentRef = this._portalOutlet.attachComponentPortal(portal);
202
+ this._applyLabelClass();
203
+ return componentRef;
207
204
  }
208
205
  /** Attach a template portal as content to this snack bar container. */
209
206
  attachTemplatePortal(portal) {
210
207
  this._assertNotAttached();
211
208
  this._applySnackBarClasses();
212
- return this._portalOutlet.attachTemplatePortal(portal);
209
+ const viewRef = this._portalOutlet.attachTemplatePortal(portal);
210
+ this._applyLabelClass();
211
+ return viewRef;
213
212
  }
214
213
  _setClass(cssClass, active) {
215
214
  this._elementRef.nativeElement.classList.toggle(cssClass, active);
@@ -261,10 +260,23 @@ class MatSnackBarContainer extends BasePortalOutlet {
261
260
  });
262
261
  }
263
262
  }
263
+ /** Applies the correct CSS class to the label based on its content. */
264
+ _applyLabelClass() {
265
+ // Check to see if the attached component or template uses the MDC template structure,
266
+ // specifically the MDC label. If not, the container should apply the MDC label class to this
267
+ // component's label container, which will apply MDC's label styles to the attached view.
268
+ const label = this._label.nativeElement;
269
+ if (!label.querySelector(`.${MDC_SNACKBAR_LABEL_CLASS}`)) {
270
+ label.classList.add(MDC_SNACKBAR_LABEL_CLASS);
271
+ }
272
+ else {
273
+ label.classList.remove(MDC_SNACKBAR_LABEL_CLASS);
274
+ }
275
+ }
264
276
  }
265
- MatSnackBarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarContainer, deps: [{ token: i0.ElementRef }, { token: i1.MatSnackBarConfig }, { token: i2$1.Platform }, { token: i0.NgZone }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
266
- MatSnackBarContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatSnackBarContainer, selector: "mat-snack-bar-container", host: { properties: { "class.mat-snack-bar-container": "false", "attr.mat-exit": "_exiting ? '' : null", "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mdc-snackbar mat-mdc-snack-bar-container" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "_surface", first: true, predicate: ["surface"], descendants: true, static: true }, { propertyName: "_label", first: true, predicate: ["label"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n", styles: [".mdc-snackbar{z-index:8;margin:8px;display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mdc-snackbar__surface{min-width:100%}}.mdc-snackbar__surface{max-width:672px}.mdc-snackbar__surface{border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar--leading{justify-content:flex-start}.mdc-snackbar--stacked .mdc-snackbar__label{padding-left:16px;padding-right:8px;padding-bottom:12px}[dir=rtl] .mdc-snackbar--stacked .mdc-snackbar__label,.mdc-snackbar--stacked .mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar--stacked .mdc-snackbar__surface{flex-direction:column;align-items:flex-start}.mdc-snackbar--stacked .mdc-snackbar__actions{align-self:flex-end;margin-bottom:8px}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto;transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1);transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action.mdc-ripple-upgraded--background-focused::before,.mdc-snackbar__action:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-snackbar__action:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-snackbar__action:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-snackbar__dismiss{width:36px;height:36px;padding:6px;font-size:18px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:36px;height:36px;margin-top:0px;margin-bottom:0px;margin-right:0px;margin-left:0px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__touch{position:absolute;top:50%;height:36px;left:50%;width:36px;transform:translate(-50%, -50%)}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{position:static}.cdk-high-contrast-active .mat-mdc-snack-bar-container{border:solid 1px}.mat-mdc-snack-bar-container._mat-animation-noopable .mdc-snackbar__surface{transition:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}\n"], directives: [{ type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarContainer, decorators: [{
277
+ MatSnackBarContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarContainer, deps: [{ token: i0.ElementRef }, { token: i1.MatSnackBarConfig }, { token: i2$1.Platform }, { token: i0.NgZone }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
278
+ MatSnackBarContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.14", type: MatSnackBarContainer, selector: "mat-snack-bar-container", host: { properties: { "class.mat-snack-bar-container": "false", "attr.mat-exit": "_exiting ? '' : null", "class._mat-animation-noopable": "_animationMode === 'NoopAnimations'" }, classAttribute: "mdc-snackbar mat-mdc-snack-bar-container" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "_surface", first: true, predicate: ["surface"], descendants: true, static: true }, { propertyName: "_label", first: true, predicate: ["label"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n", styles: [".mdc-snackbar{z-index:8;margin:8px;display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mdc-snackbar__surface{min-width:100%}}.mdc-snackbar__surface{max-width:672px}.mdc-snackbar__surface{border-radius:var(--mdc-shape-small, 4px)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar--leading{justify-content:flex-start}.mdc-snackbar--stacked .mdc-snackbar__label{padding-left:16px;padding-right:8px;padding-bottom:12px}[dir=rtl] .mdc-snackbar--stacked .mdc-snackbar__label,.mdc-snackbar--stacked .mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar--stacked .mdc-snackbar__surface{flex-direction:column;align-items:flex-start}.mdc-snackbar--stacked .mdc-snackbar__actions{align-self:flex-end;margin-bottom:8px}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto;transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1);transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.mdc-snackbar__action:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{transition-duration:75ms}.mdc-snackbar__action:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__action:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-snackbar__dismiss{width:36px;height:36px;padding:6px;font-size:18px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:36px;height:36px;margin-top:0px;margin-bottom:0px;margin-right:0px;margin-left:0px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__focus-ring{display:none}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block;max-width:36px;max-height:36px;pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{content:\"\";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__touch{position:absolute;top:50%;height:36px;left:50%;width:36px;transform:translate(-50%, -50%)}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{position:static}.cdk-high-contrast-active .mat-mdc-snack-bar-container{border:solid 1px}.mat-mdc-snack-bar-container._mat-animation-noopable .mdc-snackbar__surface{transition:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}"], dependencies: [{ kind: "directive", type: i3$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarContainer, decorators: [{
268
280
  type: Component,
269
281
  args: [{ selector: 'mat-snack-bar-container', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, host: {
270
282
  'class': 'mdc-snackbar mat-mdc-snack-bar-container',
@@ -274,7 +286,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
274
286
  // test harness.
275
287
  '[attr.mat-exit]': `_exiting ? '' : null`,
276
288
  '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,
277
- }, template: "<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n", styles: [".mdc-snackbar{z-index:8;margin:8px;display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mdc-snackbar__surface{min-width:100%}}.mdc-snackbar__surface{max-width:672px}.mdc-snackbar__surface{border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar--leading{justify-content:flex-start}.mdc-snackbar--stacked .mdc-snackbar__label{padding-left:16px;padding-right:8px;padding-bottom:12px}[dir=rtl] .mdc-snackbar--stacked .mdc-snackbar__label,.mdc-snackbar--stacked .mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar--stacked .mdc-snackbar__surface{flex-direction:column;align-items:flex-start}.mdc-snackbar--stacked .mdc-snackbar__actions{align-self:flex-end;margin-bottom:8px}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto;transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1);transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action.mdc-ripple-upgraded--background-focused::before,.mdc-snackbar__action:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-snackbar__action:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-snackbar__action:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-snackbar__dismiss{width:36px;height:36px;padding:6px;font-size:18px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:36px;height:36px;margin-top:0px;margin-bottom:0px;margin-right:0px;margin-left:0px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__touch{position:absolute;top:50%;height:36px;left:50%;width:36px;transform:translate(-50%, -50%)}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{position:static}.cdk-high-contrast-active .mat-mdc-snack-bar-container{border:solid 1px}.mat-mdc-snack-bar-container._mat-animation-noopable .mdc-snackbar__surface{transition:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}\n"] }]
289
+ }, template: "<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n", styles: [".mdc-snackbar{z-index:8;margin:8px;display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mdc-snackbar__surface{min-width:100%}}.mdc-snackbar__surface{max-width:672px}.mdc-snackbar__surface{border-radius:var(--mdc-shape-small, 4px)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar--leading{justify-content:flex-start}.mdc-snackbar--stacked .mdc-snackbar__label{padding-left:16px;padding-right:8px;padding-bottom:12px}[dir=rtl] .mdc-snackbar--stacked .mdc-snackbar__label,.mdc-snackbar--stacked .mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar--stacked .mdc-snackbar__surface{flex-direction:column;align-items:flex-start}.mdc-snackbar--stacked .mdc-snackbar__actions{align-self:flex-end;margin-bottom:8px}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto;transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1);transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.mdc-snackbar__action:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{transition-duration:75ms}.mdc-snackbar__action:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__action:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms}.mdc-snackbar__dismiss.mdc-snackbar__dismiss{width:36px;height:36px;padding:6px;font-size:18px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:36px;height:36px;margin-top:0px;margin-bottom:0px;margin-right:0px;margin-left:0px}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__focus-ring{display:none}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block;max-width:36px;max-height:36px;pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{content:\"\";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-snackbar__dismiss.mdc-snackbar__dismiss.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-snackbar__dismiss.mdc-snackbar__dismiss:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-snackbar__dismiss.mdc-snackbar__dismiss .mdc-icon-button__touch{position:absolute;top:50%;height:36px;left:50%;width:36px;transform:translate(-50%, -50%)}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{position:static}.cdk-high-contrast-active .mat-mdc-snack-bar-container{border:solid 1px}.mat-mdc-snack-bar-container._mat-animation-noopable .mdc-snackbar__surface{transition:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}"] }]
278
290
  }], ctorParameters: function () {
279
291
  return [{ type: i0.ElementRef }, { type: i1.MatSnackBarConfig }, { type: i2$1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{
280
292
  type: Optional
@@ -302,8 +314,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
302
314
  */
303
315
  class MatSnackBarModule {
304
316
  }
305
- MatSnackBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
306
- MatSnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarModule, declarations: [SimpleSnackBar,
317
+ MatSnackBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
318
+ MatSnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarModule, declarations: [SimpleSnackBar,
307
319
  MatSnackBarContainer,
308
320
  MatSnackBarLabel,
309
321
  MatSnackBarActions,
@@ -312,8 +324,8 @@ MatSnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
312
324
  MatSnackBarLabel,
313
325
  MatSnackBarActions,
314
326
  MatSnackBarAction] });
315
- MatSnackBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarModule, imports: [[OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule], MatCommonModule] });
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBarModule, decorators: [{
327
+ MatSnackBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarModule, imports: [[OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule], MatCommonModule] });
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBarModule, decorators: [{
317
329
  type: NgModule,
318
330
  args: [{
319
331
  imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],
@@ -345,13 +357,13 @@ class MatSnackBar extends _MatSnackBarBase {
345
357
  this.handsetCssClass = 'mat-mdc-snack-bar-handset';
346
358
  }
347
359
  }
348
- MatSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBar, deps: [{ token: i1$1.Overlay }, { token: i2$2.LiveAnnouncer }, { token: i0.Injector }, { token: i3$1.BreakpointObserver }, { token: MatSnackBar, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
349
- MatSnackBar.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBar, providedIn: MatSnackBarModule });
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSnackBar, decorators: [{
360
+ MatSnackBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBar, deps: [{ token: i1$1.Overlay }, { token: i2$2.LiveAnnouncer }, { token: i0.Injector }, { token: i3$2.BreakpointObserver }, { token: MatSnackBar, optional: true, skipSelf: true }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
361
+ MatSnackBar.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBar, providedIn: MatSnackBarModule });
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.14", ngImport: i0, type: MatSnackBar, decorators: [{
351
363
  type: Injectable,
352
364
  args: [{ providedIn: MatSnackBarModule }]
353
365
  }], ctorParameters: function () {
354
- return [{ type: i1$1.Overlay }, { type: i2$2.LiveAnnouncer }, { type: i0.Injector }, { type: i3$1.BreakpointObserver }, { type: MatSnackBar, decorators: [{
366
+ return [{ type: i1$1.Overlay }, { type: i2$2.LiveAnnouncer }, { type: i0.Injector }, { type: i3$2.BreakpointObserver }, { type: MatSnackBar, decorators: [{
355
367
  type: Optional
356
368
  }, {
357
369
  type: SkipSelf
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-snack-bar.mjs","sources":["../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-content.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.html","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.html","../../../../../../src/material-experimental/mdc-snack-bar/module.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/public-api.ts","../../../../../../src/material-experimental/mdc-snack-bar/index.ts","../../../../../../src/material-experimental/mdc-snack-bar/mdc-snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n/** Directive that should be applied to the text element to be rendered in the snack bar. */\n@Directive({\n selector: `[matSnackBarLabel]`,\n host: {\n 'class': 'mat-mdc-snack-bar-label mdc-snackbar__label',\n },\n})\nexport class MatSnackBarLabel {}\n\n/** Directive that should be applied to the element containing the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarActions]`,\n host: {\n 'class': 'mat-mdc-snack-bar-actions mdc-snackbar__actions',\n },\n})\nexport class MatSnackBarActions {}\n\n/** Directive that should be applied to each of the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarAction]`,\n host: {\n 'class': 'mat-mdc-snack-bar-action mdc-snackbar__action',\n },\n})\nexport class MatSnackBarAction {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, TextOnlySnackBar, MatSnackBarRef} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n exportAs: 'matSnackBar',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-mdc-simple-snack-bar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) public data: {message: string; action: string},\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","<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatSnackBarConfig, _SnackBarContainer} from '@angular/material/snack-bar';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MDCSnackbarAdapter, MDCSnackbarFoundation} from '@material/snackbar';\nimport {Platform} from '@angular/cdk/platform';\nimport {Observable, Subject} from 'rxjs';\n\n/**\n * The MDC label class that should wrap the label content of the snack bar.\n * @docs-private\n */\nconst MDC_SNACKBAR_LABEL_CLASS = 'mdc-snackbar__label';\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'mat-snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'mdc-snackbar mat-mdc-snack-bar-container',\n '[class.mat-snack-bar-container]': 'false',\n // Mark this element with a 'mat-exit' attribute to indicate that the snackbar has\n // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n // test harness.\n '[attr.mat-exit]': `_exiting ? '' : null`,\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n },\n})\nexport class MatSnackBarContainer\n extends BasePortalOutlet\n implements _SnackBarContainer, AfterViewChecked, OnDestroy\n{\n /** The number of milliseconds to wait before announcing the snack bar's content. */\n private readonly _announceDelay: number = 150;\n\n /** The timeout for announcing the snack bar's content. */\n private _announceTimeoutId: number;\n\n /** Subject for notifying that the snack bar has announced to screen readers. */\n readonly _onAnnounce: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<void> = new Subject();\n\n /** aria-live value for the live region. */\n _live: AriaLivePoliteness;\n\n /** Whether the snack bar is currently exiting. */\n _exiting = false;\n\n /**\n * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n * JAWS does not read out aria-live message.\n */\n _role?: 'status' | 'alert';\n\n private _mdcAdapter: MDCSnackbarAdapter = {\n addClass: (className: string) => this._setClass(className, true),\n removeClass: (className: string) => this._setClass(className, false),\n announce: () => {},\n notifyClosed: () => {\n this._onExit.next();\n this._mdcFoundation.destroy();\n },\n notifyClosing: () => {},\n notifyOpened: () => this._onEnter.next(),\n notifyOpening: () => {},\n };\n\n _mdcFoundation = new MDCSnackbarFoundation(this._mdcAdapter);\n\n /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** Element that acts as the MDC surface container which should contain the label and actions. */\n @ViewChild('surface', {static: true}) _surface: ElementRef;\n\n /**\n * Element that will have the `mdc-snackbar__label` class applied if the attached component\n * or template does not have it. This ensures that the appropriate structure, typography, and\n * color is applied to the attached view.\n */\n @ViewChild('label', {static: true}) _label: ElementRef;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n public snackBarConfig: MatSnackBarConfig,\n private _platform: Platform,\n private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n ) {\n super();\n\n // Use aria-live rather than a live role like 'alert' or 'status'\n // because NVDA and JAWS have show inconsistent behavior with live roles.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._live = 'assertive';\n } else if (snackBarConfig.politeness === 'off') {\n this._live = 'off';\n } else {\n this._live = 'polite';\n }\n\n // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n if (this._platform.FIREFOX) {\n if (this._live === 'polite') {\n this._role = 'status';\n }\n if (this._live === 'assertive') {\n this._role = 'alert';\n }\n }\n\n // `MatSnackBar` will use the config's timeout to determine when the snack bar should be closed.\n // Set this to `-1` to mark it as indefinitely open so that MDC does not close itself.\n this._mdcFoundation.setTimeoutMs(-1);\n }\n\n ngAfterViewChecked() {\n // Check to see if the attached component or template uses the MDC template structure,\n // specifically the MDC label. If not, the container should apply the MDC label class to this\n // component's label container, which will apply MDC's label styles to the attached view.\n if (!this._label.nativeElement.querySelector(`.${MDC_SNACKBAR_LABEL_CLASS}`)) {\n this._label.nativeElement.classList.add(MDC_SNACKBAR_LABEL_CLASS);\n } else {\n this._label.nativeElement.classList.remove(MDC_SNACKBAR_LABEL_CLASS);\n }\n }\n\n /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n ngOnDestroy() {\n this._mdcFoundation.close();\n }\n\n enter() {\n // MDC uses some browser APIs that will throw during server-side rendering.\n if (this._platform.isBrowser) {\n this._mdcFoundation.open();\n this._screenReaderAnnounce();\n }\n }\n\n exit(): Observable<void> {\n this._exiting = true;\n this._mdcFoundation.close();\n\n // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n // long enough to visually read it either, so clear the timeout for announcing.\n clearTimeout(this._announceTimeoutId);\n\n return this._onExit;\n }\n\n /** 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 private _setClass(cssClass: string, active: boolean) {\n this._elementRef.nativeElement.classList.toggle(cssClass, active);\n }\n\n /** Applies the user-configured CSS classes to the snack bar. */\n private _applySnackBarClasses() {\n const panelClasses = this.snackBarConfig.panelClass;\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 => this._setClass(cssClass, true));\n } else {\n this._setClass(panelClasses, true);\n }\n }\n }\n\n /** Asserts that no content is already attached to the container. */\n private _assertNotAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach snack bar content after content is already attached');\n }\n }\n\n /**\n * Starts a timeout to move the snack bar content to the live region so screen readers will\n * announce it.\n */\n private _screenReaderAnnounce() {\n if (!this._announceTimeoutId) {\n this._ngZone.runOutsideAngular(() => {\n this._announceTimeoutId = setTimeout(() => {\n const inertElement = this._elementRef.nativeElement.querySelector('[aria-hidden]');\n const liveElement = this._elementRef.nativeElement.querySelector('[aria-live]');\n\n if (inertElement && liveElement) {\n // If an element in the snack bar content is focused before being moved\n // track it and restore focus after moving to the live region.\n let focusedElement: HTMLElement | null = null;\n if (\n document.activeElement instanceof HTMLElement &&\n inertElement.contains(document.activeElement)\n ) {\n focusedElement = document.activeElement;\n }\n\n inertElement.removeAttribute('aria-hidden');\n liveElement.appendChild(inertElement);\n focusedElement?.focus();\n\n this._onAnnounce.next();\n this._onAnnounce.complete();\n }\n }, this._announceDelay);\n });\n }\n }\n}\n","<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material-experimental/mdc-button';\nimport {MatCommonModule} from '@angular/material-experimental/mdc-core';\n\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarAction, MatSnackBarActions, MatSnackBarLabel} from './snack-bar-content';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [\n MatCommonModule,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n declarations: [\n SimpleSnackBar,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n})\nexport class MatSnackBarModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {Inject, Injectable, Injector, Optional, SkipSelf} from '@angular/core';\nimport {\n MatSnackBarConfig,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n _MatSnackBarBase,\n} from '@angular/material/snack-bar';\nimport {MatSnackBarModule} from './module';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected override simpleSnackBarComponent = SimpleSnackBar;\n protected override snackBarContainerComponent = MatSnackBarContainer;\n protected override handsetCssClass = 'mat-mdc-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './simple-snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-content';\nexport * from './snack-bar';\nexport * from './module';\n\nexport {\n MatSnackBarConfig,\n MatSnackBarDismiss,\n MatSnackBarRef,\n MAT_SNACK_BAR_DATA,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n MatSnackBarHorizontalPosition,\n MatSnackBarVerticalPosition,\n TextOnlySnackBar,\n matSnackBarAnimations,\n} from '@angular/material/snack-bar';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdc-snack-bar.mjs","sources":["../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-content.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.html","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.html","../../../../../../src/material-experimental/mdc-snack-bar/module.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/public-api.ts","../../../../../../src/material-experimental/mdc-snack-bar/index.ts","../../../../../../src/material-experimental/mdc-snack-bar/mdc-snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n/** Directive that should be applied to the text element to be rendered in the snack bar. */\n@Directive({\n selector: `[matSnackBarLabel]`,\n host: {\n 'class': 'mat-mdc-snack-bar-label mdc-snackbar__label',\n },\n})\nexport class MatSnackBarLabel {}\n\n/** Directive that should be applied to the element containing the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarActions]`,\n host: {\n 'class': 'mat-mdc-snack-bar-actions mdc-snackbar__actions',\n },\n})\nexport class MatSnackBarActions {}\n\n/** Directive that should be applied to each of the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarAction]`,\n host: {\n 'class': 'mat-mdc-snack-bar-action mdc-snackbar__action',\n },\n})\nexport class MatSnackBarAction {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, TextOnlySnackBar, MatSnackBarRef} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n exportAs: 'matSnackBar',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-mdc-simple-snack-bar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) public data: {message: string; action: string},\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","<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatSnackBarConfig, _SnackBarContainer} from '@angular/material/snack-bar';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MDCSnackbarAdapter, MDCSnackbarFoundation} from '@material/snackbar';\nimport {Platform} from '@angular/cdk/platform';\nimport {Observable, Subject} from 'rxjs';\n\n/**\n * The MDC label class that should wrap the label content of the snack bar.\n * @docs-private\n */\nconst MDC_SNACKBAR_LABEL_CLASS = 'mdc-snackbar__label';\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'mat-snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'mdc-snackbar mat-mdc-snack-bar-container',\n '[class.mat-snack-bar-container]': 'false',\n // Mark this element with a 'mat-exit' attribute to indicate that the snackbar has\n // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n // test harness.\n '[attr.mat-exit]': `_exiting ? '' : null`,\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n },\n})\nexport class MatSnackBarContainer\n extends BasePortalOutlet\n implements _SnackBarContainer, OnDestroy\n{\n /** The number of milliseconds to wait before announcing the snack bar's content. */\n private readonly _announceDelay: number = 150;\n\n /** The timeout for announcing the snack bar's content. */\n private _announceTimeoutId: number;\n\n /** Subject for notifying that the snack bar has announced to screen readers. */\n readonly _onAnnounce: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<void> = new Subject();\n\n /** aria-live value for the live region. */\n _live: AriaLivePoliteness;\n\n /** Whether the snack bar is currently exiting. */\n _exiting = false;\n\n /**\n * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n * JAWS does not read out aria-live message.\n */\n _role?: 'status' | 'alert';\n\n private _mdcAdapter: MDCSnackbarAdapter = {\n addClass: (className: string) => this._setClass(className, true),\n removeClass: (className: string) => this._setClass(className, false),\n announce: () => {},\n notifyClosed: () => {\n this._onExit.next();\n this._mdcFoundation.destroy();\n },\n notifyClosing: () => {},\n notifyOpened: () => this._onEnter.next(),\n notifyOpening: () => {},\n };\n\n _mdcFoundation = new MDCSnackbarFoundation(this._mdcAdapter);\n\n /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** Element that acts as the MDC surface container which should contain the label and actions. */\n @ViewChild('surface', {static: true}) _surface: ElementRef;\n\n /**\n * Element that will have the `mdc-snackbar__label` class applied if the attached component\n * or template does not have it. This ensures that the appropriate structure, typography, and\n * color is applied to the attached view.\n */\n @ViewChild('label', {static: true}) _label: ElementRef;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n public snackBarConfig: MatSnackBarConfig,\n private _platform: Platform,\n private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n ) {\n super();\n\n // Use aria-live rather than a live role like 'alert' or 'status'\n // because NVDA and JAWS have show inconsistent behavior with live roles.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._live = 'assertive';\n } else if (snackBarConfig.politeness === 'off') {\n this._live = 'off';\n } else {\n this._live = 'polite';\n }\n\n // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n if (this._platform.FIREFOX) {\n if (this._live === 'polite') {\n this._role = 'status';\n }\n if (this._live === 'assertive') {\n this._role = 'alert';\n }\n }\n\n // `MatSnackBar` will use the config's timeout to determine when the snack bar should be closed.\n // Set this to `-1` to mark it as indefinitely open so that MDC does not close itself.\n this._mdcFoundation.setTimeoutMs(-1);\n }\n\n /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n ngOnDestroy() {\n this._mdcFoundation.close();\n }\n\n enter() {\n // MDC uses some browser APIs that will throw during server-side rendering.\n if (this._platform.isBrowser) {\n this._ngZone.run(() => {\n this._mdcFoundation.open();\n this._screenReaderAnnounce();\n });\n }\n }\n\n exit(): Observable<void> {\n // It's common for snack bars to be opened by random outside calls like HTTP requests or\n // errors. Run inside the NgZone to ensure that it functions correctly.\n this._ngZone.run(() => {\n this._exiting = true;\n this._mdcFoundation.close();\n\n // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n // long enough to visually read it either, so clear the timeout for announcing.\n clearTimeout(this._announceTimeoutId);\n });\n\n return this._onExit;\n }\n\n /** 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 const componentRef = this._portalOutlet.attachComponentPortal(portal);\n this._applyLabelClass();\n return componentRef;\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 const viewRef = this._portalOutlet.attachTemplatePortal(portal);\n this._applyLabelClass();\n return viewRef;\n }\n\n private _setClass(cssClass: string, active: boolean) {\n this._elementRef.nativeElement.classList.toggle(cssClass, active);\n }\n\n /** Applies the user-configured CSS classes to the snack bar. */\n private _applySnackBarClasses() {\n const panelClasses = this.snackBarConfig.panelClass;\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 => this._setClass(cssClass, true));\n } else {\n this._setClass(panelClasses, true);\n }\n }\n }\n\n /** Asserts that no content is already attached to the container. */\n private _assertNotAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach snack bar content after content is already attached');\n }\n }\n\n /**\n * Starts a timeout to move the snack bar content to the live region so screen readers will\n * announce it.\n */\n private _screenReaderAnnounce() {\n if (!this._announceTimeoutId) {\n this._ngZone.runOutsideAngular(() => {\n this._announceTimeoutId = setTimeout(() => {\n const inertElement = this._elementRef.nativeElement.querySelector('[aria-hidden]');\n const liveElement = this._elementRef.nativeElement.querySelector('[aria-live]');\n\n if (inertElement && liveElement) {\n // If an element in the snack bar content is focused before being moved\n // track it and restore focus after moving to the live region.\n let focusedElement: HTMLElement | null = null;\n if (\n document.activeElement instanceof HTMLElement &&\n inertElement.contains(document.activeElement)\n ) {\n focusedElement = document.activeElement;\n }\n\n inertElement.removeAttribute('aria-hidden');\n liveElement.appendChild(inertElement);\n focusedElement?.focus();\n\n this._onAnnounce.next();\n this._onAnnounce.complete();\n }\n }, this._announceDelay);\n });\n }\n }\n\n /** Applies the correct CSS class to the label based on its content. */\n private _applyLabelClass() {\n // Check to see if the attached component or template uses the MDC template structure,\n // specifically the MDC label. If not, the container should apply the MDC label class to this\n // component's label container, which will apply MDC's label styles to the attached view.\n const label = this._label.nativeElement;\n\n if (!label.querySelector(`.${MDC_SNACKBAR_LABEL_CLASS}`)) {\n label.classList.add(MDC_SNACKBAR_LABEL_CLASS);\n } else {\n label.classList.remove(MDC_SNACKBAR_LABEL_CLASS);\n }\n }\n}\n","<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material-experimental/mdc-button';\nimport {MatCommonModule} from '@angular/material-experimental/mdc-core';\n\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarAction, MatSnackBarActions, MatSnackBarLabel} from './snack-bar-content';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [\n MatCommonModule,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n declarations: [\n SimpleSnackBar,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n})\nexport class MatSnackBarModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {Inject, Injectable, Injector, Optional, SkipSelf} from '@angular/core';\nimport {\n MatSnackBarConfig,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n _MatSnackBarBase,\n} from '@angular/material/snack-bar';\nimport {MatSnackBarModule} from './module';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected override simpleSnackBarComponent = SimpleSnackBar;\n protected override snackBarContainerComponent = MatSnackBarContainer;\n protected override handsetCssClass = 'mat-mdc-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './simple-snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-content';\nexport * from './snack-bar';\nexport * from './module';\n\nexport {\n MatSnackBarConfig,\n MatSnackBarDismiss,\n MatSnackBarRef,\n MAT_SNACK_BAR_DATA,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n MatSnackBarHorizontalPosition,\n MatSnackBarVerticalPosition,\n TextOnlySnackBar,\n matSnackBarAnimations,\n} from '@angular/material/snack-bar';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.MatSnackBarLabel","i4.MatSnackBarActions","i4.MatSnackBarAction","i3","i1","i2"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-table/testing/cell-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/row-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/table-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-table/testing/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {\n MatCellHarness as BaseMatCellHarness,\n MatHeaderCellHarness as BaseMatHeaderCellHarness,\n MatFooterCellHarness as BaseMatFooterCellHarness,\n CellHarnessFilters,\n} from '@angular/material/table/testing';\n\n/** Harness for interacting with an MDC-based Angular Material table cell. */\nexport class MatCellHarness extends BaseMatCellHarness {\n /** The selector for the host element of a `MatCellHarness` instance. */\n static override hostSelector = '.mat-mdc-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatCellHarness> {\n return BaseMatCellHarness._getCellPredicate(MatCellHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table header cell. */\nexport class MatHeaderCellHarness extends BaseMatHeaderCellHarness {\n /** The selector for the host element of a `MatHeaderCellHarness` instance. */\n static override hostSelector = '.mat-mdc-header-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatHeaderCellHarness> {\n return BaseMatHeaderCellHarness._getCellPredicate(MatHeaderCellHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table footer cell. */\nexport class MatFooterCellHarness extends BaseMatFooterCellHarness {\n /** The selector for the host element of a `MatFooterCellHarness` instance. */\n static override hostSelector = '.mat-mdc-footer-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatFooterCellHarness> {\n return BaseMatFooterCellHarness._getCellPredicate(MatFooterCellHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatRowHarnessBase, RowHarnessFilters} from '@angular/material/table/testing';\nimport {MatCellHarness, MatHeaderCellHarness, MatFooterCellHarness} from './cell-harness';\n\n/** Harness for interacting with an MDC-based Angular Material table row. */\nexport class MatRowHarness extends _MatRowHarnessBase<typeof MatCellHarness, MatCellHarness> {\n /** The selector for the host element of a `MatRowHarness` instance. */\n static hostSelector = '.mat-mdc-row';\n protected _cellHarness = MatCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table row with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatRowHarness> {\n return new HarnessPredicate(MatRowHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table header row. */\nexport class MatHeaderRowHarness extends _MatRowHarnessBase<\n typeof MatHeaderCellHarness,\n MatHeaderCellHarness\n> {\n /** The selector for the host element of a `MatHeaderRowHarness` instance. */\n static hostSelector = '.mat-mdc-header-row';\n protected _cellHarness = MatHeaderCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header row with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatHeaderRowHarness> {\n return new HarnessPredicate(MatHeaderRowHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table footer row. */\nexport class MatFooterRowHarness extends _MatRowHarnessBase<\n typeof MatFooterCellHarness,\n MatFooterCellHarness\n> {\n /** The selector for the host element of a `MatFooterRowHarness` instance. */\n static hostSelector = '.mat-mdc-footer-row';\n protected _cellHarness = MatFooterCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer row cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatFooterRowHarness> {\n return new HarnessPredicate(MatFooterRowHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {TableHarnessFilters, _MatTableHarnessBase} from '@angular/material/table/testing';\nimport {MatRowHarness, MatHeaderRowHarness, MatFooterRowHarness} from './row-harness';\n\n/** Harness for interacting with an MDC-based mat-table in tests. */\nexport class MatTableHarness extends _MatTableHarnessBase<\n typeof MatHeaderRowHarness,\n MatHeaderRowHarness,\n typeof MatRowHarness,\n MatRowHarness,\n typeof MatFooterRowHarness,\n MatFooterRowHarness\n> {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-mdc-table';\n protected _headerRowHarness = MatHeaderRowHarness;\n protected _rowHarness = MatRowHarness;\n protected _footerRowHarness = MatFooterRowHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TableHarnessFilters = {}): HarnessPredicate<MatTableHarness> {\n return new HarnessPredicate(MatTableHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {\n CellHarnessFilters,\n RowHarnessFilters,\n TableHarnessFilters,\n MatRowHarnessColumnsText,\n MatTableHarnessColumnsText,\n} from '@angular/material/table/testing';\nexport * from './table-harness';\nexport * from './row-harness';\nexport * from './cell-harness';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["BaseMatCellHarness","BaseMatHeaderCellHarness","BaseMatFooterCellHarness"],"mappings":";;;AAAA;;;;;;;AAgBA;MACa,uBAAuBA,gBAAkB;;;;;;IASpD,OAAgB,IAAI,CAAC,UAA8B,EAAE;QACnD,OAAOA,gBAAkB,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACtE;;AAVD;AACgB,2BAAY,GAAG,eAAe,CAAC;AAYjD;MACa,6BAA6BC,sBAAwB;;;;;;;IAUhE,OAAgB,IAAI,CAAC,UAA8B,EAAE;QACnD,OAAOA,sBAAwB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KAClF;;AAXD;AACgB,iCAAY,GAAG,sBAAsB,CAAC;AAaxD;MACa,6BAA6BC,sBAAwB;;;;;;;IAUhE,OAAgB,IAAI,CAAC,UAA8B,EAAE;QACnD,OAAOA,sBAAwB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KAClF;;AAXD;AACgB,iCAAY,GAAG,sBAAsB;;AClDvD;;;;;;;AAYA;MACa,sBAAsB,kBAAyD;IAA5F;;QAGY,iBAAY,GAAG,cAAc,CAAC;KAUzC;;;;;;IAHC,OAAO,IAAI,CAAC,UAA6B,EAAE;QACzC,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACrD;;AAXD;AACO,0BAAY,GAAG,cAAc,CAAC;AAavC;MACa,4BAA4B,kBAGxC;IAHD;;QAMY,iBAAY,GAAG,oBAAoB,CAAC;KAW/C;;;;;;;IAHC,OAAO,IAAI,CAAC,UAA6B,EAAE;QACzC,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;KAC3D;;AAZD;AACO,gCAAY,GAAG,qBAAqB,CAAC;AAc9C;MACa,4BAA4B,kBAGxC;IAHD;;QAMY,iBAAY,GAAG,oBAAoB,CAAC;KAW/C;;;;;;;IAHC,OAAO,IAAI,CAAC,UAA6B,EAAE;QACzC,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;KAC3D;;AAZD;AACO,gCAAY,GAAG,qBAAqB;;ACtD7C;;;;;;;AAYA;MACa,wBAAwB,oBAOpC;IAPD;;QAUY,sBAAiB,GAAG,mBAAmB,CAAC;QACxC,gBAAW,GAAG,aAAa,CAAC;QAC5B,sBAAiB,GAAG,mBAAmB,CAAC;KAUnD;;;;;;IAHC,OAAO,IAAI,CAAC,UAA+B,EAAE;QAC3C,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;KACvD;;AAbD;AACO,4BAAY,GAAG,gBAAgB;;ACtBxC;;;;;;;;ACAA;;;;;;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-table/testing/cell-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/row-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/table-harness.ts","../../../../../../../src/material-experimental/mdc-table/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-table/testing/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {\n MatCellHarness as BaseMatCellHarness,\n MatHeaderCellHarness as BaseMatHeaderCellHarness,\n MatFooterCellHarness as BaseMatFooterCellHarness,\n CellHarnessFilters,\n} from '@angular/material/table/testing';\n\n/** Harness for interacting with an MDC-based Angular Material table cell. */\nexport class MatCellHarness extends BaseMatCellHarness {\n /** The selector for the host element of a `MatCellHarness` instance. */\n static override hostSelector = '.mat-mdc-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatCellHarness> {\n return BaseMatCellHarness._getCellPredicate(MatCellHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table header cell. */\nexport class MatHeaderCellHarness extends BaseMatHeaderCellHarness {\n /** The selector for the host element of a `MatHeaderCellHarness` instance. */\n static override hostSelector = '.mat-mdc-header-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatHeaderCellHarness> {\n return BaseMatHeaderCellHarness._getCellPredicate(MatHeaderCellHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table footer cell. */\nexport class MatFooterCellHarness extends BaseMatFooterCellHarness {\n /** The selector for the host element of a `MatFooterCellHarness` instance. */\n static override hostSelector = '.mat-mdc-footer-cell';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with(options: CellHarnessFilters = {}): HarnessPredicate<MatFooterCellHarness> {\n return BaseMatFooterCellHarness._getCellPredicate(MatFooterCellHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatRowHarnessBase, RowHarnessFilters} from '@angular/material/table/testing';\nimport {MatCellHarness, MatHeaderCellHarness, MatFooterCellHarness} from './cell-harness';\n\n/** Harness for interacting with an MDC-based Angular Material table row. */\nexport class MatRowHarness extends _MatRowHarnessBase<typeof MatCellHarness, MatCellHarness> {\n /** The selector for the host element of a `MatRowHarness` instance. */\n static hostSelector = '.mat-mdc-row';\n protected _cellHarness = MatCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table row with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatRowHarness> {\n return new HarnessPredicate(MatRowHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table header row. */\nexport class MatHeaderRowHarness extends _MatRowHarnessBase<\n typeof MatHeaderCellHarness,\n MatHeaderCellHarness\n> {\n /** The selector for the host element of a `MatHeaderRowHarness` instance. */\n static hostSelector = '.mat-mdc-header-row';\n protected _cellHarness = MatHeaderCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table header row with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatHeaderRowHarness> {\n return new HarnessPredicate(MatHeaderRowHarness, options);\n }\n}\n\n/** Harness for interacting with an MDC-based Angular Material table footer row. */\nexport class MatFooterRowHarness extends _MatRowHarnessBase<\n typeof MatFooterCellHarness,\n MatFooterCellHarness\n> {\n /** The selector for the host element of a `MatFooterRowHarness` instance. */\n static hostSelector = '.mat-mdc-footer-row';\n protected _cellHarness = MatFooterCellHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for\n * a table footer row cell with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: RowHarnessFilters = {}): HarnessPredicate<MatFooterRowHarness> {\n return new HarnessPredicate(MatFooterRowHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {TableHarnessFilters, _MatTableHarnessBase} from '@angular/material/table/testing';\nimport {MatRowHarness, MatHeaderRowHarness, MatFooterRowHarness} from './row-harness';\n\n/** Harness for interacting with an MDC-based mat-table in tests. */\nexport class MatTableHarness extends _MatTableHarnessBase<\n typeof MatHeaderRowHarness,\n MatHeaderRowHarness,\n typeof MatRowHarness,\n MatRowHarness,\n typeof MatFooterRowHarness,\n MatFooterRowHarness\n> {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-mdc-table';\n protected _headerRowHarness = MatHeaderRowHarness;\n protected _rowHarness = MatRowHarness;\n protected _footerRowHarness = MatFooterRowHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a table with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TableHarnessFilters = {}): HarnessPredicate<MatTableHarness> {\n return new HarnessPredicate(MatTableHarness, options);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {\n CellHarnessFilters,\n RowHarnessFilters,\n TableHarnessFilters,\n MatRowHarnessColumnsText,\n MatTableHarnessColumnsText,\n} from '@angular/material/table/testing';\nexport * from './table-harness';\nexport * from './row-harness';\nexport * from './cell-harness';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["BaseMatCellHarness","BaseMatHeaderCellHarness","BaseMatFooterCellHarness"],"mappings":";;;AAAA;;;;;;AAMG;AAUH;AACM,MAAO,cAAe,SAAQA,gBAAkB,CAAA;AAIpD;;;;AAIG;AACH,IAAA,OAAgB,IAAI,CAAC,OAAA,GAA8B,EAAE,EAAA;QACnD,OAAOA,gBAAkB,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACtE;;AAVD;AACgB,cAAY,CAAA,YAAA,GAAG,eAAe,CAAC;AAYjD;AACM,MAAO,oBAAqB,SAAQC,sBAAwB,CAAA;AAIhE;;;;;AAKG;AACH,IAAA,OAAgB,IAAI,CAAC,OAAA,GAA8B,EAAE,EAAA;QACnD,OAAOA,sBAAwB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KAClF;;AAXD;AACgB,oBAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC;AAaxD;AACM,MAAO,oBAAqB,SAAQC,sBAAwB,CAAA;AAIhE;;;;;AAKG;AACH,IAAA,OAAgB,IAAI,CAAC,OAAA,GAA8B,EAAE,EAAA;QACnD,OAAOA,sBAAwB,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KAClF;;AAXD;AACgB,oBAAY,CAAA,YAAA,GAAG,sBAAsB;;AClDvD;;;;;;AAMG;AAMH;AACM,MAAO,aAAc,SAAQ,kBAAyD,CAAA;AAA5F,IAAA,WAAA,GAAA;;AAGY,QAAA,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;KAUzC;AARC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAA6B,EAAE,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACrD;;AAXD;AACO,aAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAavC;AACM,MAAO,mBAAoB,SAAQ,kBAGxC,CAAA;AAHD,IAAA,WAAA,GAAA;;AAMY,QAAA,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;KAW/C;AATC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAA6B,EAAE,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;KAC3D;;AAZD;AACO,mBAAY,CAAA,YAAA,GAAG,qBAAqB,CAAC;AAc9C;AACM,MAAO,mBAAoB,SAAQ,kBAGxC,CAAA;AAHD,IAAA,WAAA,GAAA;;AAMY,QAAA,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;KAW/C;AATC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAA6B,EAAE,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;KAC3D;;AAZD;AACO,mBAAY,CAAA,YAAA,GAAG,qBAAqB;;ACtD7C;;;;;;AAMG;AAMH;AACM,MAAO,eAAgB,SAAQ,oBAOpC,CAAA;AAPD,IAAA,WAAA,GAAA;;AAUY,QAAA,IAAiB,CAAA,iBAAA,GAAG,mBAAmB,CAAC;AACxC,QAAA,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;AAC5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,mBAAmB,CAAC;KAUnD;AARC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAA+B,EAAE,EAAA;AAC3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;KACvD;;AAbD;AACO,eAAY,CAAA,YAAA,GAAG,gBAAgB;;ACtBxC;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}