@angular/material 20.0.0-next.0 → 20.0.0-next.10

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 (698) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/_autocomplete-theme.scss +18 -18
  3. package/{core/tokens/m2/mat/_autocomplete.scss → autocomplete/_m2-autocomplete.scss} +7 -7
  4. package/{core/tokens/m3/mat/_autocomplete.scss → autocomplete/_m3-autocomplete.scss} +4 -4
  5. package/autocomplete/index.d.ts +100 -127
  6. package/autocomplete/testing/index.d.ts +7 -11
  7. package/badge/_badge-theme.scss +21 -21
  8. package/{core/tokens/m2/mat/_badge.scss → badge/_m2-badge.scss} +6 -6
  9. package/{core/tokens/m3/mat/_badge.scss → badge/_m3-badge.scss} +28 -27
  10. package/badge/index.d.ts +8 -112
  11. package/badge/testing/index.d.ts +8 -8
  12. package/badge.d-D0iThVg0.d.ts +99 -0
  13. package/bottom-sheet/_bottom-sheet-theme.scss +15 -15
  14. package/{core/tokens/m2/mat/_bottom-sheet.scss → bottom-sheet/_m2-bottom-sheet.scss} +6 -6
  15. package/{core/tokens/m3/mat/_bottom-sheet.scss → bottom-sheet/_m3-bottom-sheet.scss} +5 -5
  16. package/bottom-sheet/index.d.ts +91 -103
  17. package/bottom-sheet/testing/index.d.ts +5 -6
  18. package/button/_button-theme.scss +34 -333
  19. package/button/_fab-theme.scss +23 -128
  20. package/button/_icon-button-theme.scss +29 -36
  21. package/button/_m2-button.scss +249 -0
  22. package/button/_m2-fab.scss +132 -0
  23. package/{core/tokens/m2/mat/_icon-button.scss → button/_m2-icon-button.scss} +35 -26
  24. package/button/_m3-button.scss +260 -0
  25. package/button/_m3-fab.scss +187 -0
  26. package/{core/tokens/m3/mat/_icon-button.scss → button/_m3-icon-button.scss} +32 -7
  27. package/button/index.d.ts +107 -135
  28. package/button/testing/index.d.ts +14 -10
  29. package/button-toggle/_button-toggle-theme.scss +26 -44
  30. package/{core/tokens/m2/mat/_standard-button-toggle.scss → button-toggle/_m2-button-toggle.scss} +40 -20
  31. package/{core/tokens/m3/mat/_standard-button-toggle.scss → button-toggle/_m3-button-toggle.scss} +24 -9
  32. package/button-toggle/index.d.ts +12 -285
  33. package/button-toggle/testing/index.d.ts +39 -37
  34. package/button-toggle.d-B_G01PhW.d.ts +258 -0
  35. package/card/_card-theme.scss +18 -70
  36. package/{core/tokens/m2/mat/_card.scss → card/_m2-card.scss} +20 -18
  37. package/card/_m3-card.scss +48 -0
  38. package/card/index.d.ts +81 -117
  39. package/card/testing/index.d.ts +12 -15
  40. package/checkbox/_checkbox-theme.scss +30 -52
  41. package/{core/tokens/m2/mdc/_checkbox.scss → checkbox/_m2-checkbox.scss} +31 -53
  42. package/checkbox/_m3-checkbox.scss +103 -0
  43. package/checkbox/index.d.ts +45 -105
  44. package/checkbox/testing/index.d.ts +7 -10
  45. package/chips/_chips-theme.scss +24 -67
  46. package/chips/_m2-chip.scss +127 -0
  47. package/chips/_m3-chip.scss +129 -0
  48. package/chips/index.d.ts +624 -694
  49. package/chips/testing/index.d.ts +79 -93
  50. package/common-module.d-C8xzHJDr.d.ts +44 -0
  51. package/core/_core-theme.scss +34 -54
  52. package/core/_core.scss +6 -6
  53. package/core/{tokens/m2/mat/_app.scss → _m2-app.scss} +8 -7
  54. package/core/{tokens/m3/mat/_app.scss → _m3-app.scss} +4 -4
  55. package/core/density/private/_all-density.scss +38 -38
  56. package/core/index.d.ts +60 -976
  57. package/core/m2/_theming.scss +68 -44
  58. package/core/{tokens/m2/mat/_optgroup.scss → option/_m2-optgroup.scss} +6 -6
  59. package/core/{tokens/m2/mat/_option.scss → option/_m2-option.scss} +6 -6
  60. package/core/{tokens/m3/mat/_optgroup.scss → option/_m3-optgroup.scss} +4 -4
  61. package/core/option/_m3-option.scss +57 -0
  62. package/core/option/_optgroup-theme.scss +10 -14
  63. package/core/option/_option-theme.scss +14 -22
  64. package/core/{tokens/m2/mat/_ripple.scss → ripple/_m2-ripple.scss} +6 -6
  65. package/core/{tokens/m3/mat/_ripple.scss → ripple/_m3-ripple.scss} +3 -3
  66. package/core/ripple/_ripple-theme.scss +15 -15
  67. package/core/ripple/_ripple.scss +3 -4
  68. package/core/{tokens/m2/mat/_full-pseudo-checkbox.scss → selection/pseudo-checkbox/_m2-pseudo-checkbox.scss} +15 -13
  69. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +49 -0
  70. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +10 -38
  71. package/core/testing/index.d.ts +9 -42
  72. package/core/theming/_color-api-backwards-compatibility.scss +19 -8
  73. package/core/theming/_definition.scss +2 -3
  74. package/core/theming/_inspection.scss +3 -2
  75. package/core/tokens/_m2-tokens.scss +131 -0
  76. package/core/tokens/_m2-utils.scss +109 -0
  77. package/core/tokens/_m3-system.scss +67 -27
  78. package/core/tokens/_m3-tokens.scss +113 -33
  79. package/core/tokens/_m3-utils.scss +85 -0
  80. package/core/tokens/_token-utils.scss +69 -67
  81. package/core/tokens/m3/_index.scss +8 -163
  82. package/core/tokens/m3/{definitions/_md-sys-color.scss → _md-sys-color.scss} +44 -2
  83. package/core/tokens/m3/{definitions/_md-sys-typescale.scss → _md-sys-typescale.scss} +20 -1
  84. package/date-adapter.d-CtKXIxk0.d.ts +267 -0
  85. package/date-range-input-harness.d-CaEyN8dT.d.ts +279 -0
  86. package/datepicker/_datepicker-theme.scss +27 -42
  87. package/{core/tokens/m2/mat/_datepicker.scss → datepicker/_m2-datepicker.scss} +7 -7
  88. package/{core/tokens/m3/mat/_datepicker.scss → datepicker/_m3-datepicker.scss} +13 -11
  89. package/datepicker/index.d.ts +1336 -1481
  90. package/datepicker/testing/index.d.ts +5 -287
  91. package/dialog/_dialog-theme.scss +12 -39
  92. package/{core/tokens/m2/mdc/_dialog.scss → dialog/_m2-dialog.scss} +21 -50
  93. package/dialog/_m3-dialog.scss +47 -0
  94. package/dialog/index.d.ts +59 -453
  95. package/dialog/testing/index.d.ts +23 -26
  96. package/dialog.d-DsYAn2Gk.d.ts +339 -0
  97. package/divider/_divider-theme.scss +10 -14
  98. package/{core/tokens/m2/mat/_divider.scss → divider/_m2-divider.scss} +6 -6
  99. package/{core/tokens/m3/mat/_divider.scss → divider/_m3-divider.scss} +3 -3
  100. package/divider/index.d.ts +6 -11
  101. package/divider/testing/index.d.ts +5 -6
  102. package/error-options.d-CGdTZUYk.d.ts +17 -0
  103. package/expansion/_expansion-theme.scss +19 -22
  104. package/{core/tokens/m2/mat/_expansion.scss → expansion/_m2-expansion.scss} +7 -7
  105. package/{core/tokens/m3/mat/_expansion.scss → expansion/_m3-expansion.scss} +22 -8
  106. package/expansion/index.d.ts +140 -190
  107. package/expansion/testing/index.d.ts +26 -31
  108. package/fesm2022/animation-DfMFjxHu.mjs +41 -0
  109. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -0
  110. package/fesm2022/autocomplete/testing.mjs +2 -1
  111. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  112. package/fesm2022/autocomplete.mjs +79 -51
  113. package/fesm2022/autocomplete.mjs.map +1 -1
  114. package/fesm2022/badge/testing.mjs.map +1 -1
  115. package/fesm2022/badge.mjs +22 -23
  116. package/fesm2022/badge.mjs.map +1 -1
  117. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  118. package/fesm2022/bottom-sheet.mjs +33 -22
  119. package/fesm2022/bottom-sheet.mjs.map +1 -1
  120. package/fesm2022/button/testing.mjs +34 -15
  121. package/fesm2022/button/testing.mjs.map +1 -1
  122. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  123. package/fesm2022/button-toggle.mjs +28 -19
  124. package/fesm2022/button-toggle.mjs.map +1 -1
  125. package/fesm2022/button.mjs +114 -285
  126. package/fesm2022/button.mjs.map +1 -1
  127. package/fesm2022/card/testing.mjs.map +1 -1
  128. package/fesm2022/card.mjs +52 -52
  129. package/fesm2022/card.mjs.map +1 -1
  130. package/fesm2022/checkbox/testing.mjs.map +1 -1
  131. package/fesm2022/checkbox.mjs +39 -78
  132. package/fesm2022/checkbox.mjs.map +1 -1
  133. package/fesm2022/chips/testing.mjs +7 -1
  134. package/fesm2022/chips/testing.mjs.map +1 -1
  135. package/fesm2022/chips.mjs +104 -66
  136. package/fesm2022/chips.mjs.map +1 -1
  137. package/fesm2022/common-module-DZl8g1kc.mjs +42 -0
  138. package/fesm2022/common-module-DZl8g1kc.mjs.map +1 -0
  139. package/fesm2022/core/testing.mjs +2 -43
  140. package/fesm2022/core/testing.mjs.map +1 -1
  141. package/fesm2022/core.mjs +39 -1620
  142. package/fesm2022/core.mjs.map +1 -1
  143. package/fesm2022/date-formats-K6TQue-Y.mjs +190 -0
  144. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -0
  145. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs +467 -0
  146. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -0
  147. package/fesm2022/datepicker/testing.mjs +5 -465
  148. package/fesm2022/datepicker/testing.mjs.map +1 -1
  149. package/fesm2022/datepicker.mjs +198 -156
  150. package/fesm2022/datepicker.mjs.map +1 -1
  151. package/fesm2022/dialog/testing.mjs +14 -1
  152. package/fesm2022/dialog/testing.mjs.map +1 -1
  153. package/fesm2022/dialog.mjs +16 -895
  154. package/fesm2022/dialog.mjs.map +1 -1
  155. package/fesm2022/divider/testing.mjs.map +1 -1
  156. package/fesm2022/divider.mjs +11 -13
  157. package/fesm2022/divider.mjs.map +1 -1
  158. package/fesm2022/error-options-BWOa3B4G.mjs +29 -0
  159. package/fesm2022/error-options-BWOa3B4G.mjs.map +1 -0
  160. package/fesm2022/error-state-Dtb1IHM-.mjs +37 -0
  161. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -0
  162. package/fesm2022/expansion/testing.mjs.map +1 -1
  163. package/fesm2022/expansion.mjs +36 -37
  164. package/fesm2022/expansion.mjs.map +1 -1
  165. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  166. package/fesm2022/form-field/testing.mjs +7 -6
  167. package/fesm2022/form-field/testing.mjs.map +1 -1
  168. package/fesm2022/form-field-BZd6Vhww.mjs +1101 -0
  169. package/fesm2022/form-field-BZd6Vhww.mjs.map +1 -0
  170. package/fesm2022/form-field.mjs +16 -1110
  171. package/fesm2022/form-field.mjs.map +1 -1
  172. package/fesm2022/grid-list/testing.mjs +2 -2
  173. package/fesm2022/grid-list/testing.mjs.map +1 -1
  174. package/fesm2022/grid-list.mjs +32 -176
  175. package/fesm2022/grid-list.mjs.map +1 -1
  176. package/fesm2022/icon/testing.mjs +11 -12
  177. package/fesm2022/icon/testing.mjs.map +1 -1
  178. package/fesm2022/icon-button-4VvBKIK4.mjs +212 -0
  179. package/fesm2022/icon-button-4VvBKIK4.mjs.map +1 -0
  180. package/fesm2022/icon-registry-Bk5cM8Z5.mjs +638 -0
  181. package/fesm2022/icon-registry-Bk5cM8Z5.mjs.map +1 -0
  182. package/fesm2022/icon.mjs +24 -642
  183. package/fesm2022/icon.mjs.map +1 -1
  184. package/fesm2022/index-BHJ4tVIe.mjs +22 -0
  185. package/fesm2022/index-BHJ4tVIe.mjs.map +1 -0
  186. package/fesm2022/index-D2rZ0V78.mjs +20 -0
  187. package/fesm2022/index-D2rZ0V78.mjs.map +1 -0
  188. package/fesm2022/input/testing.mjs +5 -113
  189. package/fesm2022/input/testing.mjs.map +1 -1
  190. package/fesm2022/input-harness-oQzj5EsQ.mjs +115 -0
  191. package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -0
  192. package/fesm2022/input-value-accessor-D1GvPuqO.mjs +12 -0
  193. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -0
  194. package/fesm2022/input.mjs +32 -40
  195. package/fesm2022/input.mjs.map +1 -1
  196. package/fesm2022/internal-form-field-DVvKYBKJ.mjs +27 -0
  197. package/fesm2022/internal-form-field-DVvKYBKJ.mjs.map +1 -0
  198. package/fesm2022/line-Dwrcg_t9.mjs +59 -0
  199. package/fesm2022/line-Dwrcg_t9.mjs.map +1 -0
  200. package/fesm2022/list/testing.mjs +2 -2
  201. package/fesm2022/list/testing.mjs.map +1 -1
  202. package/fesm2022/list.mjs +71 -68
  203. package/fesm2022/list.mjs.map +1 -1
  204. package/fesm2022/material.mjs.map +1 -1
  205. package/fesm2022/menu/testing.mjs.map +1 -1
  206. package/fesm2022/menu.mjs +57 -46
  207. package/fesm2022/menu.mjs.map +1 -1
  208. package/fesm2022/module-CTd5xD2i.mjs +39 -0
  209. package/fesm2022/module-CTd5xD2i.mjs.map +1 -0
  210. package/fesm2022/module-D-cNfopD.mjs +891 -0
  211. package/fesm2022/module-D-cNfopD.mjs.map +1 -0
  212. package/fesm2022/module-X29xYsIk.mjs +970 -0
  213. package/fesm2022/module-X29xYsIk.mjs.map +1 -0
  214. package/fesm2022/module-qRXgbi2L.mjs +1312 -0
  215. package/fesm2022/module-qRXgbi2L.mjs.map +1 -0
  216. package/fesm2022/option-MOeehkAg.mjs +348 -0
  217. package/fesm2022/option-MOeehkAg.mjs.map +1 -0
  218. package/fesm2022/option-harness-BFcc-M_4.mjs +46 -0
  219. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -0
  220. package/fesm2022/paginator/testing.mjs +4 -1
  221. package/fesm2022/paginator/testing.mjs.map +1 -1
  222. package/fesm2022/paginator.mjs +54 -22
  223. package/fesm2022/paginator.mjs.map +1 -1
  224. package/fesm2022/progress-bar/testing.mjs +0 -4
  225. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  226. package/fesm2022/progress-bar.mjs +20 -19
  227. package/fesm2022/progress-bar.mjs.map +1 -1
  228. package/fesm2022/progress-spinner/testing.mjs +0 -4
  229. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  230. package/fesm2022/progress-spinner.mjs +22 -20
  231. package/fesm2022/progress-spinner.mjs.map +1 -1
  232. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs +53 -0
  233. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs.map +1 -0
  234. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs +20 -0
  235. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs.map +1 -0
  236. package/fesm2022/public-api-BoO5eSq-.mjs +147 -0
  237. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -0
  238. package/fesm2022/radio/testing.mjs.map +1 -1
  239. package/fesm2022/radio.mjs +28 -20
  240. package/fesm2022/radio.mjs.map +1 -1
  241. package/fesm2022/ripple-CuyVtN3V.mjs +640 -0
  242. package/fesm2022/ripple-CuyVtN3V.mjs.map +1 -0
  243. package/fesm2022/ripple-loader-pOctSZby.mjs +162 -0
  244. package/fesm2022/ripple-loader-pOctSZby.mjs.map +1 -0
  245. package/fesm2022/select/testing.mjs +3 -2
  246. package/fesm2022/select/testing.mjs.map +1 -1
  247. package/fesm2022/select.mjs +32 -1311
  248. package/fesm2022/select.mjs.map +1 -1
  249. package/fesm2022/sidenav/testing.mjs +1 -1
  250. package/fesm2022/sidenav/testing.mjs.map +1 -1
  251. package/fesm2022/sidenav.mjs +39 -38
  252. package/fesm2022/sidenav.mjs.map +1 -1
  253. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  254. package/fesm2022/slide-toggle.mjs +32 -80
  255. package/fesm2022/slide-toggle.mjs.map +1 -1
  256. package/fesm2022/slider/testing.mjs.map +1 -1
  257. package/fesm2022/slider.mjs +33 -29
  258. package/fesm2022/slider.mjs.map +1 -1
  259. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  260. package/fesm2022/snack-bar.mjs +55 -53
  261. package/fesm2022/snack-bar.mjs.map +1 -1
  262. package/fesm2022/sort/testing.mjs.map +1 -1
  263. package/fesm2022/sort.mjs +31 -23
  264. package/fesm2022/sort.mjs.map +1 -1
  265. package/fesm2022/stepper/testing.mjs.map +1 -1
  266. package/fesm2022/stepper.mjs +60 -45
  267. package/fesm2022/stepper.mjs.map +1 -1
  268. package/fesm2022/structural-styles-CasigI3l.mjs +18 -0
  269. package/fesm2022/structural-styles-CasigI3l.mjs.map +1 -0
  270. package/fesm2022/table/testing.mjs.map +1 -1
  271. package/fesm2022/table.mjs +61 -65
  272. package/fesm2022/table.mjs.map +1 -1
  273. package/fesm2022/tabs/testing.mjs.map +1 -1
  274. package/fesm2022/tabs.mjs +89 -85
  275. package/fesm2022/tabs.mjs.map +1 -1
  276. package/fesm2022/timepicker/testing.mjs +1 -1
  277. package/fesm2022/timepicker/testing.mjs.map +1 -1
  278. package/fesm2022/timepicker.mjs +51 -41
  279. package/fesm2022/timepicker.mjs.map +1 -1
  280. package/fesm2022/toolbar/testing.mjs.map +1 -1
  281. package/fesm2022/toolbar.mjs +15 -18
  282. package/fesm2022/toolbar.mjs.map +1 -1
  283. package/fesm2022/tooltip/testing.mjs.map +1 -1
  284. package/fesm2022/tooltip.mjs +17 -960
  285. package/fesm2022/tooltip.mjs.map +1 -1
  286. package/fesm2022/tree/testing.mjs.map +1 -1
  287. package/fesm2022/tree.mjs +29 -31
  288. package/fesm2022/tree.mjs.map +1 -1
  289. package/form-field/_form-field-theme.scss +30 -97
  290. package/{core/tokens/m2/mat/_form-field.scss → form-field/_m2-form-field.scss} +94 -13
  291. package/form-field/_m3-form-field.scss +153 -0
  292. package/form-field/index.d.ts +16 -508
  293. package/form-field/testing/control/index.d.ts +2 -2
  294. package/form-field/testing/index.d.ts +19 -24
  295. package/form-field-control.d-DvB4ZVlf.d.ts +64 -0
  296. package/form-field.d-b9aHrR4I.d.ts +373 -0
  297. package/grid-list/_grid-list-theme.scss +8 -10
  298. package/{core/tokens/m2/mat/_grid-list.scss → grid-list/_m2-grid-list.scss} +6 -6
  299. package/{core/tokens/m3/mat/_grid-list.scss → grid-list/_m3-grid-list.scss} +2 -2
  300. package/grid-list/index.d.ts +127 -152
  301. package/grid-list/testing/index.d.ts +40 -44
  302. package/icon/_icon-theme.scss +13 -13
  303. package/{core/tokens/m2/mat/_icon.scss → icon/_m2-icon.scss} +5 -5
  304. package/{core/tokens/m3/mat/_icon.scss → icon/_m3-icon.scss} +8 -6
  305. package/icon/index.d.ts +9 -470
  306. package/icon/testing/index.d.ts +42 -44
  307. package/icon-module.d-sA1hmRKS.d.ts +168 -0
  308. package/icon-registry.d-BVwP8t9_.d.ts +287 -0
  309. package/index.d-C5neTPvr.d.ts +11 -0
  310. package/index.d-CikM2bbf.d.ts +13 -0
  311. package/index.d.ts +2 -3
  312. package/input/_input-theme.scss +1 -1
  313. package/input/index.d.ts +39 -64
  314. package/input/testing/index.d.ts +14 -71
  315. package/input-harness.d-8fkAAbu2.d.ts +61 -0
  316. package/line.d-C-QdueRc.d.ts +25 -0
  317. package/list/_list-theme.scss +41 -71
  318. package/list/_m2-list.scss +133 -0
  319. package/list/_m3-list.scss +92 -0
  320. package/list/index.d.ts +155 -244
  321. package/list/testing/index.d.ts +159 -180
  322. package/list-option-types.d-77dQtwu8.d.ts +15 -0
  323. package/{core/tokens/m2/mat/_menu.scss → menu/_m2-menu.scss} +7 -7
  324. package/{core/tokens/m3/mat/_menu.scss → menu/_m3-menu.scss} +14 -17
  325. package/menu/_menu-theme.scss +12 -18
  326. package/menu/index.d.ts +185 -231
  327. package/menu/testing/index.d.ts +18 -23
  328. package/module.d-BGzxQfCs.d.ts +18 -0
  329. package/module.d-CH_8jCsD.d.ts +454 -0
  330. package/module.d-m-qXd3m8.d.ts +329 -0
  331. package/option-harness.d-IqsW95GR.d.ts +35 -0
  332. package/option-parent.d-CnYuuMkO.d.ts +20 -0
  333. package/option.d-BVGX3edu.d.ts +146 -0
  334. package/package.json +5 -2
  335. package/{core/tokens/m2/mat/_paginator.scss → paginator/_m2-paginator.scss} +7 -7
  336. package/{core/tokens/m3/mat/_paginator.scss → paginator/_m3-paginator.scss} +20 -4
  337. package/paginator/_paginator-theme.scss +17 -18
  338. package/paginator/index.d.ts +31 -216
  339. package/paginator/testing/index.d.ts +15 -15
  340. package/paginator.d-3kymf0wo.d.ts +200 -0
  341. package/palette.d-BSSFKjO6.d.ts +4 -0
  342. package/prebuilt-themes/azure-blue.css +1 -1
  343. package/prebuilt-themes/cyan-orange.css +1 -1
  344. package/prebuilt-themes/deeppurple-amber.css +1 -1
  345. package/prebuilt-themes/indigo-pink.css +1 -1
  346. package/prebuilt-themes/magenta-violet.css +1 -1
  347. package/prebuilt-themes/pink-bluegrey.css +1 -1
  348. package/prebuilt-themes/purple-green.css +1 -1
  349. package/prebuilt-themes/rose-red.css +1 -1
  350. package/{core/tokens/m2/mdc/_linear-progress.scss → progress-bar/_m2-progress-bar.scss} +7 -8
  351. package/{core/tokens/m3/mdc/_linear-progress.scss → progress-bar/_m3-progress-bar.scss} +11 -6
  352. package/progress-bar/_progress-bar-theme.scss +11 -11
  353. package/progress-bar/index.d.ts +41 -60
  354. package/progress-bar/testing/index.d.ts +8 -10
  355. package/{core/tokens/m2/mdc/_tab-indicator.scss → progress-spinner/_m2-progress-spinner.scss} +10 -11
  356. package/{core/tokens/m3/mdc/_circular-progress.scss → progress-spinner/_m3-progress-spinner.scss} +10 -6
  357. package/progress-spinner/_progress-spinner-theme.scss +17 -17
  358. package/progress-spinner/index.d.ts +8 -110
  359. package/progress-spinner/testing/index.d.ts +11 -11
  360. package/progress-spinner.d-DtYCWeYd.d.ts +97 -0
  361. package/pseudo-checkbox-module.d-BHmTZ10P.d.ts +45 -0
  362. package/{core/tokens/m2/mdc/_radio.scss → radio/_m2-radio.scss} +28 -36
  363. package/radio/_m3-radio.scss +79 -0
  364. package/radio/_radio-theme.scss +27 -56
  365. package/radio/index.d.ts +152 -170
  366. package/radio/testing/index.d.ts +62 -67
  367. package/ripple-loader.d-9me-KFSi.d.ts +48 -0
  368. package/ripple.d-BT30YVLB.d.ts +256 -0
  369. package/schematics/ng-add/fonts/material-fonts.js +3 -3
  370. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  371. package/schematics/ng-add/index.js +2 -2
  372. package/schematics/ng-add/index.js.map +1 -0
  373. package/schematics/ng-add/package-config.js +1 -1
  374. package/schematics/ng-add/package-config.js.map +1 -0
  375. package/schematics/ng-add/schema.js +1 -1
  376. package/schematics/ng-add/schema.js.map +1 -0
  377. package/schematics/ng-add/setup-project.js +5 -5
  378. package/schematics/ng-add/setup-project.js.map +1 -0
  379. package/schematics/ng-add/theming/create-custom-theme.js +1 -1
  380. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  381. package/schematics/ng-add/theming/theming.js +6 -8
  382. package/schematics/ng-add/theming/theming.js.map +1 -0
  383. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  384. package/schematics/ng-generate/address-form/index.js +1 -1
  385. package/schematics/ng-generate/address-form/index.js.map +1 -0
  386. package/schematics/ng-generate/address-form/schema.js +1 -1
  387. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  389. package/schematics/ng-generate/dashboard/index.js +1 -1
  390. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  391. package/schematics/ng-generate/dashboard/schema.js +1 -1
  392. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  393. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  394. package/schematics/ng-generate/navigation/index.js +1 -1
  395. package/schematics/ng-generate/navigation/index.js.map +1 -0
  396. package/schematics/ng-generate/navigation/schema.js +1 -1
  397. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  398. package/schematics/ng-generate/table/index.js +1 -1
  399. package/schematics/ng-generate/table/index.js.map +1 -0
  400. package/schematics/ng-generate/table/schema.js +1 -1
  401. package/schematics/ng-generate/table/schema.js.map +1 -0
  402. package/schematics/ng-generate/theme-color/index_bundled.js +1711 -225
  403. package/schematics/ng-generate/theme-color/index_bundled.js.map +2 -3
  404. package/schematics/ng-generate/theme-color/schema.json +10 -0
  405. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  406. package/schematics/ng-generate/tree/index.js +1 -1
  407. package/schematics/ng-generate/tree/index.js.map +1 -0
  408. package/schematics/ng-generate/tree/schema.js +1 -1
  409. package/schematics/ng-generate/tree/schema.js.map +1 -0
  410. package/schematics/ng-update/index_bundled.js +3465 -4099
  411. package/schematics/ng-update/index_bundled.js.map +3 -4
  412. package/schematics/tsconfig.json +26 -0
  413. package/{core/tokens/m2/mat/_select.scss → select/_m2-select.scss} +11 -11
  414. package/{core/tokens/m3/mat/_select.scss → select/_m3-select.scss} +22 -7
  415. package/select/_select-theme.scss +30 -26
  416. package/select/index.d.ts +25 -505
  417. package/select/testing/index.d.ts +13 -16
  418. package/{core/tokens/m2/mat/_sidenav.scss → sidenav/_m2-sidenav.scss} +7 -7
  419. package/{core/tokens/m3/mat/_sidenav.scss → sidenav/_m3-sidenav.scss} +6 -6
  420. package/sidenav/_sidenav-theme.scss +12 -16
  421. package/sidenav/index.d.ts +51 -93
  422. package/sidenav/testing/index.d.ts +59 -63
  423. package/slide-toggle/_m2-slide-toggle.scss +167 -0
  424. package/slide-toggle/_m3-slide-toggle.scss +160 -0
  425. package/slide-toggle/_slide-toggle-theme.scss +55 -48
  426. package/slide-toggle/index.d.ts +40 -110
  427. package/slide-toggle/testing/index.d.ts +18 -21
  428. package/{core/tokens/m2/mdc/_slider.scss → slider/_m2-slider.scss} +29 -68
  429. package/slider/_m3-slider.scss +121 -0
  430. package/slider/_slider-theme.scss +18 -53
  431. package/slider/index.d.ts +282 -328
  432. package/slider/testing/index.d.ts +43 -47
  433. package/{core/tokens/m2/mat/_snack-bar.scss → snack-bar/_m2-snack-bar.scss} +23 -8
  434. package/snack-bar/_m3-snack-bar.scss +25 -0
  435. package/snack-bar/_snack-bar-theme.scss +11 -30
  436. package/snack-bar/index.d.ts +155 -188
  437. package/snack-bar/testing/index.d.ts +8 -9
  438. package/{core/tokens/m2/mat/_sort.scss → sort/_m2-sort.scss} +6 -6
  439. package/{core/tokens/m3/mat/_sort.scss → sort/_m3-sort.scss} +2 -2
  440. package/sort/_sort-theme.scss +12 -18
  441. package/sort/index.d.ts +62 -170
  442. package/sort/testing/index.d.ts +23 -25
  443. package/sort-direction.d-CF7VUsH-.d.ts +3 -0
  444. package/sort.d-i-bF_IaU.d.ts +88 -0
  445. package/{core/tokens/m2/mat/_stepper.scss → stepper/_m2-stepper.scss} +7 -34
  446. package/stepper/_m3-stepper.scss +102 -0
  447. package/stepper/_stepper-theme.scss +26 -21
  448. package/stepper/index.d.ts +117 -168
  449. package/stepper/testing/index.d.ts +44 -52
  450. package/{core/tokens/m2/mat/_table.scss → table/_m2-table.scss} +7 -7
  451. package/table/_m3-table.scss +44 -0
  452. package/table/_table-theme.scss +18 -22
  453. package/table/index.d.ts +97 -156
  454. package/table/testing/index.d.ts +65 -78
  455. package/{core/tokens/m2/mat/_tab-header.scss → tabs/_m2-tabs.scss} +42 -11
  456. package/tabs/_m3-tabs.scss +70 -0
  457. package/tabs/_tabs-theme.scss +47 -125
  458. package/tabs/index.d.ts +321 -388
  459. package/tabs/testing/index.d.ts +68 -76
  460. package/{core/tokens/m2/mat/_timepicker.scss → timepicker/_m2-timepicker.scss} +7 -7
  461. package/{core/tokens/m3/mat/_timepicker.scss → timepicker/_m3-timepicker.scss} +4 -4
  462. package/timepicker/_timepicker-theme.scss +18 -18
  463. package/timepicker/index.d.ts +127 -161
  464. package/timepicker/testing/index.d.ts +21 -26
  465. package/{core/tokens/m2/mat/_toolbar.scss → toolbar/_m2-toolbar.scss} +7 -7
  466. package/{core/tokens/m3/mat/_toolbar.scss → toolbar/_m3-toolbar.scss} +18 -4
  467. package/toolbar/_toolbar-theme.scss +26 -21
  468. package/toolbar/index.d.ts +15 -26
  469. package/toolbar/testing/index.d.ts +14 -16
  470. package/{core/tokens/m2/mdc/_plain-tooltip.scss → tooltip/_m2-tooltip.scss} +7 -17
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +18 -18
  473. package/tooltip/index.d.ts +11 -355
  474. package/tooltip/testing/index.d.ts +8 -10
  475. package/{core/tokens/m2/mat/_tree.scss → tree/_m2-tree.scss} +7 -7
  476. package/{core/tokens/m3/mat/_tree.scss → tree/_m3-tree.scss} +15 -2
  477. package/tree/_tree-theme.scss +19 -15
  478. package/tree/index.d.ts +117 -163
  479. package/tree/testing/index.d.ts +53 -58
  480. package/button/_button-base.scss +0 -181
  481. package/checkbox/_checkbox-common.scss +0 -585
  482. package/core/style/_button-common.scss +0 -17
  483. package/core/style/_form-common.scss +0 -21
  484. package/core/style/_list-common.scss +0 -49
  485. package/core/style/_menu-common.scss +0 -94
  486. package/core/theming/_palette-deprecated.scss +0 -76
  487. package/core/theming/_theming-deprecated.scss +0 -27
  488. package/core/tokens/_density.scss +0 -193
  489. package/core/tokens/_token-definition.scss +0 -273
  490. package/core/tokens/m2/_index.scss +0 -187
  491. package/core/tokens/m2/mat/_checkbox.scss +0 -50
  492. package/core/tokens/m2/mat/_chip.scss +0 -63
  493. package/core/tokens/m2/mat/_dialog.scss +0 -51
  494. package/core/tokens/m2/mat/_fab-small.scss +0 -108
  495. package/core/tokens/m2/mat/_fab.scss +0 -108
  496. package/core/tokens/m2/mat/_filled-button.scss +0 -102
  497. package/core/tokens/m2/mat/_legacy-button-toggle.scss +0 -59
  498. package/core/tokens/m2/mat/_list.scss +0 -44
  499. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +0 -43
  500. package/core/tokens/m2/mat/_outlined-button.scss +0 -88
  501. package/core/tokens/m2/mat/_protected-button.scss +0 -102
  502. package/core/tokens/m2/mat/_radio.scss +0 -52
  503. package/core/tokens/m2/mat/_slider.scss +0 -69
  504. package/core/tokens/m2/mat/_switch.scss +0 -76
  505. package/core/tokens/m2/mat/_tab-header-with-background.scss +0 -42
  506. package/core/tokens/m2/mat/_text-button.scss +0 -91
  507. package/core/tokens/m2/mdc/_chip.scss +0 -313
  508. package/core/tokens/m2/mdc/_circular-progress.scss +0 -61
  509. package/core/tokens/m2/mdc/_elevated-card.scss +0 -77
  510. package/core/tokens/m2/mdc/_extended-fab.scss +0 -87
  511. package/core/tokens/m2/mdc/_fab-small.scss +0 -92
  512. package/core/tokens/m2/mdc/_fab.scss +0 -93
  513. package/core/tokens/m2/mdc/_filled-button.scss +0 -124
  514. package/core/tokens/m2/mdc/_filled-text-field.scss +0 -181
  515. package/core/tokens/m2/mdc/_icon-button.scss +0 -91
  516. package/core/tokens/m2/mdc/_list.scss +0 -219
  517. package/core/tokens/m2/mdc/_outlined-button.scss +0 -124
  518. package/core/tokens/m2/mdc/_outlined-card.scss +0 -85
  519. package/core/tokens/m2/mdc/_outlined-text-field.scss +0 -163
  520. package/core/tokens/m2/mdc/_protected-button.scss +0 -129
  521. package/core/tokens/m2/mdc/_secondary-navigation-tab.scss +0 -87
  522. package/core/tokens/m2/mdc/_snack-bar.scss +0 -93
  523. package/core/tokens/m2/mdc/_switch.scss +0 -192
  524. package/core/tokens/m2/mdc/_text-button.scss +0 -98
  525. package/core/tokens/m3/definitions/_index.scss +0 -94
  526. package/core/tokens/m3/definitions/_md-comp-checkbox.scss +0 -120
  527. package/core/tokens/m3/definitions/_md-comp-circular-progress-indicator.scss +0 -27
  528. package/core/tokens/m3/definitions/_md-comp-data-table.scss +0 -90
  529. package/core/tokens/m3/definitions/_md-comp-dialog.scss +0 -123
  530. package/core/tokens/m3/definitions/_md-comp-elevated-button.scss +0 -87
  531. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +0 -53
  532. package/core/tokens/m3/definitions/_md-comp-extended-fab-primary.scss +0 -90
  533. package/core/tokens/m3/definitions/_md-comp-extended-fab-secondary.scss +0 -91
  534. package/core/tokens/m3/definitions/_md-comp-extended-fab-tertiary.scss +0 -91
  535. package/core/tokens/m3/definitions/_md-comp-fab-primary-small.scss +0 -59
  536. package/core/tokens/m3/definitions/_md-comp-fab-primary.scss +0 -59
  537. package/core/tokens/m3/definitions/_md-comp-fab-secondary-small.scss +0 -60
  538. package/core/tokens/m3/definitions/_md-comp-fab-secondary.scss +0 -60
  539. package/core/tokens/m3/definitions/_md-comp-fab-tertiary-small.scss +0 -60
  540. package/core/tokens/m3/definitions/_md-comp-fab-tertiary.scss +0 -60
  541. package/core/tokens/m3/definitions/_md-comp-filled-button.scss +0 -85
  542. package/core/tokens/m3/definitions/_md-comp-filled-card.scss +0 -52
  543. package/core/tokens/m3/definitions/_md-comp-filled-icon-button.scss +0 -73
  544. package/core/tokens/m3/definitions/_md-comp-filled-text-field.scss +0 -189
  545. package/core/tokens/m3/definitions/_md-comp-icon-button.scss +0 -64
  546. package/core/tokens/m3/definitions/_md-comp-linear-progress-indicator.scss +0 -29
  547. package/core/tokens/m3/definitions/_md-comp-list.scss +0 -252
  548. package/core/tokens/m3/definitions/_md-comp-outlined-button.scss +0 -80
  549. package/core/tokens/m3/definitions/_md-comp-outlined-card.scss +0 -59
  550. package/core/tokens/m3/definitions/_md-comp-outlined-icon-button.scss +0 -73
  551. package/core/tokens/m3/definitions/_md-comp-outlined-text-field.scss +0 -171
  552. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  553. package/core/tokens/m3/definitions/_md-comp-radio-button.scss +0 -62
  554. package/core/tokens/m3/definitions/_md-comp-secondary-navigation-tab.scss +0 -80
  555. package/core/tokens/m3/definitions/_md-comp-slider.scss +0 -110
  556. package/core/tokens/m3/definitions/_md-comp-snackbar.scss +0 -125
  557. package/core/tokens/m3/definitions/_md-comp-switch.scss +0 -130
  558. package/core/tokens/m3/definitions/_md-comp-text-button.scss +0 -73
  559. package/core/tokens/m3/definitions/unused/_md-comp-assist-chip.scss +0 -105
  560. package/core/tokens/m3/definitions/unused/_md-comp-badge.scss +0 -54
  561. package/core/tokens/m3/definitions/unused/_md-comp-banner.scss +0 -71
  562. package/core/tokens/m3/definitions/unused/_md-comp-bottom-app-bar.scss +0 -29
  563. package/core/tokens/m3/definitions/unused/_md-comp-carousel-item.scss +0 -59
  564. package/core/tokens/m3/definitions/unused/_md-comp-date-input-modal.scss +0 -87
  565. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-docked.scss +0 -248
  566. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-modal.scss +0 -313
  567. package/core/tokens/m3/definitions/unused/_md-comp-divider.scss +0 -19
  568. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-branded.scss +0 -82
  569. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-surface.scss +0 -86
  570. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded-large.scss +0 -54
  571. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded.scss +0 -54
  572. package/core/tokens/m3/definitions/unused/_md-comp-fab-primary-large.scss +0 -59
  573. package/core/tokens/m3/definitions/unused/_md-comp-fab-secondary-large.scss +0 -60
  574. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-large.scss +0 -58
  575. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-small.scss +0 -58
  576. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface.scss +0 -58
  577. package/core/tokens/m3/definitions/unused/_md-comp-fab-tertiary-large.scss +0 -60
  578. package/core/tokens/m3/definitions/unused/_md-comp-filled-autocomplete.scss +0 -269
  579. package/core/tokens/m3/definitions/unused/_md-comp-filled-menu-button.scss +0 -94
  580. package/core/tokens/m3/definitions/unused/_md-comp-filled-select.scss +0 -274
  581. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-button.scss +0 -95
  582. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-icon-button.scss +0 -80
  583. package/core/tokens/m3/definitions/unused/_md-comp-filter-chip.scss +0 -205
  584. package/core/tokens/m3/definitions/unused/_md-comp-full-screen-dialog.scss +0 -109
  585. package/core/tokens/m3/definitions/unused/_md-comp-input-chip.scss +0 -180
  586. package/core/tokens/m3/definitions/unused/_md-comp-menu.scss +0 -31
  587. package/core/tokens/m3/definitions/unused/_md-comp-navigation-bar.scss +0 -110
  588. package/core/tokens/m3/definitions/unused/_md-comp-navigation-drawer.scss +0 -162
  589. package/core/tokens/m3/definitions/unused/_md-comp-navigation-rail.scss +0 -127
  590. package/core/tokens/m3/definitions/unused/_md-comp-outlined-autocomplete.scss +0 -259
  591. package/core/tokens/m3/definitions/unused/_md-comp-outlined-menu-button.scss +0 -90
  592. package/core/tokens/m3/definitions/unused/_md-comp-outlined-segmented-button.scss +0 -108
  593. package/core/tokens/m3/definitions/unused/_md-comp-outlined-select.scss +0 -264
  594. package/core/tokens/m3/definitions/unused/_md-comp-primary-navigation-tab.scss +0 -117
  595. package/core/tokens/m3/definitions/unused/_md-comp-rich-tooltip.scss +0 -121
  596. package/core/tokens/m3/definitions/unused/_md-comp-scrim.scss +0 -19
  597. package/core/tokens/m3/definitions/unused/_md-comp-search-bar.scss +0 -97
  598. package/core/tokens/m3/definitions/unused/_md-comp-search-view.scss +0 -91
  599. package/core/tokens/m3/definitions/unused/_md-comp-sheet-bottom.scss +0 -39
  600. package/core/tokens/m3/definitions/unused/_md-comp-sheet-floating.scss +0 -28
  601. package/core/tokens/m3/definitions/unused/_md-comp-sheet-side.scss +0 -87
  602. package/core/tokens/m3/definitions/unused/_md-comp-standard-menu-button.scss +0 -94
  603. package/core/tokens/m3/definitions/unused/_md-comp-suggestion-chip.scss +0 -121
  604. package/core/tokens/m3/definitions/unused/_md-comp-time-input.scss +0 -222
  605. package/core/tokens/m3/definitions/unused/_md-comp-time-picker.scss +0 -268
  606. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-large.scss +0 -59
  607. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-medium.scss +0 -59
  608. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small-centered.scss +0 -62
  609. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small.scss +0 -60
  610. package/core/tokens/m3/mat/_card.scss +0 -24
  611. package/core/tokens/m3/mat/_checkbox.scss +0 -26
  612. package/core/tokens/m3/mat/_chip.scss +0 -46
  613. package/core/tokens/m3/mat/_dialog.scss +0 -32
  614. package/core/tokens/m3/mat/_fab-small.scss +0 -50
  615. package/core/tokens/m3/mat/_fab.scss +0 -50
  616. package/core/tokens/m3/mat/_filled-button.scss +0 -54
  617. package/core/tokens/m3/mat/_form-field.scss +0 -59
  618. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +0 -42
  619. package/core/tokens/m3/mat/_list.scss +0 -19
  620. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +0 -33
  621. package/core/tokens/m3/mat/_option.scss +0 -55
  622. package/core/tokens/m3/mat/_outlined-button.scss +0 -54
  623. package/core/tokens/m3/mat/_protected-button.scss +0 -55
  624. package/core/tokens/m3/mat/_radio.scss +0 -45
  625. package/core/tokens/m3/mat/_slider.scss +0 -58
  626. package/core/tokens/m3/mat/_snack-bar.scss +0 -18
  627. package/core/tokens/m3/mat/_stepper.scss +0 -79
  628. package/core/tokens/m3/mat/_switch.scss +0 -56
  629. package/core/tokens/m3/mat/_tab-header.scss +0 -51
  630. package/core/tokens/m3/mat/_table.scss +0 -29
  631. package/core/tokens/m3/mat/_text-button.scss +0 -55
  632. package/core/tokens/m3/mdc/_checkbox.scss +0 -112
  633. package/core/tokens/m3/mdc/_chip.scss +0 -93
  634. package/core/tokens/m3/mdc/_dialog.scss +0 -23
  635. package/core/tokens/m3/mdc/_elevated-card.scss +0 -22
  636. package/core/tokens/m3/mdc/_extended-fab.scss +0 -42
  637. package/core/tokens/m3/mdc/_fab-small.scss +0 -41
  638. package/core/tokens/m3/mdc/_fab.scss +0 -39
  639. package/core/tokens/m3/mdc/_filled-button.scss +0 -86
  640. package/core/tokens/m3/mdc/_filled-text-field.scss +0 -91
  641. package/core/tokens/m3/mdc/_icon-button.scss +0 -60
  642. package/core/tokens/m3/mdc/_list.scss +0 -37
  643. package/core/tokens/m3/mdc/_outlined-button.scss +0 -84
  644. package/core/tokens/m3/mdc/_outlined-card.scss +0 -22
  645. package/core/tokens/m3/mdc/_outlined-text-field.scss +0 -86
  646. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  647. package/core/tokens/m3/mdc/_protected-button.scss +0 -101
  648. package/core/tokens/m3/mdc/_radio.scss +0 -47
  649. package/core/tokens/m3/mdc/_secondary-navigation-tab.scss +0 -16
  650. package/core/tokens/m3/mdc/_slider.scss +0 -69
  651. package/core/tokens/m3/mdc/_snack-bar.scss +0 -15
  652. package/core/tokens/m3/mdc/_switch.scss +0 -82
  653. package/core/tokens/m3/mdc/_tab-indicator.scss +0 -34
  654. package/core/tokens/m3/mdc/_text-button.scss +0 -79
  655. package/core/typography/_typography-utils-deprecated.scss +0 -6
  656. package/datepicker/_datepicker-legacy-compat.scss +0 -85
  657. package/divider/_divider-offset.scss +0 -12
  658. package/expansion/_expansion-variables.scss +0 -30
  659. package/form-field/_form-field-focus-overlay.scss +0 -31
  660. package/form-field/_form-field-high-contrast.scss +0 -39
  661. package/form-field/_form-field-native-select.scss +0 -97
  662. package/form-field/_form-field-subscript.scss +0 -95
  663. package/form-field/_mdc-text-field-density-overrides.scss +0 -60
  664. package/form-field/_mdc-text-field-structure-overrides.scss +0 -186
  665. package/form-field/_mdc-text-field-structure.scss +0 -621
  666. package/form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  667. package/form-field/_user-agent-overrides.scss +0 -24
  668. package/list/_list-inherited-structure.scss +0 -504
  669. package/list/_list-item-hcm-indicator.scss +0 -29
  670. package/radio/_radio-common.scss +0 -259
  671. package/schematics/ng-add/fonts/material-fonts.mjs +0 -34
  672. package/schematics/ng-add/index.mjs +0 -54
  673. package/schematics/ng-add/package-config.mjs +0 -51
  674. package/schematics/ng-add/schema.mjs +0 -10
  675. package/schematics/ng-add/setup-project.mjs +0 -75
  676. package/schematics/ng-add/theming/create-custom-theme.mjs +0 -30
  677. package/schematics/ng-add/theming/theming.mjs +0 -151
  678. package/schematics/ng-generate/address-form/index.mjs +0 -43
  679. package/schematics/ng-generate/address-form/schema.mjs +0 -10
  680. package/schematics/ng-generate/dashboard/index.mjs +0 -42
  681. package/schematics/ng-generate/dashboard/schema.mjs +0 -10
  682. package/schematics/ng-generate/navigation/index.mjs +0 -42
  683. package/schematics/ng-generate/navigation/schema.mjs +0 -10
  684. package/schematics/ng-generate/table/index.mjs +0 -40
  685. package/schematics/ng-generate/table/schema.mjs +0 -10
  686. package/schematics/ng-generate/tree/index.mjs +0 -40
  687. package/schematics/ng-generate/tree/schema.mjs +0 -10
  688. package/schematics/schematics.externs.js +0 -0
  689. package/stepper/_stepper-variables.scss +0 -29
  690. package/table/_table-flex-styles.scss +0 -61
  691. package/tabs/_tabs-common.scss +0 -497
  692. package/toolbar/_toolbar-variables.scss +0 -28
  693. /package/core/tokens/m3/{definitions/_md-ref-palette.scss → _md-ref-palette.scss} +0 -0
  694. /package/core/tokens/m3/{definitions/_md-ref-typeface.scss → _md-ref-typeface.scss} +0 -0
  695. /package/core/tokens/m3/{definitions/_md-sys-elevation.scss → _md-sys-elevation.scss} +0 -0
  696. /package/core/tokens/m3/{definitions/_md-sys-motion.scss → _md-sys-motion.scss} +0 -0
  697. /package/core/tokens/m3/{definitions/_md-sys-shape.scss → _md-sys-shape.scss} +0 -0
  698. /package/core/tokens/m3/{definitions/_md-sys-state.scss → _md-sys-state.scss} +0 -0
