@depup/angular__material 21.2.2-depup.19

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 (578) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/_index.scss +145 -0
  4. package/autocomplete/_autocomplete-theme.scss +76 -0
  5. package/autocomplete/_m2-autocomplete.scss +19 -0
  6. package/autocomplete/_m3-autocomplete.scss +26 -0
  7. package/badge/_badge-theme.scss +106 -0
  8. package/badge/_m2-badge.scss +73 -0
  9. package/badge/_m3-badge.scss +52 -0
  10. package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
  11. package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
  12. package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
  13. package/button/_button-theme.scss +113 -0
  14. package/button/_fab-theme.scss +111 -0
  15. package/button/_icon-button-theme.scss +136 -0
  16. package/button/_m2-button.scss +194 -0
  17. package/button/_m2-fab.scss +101 -0
  18. package/button/_m2-icon-button.scss +59 -0
  19. package/button/_m3-button.scss +170 -0
  20. package/button/_m3-fab.scss +92 -0
  21. package/button/_m3-icon-button.scss +54 -0
  22. package/button-toggle/_button-toggle-theme.scss +93 -0
  23. package/button-toggle/_m2-button-toggle.scss +68 -0
  24. package/button-toggle/_m3-button-toggle.scss +72 -0
  25. package/card/_card-theme.scss +76 -0
  26. package/card/_m2-card.scss +39 -0
  27. package/card/_m3-card.scss +44 -0
  28. package/changes.json +10 -0
  29. package/checkbox/_checkbox-theme.scss +105 -0
  30. package/checkbox/_m2-checkbox.scss +78 -0
  31. package/checkbox/_m3-checkbox.scss +68 -0
  32. package/chips/_chips-theme.scss +115 -0
  33. package/chips/_m2-chip.scss +85 -0
  34. package/chips/_m3-chip.scss +81 -0
  35. package/core/_core-theme.scss +125 -0
  36. package/core/_core.scss +50 -0
  37. package/core/_m2-app.scss +24 -0
  38. package/core/_m3-app.scss +44 -0
  39. package/core/color/_all-color.scss +17 -0
  40. package/core/density/private/_all-density.scss +78 -0
  41. package/core/focus-indicators/_private.scss +126 -0
  42. package/core/m2/_index.scss +52 -0
  43. package/core/m2/_palette.scss +748 -0
  44. package/core/m2/_theming.scss +340 -0
  45. package/core/m2/_typography-utils.scss +81 -0
  46. package/core/m2/_typography.scss +388 -0
  47. package/core/option/_m2-optgroup.scss +21 -0
  48. package/core/option/_m2-option.scss +38 -0
  49. package/core/option/_m3-optgroup.scss +25 -0
  50. package/core/option/_m3-option.scss +37 -0
  51. package/core/option/_optgroup-theme.scss +76 -0
  52. package/core/option/_option-theme.scss +103 -0
  53. package/core/ripple/_m2-ripple.scss +17 -0
  54. package/core/ripple/_m3-ripple.scss +17 -0
  55. package/core/ripple/_ripple-theme.scss +75 -0
  56. package/core/ripple/_ripple.scss +56 -0
  57. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
  58. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
  59. package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
  60. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
  61. package/core/style/_checkbox-common.scss +11 -0
  62. package/core/style/_elevation.scss +208 -0
  63. package/core/style/_layout-common.scss +8 -0
  64. package/core/style/_private.scss +27 -0
  65. package/core/style/_sass-utils.scss +57 -0
  66. package/core/style/_validation.scss +52 -0
  67. package/core/style/_variables.scss +44 -0
  68. package/core/style/_vendor-prefixes.scss +56 -0
  69. package/core/theming/_all-theme.scss +168 -0
  70. package/core/theming/_color-api-backwards-compatibility.scss +159 -0
  71. package/core/theming/_config-validation.scss +174 -0
  72. package/core/theming/_definition.scss +141 -0
  73. package/core/theming/_inspection.scss +289 -0
  74. package/core/theming/_m2-inspection.scss +243 -0
  75. package/core/theming/_palettes.scss +1036 -0
  76. package/core/theming/_theming.scss +193 -0
  77. package/core/theming/_validation.scss +5 -0
  78. package/core/tokens/_classes.scss +398 -0
  79. package/core/tokens/_m2-utils.scss +25 -0
  80. package/core/tokens/_m3-tokens.scss +126 -0
  81. package/core/tokens/_m3-utils.scss +36 -0
  82. package/core/tokens/_system.scss +398 -0
  83. package/core/tokens/_token-utils.scss +119 -0
  84. package/core/tokens/m2/_index.scss +6 -0
  85. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  86. package/core/tokens/m2/_md-sys-color.scss +123 -0
  87. package/core/tokens/m2/_md-sys-elevation.scss +10 -0
  88. package/core/tokens/m2/_md-sys-motion.scss +30 -0
  89. package/core/tokens/m2/_md-sys-shape.scss +16 -0
  90. package/core/tokens/m2/_md-sys-state.scss +8 -0
  91. package/core/tokens/m2/_md-sys-typescale.scss +68 -0
  92. package/core/tokens/m3/_index.scss +7 -0
  93. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  94. package/core/tokens/m3/_md-sys-color.scss +118 -0
  95. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  96. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  97. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  98. package/core/tokens/m3/_md-sys-state.scss +13 -0
  99. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  100. package/core/tokens/m3/_md-sys-typescale.scss +114 -0
  101. package/core/tokens/m3/_theme.scss +35 -0
  102. package/core/typography/_all-typography.scss +104 -0
  103. package/core/typography/_typography-utils.scss +31 -0
  104. package/core/typography/_typography.scss +269 -0
  105. package/core/typography/_versioning.scss +90 -0
  106. package/datepicker/_datepicker-theme.scss +132 -0
  107. package/datepicker/_m2-datepicker.scss +81 -0
  108. package/datepicker/_m3-datepicker.scss +74 -0
  109. package/dialog/_dialog-legacy-padding.scss +31 -0
  110. package/dialog/_dialog-theme.scss +76 -0
  111. package/dialog/_m2-dialog.scss +43 -0
  112. package/dialog/_m3-dialog.scss +47 -0
  113. package/divider/_divider-theme.scss +75 -0
  114. package/divider/_m2-divider.scss +17 -0
  115. package/divider/_m3-divider.scss +19 -0
  116. package/expansion/_expansion-theme.scss +76 -0
  117. package/expansion/_m2-expansion.scss +64 -0
  118. package/expansion/_m3-expansion.scss +61 -0
  119. package/fesm2022/_animation-chunk.mjs +22 -0
  120. package/fesm2022/_animation-chunk.mjs.map +1 -0
  121. package/fesm2022/_date-formats-chunk.mjs +86 -0
  122. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  123. package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
  124. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  125. package/fesm2022/_error-options-chunk.mjs +66 -0
  126. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  127. package/fesm2022/_error-state-chunk.mjs +30 -0
  128. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  129. package/fesm2022/_form-field-chunk.mjs +1351 -0
  130. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  131. package/fesm2022/_icon-button-chunk.mjs +268 -0
  132. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  133. package/fesm2022/_icon-registry-chunk.mjs +368 -0
  134. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  135. package/fesm2022/_input-harness-chunk.mjs +67 -0
  136. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  137. package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
  138. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  139. package/fesm2022/_internal-form-field-chunk.mjs +67 -0
  140. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  141. package/fesm2022/_line-chunk.mjs +99 -0
  142. package/fesm2022/_line-chunk.mjs.map +1 -0
  143. package/fesm2022/_option-chunk.mjs +385 -0
  144. package/fesm2022/_option-chunk.mjs.map +1 -0
  145. package/fesm2022/_option-harness-chunk.mjs +30 -0
  146. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  147. package/fesm2022/_option-module-chunk.mjs +48 -0
  148. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  149. package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
  150. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  151. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
  152. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  153. package/fesm2022/_public-api-chunk.mjs +84 -0
  154. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  155. package/fesm2022/_ripple-chunk.mjs +544 -0
  156. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  157. package/fesm2022/_ripple-loader-chunk.mjs +144 -0
  158. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  159. package/fesm2022/_ripple-module-chunk.mjs +46 -0
  160. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  161. package/fesm2022/_structural-styles-chunk.mjs +45 -0
  162. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  163. package/fesm2022/_tooltip-chunk.mjs +848 -0
  164. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  165. package/fesm2022/autocomplete-testing.mjs +75 -0
  166. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  167. package/fesm2022/autocomplete.mjs +1068 -0
  168. package/fesm2022/autocomplete.mjs.map +1 -0
  169. package/fesm2022/badge-testing.mjs +48 -0
  170. package/fesm2022/badge-testing.mjs.map +1 -0
  171. package/fesm2022/badge.mjs +357 -0
  172. package/fesm2022/badge.mjs.map +1 -0
  173. package/fesm2022/bottom-sheet-testing.mjs +17 -0
  174. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  175. package/fesm2022/bottom-sheet.mjs +390 -0
  176. package/fesm2022/bottom-sheet.mjs.map +1 -0
  177. package/fesm2022/button-testing.mjs +81 -0
  178. package/fesm2022/button-testing.mjs.map +1 -0
  179. package/fesm2022/button-toggle-testing.mjs +87 -0
  180. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  181. package/fesm2022/button-toggle.mjs +789 -0
  182. package/fesm2022/button-toggle.mjs.map +1 -0
  183. package/fesm2022/button.mjs +308 -0
  184. package/fesm2022/button.mjs.map +1 -0
  185. package/fesm2022/card-testing.mjs +29 -0
  186. package/fesm2022/card-testing.mjs.map +1 -0
  187. package/fesm2022/card.mjs +615 -0
  188. package/fesm2022/card.mjs.map +1 -0
  189. package/fesm2022/checkbox-testing.mjs +79 -0
  190. package/fesm2022/checkbox-testing.mjs.map +1 -0
  191. package/fesm2022/checkbox.mjs +551 -0
  192. package/fesm2022/checkbox.mjs.map +1 -0
  193. package/fesm2022/chips-testing.mjs +239 -0
  194. package/fesm2022/chips-testing.mjs.map +1 -0
  195. package/fesm2022/chips.mjs +2663 -0
  196. package/fesm2022/chips.mjs.map +1 -0
  197. package/fesm2022/core-testing.mjs +22 -0
  198. package/fesm2022/core-testing.mjs.map +1 -0
  199. package/fesm2022/core.mjs +408 -0
  200. package/fesm2022/core.mjs.map +1 -0
  201. package/fesm2022/datepicker-testing.mjs +26 -0
  202. package/fesm2022/datepicker-testing.mjs.map +1 -0
  203. package/fesm2022/datepicker.mjs +5015 -0
  204. package/fesm2022/datepicker.mjs.map +1 -0
  205. package/fesm2022/dialog-testing.mjs +123 -0
  206. package/fesm2022/dialog-testing.mjs.map +1 -0
  207. package/fesm2022/dialog.mjs +873 -0
  208. package/fesm2022/dialog.mjs.map +1 -0
  209. package/fesm2022/divider-testing.mjs +17 -0
  210. package/fesm2022/divider-testing.mjs.map +1 -0
  211. package/fesm2022/divider.mjs +132 -0
  212. package/fesm2022/divider.mjs.map +1 -0
  213. package/fesm2022/expansion-testing.mjs +87 -0
  214. package/fesm2022/expansion-testing.mjs.map +1 -0
  215. package/fesm2022/expansion.mjs +749 -0
  216. package/fesm2022/expansion.mjs.map +1 -0
  217. package/fesm2022/form-field-testing-control.mjs +24 -0
  218. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  219. package/fesm2022/form-field-testing.mjs +135 -0
  220. package/fesm2022/form-field-testing.mjs.map +1 -0
  221. package/fesm2022/form-field.mjs +57 -0
  222. package/fesm2022/form-field.mjs.map +1 -0
  223. package/fesm2022/grid-list-testing.mjs +80 -0
  224. package/fesm2022/grid-list-testing.mjs.map +1 -0
  225. package/fesm2022/grid-list.mjs +604 -0
  226. package/fesm2022/grid-list.mjs.map +1 -0
  227. package/fesm2022/icon-testing.mjs +172 -0
  228. package/fesm2022/icon-testing.mjs.map +1 -0
  229. package/fesm2022/icon.mjs +366 -0
  230. package/fesm2022/icon.mjs.map +1 -0
  231. package/fesm2022/input-testing.mjs +73 -0
  232. package/fesm2022/input-testing.mjs.map +1 -0
  233. package/fesm2022/input.mjs +495 -0
  234. package/fesm2022/input.mjs.map +1 -0
  235. package/fesm2022/list-testing.mjs +295 -0
  236. package/fesm2022/list-testing.mjs.map +1 -0
  237. package/fesm2022/list.mjs +1604 -0
  238. package/fesm2022/list.mjs.map +1 -0
  239. package/fesm2022/material.mjs +4 -0
  240. package/fesm2022/material.mjs.map +1 -0
  241. package/fesm2022/menu-testing.mjs +174 -0
  242. package/fesm2022/menu-testing.mjs.map +1 -0
  243. package/fesm2022/menu.mjs +1421 -0
  244. package/fesm2022/menu.mjs.map +1 -0
  245. package/fesm2022/paginator-testing.mjs +69 -0
  246. package/fesm2022/paginator-testing.mjs.map +1 -0
  247. package/fesm2022/paginator.mjs +445 -0
  248. package/fesm2022/paginator.mjs.map +1 -0
  249. package/fesm2022/progress-bar-testing.mjs +20 -0
  250. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  251. package/fesm2022/progress-bar.mjs +247 -0
  252. package/fesm2022/progress-bar.mjs.map +1 -0
  253. package/fesm2022/progress-spinner-testing.mjs +21 -0
  254. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  255. package/fesm2022/progress-spinner.mjs +258 -0
  256. package/fesm2022/progress-spinner.mjs.map +1 -0
  257. package/fesm2022/radio-testing.mjs +143 -0
  258. package/fesm2022/radio-testing.mjs.map +1 -0
  259. package/fesm2022/radio.mjs +751 -0
  260. package/fesm2022/radio.mjs.map +1 -0
  261. package/fesm2022/select-testing.mjs +92 -0
  262. package/fesm2022/select-testing.mjs.map +1 -0
  263. package/fesm2022/select.mjs +1181 -0
  264. package/fesm2022/select.mjs.map +1 -0
  265. package/fesm2022/sidenav-testing.mjs +80 -0
  266. package/fesm2022/sidenav-testing.mjs.map +1 -0
  267. package/fesm2022/sidenav.mjs +1151 -0
  268. package/fesm2022/sidenav.mjs.map +1 -0
  269. package/fesm2022/slide-toggle-testing.mjs +68 -0
  270. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  271. package/fesm2022/slide-toggle.mjs +403 -0
  272. package/fesm2022/slide-toggle.mjs.map +1 -0
  273. package/fesm2022/slider-testing.mjs +105 -0
  274. package/fesm2022/slider-testing.mjs.map +1 -0
  275. package/fesm2022/slider.mjs +1720 -0
  276. package/fesm2022/slider.mjs.map +1 -0
  277. package/fesm2022/snack-bar-testing.mjs +47 -0
  278. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  279. package/fesm2022/snack-bar.mjs +820 -0
  280. package/fesm2022/snack-bar.mjs.map +1 -0
  281. package/fesm2022/sort-testing.mjs +55 -0
  282. package/fesm2022/sort-testing.mjs.map +1 -0
  283. package/fesm2022/sort.mjs +470 -0
  284. package/fesm2022/sort.mjs.map +1 -0
  285. package/fesm2022/stepper-testing.mjs +99 -0
  286. package/fesm2022/stepper-testing.mjs.map +1 -0
  287. package/fesm2022/stepper.mjs +900 -0
  288. package/fesm2022/stepper.mjs.map +1 -0
  289. package/fesm2022/table-testing.mjs +152 -0
  290. package/fesm2022/table-testing.mjs.map +1 -0
  291. package/fesm2022/table.mjs +1151 -0
  292. package/fesm2022/table.mjs.map +1 -0
  293. package/fesm2022/tabs-testing.mjs +144 -0
  294. package/fesm2022/tabs-testing.mjs.map +1 -0
  295. package/fesm2022/tabs.mjs +2435 -0
  296. package/fesm2022/tabs.mjs.map +1 -0
  297. package/fesm2022/timepicker-testing.mjs +128 -0
  298. package/fesm2022/timepicker-testing.mjs.map +1 -0
  299. package/fesm2022/timepicker.mjs +1284 -0
  300. package/fesm2022/timepicker.mjs.map +1 -0
  301. package/fesm2022/toolbar-testing.mjs +26 -0
  302. package/fesm2022/toolbar-testing.mjs.map +1 -0
  303. package/fesm2022/toolbar.mjs +182 -0
  304. package/fesm2022/toolbar.mjs.map +1 -0
  305. package/fesm2022/tooltip-testing.mjs +48 -0
  306. package/fesm2022/tooltip-testing.mjs.map +1 -0
  307. package/fesm2022/tooltip.mjs +58 -0
  308. package/fesm2022/tooltip.mjs.map +1 -0
  309. package/fesm2022/tree-testing.mjs +104 -0
  310. package/fesm2022/tree-testing.mjs.map +1 -0
  311. package/fesm2022/tree.mjs +681 -0
  312. package/fesm2022/tree.mjs.map +1 -0
  313. package/form-field/_form-field-theme.scss +96 -0
  314. package/form-field/_m2-form-field.scss +226 -0
  315. package/form-field/_m3-form-field.scss +137 -0
  316. package/grid-list/_grid-list-theme.scss +76 -0
  317. package/grid-list/_m2-grid-list.scss +21 -0
  318. package/grid-list/_m3-grid-list.scss +20 -0
  319. package/icon/_icon-theme.scss +109 -0
  320. package/icon/_m2-icon.scss +15 -0
  321. package/icon/_m3-icon.scss +21 -0
  322. package/input/_input-theme.scss +36 -0
  323. package/list/_list-theme.scss +201 -0
  324. package/list/_m2-list.scss +92 -0
  325. package/list/_m3-list.scss +93 -0
  326. package/menu/_m2-menu.scss +44 -0
  327. package/menu/_m3-menu.scss +42 -0
  328. package/menu/_menu-theme.scss +76 -0
  329. package/package.json +404 -0
  330. package/paginator/_m2-paginator.scss +69 -0
  331. package/paginator/_m3-paginator.scss +46 -0
  332. package/paginator/_paginator-theme.scss +76 -0
  333. package/prebuilt-themes/azure-blue.css +1 -0
  334. package/prebuilt-themes/cyan-orange.css +1 -0
  335. package/prebuilt-themes/deeppurple-amber.css +1 -0
  336. package/prebuilt-themes/indigo-pink.css +1 -0
  337. package/prebuilt-themes/magenta-violet.css +1 -0
  338. package/prebuilt-themes/pink-bluegrey.css +1 -0
  339. package/prebuilt-themes/purple-green.css +1 -0
  340. package/prebuilt-themes/rose-red.css +1 -0
  341. package/progress-bar/_m2-progress-bar.scss +36 -0
  342. package/progress-bar/_m3-progress-bar.scss +29 -0
  343. package/progress-bar/_progress-bar-theme.scss +93 -0
  344. package/progress-spinner/_m2-progress-spinner.scss +25 -0
  345. package/progress-spinner/_m3-progress-spinner.scss +27 -0
  346. package/progress-spinner/_progress-spinner-theme.scss +95 -0
  347. package/radio/_m2-radio.scss +67 -0
  348. package/radio/_m3-radio.scss +65 -0
  349. package/radio/_radio-theme.scss +102 -0
  350. package/schematics/collection.json +55 -0
  351. package/schematics/migration.json +15 -0
  352. package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
  353. package/schematics/ng-add/fonts/material-fonts.js +41 -0
  354. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  355. package/schematics/ng-add/index.d.ts +17 -0
  356. package/schematics/ng-add/index.js +54 -0
  357. package/schematics/ng-add/index.js.map +1 -0
  358. package/schematics/ng-add/package-config.d.ts +12 -0
  359. package/schematics/ng-add/package-config.js +51 -0
  360. package/schematics/ng-add/package-config.js.map +1 -0
  361. package/schematics/ng-add/schema.d.ts +15 -0
  362. package/schematics/ng-add/schema.js +10 -0
  363. package/schematics/ng-add/schema.js.map +1 -0
  364. package/schematics/ng-add/schema.json +43 -0
  365. package/schematics/ng-add/setup-project.d.ts +15 -0
  366. package/schematics/ng-add/setup-project.js +36 -0
  367. package/schematics/ng-add/setup-project.js.map +1 -0
  368. package/schematics/ng-add/theming/create-theme.d.ts +9 -0
  369. package/schematics/ng-add/theming/create-theme.js +58 -0
  370. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  371. package/schematics/ng-add/theming/theming.d.ts +11 -0
  372. package/schematics/ng-add/theming/theming.js +133 -0
  373. package/schematics/ng-add/theming/theming.js.map +1 -0
  374. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
  375. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
  376. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
  377. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
  378. package/schematics/ng-generate/address-form/index.d.ts +14 -0
  379. package/schematics/ng-generate/address-form/index.js +43 -0
  380. package/schematics/ng-generate/address-form/index.js.map +1 -0
  381. package/schematics/ng-generate/address-form/schema.d.ts +10 -0
  382. package/schematics/ng-generate/address-form/schema.js +10 -0
  383. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  384. package/schematics/ng-generate/address-form/schema.json +100 -0
  385. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
  386. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  387. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
  389. package/schematics/ng-generate/dashboard/index.d.ts +14 -0
  390. package/schematics/ng-generate/dashboard/index.js +42 -0
  391. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  392. package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
  393. package/schematics/ng-generate/dashboard/schema.js +10 -0
  394. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  395. package/schematics/ng-generate/dashboard/schema.json +100 -0
  396. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
  397. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
  398. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  399. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
  400. package/schematics/ng-generate/navigation/index.d.ts +14 -0
  401. package/schematics/ng-generate/navigation/index.js +42 -0
  402. package/schematics/ng-generate/navigation/index.js.map +1 -0
  403. package/schematics/ng-generate/navigation/schema.d.ts +10 -0
  404. package/schematics/ng-generate/navigation/schema.js +10 -0
  405. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  406. package/schematics/ng-generate/navigation/schema.json +105 -0
  407. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
  408. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
  409. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  410. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  411. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
  412. package/schematics/ng-generate/table/index.d.ts +14 -0
  413. package/schematics/ng-generate/table/index.js +40 -0
  414. package/schematics/ng-generate/table/index.js.map +1 -0
  415. package/schematics/ng-generate/table/schema.d.ts +10 -0
  416. package/schematics/ng-generate/table/schema.js +10 -0
  417. package/schematics/ng-generate/table/schema.js.map +1 -0
  418. package/schematics/ng-generate/table/schema.json +100 -0
  419. package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
  420. package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
  421. package/schematics/ng-generate/theme-color/schema.json +55 -0
  422. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
  423. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
  424. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  425. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
  426. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
  427. package/schematics/ng-generate/tree/index.d.ts +14 -0
  428. package/schematics/ng-generate/tree/index.js +40 -0
  429. package/schematics/ng-generate/tree/index.js.map +1 -0
  430. package/schematics/ng-generate/tree/schema.d.ts +10 -0
  431. package/schematics/ng-generate/tree/schema.js +10 -0
  432. package/schematics/ng-generate/tree/schema.js.map +1 -0
  433. package/schematics/ng-generate/tree/schema.json +100 -0
  434. package/schematics/ng-update/index_bundled.js +204 -0
  435. package/schematics/ng-update/index_bundled.js.map +6 -0
  436. package/schematics/package.json +3 -0
  437. package/select/_m2-select.scss +49 -0
  438. package/select/_m3-select.scss +54 -0
  439. package/select/_select-theme.scss +99 -0
  440. package/sidenav/_m2-sidenav.scss +48 -0
  441. package/sidenav/_m3-sidenav.scss +26 -0
  442. package/sidenav/_sidenav-theme.scss +75 -0
  443. package/slide-toggle/_m2-slide-toggle.scss +134 -0
  444. package/slide-toggle/_m3-slide-toggle.scss +133 -0
  445. package/slide-toggle/_slide-toggle-theme.scss +119 -0
  446. package/slider/_m2-slider.scss +73 -0
  447. package/slider/_m3-slider.scss +69 -0
  448. package/slider/_slider-theme.scss +103 -0
  449. package/snack-bar/_m2-snack-bar.scss +24 -0
  450. package/snack-bar/_m3-snack-bar.scss +26 -0
  451. package/snack-bar/_snack-bar-theme.scss +77 -0
  452. package/sort/_m2-sort.scss +16 -0
  453. package/sort/_m3-sort.scss +20 -0
  454. package/sort/_sort-theme.scss +76 -0
  455. package/stepper/_m2-stepper.scss +65 -0
  456. package/stepper/_m3-stepper.scss +66 -0
  457. package/stepper/_stepper-theme.scss +102 -0
  458. package/table/_m2-table.scss +63 -0
  459. package/table/_m3-table.scss +52 -0
  460. package/table/_table-theme.scss +76 -0
  461. package/tabs/_m2-tabs.scss +68 -0
  462. package/tabs/_m3-tabs.scss +58 -0
  463. package/tabs/_tabs-theme.scss +131 -0
  464. package/timepicker/_m2-timepicker.scss +19 -0
  465. package/timepicker/_m3-timepicker.scss +21 -0
  466. package/timepicker/_timepicker-theme.scss +81 -0
  467. package/toolbar/_m2-toolbar.scss +43 -0
  468. package/toolbar/_m3-toolbar.scss +41 -0
  469. package/toolbar/_toolbar-theme.scss +114 -0
  470. package/tooltip/_m2-tooltip.scss +24 -0
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +76 -0
  473. package/tree/_m2-tree.scss +30 -0
  474. package/tree/_m3-tree.scss +37 -0
  475. package/tree/_tree-theme.scss +76 -0
  476. package/types/_badge-chunk.d.ts +100 -0
  477. package/types/_button-toggle-chunk.d.ts +252 -0
  478. package/types/_date-adapter-chunk.d.ts +261 -0
  479. package/types/_date-range-input-harness-chunk.d.ts +284 -0
  480. package/types/_dialog-chunk.d.ts +336 -0
  481. package/types/_error-options-chunk.d.ts +17 -0
  482. package/types/_form-field-chunk.d.ts +375 -0
  483. package/types/_form-field-control-chunk.d.ts +64 -0
  484. package/types/_form-field-control-harness-chunk.d.ts +20 -0
  485. package/types/_form-field-module-chunk.d.ts +18 -0
  486. package/types/_icon-module-chunk.d.ts +162 -0
  487. package/types/_icon-registry-chunk.d.ts +271 -0
  488. package/types/_input-harness-chunk.d.ts +61 -0
  489. package/types/_line-chunk.d.ts +25 -0
  490. package/types/_list-option-types-chunk.d.ts +15 -0
  491. package/types/_option-chunk.d.ts +146 -0
  492. package/types/_option-harness-chunk.d.ts +35 -0
  493. package/types/_option-module-chunk.d.ts +13 -0
  494. package/types/_option-parent-chunk.d.ts +20 -0
  495. package/types/_paginator-chunk.d.ts +184 -0
  496. package/types/_palette-chunk.d.ts +4 -0
  497. package/types/_progress-spinner-chunk.d.ts +91 -0
  498. package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
  499. package/types/_ripple-chunk.d.ts +256 -0
  500. package/types/_ripple-loader-chunk.d.ts +48 -0
  501. package/types/_ripple-module-chunk.d.ts +11 -0
  502. package/types/_sort-chunk.d.ts +88 -0
  503. package/types/_sort-direction-chunk.d.ts +3 -0
  504. package/types/_tooltip-chunk.d.ts +315 -0
  505. package/types/autocomplete-testing.d.ts +53 -0
  506. package/types/autocomplete.d.ts +420 -0
  507. package/types/badge-testing.d.ts +36 -0
  508. package/types/badge.d.ts +14 -0
  509. package/types/bottom-sheet-testing.d.ts +26 -0
  510. package/types/bottom-sheet.d.ts +192 -0
  511. package/types/button-testing.d.ts +70 -0
  512. package/types/button-toggle-testing.d.ts +97 -0
  513. package/types/button-toggle.d.ts +16 -0
  514. package/types/button.d.ts +210 -0
  515. package/types/card-testing.d.ts +41 -0
  516. package/types/card.d.ts +156 -0
  517. package/types/checkbox-testing.d.ts +86 -0
  518. package/types/checkbox.d.ts +216 -0
  519. package/types/chips-testing.d.ts +270 -0
  520. package/types/chips.d.ts +993 -0
  521. package/types/core-testing.d.ts +32 -0
  522. package/types/core.d.ts +185 -0
  523. package/types/datepicker-testing.d.ts +25 -0
  524. package/types/datepicker.d.ts +1746 -0
  525. package/types/dialog-testing.d.ts +83 -0
  526. package/types/dialog.d.ts +84 -0
  527. package/types/divider-testing.d.ts +15 -0
  528. package/types/divider.d.ts +24 -0
  529. package/types/expansion-testing.d.ts +101 -0
  530. package/types/expansion.d.ts +258 -0
  531. package/types/form-field-testing-control.d.ts +13 -0
  532. package/types/form-field-testing.d.ts +127 -0
  533. package/types/form-field.d.ts +19 -0
  534. package/types/grid-list-testing.d.ts +82 -0
  535. package/types/grid-list.d.ts +207 -0
  536. package/types/icon-testing.d.ts +81 -0
  537. package/types/icon.d.ts +8 -0
  538. package/types/input-testing.d.ts +73 -0
  539. package/types/input.d.ts +208 -0
  540. package/types/list-testing.d.ts +354 -0
  541. package/types/list.d.ts +516 -0
  542. package/types/material.d.ts +3 -0
  543. package/types/menu-testing.d.ts +141 -0
  544. package/types/menu.d.ts +547 -0
  545. package/types/paginator-testing.d.ts +51 -0
  546. package/types/paginator.d.ts +36 -0
  547. package/types/progress-bar-testing.d.ts +24 -0
  548. package/types/progress-bar.d.ts +106 -0
  549. package/types/progress-spinner-testing.d.ts +28 -0
  550. package/types/progress-spinner.d.ts +13 -0
  551. package/types/radio-testing.d.ts +109 -0
  552. package/types/radio.d.ts +295 -0
  553. package/types/select-testing.d.ts +63 -0
  554. package/types/select.d.ts +448 -0
  555. package/types/sidenav-testing.d.ts +122 -0
  556. package/types/sidenav.d.ts +335 -0
  557. package/types/slide-toggle-testing.d.ts +66 -0
  558. package/types/slide-toggle.d.ts +151 -0
  559. package/types/slider-testing.d.ts +90 -0
  560. package/types/slider.d.ts +662 -0
  561. package/types/snack-bar-testing.d.ts +64 -0
  562. package/types/snack-bar.d.ts +328 -0
  563. package/types/sort-testing.d.ts +48 -0
  564. package/types/sort.d.ts +126 -0
  565. package/types/stepper-testing.d.ts +136 -0
  566. package/types/stepper.d.ts +225 -0
  567. package/types/table-testing.d.ts +174 -0
  568. package/types/table.d.ts +302 -0
  569. package/types/tabs-testing.d.ts +145 -0
  570. package/types/tabs.d.ts +890 -0
  571. package/types/timepicker-testing.d.ts +108 -0
  572. package/types/timepicker.d.ts +318 -0
  573. package/types/toolbar-testing.d.ts +33 -0
  574. package/types/toolbar.d.ts +44 -0
  575. package/types/tooltip-testing.d.ts +35 -0
  576. package/types/tooltip.d.ts +17 -0
  577. package/types/tree-testing.d.ts +119 -0
  578. package/types/tree.d.ts +233 -0