@@ -1,9 +1,11 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, NgZone, ElementRef, Renderer2, ANIMATION_MODULE_TYPE, booleanAttribute, Directive, Input, NgModule } from '@angular/core';
3
- import { MatCommonModule } from '@angular/material/core';
4
1
  import { AriaDescriber, _IdGenerator, InteractivityChecker, A11yModule } from '@angular/cdk/a11y';
5
- import { DOCUMENT } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, NgZone, ElementRef, Renderer2, DOCUMENT, HOST_TAG_NAME, booleanAttribute, Directive, Input, NgModule } from '@angular/core';
6
4
  import { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';
5
+ import { _ as _animationsDisabled } from './animation-DfMFjxHu.mjs';
6
+ import { M as MatCommonModule } from './common-module-DZl8g1kc.mjs';
7
+ import '@angular/cdk/layout';
8
+ import '@angular/cdk/bidi';
7
9
 
8
10
  const BADGE_CONTENT_CLASS = 'mat-badge-content';
9
11
  /**
@@ -11,12 +13,12 @@ const BADGE_CONTENT_CLASS = 'mat-badge-content';
11
13
  * @docs-private
12
14
  */
13
15
  class _MatBadgeStyleLoader {
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: _MatBadgeStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: _MatBadgeStyleLoader, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _MatBadgeStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.5", type: _MatBadgeStyleLoader, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
18
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: _MatBadgeStyleLoader, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _MatBadgeStyleLoader, decorators: [{
18
20
  type: Component,
19
- args: [{ encapsulation: ViewEncapsulation.None, template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}"] }]
21
+ args: [{ encapsulation: ViewEncapsulation.None, template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}\n"] }]
20
22
  }] });
21
23
  /** Directive to display a text badge. */
22
24
  class MatBadge {
@@ -24,7 +26,7 @@ class MatBadge {
24
26
  _elementRef = inject(ElementRef);
25
27
  _ariaDescriber = inject(AriaDescriber);
26
28
  _renderer = inject(Renderer2);
27
- _animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
29
+ _animationsDisabled = _animationsDisabled();
28
30
  _idGenerator = inject(_IdGenerator);
29
31
  /**
30
32
  * Theme color of the badge. This API is supported in M2 themes only, it
@@ -88,10 +90,11 @@ class MatBadge {
88
90
  if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {
89
91
  throw Error('matBadge must be attached to an element node.');
90
92
  }
93
+ const tagName = inject(HOST_TAG_NAME);
91
94
  // Heads-up for developers to avoid putting matBadge on <mat-icon>
92
95
  // as it is aria-hidden by default docs mention this at:
93
96
  // https://material.angular.io/components/badge/overview#accessibility
94
- if (nativeElement.tagName.toLowerCase() === 'mat-icon' &&
97
+ if (tagName.toLowerCase() === 'mat-icon' &&
95
98
  nativeElement.getAttribute('aria-hidden') === 'true') {
96
99
  console.warn(`Detected a matBadge on an "aria-hidden" "<mat-icon>". ` +
97
100
  `Consider setting aria-hidden="false" in order to surface the information assistive technology.` +
@@ -150,12 +153,12 @@ class MatBadge {
150
153
  // flow. Instead, we use the badge to describe the decorated element with aria-describedby.
151
154
  badgeElement.setAttribute('aria-hidden', 'true');
152
155
  badgeElement.classList.add(BADGE_CONTENT_CLASS);
153
- if (this._animationMode === 'NoopAnimations') {
156
+ if (this._animationsDisabled) {
154
157
  badgeElement.classList.add('_mat-animation-noopable');
155
158
  }
156
159
  this._elementRef.nativeElement.appendChild(badgeElement);
157
160
  // animate in after insertion
158
- if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {
161
+ if (typeof requestAnimationFrame === 'function' && !this._animationsDisabled) {
159
162
  this._ngZone.runOutsideAngular(() => {
160
163
  requestAnimationFrame(() => {
161
164
  badgeElement.classList.add(activeClass);
@@ -236,10 +239,10 @@ class MatBadge {
236
239
  }
237
240
  }
238
241
  }
239
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBadge, deps: [], target: i0.ɵɵFactoryTarget.Directive });
240
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.0", type: MatBadge, isStandalone: true, selector: "[matBadge]", inputs: { color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap", booleanAttribute], disabled: ["matBadgeDisabled", "disabled", booleanAttribute], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden", booleanAttribute] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled" }, classAttribute: "mat-badge" }, ngImport: i0 });
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadge, deps: [], target: i0.ɵɵFactoryTarget.Directive });
243
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.0-next.5", type: MatBadge, isStandalone: true, selector: "[matBadge]", inputs: { color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap", booleanAttribute], disabled: ["matBadgeDisabled", "disabled", booleanAttribute], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden", booleanAttribute] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled" }, classAttribute: "mat-badge" }, ngImport: i0 });
241
244
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBadge, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadge, decorators: [{
243
246
  type: Directive,
244
247
  args: [{
245
248
  selector: '[matBadge]',
@@ -284,11 +287,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
284
287
  }] } });
285
288
 
286
289
  class MatBadgeModule {
287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
288
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.0", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatBadge, _MatBadgeStyleLoader], exports: [MatBadge, MatCommonModule] });
289
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatCommonModule] });
290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
291
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatBadge, _MatBadgeStyleLoader], exports: [MatBadge, MatCommonModule] });
292
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatCommonModule] });
290
293
  }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBadgeModule, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBadgeModule, decorators: [{
292
295
  type: NgModule,
293
296
  args: [{
294
297
  // Note: we _shouldn't_ have to import `_MatBadgeStyleLoader`,
@@ -298,9 +301,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
298
301
  }]
299
302
  }] });
300
303
 
301
- /**
302
- * Generated bundle index. Do not edit.
303
- */
304
-
305
304
  export { MatBadge, MatBadgeModule };
306
305
  //# sourceMappingURL=badge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.mjs","sources":["../../../../../../src/material/badge/badge.ts","../../../../../../src/material/badge/badge-module.ts","../../../../../../src/material/badge/badge_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.dev/license\n */\n\nimport {_IdGenerator, AriaDescriber, InteractivityChecker} from '@angular/cdk/a11y';\nimport {DOCUMENT} from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n ANIMATION_MODULE_TYPE,\n} from '@angular/core';\nimport {ThemePalette} from '@angular/material/core';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/**\n * Component used to load the structural styles of the badge.\n * @docs-private\n */\n@Component({\n styleUrl: 'badge.css',\n encapsulation: ViewEncapsulation.None,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class _MatBadgeStyleLoader {}\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber);\n private _renderer = inject(Renderer2);\n private _animationMode = inject(ANIMATION_MODULE_TYPE, {optional: true});\n private _idGenerator = inject(_IdGenerator);\n\n /**\n * Theme color of the badge. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/badge/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input({alias: 'matBadgeOverlap', transform: booleanAttribute}) overlap: boolean = true;\n\n /** Whether the badge is disabled. */\n @Input({alias: 'matBadgeDisabled', transform: booleanAttribute}) disabled: boolean;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n set description(newDescription: string) {\n this._updateDescription(newDescription);\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input({alias: 'matBadgeHidden', transform: booleanAttribute}) hidden: boolean;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Inline badge description. Used when the badge is applied to non-interactive host elements. */\n private _inlineBadgeDescription: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n /** InteractivityChecker to determine if the badge host is focusable. */\n private _interactivityChecker = inject(InteractivityChecker);\n\n private _document = inject(DOCUMENT);\n\n constructor(...args: unknown[]);\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_MatBadgeStyleLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = this._elementRef.nativeElement;\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n\n // Heads-up for developers to avoid putting matBadge on <mat-icon>\n // as it is aria-hidden by default docs mention this at:\n // https://material.angular.io/components/badge/overview#accessibility\n if (\n nativeElement.tagName.toLowerCase() === 'mat-icon' &&\n nativeElement.getAttribute('aria-hidden') === 'true'\n ) {\n console.warn(\n `Detected a matBadge on an \"aria-hidden\" \"<mat-icon>\". ` +\n `Consider setting aria-hidden=\"false\" in order to surface the information assistive technology.` +\n `\\n${nativeElement.outerHTML}`,\n );\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n this._inlineBadgeDescription?.remove();\n }\n\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n }\n\n /** Gets whether the badge's host element is interactive. */\n private _isHostInteractive(): boolean {\n // Ignore visibility since it requires an expensive style caluclation.\n return this._interactivityChecker.isFocusable(this._elementRef.nativeElement, {\n ignoreVisibility: true,\n });\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', this._idGenerator.getId('mat-badge-content-'));\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(newContent: string | number | undefined | null): void {\n const newContentNormalized: string = `${newContent ?? ''}`.trim();\n\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateDescription(newDescription: string): void {\n // Always start by removing the aria-describedby; we will add a new one if necessary.\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n\n // NOTE: We only check whether the host is interactive here, which happens during\n // when then badge content changes. It is possible that the host changes\n // interactivity status separate from one of these. However, watching the interactivity\n // status of the host would require a `MutationObserver`, which is likely more code + overhead\n // than it's worth; from usages inside Google, we see that the vats majority of badges either\n // never change interactivity, or also set `matBadgeHidden` based on the same condition.\n\n if (!newDescription || this._isHostInteractive()) {\n this._removeInlineDescription();\n }\n\n this._description = newDescription;\n\n // We don't add `aria-describedby` for non-interactive hosts elements because we\n // instead insert the description inline.\n if (this._isHostInteractive()) {\n this._ariaDescriber.describe(this._elementRef.nativeElement, newDescription);\n } else {\n this._updateInlineDescription();\n }\n }\n\n private _updateInlineDescription() {\n // Create the inline description element if it doesn't exist\n if (!this._inlineBadgeDescription) {\n this._inlineBadgeDescription = this._document.createElement('span');\n this._inlineBadgeDescription.classList.add('cdk-visually-hidden');\n }\n\n this._inlineBadgeDescription.textContent = this.description;\n this._badgeElement?.appendChild(this._inlineBadgeDescription);\n }\n\n private _removeInlineDescription() {\n this._inlineBadgeDescription?.remove();\n this._inlineBadgeDescription = undefined;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {MatBadge, _MatBadgeStyleLoader} from './badge';\n\n@NgModule({\n // Note: we _shouldn't_ have to import `_MatBadgeStyleLoader`,\n // but it seems to be necessary for tests.\n imports: [A11yModule, MatCommonModule, MatBadge, _MatBadgeStyleLoader],\n exports: [MatBadge, MatCommonModule],\n})\nexport class MatBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AA0CA,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD;;;AAGG;MAOU,oBAAoB,CAAA;uGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wEAHrB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gyGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAEO,YAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,EAAE,EACK,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,gyGAAA,CAAA,EAAA,CAAA;;AAIjD;MAiBa,QAAQ,CAAA;AACX,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACzB,IAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AAC1D,IAAA,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACvC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,cAAc,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACjE,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAE5C;;;;;;AAMG;AACH,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,KAAmB,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IACO,MAAM,GAAiB,SAAS,CAAC;;IAGuB,OAAO,GAAY,IAAI,CAAC;;AAGvB,IAAA,QAAQ,CAAU;AAEnF;;;AAGG;IACwB,QAAQ,GAAqB,aAAa,CAAC;;AAGtE,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,UAA8C,EAAA;AACxD,QAAA,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;KACzC;AACO,IAAA,QAAQ,CAAqC;;AAGrD,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,cAAsB,EAAA;AACpC,QAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;KACzC;AACO,IAAA,YAAY,CAAS;;IAGN,IAAI,GAAiB,QAAQ,CAAC;;AAGU,IAAA,MAAM,CAAU;;AAGvE,IAAA,aAAa,CAA0B;;AAGvC,IAAA,uBAAuB,CAA0B;;IAGjD,cAAc,GAAG,KAAK,CAAC;;AAGvB,IAAA,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAErD,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAIrC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACnD,QAAA,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACvC,QAAA,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAExC,QAAA,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,EAAE;AACjD,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACrD,IAAI,aAAa,CAAC,QAAQ,KAAK,aAAa,CAAC,YAAY,EAAE;AACzD,gBAAA,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAC9D;;;;AAKD,YAAA,IACE,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU;gBAClD,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,EACpD;gBACA,OAAO,CAAC,IAAI,CACV,CAAwD,sDAAA,CAAA;oBACtD,CAAgG,8FAAA,CAAA;AAChG,oBAAA,CAAA,EAAA,EAAK,aAAa,CAAC,SAAS,CAAA,CAAE,CACjC,CAAC;aACH;SACF;KACF;;IAGD,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAC9C;;IAGD,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/C;AAED;;;AAGG;IACH,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,QAAQ,GAAA;;;;QAIN,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAChD,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3C;AAED,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;IAED,WAAW,GAAA;;;AAGT,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;SACxC;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACzF;;IAGO,kBAAkB,GAAA;;QAExB,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AAC5E,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;KACJ;;IAGO,mBAAmB,GAAA;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC,QAAA,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;AAI/E,QAAA,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACjD,QAAA,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEhD,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB,EAAE;AAC5C,YAAA,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;QAGzD,IAAI,OAAO,qBAAqB,KAAK,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB,EAAE;AAC3F,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;gBAClC,qBAAqB,CAAC,MAAK;AACzB,oBAAA,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACzC;AAED,QAAA,OAAO,YAAY,CAAC;KACrB;;AAGO,IAAA,sBAAsB,CAAC,UAA8C,EAAA;QAC3E,MAAM,oBAAoB,GAAW,CAAA,EAAG,UAAU,IAAI,EAAE,CAAE,CAAA,CAAC,IAAI,EAAE,CAAC;;;;QAKlE,IAAI,IAAI,CAAC,cAAc,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACtE,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACjD;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,oBAAoB,CAAC;SACvD;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;KACtC;;AAGO,IAAA,kBAAkB,CAAC,cAAsB,EAAA;;AAE/C,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;;;;;;;QASxF,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAChD,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;;;AAInC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;SAC9E;aAAM;YACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;KACF;IAEO,wBAAwB,GAAA;;AAE9B,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,uBAAuB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5D,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KAC/D;IAEO,wBAAwB,GAAA;AAC9B,QAAA,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;KAC1C;;AAGO,IAAA,SAAS,CAAC,YAA0B,EAAA;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;QAC7C,IAAI,YAAY,EAAE;AAChB,YAAA,SAAS,CAAC,GAAG,CAAC,aAAa,YAAY,CAAA,CAAE,CAAC,CAAC;SAC5C;KACF;;IAGO,oBAAoB,GAAA;;;AAG1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAC5D,CAAA,UAAA,EAAa,mBAAmB,CAAA,CAAE,CACnC,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC7C,YAAA,IAAI,YAAY,KAAK,IAAI,CAAC,aAAa,EAAE;gBACvC,YAAY,CAAC,MAAM,EAAE,CAAC;aACvB;SACF;KACF;uGA/QU,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EA0B0B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,eAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,EAAA,gBAAgB,CAGf,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAAA,gBAAgB,2MAgClB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FA7DjD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAhBpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,WAAW;AACpB,wBAAA,2BAA2B,EAAE,SAAS;AACtC,wBAAA,yBAAyB,EAAE,WAAW;AACtC,wBAAA,yBAAyB,EAAE,YAAY;AACvC,wBAAA,0BAA0B,EAAE,YAAY;AACxC,wBAAA,yBAAyB,EAAE,WAAW;AACtC,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,0BAA0B,EAAE,mBAAmB;AAC/C,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,0BAA0B,EAAE,oBAAoB;AAChD,wBAAA,4BAA4B,EAAE,UAAU;AACzC,qBAAA;AACF,iBAAA,CAAA;wDAiBK,KAAK,EAAA,CAAA;sBADR,KAAK;uBAAC,eAAe,CAAA;gBAW0C,OAAO,EAAA,CAAA;sBAAtE,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAC,CAAA;gBAGG,QAAQ,EAAA,CAAA;sBAAxE,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAC,CAAA;gBAMpC,QAAQ,EAAA,CAAA;sBAAlC,KAAK;uBAAC,kBAAkB,CAAA;gBAIrB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,UAAU,CAAA;gBAWb,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,qBAAqB,CAAA;gBAUL,IAAI,EAAA,CAAA;sBAA1B,KAAK;uBAAC,cAAc,CAAA;gBAG0C,MAAM,EAAA,CAAA;sBAApE,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAC,CAAA;;;MCnHlD,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAd,cAAc,EAAA,OAAA,EAAA,CAHf,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAC3D,QAAQ,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;AAExB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAHf,OAAA,EAAA,CAAA,UAAU,EAAE,eAAe,EACjB,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAExB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;;;oBAGR,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,CAAC;AACtE,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;AACrC,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
1
+ {"version":3,"file":"badge.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/badge/badge.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/badge/badge-module.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.dev/license\n */\n\nimport {_IdGenerator, AriaDescriber, InteractivityChecker} from '@angular/cdk/a11y';\n\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n HOST_TAG_NAME,\n DOCUMENT,\n} from '@angular/core';\nimport {_animationsDisabled, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/**\n * Component used to load the structural styles of the badge.\n * @docs-private\n */\n@Component({\n styleUrl: 'badge.css',\n encapsulation: ViewEncapsulation.None,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class _MatBadgeStyleLoader {}\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _idGenerator = inject(_IdGenerator);\n\n /**\n * Theme color of the badge. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/badge/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input({alias: 'matBadgeOverlap', transform: booleanAttribute}) overlap: boolean = true;\n\n /** Whether the badge is disabled. */\n @Input({alias: 'matBadgeDisabled', transform: booleanAttribute}) disabled: boolean;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n set description(newDescription: string) {\n this._updateDescription(newDescription);\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input({alias: 'matBadgeHidden', transform: booleanAttribute}) hidden: boolean;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Inline badge description. Used when the badge is applied to non-interactive host elements. */\n private _inlineBadgeDescription: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n /** InteractivityChecker to determine if the badge host is focusable. */\n private _interactivityChecker = inject(InteractivityChecker);\n\n private _document = inject(DOCUMENT);\n\n constructor(...args: unknown[]);\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_MatBadgeStyleLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = this._elementRef.nativeElement;\n\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n\n const tagName = inject(HOST_TAG_NAME);\n\n // Heads-up for developers to avoid putting matBadge on <mat-icon>\n // as it is aria-hidden by default docs mention this at:\n // https://material.angular.io/components/badge/overview#accessibility\n if (\n tagName.toLowerCase() === 'mat-icon' &&\n nativeElement.getAttribute('aria-hidden') === 'true'\n ) {\n console.warn(\n `Detected a matBadge on an \"aria-hidden\" \"<mat-icon>\". ` +\n `Consider setting aria-hidden=\"false\" in order to surface the information assistive technology.` +\n `\\n${nativeElement.outerHTML}`,\n );\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n this._inlineBadgeDescription?.remove();\n }\n\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n }\n\n /** Gets whether the badge's host element is interactive. */\n private _isHostInteractive(): boolean {\n // Ignore visibility since it requires an expensive style caluclation.\n return this._interactivityChecker.isFocusable(this._elementRef.nativeElement, {\n ignoreVisibility: true,\n });\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', this._idGenerator.getId('mat-badge-content-'));\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationsDisabled) {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && !this._animationsDisabled) {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(newContent: string | number | undefined | null): void {\n const newContentNormalized: string = `${newContent ?? ''}`.trim();\n\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateDescription(newDescription: string): void {\n // Always start by removing the aria-describedby; we will add a new one if necessary.\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n\n // NOTE: We only check whether the host is interactive here, which happens during\n // when then badge content changes. It is possible that the host changes\n // interactivity status separate from one of these. However, watching the interactivity\n // status of the host would require a `MutationObserver`, which is likely more code + overhead\n // than it's worth; from usages inside Google, we see that the vats majority of badges either\n // never change interactivity, or also set `matBadgeHidden` based on the same condition.\n\n if (!newDescription || this._isHostInteractive()) {\n this._removeInlineDescription();\n }\n\n this._description = newDescription;\n\n // We don't add `aria-describedby` for non-interactive hosts elements because we\n // instead insert the description inline.\n if (this._isHostInteractive()) {\n this._ariaDescriber.describe(this._elementRef.nativeElement, newDescription);\n } else {\n this._updateInlineDescription();\n }\n }\n\n private _updateInlineDescription() {\n // Create the inline description element if it doesn't exist\n if (!this._inlineBadgeDescription) {\n this._inlineBadgeDescription = this._document.createElement('span');\n this._inlineBadgeDescription.classList.add('cdk-visually-hidden');\n }\n\n this._inlineBadgeDescription.textContent = this.description;\n this._badgeElement?.appendChild(this._inlineBadgeDescription);\n }\n\n private _removeInlineDescription() {\n this._inlineBadgeDescription?.remove();\n this._inlineBadgeDescription = undefined;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '../core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {MatBadge, _MatBadgeStyleLoader} from './badge';\n\n@NgModule({\n // Note: we _shouldn't_ have to import `_MatBadgeStyleLoader`,\n // but it seems to be necessary for tests.\n imports: [A11yModule, MatCommonModule, MatBadge, _MatBadgeStyleLoader],\n exports: [MatBadge, MatCommonModule],\n})\nexport class MatBadgeModule {}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/bottom-sheet/testing/bottom-sheet-harness.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.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/** Harness for interacting with a standard MatBottomSheet in tests. */\nexport class MatBottomSheetHarness extends ContentContainerComponentHarness<string> {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container:not([mat-exit])';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n"],"names":[],"mappings":";;AAWA;AACM,MAAO,qBAAsB,SAAQ,gCAAwC,CAAA;;;AAGjF,IAAA,OAAO,YAAY,GAAG,6CAA6C,CAAC;AAEpE;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAqC,EAAE,EAAA;AACjD,QAAA,OAAO,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;KAC7D;;AAGD,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KACvD;AAED;;;AAGG;AACH,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACpD;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/testing/bottom-sheet-harness.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.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/** Harness for interacting with a standard MatBottomSheet in tests. */\nexport class MatBottomSheetHarness extends ContentContainerComponentHarness<string> {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container:not([mat-exit])';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n"],"names":[],"mappings":";;AAWA;AACM,MAAO,qBAAsB,SAAQ,gCAAwC,CAAA;;;AAGjF,IAAA,OAAO,YAAY,GAAG,6CAA6C;AAEnE;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAqC,EAAE,EAAA;AACjD,QAAA,OAAO,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC;;;AAI7D,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;;AAGvD;;;AAGG;AACH,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;;;;;;"}
@@ -1,13 +1,16 @@
1
1
  import { CdkDialogContainer, Dialog, DialogModule } from '@angular/cdk/dialog';
2
2
  import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, ANIMATION_MODULE_TYPE, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, Injectable, NgModule } from '@angular/core';
5
- import { MatCommonModule } from '@angular/material/core';
4
+ import { EventEmitter, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, Injector, Injectable, NgModule } from '@angular/core';
6
5
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
7
- import { Overlay } from '@angular/cdk/overlay';
6
+ import { _ as _animationsDisabled } from './animation-DfMFjxHu.mjs';
7
+ import { createBlockScrollStrategy, createGlobalPositionStrategy } from '@angular/cdk/overlay';
8
8
  import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
9
9
  import { Subject, merge } from 'rxjs';
10
10
  import { filter, take } from 'rxjs/operators';
11
+ import { M as MatCommonModule } from './common-module-DZl8g1kc.mjs';
12
+ import '@angular/cdk/a11y';
13
+ import '@angular/cdk/bidi';
11
14
 
12
15
  const ENTER_ANIMATION = '_mat-bottom-sheet-enter';
13
16
  const EXIT_ANIMATION = '_mat-bottom-sheet-exit';
@@ -17,7 +20,7 @@ const EXIT_ANIMATION = '_mat-bottom-sheet-exit';
17
20
  */
18
21
  class MatBottomSheetContainer extends CdkDialogContainer {
19
22
  _breakpointSubscription;
20
- _animationsDisabled = inject(ANIMATION_MODULE_TYPE, { optional: true }) === 'NoopAnimations';
23
+ _animationsDisabled = _animationsDisabled();
21
24
  /** The state of the bottom sheet animations. */
22
25
  _animationState = 'void';
23
26
  /** Emits whenever the state of the animation changes. */
@@ -69,6 +72,14 @@ class MatBottomSheetContainer extends CdkDialogContainer {
69
72
  setTimeout(() => this._handleAnimationEvent(false, name));
70
73
  });
71
74
  }
75
+ _trapFocus() {
76
+ // The bottom sheet starts off-screen and animates in, and at the same time we trap focus
77
+ // within it. With some styles this appears to cause the page to jump around. See:
78
+ // https://github.com/angular/components/issues/30774. Preventing the browser from
79
+ // scrolling resolves the issue and isn't really necessary since the bottom sheet
80
+ // normally isn't scrollable.
81
+ super._trapFocus({ preventScroll: true });
82
+ }
72
83
  _handleAnimationEvent(isStart, animationName) {
73
84
  const isEnter = animationName === ENTER_ANIMATION;
74
85
  const isExit = animationName === EXIT_ANIMATION;
@@ -79,10 +90,10 @@ class MatBottomSheetContainer extends CdkDialogContainer {
79
90
  });
80
91
  }
81
92
  }
82
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: MatBottomSheetContainer, isStandalone: true, selector: "mat-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, listeners: { "animationstart": "_handleAnimationEvent(true, $event.animationName)", "animationend": "_handleAnimationEvent(false, $event.animationName)", "animationcancel": "_handleAnimationEvent(false, $event.animationName)" }, properties: { "class.mat-bottom-sheet-container-animations-enabled": "!_animationsDisabled", "class.mat-bottom-sheet-container-enter": "_animationState === \"visible\"", "class.mat-bottom-sheet-container-exit": "_animationState === \"hidden\"", "attr.role": "_config.role", "attr.aria-modal": "_config.ariaModal", "attr.aria-label": "_config.ariaLabel" }, classAttribute: "mat-bottom-sheet-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: ["@keyframes _mat-bottom-sheet-enter{from{transform:translateY(100%)}to{transform:none}}@keyframes _mat-bottom-sheet-exit{from{transform:none}to{transform:translateY(100%)}}.mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;position:relative;background:var(--mat-bottom-sheet-container-background-color, var(--mat-sys-surface-container-low));color:var(--mat-bottom-sheet-container-text-color, var(--mat-sys-on-surface));font-family:var(--mat-bottom-sheet-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-bottom-sheet-container-text-size, var(--mat-sys-body-large-size));line-height:var(--mat-bottom-sheet-container-text-line-height, var(--mat-sys-body-large-line-height));font-weight:var(--mat-bottom-sheet-container-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-bottom-sheet-container-text-tracking, var(--mat-sys-body-large-tracking))}@media(forced-colors: active){.mat-bottom-sheet-container{outline:1px solid}}.mat-bottom-sheet-container-animations-enabled{transform:translateY(100%)}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-enter{animation:_mat-bottom-sheet-enter 195ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-exit{animation:_mat-bottom-sheet-exit 375ms cubic-bezier(0.4, 0, 1, 1) backwards}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape, 28px);border-top-right-radius:var(--mat-bottom-sheet-container-shape, 28px)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.5", type: MatBottomSheetContainer, isStandalone: true, selector: "mat-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, listeners: { "animationstart": "_handleAnimationEvent(true, $event.animationName)", "animationend": "_handleAnimationEvent(false, $event.animationName)", "animationcancel": "_handleAnimationEvent(false, $event.animationName)" }, properties: { "class.mat-bottom-sheet-container-animations-enabled": "!_animationsDisabled", "class.mat-bottom-sheet-container-enter": "_animationState === \"visible\"", "class.mat-bottom-sheet-container-exit": "_animationState === \"hidden\"", "attr.role": "_config.role", "attr.aria-modal": "_config.ariaModal", "attr.aria-label": "_config.ariaLabel" }, classAttribute: "mat-bottom-sheet-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: ["@keyframes _mat-bottom-sheet-enter{from{transform:translateY(100%)}to{transform:none}}@keyframes _mat-bottom-sheet-exit{from{transform:none}to{transform:translateY(100%)}}.mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;position:relative;background:var(--mat-bottom-sheet-container-background-color, var(--mat-sys-surface-container-low));color:var(--mat-bottom-sheet-container-text-color, var(--mat-sys-on-surface));font-family:var(--mat-bottom-sheet-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-bottom-sheet-container-text-size, var(--mat-sys-body-large-size));line-height:var(--mat-bottom-sheet-container-text-line-height, var(--mat-sys-body-large-line-height));font-weight:var(--mat-bottom-sheet-container-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-bottom-sheet-container-text-tracking, var(--mat-sys-body-large-tracking))}@media(forced-colors: active){.mat-bottom-sheet-container{outline:1px solid}}.mat-bottom-sheet-container-animations-enabled{transform:translateY(100%)}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-enter{animation:_mat-bottom-sheet-enter 195ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-exit{animation:_mat-bottom-sheet-exit 375ms cubic-bezier(0.4, 0, 1, 1) backwards}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape, 28px);border-top-right-radius:var(--mat-bottom-sheet-container-shape, 28px)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
84
95
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetContainer, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetContainer, decorators: [{
86
97
  type: Component,
87
98
  args: [{ selector: 'mat-bottom-sheet-container', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, host: {
88
99
  'class': 'mat-bottom-sheet-container',
@@ -96,7 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
96
107
  '(animationstart)': '_handleAnimationEvent(true, $event.animationName)',
97
108
  '(animationend)': '_handleAnimationEvent(false, $event.animationName)',
98
109
  '(animationcancel)': '_handleAnimationEvent(false, $event.animationName)',
99
- }, imports: [CdkPortalOutlet], template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: ["@keyframes _mat-bottom-sheet-enter{from{transform:translateY(100%)}to{transform:none}}@keyframes _mat-bottom-sheet-exit{from{transform:none}to{transform:translateY(100%)}}.mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;position:relative;background:var(--mat-bottom-sheet-container-background-color, var(--mat-sys-surface-container-low));color:var(--mat-bottom-sheet-container-text-color, var(--mat-sys-on-surface));font-family:var(--mat-bottom-sheet-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-bottom-sheet-container-text-size, var(--mat-sys-body-large-size));line-height:var(--mat-bottom-sheet-container-text-line-height, var(--mat-sys-body-large-line-height));font-weight:var(--mat-bottom-sheet-container-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-bottom-sheet-container-text-tracking, var(--mat-sys-body-large-tracking))}@media(forced-colors: active){.mat-bottom-sheet-container{outline:1px solid}}.mat-bottom-sheet-container-animations-enabled{transform:translateY(100%)}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-enter{animation:_mat-bottom-sheet-enter 195ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-exit{animation:_mat-bottom-sheet-exit 375ms cubic-bezier(0.4, 0, 1, 1) backwards}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape, 28px);border-top-right-radius:var(--mat-bottom-sheet-container-shape, 28px)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}"] }]
110
+ }, imports: [CdkPortalOutlet], template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: ["@keyframes _mat-bottom-sheet-enter{from{transform:translateY(100%)}to{transform:none}}@keyframes _mat-bottom-sheet-exit{from{transform:none}to{transform:translateY(100%)}}.mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;position:relative;background:var(--mat-bottom-sheet-container-background-color, var(--mat-sys-surface-container-low));color:var(--mat-bottom-sheet-container-text-color, var(--mat-sys-on-surface));font-family:var(--mat-bottom-sheet-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-bottom-sheet-container-text-size, var(--mat-sys-body-large-size));line-height:var(--mat-bottom-sheet-container-text-line-height, var(--mat-sys-body-large-line-height));font-weight:var(--mat-bottom-sheet-container-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-bottom-sheet-container-text-tracking, var(--mat-sys-body-large-tracking))}@media(forced-colors: active){.mat-bottom-sheet-container{outline:1px solid}}.mat-bottom-sheet-container-animations-enabled{transform:translateY(100%)}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-enter{animation:_mat-bottom-sheet-enter 195ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-bottom-sheet-container-animations-enabled.mat-bottom-sheet-container-exit{animation:_mat-bottom-sheet-exit 375ms cubic-bezier(0.4, 0, 1, 1) backwards}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape, 28px);border-top-right-radius:var(--mat-bottom-sheet-container-shape, 28px)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}\n"] }]
100
111
  }], ctorParameters: () => [] });