@@ -0,0 +1,820 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Directive, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, NgZone, ElementRef, ChangeDetectorRef, DOCUMENT, Injector, afterNextRender, ViewChild, TemplateRef, Injectable, NgModule } from '@angular/core';
3
+ import { Subject, of } from 'rxjs';
4
+ import { MatButton, MatButtonModule } from './button.mjs';
5
+ import { _IdGenerator, LiveAnnouncer } from '@angular/cdk/a11y';
6
+ import { Platform } from '@angular/cdk/platform';
7
+ import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
8
+ import { _animationsDisabled } from './_animation-chunk.mjs';
9
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
10
+ import { OverlayConfig, createGlobalPositionStrategy, createOverlayRef, OverlayModule } from '@angular/cdk/overlay';
11
+ import { takeUntil } from 'rxjs/operators';
12
+ import { BidiModule } from '@angular/cdk/bidi';
13
+ import './_icon-button-chunk.mjs';
14
+ import '@angular/cdk/private';
15
+ import './_ripple-loader-chunk.mjs';
16
+ import './_ripple-chunk.mjs';
17
+ import '@angular/cdk/coercion';
18
+ import './_structural-styles-chunk.mjs';
19
+ import './_ripple-module-chunk.mjs';
20
+
21
+ const MAX_TIMEOUT = Math.pow(2, 31) - 1;
22
+ class MatSnackBarRef {
23
+ _overlayRef;
24
+ instance;
25
+ containerInstance;
26
+ _afterDismissed = new Subject();
27
+ _afterOpened = new Subject();
28
+ _onAction = new Subject();
29
+ _durationTimeoutId;
30
+ _dismissedByAction = false;
31
+ constructor(containerInstance, _overlayRef) {
32
+ this._overlayRef = _overlayRef;
33
+ this.containerInstance = containerInstance;
34
+ containerInstance._onExit.subscribe(() => this._finishDismiss());
35
+ }
36
+ dismiss() {
37
+ if (!this._afterDismissed.closed) {
38
+ this.containerInstance.exit();
39
+ }
40
+ clearTimeout(this._durationTimeoutId);
41
+ }
42
+ dismissWithAction() {
43
+ if (!this._onAction.closed) {
44
+ this._dismissedByAction = true;
45
+ this._onAction.next();
46
+ this._onAction.complete();
47
+ this.dismiss();
48
+ }
49
+ clearTimeout(this._durationTimeoutId);
50
+ }
51
+ closeWithAction() {
52
+ this.dismissWithAction();
53
+ }
54
+ _dismissAfter(duration) {
55
+ this._durationTimeoutId = setTimeout(() => this.dismiss(), Math.min(duration, MAX_TIMEOUT));
56
+ }
57
+ _open() {
58
+ if (!this._afterOpened.closed) {
59
+ this._afterOpened.next();
60
+ this._afterOpened.complete();
61
+ }
62
+ }
63
+ _finishDismiss() {
64
+ this._overlayRef.dispose();
65
+ if (!this._onAction.closed) {
66
+ this._onAction.complete();
67
+ }
68
+ this._afterDismissed.next({
69
+ dismissedByAction: this._dismissedByAction
70
+ });
71
+ this._afterDismissed.complete();
72
+ this._dismissedByAction = false;
73
+ }
74
+ afterDismissed() {
75
+ return this._afterDismissed;
76
+ }
77
+ afterOpened() {
78
+ return this.containerInstance._onEnter;
79
+ }
80
+ onAction() {
81
+ return this._onAction;
82
+ }
83
+ }
84
+
85
+ const MAT_SNACK_BAR_DATA = new InjectionToken('MatSnackBarData');
86
+ class MatSnackBarConfig {
87
+ politeness = 'polite';
88
+ announcementMessage = '';
89
+ viewContainerRef;
90
+ duration = 0;
91
+ panelClass;
92
+ direction;
93
+ data = null;
94
+ horizontalPosition = 'center';
95
+ verticalPosition = 'bottom';
96
+ }
97
+
98
+ class MatSnackBarLabel {
99
+ static ɵfac = i0.ɵɵngDeclareFactory({
100
+ minVersion: "12.0.0",
101
+ version: "22.0.0-next.1",
102
+ ngImport: i0,
103
+ type: MatSnackBarLabel,
104
+ deps: [],
105
+ target: i0.ɵɵFactoryTarget.Directive
106
+ });
107
+ static ɵdir = i0.ɵɵngDeclareDirective({
108
+ minVersion: "14.0.0",
109
+ version: "22.0.0-next.1",
110
+ type: MatSnackBarLabel,
111
+ isStandalone: true,
112
+ selector: "[matSnackBarLabel]",
113
+ host: {
114
+ classAttribute: "mat-mdc-snack-bar-label mdc-snackbar__label"
115
+ },
116
+ ngImport: i0
117
+ });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({
120
+ minVersion: "12.0.0",
121
+ version: "22.0.0-next.1",
122
+ ngImport: i0,
123
+ type: MatSnackBarLabel,
124
+ decorators: [{
125
+ type: Directive,
126
+ args: [{
127
+ selector: `[matSnackBarLabel]`,
128
+ host: {
129
+ 'class': 'mat-mdc-snack-bar-label mdc-snackbar__label'
130
+ }
131
+ }]
132
+ }]
133
+ });
134
+ class MatSnackBarActions {
135
+ static ɵfac = i0.ɵɵngDeclareFactory({
136
+ minVersion: "12.0.0",
137
+ version: "22.0.0-next.1",
138
+ ngImport: i0,
139
+ type: MatSnackBarActions,
140
+ deps: [],
141
+ target: i0.ɵɵFactoryTarget.Directive
142
+ });
143
+ static ɵdir = i0.ɵɵngDeclareDirective({
144
+ minVersion: "14.0.0",
145
+ version: "22.0.0-next.1",
146
+ type: MatSnackBarActions,
147
+ isStandalone: true,
148
+ selector: "[matSnackBarActions]",
149
+ host: {
150
+ classAttribute: "mat-mdc-snack-bar-actions mdc-snackbar__actions"
151
+ },
152
+ ngImport: i0
153
+ });
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({
156
+ minVersion: "12.0.0",
157
+ version: "22.0.0-next.1",
158
+ ngImport: i0,
159
+ type: MatSnackBarActions,
160
+ decorators: [{
161
+ type: Directive,
162
+ args: [{
163
+ selector: `[matSnackBarActions]`,
164
+ host: {
165
+ 'class': 'mat-mdc-snack-bar-actions mdc-snackbar__actions'
166
+ }
167
+ }]
168
+ }]
169
+ });
170
+ class MatSnackBarAction {
171
+ static ɵfac = i0.ɵɵngDeclareFactory({
172
+ minVersion: "12.0.0",
173
+ version: "22.0.0-next.1",
174
+ ngImport: i0,
175
+ type: MatSnackBarAction,
176
+ deps: [],
177
+ target: i0.ɵɵFactoryTarget.Directive
178
+ });
179
+ static ɵdir = i0.ɵɵngDeclareDirective({
180
+ minVersion: "14.0.0",
181
+ version: "22.0.0-next.1",
182
+ type: MatSnackBarAction,
183
+ isStandalone: true,
184
+ selector: "[matSnackBarAction]",
185
+ host: {
186
+ classAttribute: "mat-mdc-snack-bar-action mdc-snackbar__action"
187
+ },
188
+ ngImport: i0
189
+ });
190
+ }
191
+ i0.ɵɵngDeclareClassMetadata({
192
+ minVersion: "12.0.0",
193
+ version: "22.0.0-next.1",
194
+ ngImport: i0,
195
+ type: MatSnackBarAction,
196
+ decorators: [{
197
+ type: Directive,
198
+ args: [{
199
+ selector: `[matSnackBarAction]`,
200
+ host: {
201
+ 'class': 'mat-mdc-snack-bar-action mdc-snackbar__action'
202
+ }
203
+ }]
204
+ }]
205
+ });
206
+
207
+ class SimpleSnackBar {
208
+ snackBarRef = inject(MatSnackBarRef);
209
+ data = inject(MAT_SNACK_BAR_DATA);
210
+ constructor() {}
211
+ action() {
212
+ this.snackBarRef.dismissWithAction();
213
+ }
214
+ get hasAction() {
215
+ return !!this.data.action;
216
+ }
217
+ static ɵfac = i0.ɵɵngDeclareFactory({
218
+ minVersion: "12.0.0",
219
+ version: "22.0.0-next.1",
220
+ ngImport: i0,
221
+ type: SimpleSnackBar,
222
+ deps: [],
223
+ target: i0.ɵɵFactoryTarget.Component
224
+ });
225
+ static ɵcmp = i0.ɵɵngDeclareComponent({
226
+ minVersion: "17.0.0",
227
+ version: "22.0.0-next.1",
228
+ type: SimpleSnackBar,
229
+ isStandalone: true,
230
+ selector: "simple-snack-bar",
231
+ host: {
232
+ classAttribute: "mat-mdc-simple-snack-bar"
233
+ },
234
+ exportAs: ["matSnackBar"],
235
+ ngImport: i0,
236
+ template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n@if (hasAction) {\n <div matSnackBarActions>\n <button matButton matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n </div>\n}\n",
237
+ styles: [".mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto}\n"],
238
+ dependencies: [{
239
+ kind: "component",
240
+ type: MatButton,
241
+ selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
242
+ inputs: ["matButton"],
243
+ exportAs: ["matButton", "matAnchor"]
244
+ }, {
245
+ kind: "directive",
246
+ type: MatSnackBarLabel,
247
+ selector: "[matSnackBarLabel]"
248
+ }, {
249
+ kind: "directive",
250
+ type: MatSnackBarActions,
251
+ selector: "[matSnackBarActions]"
252
+ }, {
253
+ kind: "directive",
254
+ type: MatSnackBarAction,
255
+ selector: "[matSnackBarAction]"
256
+ }],
257
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
258
+ encapsulation: i0.ViewEncapsulation.None
259
+ });
260
+ }
261
+ i0.ɵɵngDeclareClassMetadata({
262
+ minVersion: "12.0.0",
263
+ version: "22.0.0-next.1",
264
+ ngImport: i0,
265
+ type: SimpleSnackBar,
266
+ decorators: [{
267
+ type: Component,
268
+ args: [{
269
+ selector: 'simple-snack-bar',
270
+ exportAs: 'matSnackBar',
271
+ encapsulation: ViewEncapsulation.None,
272
+ changeDetection: ChangeDetectionStrategy.OnPush,
273
+ imports: [MatButton, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction],
274
+ host: {
275
+ 'class': 'mat-mdc-simple-snack-bar'
276
+ },
277
+ template: "<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n@if (hasAction) {\n <div matSnackBarActions>\n <button matButton matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n </div>\n}\n",
278
+ styles: [".mat-mdc-simple-snack-bar{display:flex}.mat-mdc-simple-snack-bar .mat-mdc-snack-bar-label{max-height:50vh;overflow:auto}\n"]
279
+ }]
280
+ }],
281
+ ctorParameters: () => []
282
+ });
283
+
284
+ const ENTER_ANIMATION = '_mat-snack-bar-enter';
285
+ const EXIT_ANIMATION = '_mat-snack-bar-exit';
286
+ class MatSnackBarContainer extends BasePortalOutlet {
287
+ _ngZone = inject(NgZone);
288
+ _elementRef = inject(ElementRef);
289
+ _changeDetectorRef = inject(ChangeDetectorRef);
290
+ _platform = inject(Platform);
291
+ _animationsDisabled = _animationsDisabled();
292
+ snackBarConfig = inject(MatSnackBarConfig);
293
+ _document = inject(DOCUMENT);
294
+ _trackedModals = new Set();
295
+ _enterFallback;
296
+ _exitFallback;
297
+ _injector = inject(Injector);
298
+ _announceDelay = 150;
299
+ _announceTimeoutId;
300
+ _destroyed = false;
301
+ _portalOutlet;
302
+ _onAnnounce = new Subject();
303
+ _onExit = new Subject();
304
+ _onEnter = new Subject();
305
+ _animationState = 'void';
306
+ _live;
307
+ _label;
308
+ _role;
309
+ _liveElementId = inject(_IdGenerator).getId('mat-snack-bar-container-live-');
310
+ constructor() {
311
+ super();
312
+ const config = this.snackBarConfig;
313
+ if (config.politeness === 'assertive' && !config.announcementMessage) {
314
+ this._live = 'assertive';
315
+ } else if (config.politeness === 'off') {
316
+ this._live = 'off';
317
+ } else {
318
+ this._live = 'polite';
319
+ }
320
+ if (this._platform.FIREFOX) {
321
+ if (this._live === 'polite') {
322
+ this._role = 'status';
323
+ }
324
+ if (this._live === 'assertive') {
325
+ this._role = 'alert';
326
+ }
327
+ }
328
+ }
329
+ attachComponentPortal(portal) {
330
+ this._assertNotAttached();
331
+ const result = this._portalOutlet.attachComponentPortal(portal);
332
+ this._afterPortalAttached();
333
+ return result;
334
+ }
335
+ attachTemplatePortal(portal) {
336
+ this._assertNotAttached();
337
+ const result = this._portalOutlet.attachTemplatePortal(portal);
338
+ this._afterPortalAttached();
339
+ return result;
340
+ }
341
+ attachDomPortal = portal => {
342
+ this._assertNotAttached();
343
+ const result = this._portalOutlet.attachDomPortal(portal);
344
+ this._afterPortalAttached();
345
+ return result;
346
+ };
347
+ onAnimationEnd(animationName) {
348
+ if (animationName === EXIT_ANIMATION) {
349
+ this._completeExit();
350
+ } else if (animationName === ENTER_ANIMATION) {
351
+ clearTimeout(this._enterFallback);
352
+ this._ngZone.run(() => {
353
+ this._onEnter.next();
354
+ this._onEnter.complete();
355
+ });
356
+ }
357
+ }
358
+ enter() {
359
+ if (!this._destroyed) {
360
+ this._animationState = 'visible';
361
+ this._changeDetectorRef.markForCheck();
362
+ this._changeDetectorRef.detectChanges();
363
+ this._screenReaderAnnounce();
364
+ if (this._animationsDisabled) {
365
+ afterNextRender(() => {
366
+ this._ngZone.run(() => queueMicrotask(() => this.onAnimationEnd(ENTER_ANIMATION)));
367
+ }, {
368
+ injector: this._injector
369
+ });
370
+ } else {
371
+ clearTimeout(this._enterFallback);
372
+ this._enterFallback = setTimeout(() => {
373
+ this._elementRef.nativeElement.classList.add('mat-snack-bar-fallback-visible');
374
+ this.onAnimationEnd(ENTER_ANIMATION);
375
+ }, 200);
376
+ }
377
+ }
378
+ }
379
+ exit() {
380
+ if (this._destroyed) {
381
+ return of(undefined);
382
+ }
383
+ this._ngZone.run(() => {
384
+ this._animationState = 'hidden';
385
+ this._changeDetectorRef.markForCheck();
386
+ this._elementRef.nativeElement.setAttribute('mat-exit', '');
387
+ clearTimeout(this._announceTimeoutId);
388
+ if (this._animationsDisabled) {
389
+ afterNextRender(() => {
390
+ this._ngZone.run(() => queueMicrotask(() => this.onAnimationEnd(EXIT_ANIMATION)));
391
+ }, {
392
+ injector: this._injector
393
+ });
394
+ } else {
395
+ clearTimeout(this._exitFallback);
396
+ this._exitFallback = setTimeout(() => this.onAnimationEnd(EXIT_ANIMATION), 200);
397
+ }
398
+ });
399
+ return this._onExit;
400
+ }
401
+ ngOnDestroy() {
402
+ this._destroyed = true;
403
+ this._clearFromModals();
404
+ this._completeExit();
405
+ }
406
+ _completeExit() {
407
+ clearTimeout(this._exitFallback);
408
+ queueMicrotask(() => {
409
+ this._onExit.next();
410
+ this._onExit.complete();
411
+ });
412
+ }
413
+ _afterPortalAttached() {
414
+ const element = this._elementRef.nativeElement;
415
+ const panelClasses = this.snackBarConfig.panelClass;
416
+ if (panelClasses) {
417
+ if (Array.isArray(panelClasses)) {
418
+ panelClasses.forEach(cssClass => element.classList.add(cssClass));
419
+ } else {
420
+ element.classList.add(panelClasses);
421
+ }
422
+ }
423
+ this._exposeToModals();
424
+ const label = this._label.nativeElement;
425
+ const labelClass = 'mdc-snackbar__label';
426
+ label.classList.toggle(labelClass, !label.querySelector(`.${labelClass}`));
427
+ }
428
+ _exposeToModals() {
429
+ const id = this._liveElementId;
430
+ const modals = this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');
431
+ for (let i = 0; i < modals.length; i++) {
432
+ const modal = modals[i];
433
+ const ariaOwns = modal.getAttribute('aria-owns');
434
+ this._trackedModals.add(modal);
435
+ if (!ariaOwns) {
436
+ modal.setAttribute('aria-owns', id);
437
+ } else if (ariaOwns.indexOf(id) === -1) {
438
+ modal.setAttribute('aria-owns', ariaOwns + ' ' + id);
439
+ }
440
+ }
441
+ }
442
+ _clearFromModals() {
443
+ this._trackedModals.forEach(modal => {
444
+ const ariaOwns = modal.getAttribute('aria-owns');
445
+ if (ariaOwns) {
446
+ const newValue = ariaOwns.replace(this._liveElementId, '').trim();
447
+ if (newValue.length > 0) {
448
+ modal.setAttribute('aria-owns', newValue);
449
+ } else {
450
+ modal.removeAttribute('aria-owns');
451
+ }
452
+ }
453
+ });
454
+ this._trackedModals.clear();
455
+ }
456
+ _assertNotAttached() {
457
+ if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {
458
+ throw Error('Attempting to attach snack bar content after content is already attached');
459
+ }
460
+ }
461
+ _screenReaderAnnounce() {
462
+ if (this._announceTimeoutId) {
463
+ return;
464
+ }
465
+ this._ngZone.runOutsideAngular(() => {
466
+ this._announceTimeoutId = setTimeout(() => {
467
+ if (this._destroyed) {
468
+ return;
469
+ }
470
+ const element = this._elementRef.nativeElement;
471
+ const inertElement = element.querySelector('[aria-hidden]');
472
+ const liveElement = element.querySelector('[aria-live]');
473
+ if (inertElement && liveElement) {
474
+ let focusedElement = null;
475
+ if (this._platform.isBrowser && document.activeElement instanceof HTMLElement && inertElement.contains(document.activeElement)) {
476
+ focusedElement = document.activeElement;
477
+ }
478
+ inertElement.removeAttribute('aria-hidden');
479
+ liveElement.appendChild(inertElement);
480
+ focusedElement?.focus();
481
+ this._onAnnounce.next();
482
+ this._onAnnounce.complete();
483
+ }
484
+ }, this._announceDelay);
485
+ });
486
+ }
487
+ static ɵfac = i0.ɵɵngDeclareFactory({
488
+ minVersion: "12.0.0",
489
+ version: "22.0.0-next.1",
490
+ ngImport: i0,
491
+ type: MatSnackBarContainer,
492
+ deps: [],
493
+ target: i0.ɵɵFactoryTarget.Component
494
+ });
495
+ static ɵcmp = i0.ɵɵngDeclareComponent({
496
+ minVersion: "14.0.0",
497
+ version: "22.0.0-next.1",
498
+ type: MatSnackBarContainer,
499
+ isStandalone: true,
500
+ selector: "mat-snack-bar-container",
501
+ host: {
502
+ listeners: {
503
+ "animationend": "onAnimationEnd($event.animationName)",
504
+ "animationcancel": "onAnimationEnd($event.animationName)"
505
+ },
506
+ properties: {
507
+ "class.mat-snack-bar-container-enter": "_animationState === \"visible\"",
508
+ "class.mat-snack-bar-container-exit": "_animationState === \"hidden\"",
509
+ "class.mat-snack-bar-container-animations-enabled": "!_animationsDisabled"
510
+ },
511
+ classAttribute: "mdc-snackbar mat-mdc-snack-bar-container"
512
+ },
513
+ viewQueries: [{
514
+ propertyName: "_portalOutlet",
515
+ first: true,
516
+ predicate: CdkPortalOutlet,
517
+ descendants: true,
518
+ static: true
519
+ }, {
520
+ propertyName: "_label",
521
+ first: true,
522
+ predicate: ["label"],
523
+ descendants: true,
524
+ static: true
525
+ }],
526
+ usesInheritance: true,
527
+ ngImport: i0,
528
+ template: "<div class=\"mdc-snackbar__surface mat-mdc-snackbar-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 />\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\" [attr.id]=\"_liveElementId\"></div>\n </div>\n</div>\n",
529
+ styles: ["@keyframes _mat-snack-bar-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _mat-snack-bar-exit{from{opacity:1}to{opacity:0}}.mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-snack-bar-container-animations-enabled{opacity:0}.mat-snack-bar-container-animations-enabled.mat-snack-bar-fallback-visible{opacity:1}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-enter{animation:_mat-snack-bar-enter 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-exit{animation:_mat-snack-bar-exit 75ms cubic-bezier(0.4, 0, 1, 1) forwards}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}@media(forced-colors: active){.mat-mdc-snackbar-surface{outline:solid 1px}}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mat-snack-bar-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-snack-bar-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-snack-bar-container-color, var(--mat-sys-inverse-surface))}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mat-snack-bar-supporting-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-snack-bar-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-snack-bar-supporting-text-weight, var(--mat-sys-body-medium-weight));line-height:var(--mat-snack-bar-supporting-text-line-height, var(--mat-sys-body-medium-line-height))}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled).mat-unthemed{color:var(--mat-snack-bar-button-color, var(--mat-sys-inverse-primary))}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){--mat-button-text-state-layer-color: currentColor;--mat-button-text-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}\n"],
530
+ dependencies: [{
531
+ kind: "directive",
532
+ type: CdkPortalOutlet,
533
+ selector: "[cdkPortalOutlet]",
534
+ inputs: ["cdkPortalOutlet"],
535
+ outputs: ["attached"],
536
+ exportAs: ["cdkPortalOutlet"]
537
+ }],
538
+ changeDetection: i0.ChangeDetectionStrategy.Eager,
539
+ encapsulation: i0.ViewEncapsulation.None
540
+ });
541
+ }
542
+ i0.ɵɵngDeclareClassMetadata({
543
+ minVersion: "12.0.0",
544
+ version: "22.0.0-next.1",
545
+ ngImport: i0,
546
+ type: MatSnackBarContainer,
547
+ decorators: [{
548
+ type: Component,
549
+ args: [{
550
+ selector: 'mat-snack-bar-container',
551
+ changeDetection: ChangeDetectionStrategy.Default,
552
+ encapsulation: ViewEncapsulation.None,
553
+ imports: [CdkPortalOutlet],
554
+ host: {
555
+ 'class': 'mdc-snackbar mat-mdc-snack-bar-container',
556
+ '[class.mat-snack-bar-container-enter]': '_animationState === "visible"',
557
+ '[class.mat-snack-bar-container-exit]': '_animationState === "hidden"',
558
+ '[class.mat-snack-bar-container-animations-enabled]': '!_animationsDisabled',
559
+ '(animationend)': 'onAnimationEnd($event.animationName)',
560
+ '(animationcancel)': 'onAnimationEnd($event.animationName)'
561
+ },
562
+ template: "<div class=\"mdc-snackbar__surface mat-mdc-snackbar-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 />\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\" [attr.id]=\"_liveElementId\"></div>\n </div>\n</div>\n",
563
+ styles: ["@keyframes _mat-snack-bar-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _mat-snack-bar-exit{from{opacity:1}to{opacity:0}}.mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-snack-bar-container-animations-enabled{opacity:0}.mat-snack-bar-container-animations-enabled.mat-snack-bar-fallback-visible{opacity:1}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-enter{animation:_mat-snack-bar-enter 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-exit{animation:_mat-snack-bar-exit 75ms cubic-bezier(0.4, 0, 1, 1) forwards}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}@media(forced-colors: active){.mat-mdc-snackbar-surface{outline:solid 1px}}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mat-snack-bar-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-snack-bar-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-snack-bar-container-color, var(--mat-sys-inverse-surface))}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mat-snack-bar-supporting-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-snack-bar-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-snack-bar-supporting-text-weight, var(--mat-sys-body-medium-weight));line-height:var(--mat-snack-bar-supporting-text-line-height, var(--mat-sys-body-medium-line-height))}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled).mat-unthemed{color:var(--mat-snack-bar-button-color, var(--mat-sys-inverse-primary))}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){--mat-button-text-state-layer-color: currentColor;--mat-button-text-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}\n"]
564
+ }]
565
+ }],
566
+ ctorParameters: () => [],
567
+ propDecorators: {
568
+ _portalOutlet: [{
569
+ type: ViewChild,
570
+ args: [CdkPortalOutlet, {
571
+ static: true
572
+ }]
573
+ }],
574
+ _label: [{
575
+ type: ViewChild,
576
+ args: ['label', {
577
+ static: true
578
+ }]
579
+ }]
580
+ }
581
+ });
582
+
583
+ const MAT_SNACK_BAR_DEFAULT_OPTIONS = new InjectionToken('mat-snack-bar-default-options', {
584
+ providedIn: 'root',
585
+ factory: () => new MatSnackBarConfig()
586
+ });
587
+ class MatSnackBar {
588
+ _live = inject(LiveAnnouncer);
589
+ _injector = inject(Injector);
590
+ _breakpointObserver = inject(BreakpointObserver);
591
+ _parentSnackBar = inject(MatSnackBar, {
592
+ optional: true,
593
+ skipSelf: true
594
+ });
595
+ _defaultConfig = inject(MAT_SNACK_BAR_DEFAULT_OPTIONS);
596
+ _animationsDisabled = _animationsDisabled();
597
+ _snackBarRefAtThisLevel = null;
598
+ simpleSnackBarComponent = SimpleSnackBar;
599
+ snackBarContainerComponent = MatSnackBarContainer;
600
+ handsetCssClass = 'mat-mdc-snack-bar-handset';
601
+ get _openedSnackBarRef() {
602
+ const parent = this._parentSnackBar;
603
+ return parent ? parent._openedSnackBarRef : this._snackBarRefAtThisLevel;
604
+ }
605
+ set _openedSnackBarRef(value) {
606
+ if (this._parentSnackBar) {
607
+ this._parentSnackBar._openedSnackBarRef = value;
608
+ } else {
609
+ this._snackBarRefAtThisLevel = value;
610
+ }
611
+ }
612
+ constructor() {}
613
+ openFromComponent(component, config) {
614
+ return this._attach(component, config);
615
+ }
616
+ openFromTemplate(template, config) {
617
+ return this._attach(template, config);
618
+ }
619
+ open(message, action = '', config) {
620
+ const _config = {
621
+ ...this._defaultConfig,
622
+ ...config
623
+ };
624
+ _config.data = {
625
+ message,
626
+ action
627
+ };
628
+ if (_config.announcementMessage === message) {
629
+ _config.announcementMessage = undefined;
630
+ }
631
+ return this.openFromComponent(this.simpleSnackBarComponent, _config);
632
+ }
633
+ dismiss() {
634
+ if (this._openedSnackBarRef) {
635
+ this._openedSnackBarRef.dismiss();
636
+ }
637
+ }
638
+ ngOnDestroy() {
639
+ if (this._snackBarRefAtThisLevel) {
640
+ this._snackBarRefAtThisLevel.dismiss();
641
+ }
642
+ }
643
+ _attachSnackBarContainer(overlayRef, config) {
644
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
645
+ const injector = Injector.create({
646
+ parent: userInjector || this._injector,
647
+ providers: [{
648
+ provide: MatSnackBarConfig,
649
+ useValue: config
650
+ }]
651
+ });
652
+ const containerPortal = new ComponentPortal(this.snackBarContainerComponent, config.viewContainerRef, injector);
653
+ const containerRef = overlayRef.attach(containerPortal);
654
+ containerRef.instance.snackBarConfig = config;
655
+ return containerRef.instance;
656
+ }
657
+ _attach(content, userConfig) {
658
+ const config = {
659
+ ...new MatSnackBarConfig(),
660
+ ...this._defaultConfig,
661
+ ...userConfig
662
+ };
663
+ const overlayRef = this._createOverlay(config);
664
+ const container = this._attachSnackBarContainer(overlayRef, config);
665
+ const snackBarRef = new MatSnackBarRef(container, overlayRef);
666
+ if (content instanceof TemplateRef) {
667
+ const portal = new TemplatePortal(content, null, {
668
+ $implicit: config.data,
669
+ snackBarRef
670
+ });
671
+ snackBarRef.instance = container.attachTemplatePortal(portal);
672
+ } else {
673
+ const injector = this._createInjector(config, snackBarRef);
674
+ const portal = new ComponentPortal(content, undefined, injector);
675
+ const contentRef = container.attachComponentPortal(portal);
676
+ snackBarRef.instance = contentRef.instance;
677
+ }
678
+ this._breakpointObserver.observe(Breakpoints.HandsetPortrait).pipe(takeUntil(overlayRef.detachments())).subscribe(state => {
679
+ overlayRef.overlayElement.classList.toggle(this.handsetCssClass, state.matches);
680
+ });
681
+ if (config.announcementMessage) {
682
+ container._onAnnounce.subscribe(() => {
683
+ this._live.announce(config.announcementMessage, config.politeness);
684
+ });
685
+ }
686
+ this._animateSnackBar(snackBarRef, config);
687
+ this._openedSnackBarRef = snackBarRef;
688
+ return this._openedSnackBarRef;
689
+ }
690
+ _animateSnackBar(snackBarRef, config) {
691
+ snackBarRef.afterDismissed().subscribe(() => {
692
+ if (this._openedSnackBarRef == snackBarRef) {
693
+ this._openedSnackBarRef = null;
694
+ }
695
+ if (config.announcementMessage) {
696
+ this._live.clear();
697
+ }
698
+ });
699
+ if (config.duration && config.duration > 0) {
700
+ snackBarRef.afterOpened().subscribe(() => snackBarRef._dismissAfter(config.duration));
701
+ }
702
+ if (this._openedSnackBarRef) {
703
+ this._openedSnackBarRef.afterDismissed().subscribe(() => {
704
+ snackBarRef.containerInstance.enter();
705
+ });
706
+ this._openedSnackBarRef.dismiss();
707
+ } else {
708
+ snackBarRef.containerInstance.enter();
709
+ }
710
+ }
711
+ _createOverlay(config) {
712
+ const overlayConfig = new OverlayConfig();
713
+ overlayConfig.direction = config.direction;
714
+ const positionStrategy = createGlobalPositionStrategy(this._injector);
715
+ const isRtl = config.direction === 'rtl';
716
+ const isLeft = config.horizontalPosition === 'left' || config.horizontalPosition === 'start' && !isRtl || config.horizontalPosition === 'end' && isRtl;
717
+ const isRight = !isLeft && config.horizontalPosition !== 'center';
718
+ if (isLeft) {
719
+ positionStrategy.left('0');
720
+ } else if (isRight) {
721
+ positionStrategy.right('0');
722
+ } else {
723
+ positionStrategy.centerHorizontally();
724
+ }
725
+ if (config.verticalPosition === 'top') {
726
+ positionStrategy.top('0');
727
+ } else {
728
+ positionStrategy.bottom('0');
729
+ }
730
+ overlayConfig.positionStrategy = positionStrategy;
731
+ overlayConfig.disableAnimations = this._animationsDisabled;
732
+ return createOverlayRef(this._injector, overlayConfig);
733
+ }
734
+ _createInjector(config, snackBarRef) {
735
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
736
+ return Injector.create({
737
+ parent: userInjector || this._injector,
738
+ providers: [{
739
+ provide: MatSnackBarRef,
740
+ useValue: snackBarRef
741
+ }, {
742
+ provide: MAT_SNACK_BAR_DATA,
743
+ useValue: config.data
744
+ }]
745
+ });
746
+ }
747
+ static ɵfac = i0.ɵɵngDeclareFactory({
748
+ minVersion: "12.0.0",
749
+ version: "22.0.0-next.1",
750
+ ngImport: i0,
751
+ type: MatSnackBar,
752
+ deps: [],
753
+ target: i0.ɵɵFactoryTarget.Injectable
754
+ });
755
+ static ɵprov = i0.ɵɵngDeclareInjectable({
756
+ minVersion: "12.0.0",
757
+ version: "22.0.0-next.1",
758
+ ngImport: i0,
759
+ type: MatSnackBar,
760
+ providedIn: 'root'
761
+ });
762
+ }
763
+ i0.ɵɵngDeclareClassMetadata({
764
+ minVersion: "12.0.0",
765
+ version: "22.0.0-next.1",
766
+ ngImport: i0,
767
+ type: MatSnackBar,
768
+ decorators: [{
769
+ type: Injectable,
770
+ args: [{
771
+ providedIn: 'root'
772
+ }]
773
+ }],
774
+ ctorParameters: () => []
775
+ });
776
+
777
+ const DIRECTIVES = [MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction];
778
+ class MatSnackBarModule {
779
+ static ɵfac = i0.ɵɵngDeclareFactory({
780
+ minVersion: "12.0.0",
781
+ version: "22.0.0-next.1",
782
+ ngImport: i0,
783
+ type: MatSnackBarModule,
784
+ deps: [],
785
+ target: i0.ɵɵFactoryTarget.NgModule
786
+ });
787
+ static ɵmod = i0.ɵɵngDeclareNgModule({
788
+ minVersion: "14.0.0",
789
+ version: "22.0.0-next.1",
790
+ ngImport: i0,
791
+ type: MatSnackBarModule,
792
+ imports: [OverlayModule, PortalModule, MatButtonModule, SimpleSnackBar, MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction],
793
+ exports: [BidiModule, MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction]
794
+ });
795
+ static ɵinj = i0.ɵɵngDeclareInjector({
796
+ minVersion: "12.0.0",
797
+ version: "22.0.0-next.1",
798
+ ngImport: i0,
799
+ type: MatSnackBarModule,
800
+ providers: [MatSnackBar],
801
+ imports: [OverlayModule, PortalModule, MatButtonModule, SimpleSnackBar, BidiModule]
802
+ });
803
+ }
804
+ i0.ɵɵngDeclareClassMetadata({
805
+ minVersion: "12.0.0",
806
+ version: "22.0.0-next.1",
807
+ ngImport: i0,
808
+ type: MatSnackBarModule,
809
+ decorators: [{
810
+ type: NgModule,
811
+ args: [{
812
+ imports: [OverlayModule, PortalModule, MatButtonModule, SimpleSnackBar, ...DIRECTIVES],
813
+ exports: [BidiModule, ...DIRECTIVES],
814
+ providers: [MatSnackBar]
815
+ }]
816
+ }]
817
+ });
818
+
819
+ export { MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MatSnackBar, MatSnackBarAction, MatSnackBarActions, MatSnackBarConfig, MatSnackBarContainer, MatSnackBarLabel, MatSnackBarModule, MatSnackBarRef, SimpleSnackBar };
820
+ //# sourceMappingURL=snack-bar.mjs.map