101
112
 
102
113
  /** Injection token that can be used to access the data that was passed in to a bottom sheet. */
@@ -264,8 +275,9 @@ const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS = new InjectionToken('mat-bottom-sheet-de
264
275
  * Service to trigger Material Design bottom sheets.
265
276
  */
266
277
  class MatBottomSheet {
267
- _overlay = inject(Overlay);
278
+ _injector = inject(Injector);
268
279
  _parentBottomSheet = inject(MatBottomSheet, { optional: true, skipSelf: true });
280
+ _animationsDisabled = _animationsDisabled();
269
281
  _defaultOptions = inject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, {
270
282
  optional: true,
271
283
  });
@@ -296,8 +308,11 @@ class MatBottomSheet {
296
308
  closeOnOverlayDetachments: false,
297
309
  maxWidth: '100%',
298
310
  container: MatBottomSheetContainer,
299
- scrollStrategy: _config.scrollStrategy || this._overlay.scrollStrategies.block(),
300
- positionStrategy: this._overlay.position().global().centerHorizontally().bottom('0'),
311
+ scrollStrategy: _config.scrollStrategy || createBlockScrollStrategy(this._injector),
312
+ positionStrategy: createGlobalPositionStrategy(this._injector)
313
+ .centerHorizontally()
314
+ .bottom('0'),
315
+ disableAnimations: this._animationsDisabled,
301
316
  templateContext: () => ({ bottomSheetRef: ref }),
302
317
  providers: (cdkRef, _cdkConfig, container) => {
303
318
  ref = new MatBottomSheetRef(cdkRef, _config, container);
@@ -341,20 +356,20 @@ class MatBottomSheet {
341
356
  this._bottomSheetRefAtThisLevel.dismiss();
342
357
  }
343
358
  }
344
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheet, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
345
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheet, providedIn: 'root' });
359
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheet, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
360
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheet, providedIn: 'root' });
346
361
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheet, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheet, decorators: [{
348
363
  type: Injectable,
349
364
  args: [{ providedIn: 'root' }]
350
365
  }], ctorParameters: () => [] });
351
366
 
352
367
  class MatBottomSheetModule {
353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
354
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetModule, imports: [DialogModule, MatCommonModule, PortalModule, MatBottomSheetContainer], exports: [MatBottomSheetContainer, MatCommonModule] });
355
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetModule, providers: [MatBottomSheet], imports: [DialogModule, MatCommonModule, PortalModule, MatCommonModule] });
368
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
369
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetModule, imports: [DialogModule, MatCommonModule, PortalModule, MatBottomSheetContainer], exports: [MatBottomSheetContainer, MatCommonModule] });
370
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetModule, providers: [MatBottomSheet], imports: [DialogModule, MatCommonModule, PortalModule, MatCommonModule] });
356
371
  }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatBottomSheetModule, decorators: [{
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatBottomSheetModule, decorators: [{
358
373
  type: NgModule,
359
374
  args: [{
360
375
  imports: [DialogModule, MatCommonModule, PortalModule, MatBottomSheetContainer],
@@ -444,9 +459,5 @@ const matBottomSheetAnimations = {
444
459
  },
445
460
  };
446
461
 
447
- /**
448
- * Generated bundle index. Do not edit.
449
- */
450
-
451
462
  export { MAT_BOTTOM_SHEET_DATA, MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, MatBottomSheet, MatBottomSheetConfig, MatBottomSheetContainer, MatBottomSheetModule, MatBottomSheetRef, matBottomSheetAnimations };
452
463
  //# sourceMappingURL=bottom-sheet.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.mjs","sources":["../../../../../../src/material/bottom-sheet/bottom-sheet-container.ts","../../../../../../src/material/bottom-sheet/bottom-sheet-container.html","../../../../../../src/material/bottom-sheet/bottom-sheet-config.ts","../../../../../../src/material/bottom-sheet/bottom-sheet-ref.ts","../../../../../../src/material/bottom-sheet/bottom-sheet.ts","../../../../../../src/material/bottom-sheet/bottom-sheet-module.ts","../../../../../../src/material/bottom-sheet/bottom-sheet-animations.ts","../../../../../../src/material/bottom-sheet/bottom-sheet_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.dev/license\n */\n\nimport {CdkDialogContainer} from '@angular/cdk/dialog';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {\n ANIMATION_MODULE_TYPE,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnDestroy,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {CdkPortalOutlet} from '@angular/cdk/portal';\n\nconst ENTER_ANIMATION = '_mat-bottom-sheet-enter';\nconst EXIT_ANIMATION = '_mat-bottom-sheet-exit';\n\n/**\n * Internal component that wraps user-provided bottom sheet content.\n * @docs-private\n */\n@Component({\n selector: 'mat-bottom-sheet-container',\n templateUrl: 'bottom-sheet-container.html',\n styleUrl: 'bottom-sheet-container.css',\n // In Ivy embedded views will be change detected from their declaration place, rather than where\n // they were stamped out. This means that we can't have the bottom sheet container be OnPush,\n // because it might cause the sheets 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': 'mat-bottom-sheet-container',\n '[class.mat-bottom-sheet-container-animations-enabled]': '!_animationsDisabled',\n '[class.mat-bottom-sheet-container-enter]': '_animationState === \"visible\"',\n '[class.mat-bottom-sheet-container-exit]': '_animationState === \"hidden\"',\n 'tabindex': '-1',\n '[attr.role]': '_config.role',\n '[attr.aria-modal]': '_config.ariaModal',\n '[attr.aria-label]': '_config.ariaLabel',\n '(animationstart)': '_handleAnimationEvent(true, $event.animationName)',\n '(animationend)': '_handleAnimationEvent(false, $event.animationName)',\n '(animationcancel)': '_handleAnimationEvent(false, $event.animationName)',\n },\n imports: [CdkPortalOutlet],\n})\nexport class MatBottomSheetContainer extends CdkDialogContainer implements OnDestroy {\n private _breakpointSubscription: Subscription;\n protected _animationsDisabled =\n inject(ANIMATION_MODULE_TYPE, {optional: true}) === 'NoopAnimations';\n\n /** The state of the bottom sheet animations. */\n _animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /** Emits whenever the state of the animation changes. */\n _animationStateChanged = new EventEmitter<{\n toState: 'visible' | 'hidden';\n phase: 'start' | 'done';\n }>();\n\n /** Whether the component has been destroyed. */\n private _destroyed: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const breakpointObserver = inject(BreakpointObserver);\n\n this._breakpointSubscription = breakpointObserver\n .observe([Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\n .subscribe(() => {\n const classList = (this._elementRef.nativeElement as HTMLElement).classList;\n\n classList.toggle(\n 'mat-bottom-sheet-container-medium',\n breakpointObserver.isMatched(Breakpoints.Medium),\n );\n classList.toggle(\n 'mat-bottom-sheet-container-large',\n breakpointObserver.isMatched(Breakpoints.Large),\n );\n classList.toggle(\n 'mat-bottom-sheet-container-xlarge',\n breakpointObserver.isMatched(Breakpoints.XLarge),\n );\n });\n }\n\n /** Begin animation of bottom sheet entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.markForCheck();\n this._changeDetectorRef.detectChanges();\n if (this._animationsDisabled) {\n this._simulateAnimation(ENTER_ANIMATION);\n }\n }\n }\n\n /** Begin animation of the bottom sheet exiting from view. */\n exit(): void {\n if (!this._destroyed) {\n this._elementRef.nativeElement.setAttribute('mat-exit', '');\n this._animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n if (this._animationsDisabled) {\n this._simulateAnimation(EXIT_ANIMATION);\n }\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this._breakpointSubscription.unsubscribe();\n this._destroyed = true;\n }\n\n private _simulateAnimation(name: typeof ENTER_ANIMATION | typeof EXIT_ANIMATION) {\n this._ngZone.run(() => {\n this._handleAnimationEvent(true, name);\n setTimeout(() => this._handleAnimationEvent(false, name));\n });\n }\n\n protected _handleAnimationEvent(isStart: boolean, animationName: string) {\n const isEnter = animationName === ENTER_ANIMATION;\n const isExit = animationName === EXIT_ANIMATION;\n\n if (isEnter || isExit) {\n this._animationStateChanged.emit({\n toState: isEnter ? 'visible' : 'hidden',\n phase: isStart ? 'start' : 'done',\n });\n }\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from '@angular/cdk/overlay';\nimport {InjectionToken, ViewContainerRef} from '@angular/core';\n\n/** Options for where to set focus to automatically on dialog open */\nexport type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';\n\n/** Injection token that can be used to access the data that was passed in to a bottom sheet. */\nexport const MAT_BOTTOM_SHEET_DATA = new InjectionToken<any>('MatBottomSheetData');\n\n/**\n * Configuration used when opening a bottom sheet.\n */\nexport class MatBottomSheetConfig<D = any> {\n /** The view container to place the overlay for the bottom sheet into. */\n viewContainerRef?: ViewContainerRef;\n\n /** Extra CSS classes to be added to the bottom sheet container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the bottom sheet. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Whether the bottom sheet has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string;\n\n /** Whether the user can use escape or clicking outside to close the bottom sheet. */\n disableClose?: boolean = false;\n\n /** Aria label to assign to the bottom sheet element. */\n ariaLabel?: string | null = null;\n\n /**\n * Whether this is a modal dialog. Used to set the `aria-modal` attribute. Off by default,\n * because it can interfere with other overlay-based components (e.g. `mat-select`) and because\n * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.\n */\n ariaModal?: boolean = false;\n\n /**\n * Whether the bottom sheet should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n /**\n * Where the bottom sheet should focus on open.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or\n * AutoFocusTarget instead.\n */\n autoFocus?: AutoFocusTarget | string | boolean = 'first-tabbable';\n\n /**\n * Whether the bottom sheet should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus?: boolean = true;\n\n /** Scroll strategy to be used for the bottom sheet. */\n scrollStrategy?: ScrollStrategy;\n\n /** Height for the bottom sheet. */\n height?: string = '';\n\n /** Minimum height for the bottom sheet. If a number is provided, assumes pixel units. */\n minHeight?: number | string;\n\n /** Maximum height for the bottom sheet. If a number is provided, assumes pixel units. */\n maxHeight?: number | string;\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.dev/license\n */\n\nimport {ComponentRef} from '@angular/core';\nimport {DialogRef} from '@angular/cdk/dialog';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {merge, Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n/**\n * Reference to a bottom sheet dispatched from the bottom sheet service.\n */\nexport class MatBottomSheetRef<T = any, R = any> {\n /** Instance of the component making up the content of the bottom sheet. */\n get instance(): T {\n return this._ref.componentInstance!;\n }\n\n /**\n * `ComponentRef` of the component opened into the bottom sheet. Will be\n * null when the bottom sheet is opened using a `TemplateRef`.\n */\n get componentRef(): ComponentRef<T> | null {\n return this._ref.componentRef;\n }\n\n /**\n * Instance of the component into which the bottom sheet content is projected.\n * @docs-private\n */\n containerInstance: MatBottomSheetContainer;\n\n /** Whether the user is allowed to close the bottom sheet. */\n disableClose: boolean | undefined;\n\n /** Subject for notifying the user that the bottom sheet has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Result to be passed down to the `afterDismissed` stream. */\n private _result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the exit animation doesn't fire. */\n private _closeFallbackTimeout: ReturnType<typeof setTimeout>;\n\n constructor(\n private _ref: DialogRef<R, T>,\n config: MatBottomSheetConfig,\n containerInstance: MatBottomSheetContainer,\n ) {\n this.containerInstance = containerInstance;\n this.disableClose = config.disableClose;\n\n // Emit when opening animation completes\n containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'done' && event.toState === 'visible'),\n take(1),\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'done' && event.toState === 'hidden'),\n take(1),\n )\n .subscribe(() => {\n clearTimeout(this._closeFallbackTimeout);\n this._ref.close(this._result);\n });\n\n _ref.overlayRef.detachments().subscribe(() => {\n this._ref.close(this._result);\n });\n\n merge(\n this.backdropClick(),\n this.keydownEvents().pipe(filter(event => event.keyCode === ESCAPE)),\n ).subscribe(event => {\n if (\n !this.disableClose &&\n (event.type !== 'keydown' || !hasModifierKey(event as KeyboardEvent))\n ) {\n event.preventDefault();\n this.dismiss();\n }\n });\n }\n\n /**\n * Dismisses the bottom sheet.\n * @param result Data to be passed back to the bottom sheet opener.\n */\n dismiss(result?: R): void {\n if (!this.containerInstance) {\n return;\n }\n\n // Transition the backdrop in parallel to the bottom sheet.\n this.containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'start'),\n take(1),\n )\n .subscribe(() => {\n // The logic that disposes of the overlay depends on the exit animation completing, however\n // it isn't guaranteed if the parent view is destroyed while it's running. Add a fallback\n // timeout which will clean everything up if the animation hasn't fired within the specified\n // amount of time plus 100ms. We don't need to run this outside the NgZone, because for the\n // vast majority of cases the timeout will have been cleared before it has fired.\n this._closeFallbackTimeout = setTimeout(() => this._ref.close(this._result), 500);\n this._ref.overlayRef.detachBackdrop();\n });\n\n this._result = result;\n this.containerInstance.exit();\n this.containerInstance = null!;\n }\n\n /** Gets an observable that is notified when the bottom sheet is finished closing. */\n afterDismissed(): Observable<R | undefined> {\n return this._ref.closed;\n }\n\n /** Gets an observable that is notified when the bottom sheet has opened and appeared. */\n afterOpened(): Observable<void> {\n return this._afterOpened;\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable<MouseEvent> {\n return this._ref.backdropClick;\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._ref.keydownEvents;\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.dev/license\n */\n\nimport {Dialog} from '@angular/cdk/dialog';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {Injectable, TemplateRef, InjectionToken, OnDestroy, inject} from '@angular/core';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheetRef} from './bottom-sheet-ref';\n\n/** Injection token that can be used to specify default bottom sheet options. */\nexport const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS = new InjectionToken<MatBottomSheetConfig>(\n 'mat-bottom-sheet-default-options',\n);\n\n/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: 'root'})\nexport class MatBottomSheet implements OnDestroy {\n private _overlay = inject(Overlay);\n private _parentBottomSheet = inject(MatBottomSheet, {optional: true, skipSelf: true});\n private _defaultOptions = inject<MatBottomSheetConfig>(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n private _bottomSheetRefAtThisLevel: MatBottomSheetRef<any> | null = null;\n private _dialog = inject(Dialog);\n\n /** Reference to the currently opened bottom sheet. */\n get _openedBottomSheetRef(): MatBottomSheetRef<any> | null {\n const parent = this._parentBottomSheet;\n return parent ? parent._openedBottomSheetRef : this._bottomSheetRefAtThisLevel;\n }\n\n set _openedBottomSheetRef(value: MatBottomSheetRef<any> | null) {\n if (this._parentBottomSheet) {\n this._parentBottomSheet._openedBottomSheetRef = value;\n } else {\n this._bottomSheetRefAtThisLevel = value;\n }\n }\n\n constructor(...args: unknown[]);\n constructor() {}\n\n /**\n * Opens a bottom sheet containing the given component.\n * @param component Type of the component to load into the bottom sheet.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened bottom sheet.\n */\n open<T, D = any, R = any>(\n component: ComponentType<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R>;\n\n /**\n * Opens a bottom sheet containing the given template.\n * @param template TemplateRef to instantiate as the bottom sheet content.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened bottom sheet.\n */\n open<T, D = any, R = any>(\n template: TemplateRef<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R>;\n\n open<T, D = any, R = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R> {\n const _config = {...(this._defaultOptions || new MatBottomSheetConfig()), ...config};\n let ref: MatBottomSheetRef<T, R>;\n\n this._dialog.open<R, D, T>(componentOrTemplateRef, {\n ..._config,\n // Disable closing since we need to sync it up to the animation ourselves.\n disableClose: true,\n // Disable closing on detachments so that we can sync up the animation.\n closeOnOverlayDetachments: false,\n maxWidth: '100%',\n container: MatBottomSheetContainer,\n scrollStrategy: _config.scrollStrategy || this._overlay.scrollStrategies.block(),\n positionStrategy: this._overlay.position().global().centerHorizontally().bottom('0'),\n templateContext: () => ({bottomSheetRef: ref}),\n providers: (cdkRef, _cdkConfig, container) => {\n ref = new MatBottomSheetRef(cdkRef, _config, container as MatBottomSheetContainer);\n return [\n {provide: MatBottomSheetRef, useValue: ref},\n {provide: MAT_BOTTOM_SHEET_DATA, useValue: _config.data},\n ];\n },\n });\n\n // When the bottom sheet is dismissed, clear the reference to it.\n ref!.afterDismissed().subscribe(() => {\n // Clear the bottom sheet ref if it hasn't already been replaced by a newer one.\n if (this._openedBottomSheetRef === ref) {\n this._openedBottomSheetRef = null;\n }\n });\n\n if (this._openedBottomSheetRef) {\n // If a bottom sheet is already in view, dismiss it and enter the\n // new bottom sheet after exit animation is complete.\n this._openedBottomSheetRef.afterDismissed().subscribe(() => ref.containerInstance?.enter());\n this._openedBottomSheetRef.dismiss();\n } else {\n // If no bottom sheet is in view, enter the new bottom sheet.\n ref!.containerInstance.enter();\n }\n\n this._openedBottomSheetRef = ref!;\n return ref!;\n }\n\n /**\n * Dismisses the currently-visible bottom sheet.\n * @param result Data to pass to the bottom sheet instance.\n */\n dismiss<R = any>(result?: R): void {\n if (this._openedBottomSheetRef) {\n this._openedBottomSheetRef.dismiss(result);\n }\n }\n\n ngOnDestroy() {\n if (this._bottomSheetRefAtThisLevel) {\n this._bottomSheetRefAtThisLevel.dismiss();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {DialogModule} from '@angular/cdk/dialog';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheet} from './bottom-sheet';\n\n@NgModule({\n imports: [DialogModule, MatCommonModule, PortalModule, MatBottomSheetContainer],\n exports: [MatBottomSheetContainer, MatCommonModule],\n providers: [MatBottomSheet],\n})\nexport class MatBottomSheetModule {}\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.dev/license\n */\n\n/**\n * Animations used by the Material bottom sheet.\n * @deprecated No longer used. Will be removed.\n * @breaking-change 21.0.0\n */\nexport const matBottomSheetAnimations: {\n readonly bottomSheetState: any;\n} = {\n // Represents the output of:\n // trigger('state', [\n // state('void, hidden', style({transform: 'translateY(100%)'})),\n // state('visible', style({transform: 'translateY(0%)'})),\n // transition(\n // 'visible => void, visible => hidden',\n // group([\n // animate('375ms cubic-bezier(0.4, 0, 1, 1)'),\n // query('@*', animateChild(), {optional: true}),\n // ]),\n // ),\n // transition(\n // 'void => visible',\n // group([\n // animate('195ms cubic-bezier(0, 0, 0.2, 1)'),\n // query('@*', animateChild(), {optional: true}),\n // ]),\n // ),\n // ])\n\n /** Animation that shows and hides a bottom sheet. */\n bottomSheetState: {\n type: 7,\n name: 'state',\n definitions: [\n {\n type: 0,\n name: 'void, hidden',\n styles: {type: 6, styles: {transform: 'translateY(100%)'}, offset: null},\n },\n {\n type: 0,\n name: 'visible',\n styles: {type: 6, styles: {transform: 'translateY(0%)'}, offset: null},\n },\n {\n type: 1,\n expr: 'visible => void, visible => hidden',\n animation: {\n type: 3,\n steps: [\n {type: 4, styles: null, timings: '375ms cubic-bezier(0.4, 0, 1, 1)'},\n {\n type: 11,\n selector: '@*',\n animation: {type: 9, options: null},\n options: {optional: true},\n },\n ],\n options: null,\n },\n options: null,\n },\n {\n type: 1,\n expr: 'void => visible',\n animation: {\n type: 3,\n steps: [\n {type: 4, styles: null, timings: '195ms cubic-bezier(0, 0, 0.2, 1)'},\n {\n type: 11,\n selector: '@*',\n animation: {type: 9, options: null},\n options: {optional: true},\n },\n ],\n options: null,\n },\n options: null,\n },\n ],\n options: {},\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bottom-sheet.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-container.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-container.html","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-config.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-ref.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-module.ts","../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/bottom-sheet/bottom-sheet-animations.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.dev/license\n */\n\nimport {CdkDialogContainer} from '@angular/cdk/dialog';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnDestroy,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {CdkPortalOutlet} from '@angular/cdk/portal';\nimport {_animationsDisabled} from '../core';\n\nconst ENTER_ANIMATION = '_mat-bottom-sheet-enter';\nconst EXIT_ANIMATION = '_mat-bottom-sheet-exit';\n\n/**\n * Internal component that wraps user-provided bottom sheet content.\n * @docs-private\n */\n@Component({\n selector: 'mat-bottom-sheet-container',\n templateUrl: 'bottom-sheet-container.html',\n styleUrl: 'bottom-sheet-container.css',\n // In Ivy embedded views will be change detected from their declaration place, rather than where\n // they were stamped out. This means that we can't have the bottom sheet container be OnPush,\n // because it might cause the sheets 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': 'mat-bottom-sheet-container',\n '[class.mat-bottom-sheet-container-animations-enabled]': '!_animationsDisabled',\n '[class.mat-bottom-sheet-container-enter]': '_animationState === \"visible\"',\n '[class.mat-bottom-sheet-container-exit]': '_animationState === \"hidden\"',\n 'tabindex': '-1',\n '[attr.role]': '_config.role',\n '[attr.aria-modal]': '_config.ariaModal',\n '[attr.aria-label]': '_config.ariaLabel',\n '(animationstart)': '_handleAnimationEvent(true, $event.animationName)',\n '(animationend)': '_handleAnimationEvent(false, $event.animationName)',\n '(animationcancel)': '_handleAnimationEvent(false, $event.animationName)',\n },\n imports: [CdkPortalOutlet],\n})\nexport class MatBottomSheetContainer extends CdkDialogContainer implements OnDestroy {\n private _breakpointSubscription: Subscription;\n protected _animationsDisabled = _animationsDisabled();\n\n /** The state of the bottom sheet animations. */\n _animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /** Emits whenever the state of the animation changes. */\n _animationStateChanged = new EventEmitter<{\n toState: 'visible' | 'hidden';\n phase: 'start' | 'done';\n }>();\n\n /** Whether the component has been destroyed. */\n private _destroyed: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const breakpointObserver = inject(BreakpointObserver);\n\n this._breakpointSubscription = breakpointObserver\n .observe([Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\n .subscribe(() => {\n const classList = (this._elementRef.nativeElement as HTMLElement).classList;\n\n classList.toggle(\n 'mat-bottom-sheet-container-medium',\n breakpointObserver.isMatched(Breakpoints.Medium),\n );\n classList.toggle(\n 'mat-bottom-sheet-container-large',\n breakpointObserver.isMatched(Breakpoints.Large),\n );\n classList.toggle(\n 'mat-bottom-sheet-container-xlarge',\n breakpointObserver.isMatched(Breakpoints.XLarge),\n );\n });\n }\n\n /** Begin animation of bottom sheet entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.markForCheck();\n this._changeDetectorRef.detectChanges();\n if (this._animationsDisabled) {\n this._simulateAnimation(ENTER_ANIMATION);\n }\n }\n }\n\n /** Begin animation of the bottom sheet exiting from view. */\n exit(): void {\n if (!this._destroyed) {\n this._elementRef.nativeElement.setAttribute('mat-exit', '');\n this._animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n if (this._animationsDisabled) {\n this._simulateAnimation(EXIT_ANIMATION);\n }\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this._breakpointSubscription.unsubscribe();\n this._destroyed = true;\n }\n\n private _simulateAnimation(name: typeof ENTER_ANIMATION | typeof EXIT_ANIMATION) {\n this._ngZone.run(() => {\n this._handleAnimationEvent(true, name);\n setTimeout(() => this._handleAnimationEvent(false, name));\n });\n }\n\n protected override _trapFocus(): void {\n // The bottom sheet starts off-screen and animates in, and at the same time we trap focus\n // within it. With some styles this appears to cause the page to jump around. See:\n // https://github.com/angular/components/issues/30774. Preventing the browser from\n // scrolling resolves the issue and isn't really necessary since the bottom sheet\n // normally isn't scrollable.\n super._trapFocus({preventScroll: true});\n }\n\n protected _handleAnimationEvent(isStart: boolean, animationName: string) {\n const isEnter = animationName === ENTER_ANIMATION;\n const isExit = animationName === EXIT_ANIMATION;\n\n if (isEnter || isExit) {\n this._animationStateChanged.emit({\n toState: isEnter ? 'visible' : 'hidden',\n phase: isStart ? 'start' : 'done',\n });\n }\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from '@angular/cdk/overlay';\nimport {InjectionToken, ViewContainerRef} from '@angular/core';\n\n/** Options for where to set focus to automatically on dialog open */\nexport type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';\n\n/** Injection token that can be used to access the data that was passed in to a bottom sheet. */\nexport const MAT_BOTTOM_SHEET_DATA = new InjectionToken<any>('MatBottomSheetData');\n\n/**\n * Configuration used when opening a bottom sheet.\n */\nexport class MatBottomSheetConfig<D = any> {\n /** The view container to place the overlay for the bottom sheet into. */\n viewContainerRef?: ViewContainerRef;\n\n /** Extra CSS classes to be added to the bottom sheet container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the bottom sheet. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Whether the bottom sheet has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string;\n\n /** Whether the user can use escape or clicking outside to close the bottom sheet. */\n disableClose?: boolean = false;\n\n /** Aria label to assign to the bottom sheet element. */\n ariaLabel?: string | null = null;\n\n /**\n * Whether this is a modal dialog. Used to set the `aria-modal` attribute. Off by default,\n * because it can interfere with other overlay-based components (e.g. `mat-select`) and because\n * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.\n */\n ariaModal?: boolean = false;\n\n /**\n * Whether the bottom sheet should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n /**\n * Where the bottom sheet should focus on open.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or\n * AutoFocusTarget instead.\n */\n autoFocus?: AutoFocusTarget | string | boolean = 'first-tabbable';\n\n /**\n * Whether the bottom sheet should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus?: boolean = true;\n\n /** Scroll strategy to be used for the bottom sheet. */\n scrollStrategy?: ScrollStrategy;\n\n /** Height for the bottom sheet. */\n height?: string = '';\n\n /** Minimum height for the bottom sheet. If a number is provided, assumes pixel units. */\n minHeight?: number | string;\n\n /** Maximum height for the bottom sheet. If a number is provided, assumes pixel units. */\n maxHeight?: number | string;\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.dev/license\n */\n\nimport {ComponentRef} from '@angular/core';\nimport {DialogRef} from '@angular/cdk/dialog';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {merge, Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n/**\n * Reference to a bottom sheet dispatched from the bottom sheet service.\n */\nexport class MatBottomSheetRef<T = any, R = any> {\n /** Instance of the component making up the content of the bottom sheet. */\n get instance(): T {\n return this._ref.componentInstance!;\n }\n\n /**\n * `ComponentRef` of the component opened into the bottom sheet. Will be\n * null when the bottom sheet is opened using a `TemplateRef`.\n */\n get componentRef(): ComponentRef<T> | null {\n return this._ref.componentRef;\n }\n\n /**\n * Instance of the component into which the bottom sheet content is projected.\n * @docs-private\n */\n containerInstance: MatBottomSheetContainer;\n\n /** Whether the user is allowed to close the bottom sheet. */\n disableClose: boolean | undefined;\n\n /** Subject for notifying the user that the bottom sheet has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Result to be passed down to the `afterDismissed` stream. */\n private _result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the exit animation doesn't fire. */\n private _closeFallbackTimeout: ReturnType<typeof setTimeout>;\n\n constructor(\n private _ref: DialogRef<R, T>,\n config: MatBottomSheetConfig,\n containerInstance: MatBottomSheetContainer,\n ) {\n this.containerInstance = containerInstance;\n this.disableClose = config.disableClose;\n\n // Emit when opening animation completes\n containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'done' && event.toState === 'visible'),\n take(1),\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'done' && event.toState === 'hidden'),\n take(1),\n )\n .subscribe(() => {\n clearTimeout(this._closeFallbackTimeout);\n this._ref.close(this._result);\n });\n\n _ref.overlayRef.detachments().subscribe(() => {\n this._ref.close(this._result);\n });\n\n merge(\n this.backdropClick(),\n this.keydownEvents().pipe(filter(event => event.keyCode === ESCAPE)),\n ).subscribe(event => {\n if (\n !this.disableClose &&\n (event.type !== 'keydown' || !hasModifierKey(event as KeyboardEvent))\n ) {\n event.preventDefault();\n this.dismiss();\n }\n });\n }\n\n /**\n * Dismisses the bottom sheet.\n * @param result Data to be passed back to the bottom sheet opener.\n */\n dismiss(result?: R): void {\n if (!this.containerInstance) {\n return;\n }\n\n // Transition the backdrop in parallel to the bottom sheet.\n this.containerInstance._animationStateChanged\n .pipe(\n filter(event => event.phase === 'start'),\n take(1),\n )\n .subscribe(() => {\n // The logic that disposes of the overlay depends on the exit animation completing, however\n // it isn't guaranteed if the parent view is destroyed while it's running. Add a fallback\n // timeout which will clean everything up if the animation hasn't fired within the specified\n // amount of time plus 100ms. We don't need to run this outside the NgZone, because for the\n // vast majority of cases the timeout will have been cleared before it has fired.\n this._closeFallbackTimeout = setTimeout(() => this._ref.close(this._result), 500);\n this._ref.overlayRef.detachBackdrop();\n });\n\n this._result = result;\n this.containerInstance.exit();\n this.containerInstance = null!;\n }\n\n /** Gets an observable that is notified when the bottom sheet is finished closing. */\n afterDismissed(): Observable<R | undefined> {\n return this._ref.closed;\n }\n\n /** Gets an observable that is notified when the bottom sheet has opened and appeared. */\n afterOpened(): Observable<void> {\n return this._afterOpened;\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable<MouseEvent> {\n return this._ref.backdropClick;\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._ref.keydownEvents;\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.dev/license\n */\n\nimport {Dialog} from '@angular/cdk/dialog';\nimport {createBlockScrollStrategy, createGlobalPositionStrategy} from '@angular/cdk/overlay';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {Injectable, TemplateRef, InjectionToken, OnDestroy, inject, Injector} from '@angular/core';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheetRef} from './bottom-sheet-ref';\nimport {_animationsDisabled} from '../core';\n\n/** Injection token that can be used to specify default bottom sheet options. */\nexport const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS = new InjectionToken<MatBottomSheetConfig>(\n 'mat-bottom-sheet-default-options',\n);\n\n/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: 'root'})\nexport class MatBottomSheet implements OnDestroy {\n private _injector = inject(Injector);\n private _parentBottomSheet = inject(MatBottomSheet, {optional: true, skipSelf: true});\n private _animationsDisabled = _animationsDisabled();\n private _defaultOptions = inject<MatBottomSheetConfig>(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n private _bottomSheetRefAtThisLevel: MatBottomSheetRef<any> | null = null;\n private _dialog = inject(Dialog);\n\n /** Reference to the currently opened bottom sheet. */\n get _openedBottomSheetRef(): MatBottomSheetRef<any> | null {\n const parent = this._parentBottomSheet;\n return parent ? parent._openedBottomSheetRef : this._bottomSheetRefAtThisLevel;\n }\n\n set _openedBottomSheetRef(value: MatBottomSheetRef<any> | null) {\n if (this._parentBottomSheet) {\n this._parentBottomSheet._openedBottomSheetRef = value;\n } else {\n this._bottomSheetRefAtThisLevel = value;\n }\n }\n\n constructor(...args: unknown[]);\n constructor() {}\n\n /**\n * Opens a bottom sheet containing the given component.\n * @param component Type of the component to load into the bottom sheet.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened bottom sheet.\n */\n open<T, D = any, R = any>(\n component: ComponentType<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R>;\n\n /**\n * Opens a bottom sheet containing the given template.\n * @param template TemplateRef to instantiate as the bottom sheet content.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened bottom sheet.\n */\n open<T, D = any, R = any>(\n template: TemplateRef<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R>;\n\n open<T, D = any, R = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MatBottomSheetConfig<D>,\n ): MatBottomSheetRef<T, R> {\n const _config = {...(this._defaultOptions || new MatBottomSheetConfig()), ...config};\n let ref: MatBottomSheetRef<T, R>;\n\n this._dialog.open<R, D, T>(componentOrTemplateRef, {\n ..._config,\n // Disable closing since we need to sync it up to the animation ourselves.\n disableClose: true,\n // Disable closing on detachments so that we can sync up the animation.\n closeOnOverlayDetachments: false,\n maxWidth: '100%',\n container: MatBottomSheetContainer,\n scrollStrategy: _config.scrollStrategy || createBlockScrollStrategy(this._injector),\n positionStrategy: createGlobalPositionStrategy(this._injector)\n .centerHorizontally()\n .bottom('0'),\n disableAnimations: this._animationsDisabled,\n templateContext: () => ({bottomSheetRef: ref}),\n providers: (cdkRef, _cdkConfig, container) => {\n ref = new MatBottomSheetRef(cdkRef, _config, container as MatBottomSheetContainer);\n return [\n {provide: MatBottomSheetRef, useValue: ref},\n {provide: MAT_BOTTOM_SHEET_DATA, useValue: _config.data},\n ];\n },\n });\n\n // When the bottom sheet is dismissed, clear the reference to it.\n ref!.afterDismissed().subscribe(() => {\n // Clear the bottom sheet ref if it hasn't already been replaced by a newer one.\n if (this._openedBottomSheetRef === ref) {\n this._openedBottomSheetRef = null;\n }\n });\n\n if (this._openedBottomSheetRef) {\n // If a bottom sheet is already in view, dismiss it and enter the\n // new bottom sheet after exit animation is complete.\n this._openedBottomSheetRef.afterDismissed().subscribe(() => ref.containerInstance?.enter());\n this._openedBottomSheetRef.dismiss();\n } else {\n // If no bottom sheet is in view, enter the new bottom sheet.\n ref!.containerInstance.enter();\n }\n\n this._openedBottomSheetRef = ref!;\n return ref!;\n }\n\n /**\n * Dismisses the currently-visible bottom sheet.\n * @param result Data to pass to the bottom sheet instance.\n */\n dismiss<R = any>(result?: R): void {\n if (this._openedBottomSheetRef) {\n this._openedBottomSheetRef.dismiss(result);\n }\n }\n\n ngOnDestroy() {\n if (this._bottomSheetRefAtThisLevel) {\n this._bottomSheetRefAtThisLevel.dismiss();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {DialogModule} from '@angular/cdk/dialog';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '../core';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheet} from './bottom-sheet';\n\n@NgModule({\n imports: [DialogModule, MatCommonModule, PortalModule, MatBottomSheetContainer],\n exports: [MatBottomSheetContainer, MatCommonModule],\n providers: [MatBottomSheet],\n})\nexport class MatBottomSheetModule {}\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.dev/license\n */\n\n/**\n * Animations used by the Material bottom sheet.\n * @deprecated No longer used. Will be removed.\n * @breaking-change 21.0.0\n */\nexport const matBottomSheetAnimations: {\n readonly bottomSheetState: any;\n} = {\n // Represents the output of:\n // trigger('state', [\n // state('void, hidden', style({transform: 'translateY(100%)'})),\n // state('visible', style({transform: 'translateY(0%)'})),\n // transition(\n // 'visible => void, visible => hidden',\n // group([\n // animate('375ms cubic-bezier(0.4, 0, 1, 1)'),\n // query('@*', animateChild(), {optional: true}),\n // ]),\n // ),\n // transition(\n // 'void => visible',\n // group([\n // animate('195ms cubic-bezier(0, 0, 0.2, 1)'),\n // query('@*', animateChild(), {optional: true}),\n // ]),\n // ),\n // ])\n\n /** Animation that shows and hides a bottom sheet. */\n bottomSheetState: {\n type: 7,\n name: 'state',\n definitions: [\n {\n type: 0,\n name: 'void, hidden',\n styles: {type: 6, styles: {transform: 'translateY(100%)'}, offset: null},\n },\n {\n type: 0,\n name: 'visible',\n styles: {type: 6, styles: {transform: 'translateY(0%)'}, offset: null},\n },\n {\n type: 1,\n expr: 'visible => void, visible => hidden',\n animation: {\n type: 3,\n steps: [\n {type: 4, styles: null, timings: '375ms cubic-bezier(0.4, 0, 1, 1)'},\n {\n type: 11,\n selector: '@*',\n animation: {type: 9, options: null},\n options: {optional: true},\n },\n ],\n options: null,\n },\n options: null,\n },\n {\n type: 1,\n expr: 'void => visible',\n animation: {\n type: 3,\n steps: [\n {type: 4, styles: null, timings: '195ms cubic-bezier(0, 0, 0.2, 1)'},\n {\n type: 11,\n selector: '@*',\n animation: {type: 9, options: null},\n options: {optional: true},\n },\n ],\n options: null,\n },\n options: null,\n },\n ],\n options: {},\n },\n};\n"],"names":[],"mappings":"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"}