@angular/material 21.0.0-next.0 → 21.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 (394) hide show
  1. package/_index.scss +1 -1
  2. package/core/focus-indicators/_private.scss +16 -0
  3. package/core/tokens/_classes.scss +150 -167
  4. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  5. package/core/tokens/m2/_md-sys-color.scss +28 -19
  6. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  7. package/core/tokens/m3/_md-sys-color.scss +5 -31
  8. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  9. package/core/tokens/m3/_md-sys-typescale.scss +2 -16
  10. package/fesm2022/{animation.mjs → _animation-chunk.mjs} +2 -23
  11. package/fesm2022/_animation-chunk.mjs.map +1 -0
  12. package/fesm2022/{date-formats.mjs → _date-formats-chunk.mjs} +3 -11
  13. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  14. package/fesm2022/{date-range-input-harness.mjs → _date-range-input-harness-chunk.mjs} +1 -1
  15. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  16. package/fesm2022/{error-options.mjs → _error-options-chunk.mjs} +7 -7
  17. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  18. package/fesm2022/{error-state.mjs → _error-state-chunk.mjs} +1 -1
  19. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  20. package/fesm2022/_form-field-chunk.mjs +1114 -0
  21. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  22. package/fesm2022/{icon-button.mjs → _icon-button-chunk.mjs} +10 -10
  23. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  24. package/fesm2022/{icon-registry.mjs → _icon-registry-chunk.mjs} +6 -33
  25. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  26. package/fesm2022/{input-harness.mjs → _input-harness-chunk.mjs} +1 -1
  27. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  28. package/fesm2022/{input-value-accessor.mjs → _input-value-accessor-chunk.mjs} +1 -1
  29. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  30. package/fesm2022/{internal-form-field.mjs → _internal-form-field-chunk.mjs} +4 -4
  31. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  32. package/fesm2022/{line.mjs → _line-chunk.mjs} +11 -11
  33. package/fesm2022/_line-chunk.mjs.map +1 -0
  34. package/fesm2022/{option.mjs → _option-chunk.mjs} +11 -11
  35. package/fesm2022/_option-chunk.mjs.map +1 -0
  36. package/fesm2022/{option-harness.mjs → _option-harness-chunk.mjs} +1 -1
  37. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  38. package/fesm2022/_option-module-chunk.mjs +22 -0
  39. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  40. package/fesm2022/{pseudo-checkbox.mjs → _pseudo-checkbox-chunk.mjs} +5 -5
  41. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  42. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +20 -0
  43. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  44. package/fesm2022/{public-api.mjs → _public-api-chunk.mjs} +1 -1
  45. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  46. package/fesm2022/{ripple.mjs → _ripple-chunk.mjs} +10 -10
  47. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  48. package/fesm2022/{ripple-loader.mjs → _ripple-loader-chunk.mjs} +6 -6
  49. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  50. package/fesm2022/_ripple-module-chunk.mjs +20 -0
  51. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  52. package/fesm2022/{structural-styles.mjs → _structural-styles-chunk.mjs} +4 -4
  53. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  54. package/fesm2022/{tooltip-module.mjs → _tooltip-chunk.mjs} +18 -61
  55. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  56. package/fesm2022/{autocomplete/testing.mjs → autocomplete-testing.mjs} +3 -3
  57. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  58. package/fesm2022/autocomplete.mjs +32 -64
  59. package/fesm2022/autocomplete.mjs.map +1 -1
  60. package/fesm2022/{badge/testing.mjs → badge-testing.mjs} +1 -1
  61. package/fesm2022/badge-testing.mjs.map +1 -0
  62. package/fesm2022/badge.mjs +14 -15
  63. package/fesm2022/badge.mjs.map +1 -1
  64. package/fesm2022/{bottom-sheet/testing.mjs → bottom-sheet-testing.mjs} +1 -1
  65. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  66. package/fesm2022/bottom-sheet.mjs +20 -98
  67. package/fesm2022/bottom-sheet.mjs.map +1 -1
  68. package/fesm2022/{button/testing.mjs → button-testing.mjs} +6 -2
  69. package/fesm2022/button-testing.mjs.map +1 -0
  70. package/fesm2022/{button-toggle/testing.mjs → button-toggle-testing.mjs} +1 -1
  71. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  72. package/fesm2022/button-toggle.mjs +24 -33
  73. package/fesm2022/button-toggle.mjs.map +1 -1
  74. package/fesm2022/button.mjs +32 -54
  75. package/fesm2022/button.mjs.map +1 -1
  76. package/fesm2022/{card/testing.mjs → card-testing.mjs} +1 -1
  77. package/fesm2022/card-testing.mjs.map +1 -0
  78. package/fesm2022/card.mjs +50 -52
  79. package/fesm2022/card.mjs.map +1 -1
  80. package/fesm2022/{checkbox/testing.mjs → checkbox-testing.mjs} +1 -1
  81. package/fesm2022/checkbox-testing.mjs.map +1 -0
  82. package/fesm2022/checkbox.mjs +26 -36
  83. package/fesm2022/checkbox.mjs.map +1 -1
  84. package/fesm2022/{chips/testing.mjs → chips-testing.mjs} +1 -7
  85. package/fesm2022/chips-testing.mjs.map +1 -0
  86. package/fesm2022/chips.mjs +158 -126
  87. package/fesm2022/chips.mjs.map +1 -1
  88. package/fesm2022/{core/testing.mjs → core-testing.mjs} +2 -2
  89. package/fesm2022/core-testing.mjs.map +1 -0
  90. package/fesm2022/core.mjs +28 -35
  91. package/fesm2022/core.mjs.map +1 -1
  92. package/fesm2022/{datepicker/testing.mjs → datepicker-testing.mjs} +3 -3
  93. package/fesm2022/datepicker-testing.mjs.map +1 -0
  94. package/fesm2022/datepicker.mjs +193 -346
  95. package/fesm2022/datepicker.mjs.map +1 -1
  96. package/fesm2022/{dialog/testing.mjs → dialog-testing.mjs} +7 -8
  97. package/fesm2022/dialog-testing.mjs.map +1 -0
  98. package/fesm2022/dialog.mjs +882 -115
  99. package/fesm2022/dialog.mjs.map +1 -1
  100. package/fesm2022/{divider/testing.mjs → divider-testing.mjs} +1 -1
  101. package/fesm2022/divider-testing.mjs.map +1 -0
  102. package/fesm2022/divider.mjs +10 -12
  103. package/fesm2022/divider.mjs.map +1 -1
  104. package/fesm2022/{expansion/testing.mjs → expansion-testing.mjs} +1 -1
  105. package/fesm2022/expansion-testing.mjs.map +1 -0
  106. package/fesm2022/expansion.mjs +33 -137
  107. package/fesm2022/expansion.mjs.map +1 -1
  108. package/fesm2022/{form-field/testing/control.mjs → form-field-testing-control.mjs} +1 -1
  109. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  110. package/fesm2022/{form-field/testing.mjs → form-field-testing.mjs} +5 -5
  111. package/fesm2022/form-field-testing.mjs.map +1 -0
  112. package/fesm2022/form-field.mjs +20 -51
  113. package/fesm2022/form-field.mjs.map +1 -1
  114. package/fesm2022/{grid-list/testing.mjs → grid-list-testing.mjs} +2 -2
  115. package/fesm2022/grid-list-testing.mjs.map +1 -0
  116. package/fesm2022/grid-list.mjs +30 -35
  117. package/fesm2022/grid-list.mjs.map +1 -1
  118. package/fesm2022/{icon/testing.mjs → icon-testing.mjs} +9 -9
  119. package/fesm2022/icon-testing.mjs.map +1 -0
  120. package/fesm2022/icon.mjs +22 -30
  121. package/fesm2022/icon.mjs.map +1 -1
  122. package/fesm2022/{input/testing.mjs → input-testing.mjs} +3 -3
  123. package/fesm2022/input-testing.mjs.map +1 -0
  124. package/fesm2022/input.mjs +17 -18
  125. package/fesm2022/input.mjs.map +1 -1
  126. package/fesm2022/{list/testing.mjs → list-testing.mjs} +2 -2
  127. package/fesm2022/list-testing.mjs.map +1 -0
  128. package/fesm2022/list.mjs +63 -64
  129. package/fesm2022/list.mjs.map +1 -1
  130. package/fesm2022/material.mjs.map +1 -1
  131. package/fesm2022/{menu/testing.mjs → menu-testing.mjs} +1 -1
  132. package/fesm2022/menu-testing.mjs.map +1 -0
  133. package/fesm2022/menu.mjs +45 -193
  134. package/fesm2022/menu.mjs.map +1 -1
  135. package/fesm2022/{paginator/testing.mjs → paginator-testing.mjs} +2 -2
  136. package/fesm2022/paginator-testing.mjs.map +1 -0
  137. package/fesm2022/paginator.mjs +31 -51
  138. package/fesm2022/paginator.mjs.map +1 -1
  139. package/fesm2022/{progress-bar/testing.mjs → progress-bar-testing.mjs} +1 -1
  140. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  141. package/fesm2022/progress-bar.mjs +24 -29
  142. package/fesm2022/progress-bar.mjs.map +1 -1
  143. package/fesm2022/{progress-spinner/testing.mjs → progress-spinner-testing.mjs} +1 -1
  144. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  145. package/fesm2022/progress-spinner.mjs +12 -22
  146. package/fesm2022/progress-spinner.mjs.map +1 -1
  147. package/fesm2022/{radio/testing.mjs → radio-testing.mjs} +1 -1
  148. package/fesm2022/radio-testing.mjs.map +1 -0
  149. package/fesm2022/radio.mjs +23 -32
  150. package/fesm2022/radio.mjs.map +1 -1
  151. package/fesm2022/{select/testing.mjs → select-testing.mjs} +1 -1
  152. package/fesm2022/select-testing.mjs.map +1 -0
  153. package/fesm2022/select.mjs +1299 -96
  154. package/fesm2022/select.mjs.map +1 -1
  155. package/fesm2022/{sidenav/testing.mjs → sidenav-testing.mjs} +1 -1
  156. package/fesm2022/sidenav-testing.mjs.map +1 -0
  157. package/fesm2022/sidenav.mjs +30 -120
  158. package/fesm2022/sidenav.mjs.map +1 -1
  159. package/fesm2022/{slide-toggle/testing.mjs → slide-toggle-testing.mjs} +1 -1
  160. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  161. package/fesm2022/slide-toggle.mjs +14 -15
  162. package/fesm2022/slide-toggle.mjs.map +1 -1
  163. package/fesm2022/{slider/testing.mjs → slider-testing.mjs} +1 -1
  164. package/fesm2022/slider-testing.mjs.map +1 -0
  165. package/fesm2022/slider.mjs +24 -38
  166. package/fesm2022/slider.mjs.map +1 -1
  167. package/fesm2022/{snack-bar/testing.mjs → snack-bar-testing.mjs} +1 -1
  168. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  169. package/fesm2022/snack-bar.mjs +34 -128
  170. package/fesm2022/snack-bar.mjs.map +1 -1
  171. package/fesm2022/{sort/testing.mjs → sort-testing.mjs} +1 -1
  172. package/fesm2022/sort-testing.mjs.map +1 -0
  173. package/fesm2022/sort.mjs +26 -351
  174. package/fesm2022/sort.mjs.map +1 -1
  175. package/fesm2022/{stepper/testing.mjs → stepper-testing.mjs} +3 -2
  176. package/fesm2022/stepper-testing.mjs.map +1 -0
  177. package/fesm2022/stepper.mjs +46 -219
  178. package/fesm2022/stepper.mjs.map +1 -1
  179. package/fesm2022/{table/testing.mjs → table-testing.mjs} +36 -4
  180. package/fesm2022/table-testing.mjs.map +1 -0
  181. package/fesm2022/table.mjs +66 -63
  182. package/fesm2022/table.mjs.map +1 -1
  183. package/fesm2022/{tabs/testing.mjs → tabs-testing.mjs} +1 -1
  184. package/fesm2022/tabs-testing.mjs.map +1 -0
  185. package/fesm2022/tabs.mjs +68 -222
  186. package/fesm2022/tabs.mjs.map +1 -1
  187. package/fesm2022/{timepicker/testing.mjs → timepicker-testing.mjs} +2 -2
  188. package/fesm2022/timepicker-testing.mjs.map +1 -0
  189. package/fesm2022/timepicker.mjs +40 -34
  190. package/fesm2022/timepicker.mjs.map +1 -1
  191. package/fesm2022/{toolbar/testing.mjs → toolbar-testing.mjs} +1 -1
  192. package/fesm2022/toolbar-testing.mjs.map +1 -0
  193. package/fesm2022/toolbar.mjs +13 -15
  194. package/fesm2022/toolbar.mjs.map +1 -1
  195. package/fesm2022/{tooltip/testing.mjs → tooltip-testing.mjs} +1 -1
  196. package/fesm2022/tooltip-testing.mjs.map +1 -0
  197. package/fesm2022/tooltip.mjs +22 -54
  198. package/fesm2022/tooltip.mjs.map +1 -1
  199. package/fesm2022/{tree/testing.mjs → tree-testing.mjs} +1 -1
  200. package/fesm2022/tree-testing.mjs.map +1 -0
  201. package/fesm2022/tree.mjs +29 -31
  202. package/fesm2022/tree.mjs.map +1 -1
  203. package/package.json +115 -114
  204. package/prebuilt-themes/deeppurple-amber.css +1 -1
  205. package/prebuilt-themes/indigo-pink.css +1 -1
  206. package/prebuilt-themes/pink-bluegrey.css +1 -1
  207. package/prebuilt-themes/purple-green.css +1 -1
  208. package/schematics/ng-add/index.js +1 -1
  209. package/schematics/ng-update/index_bundled.js +7 -3
  210. package/schematics/ng-update/index_bundled.js.map +1 -1
  211. package/slider/_m2-slider.scss +1 -0
  212. package/slider/_m3-slider.scss +5 -2
  213. package/{badge.d.d.ts → types/_badge-chunk.d.ts} +1 -1
  214. package/{button-toggle.d.d.ts → types/_button-toggle-chunk.d.ts} +1 -7
  215. package/{date-adapter.d.d.ts → types/_date-adapter-chunk.d.ts} +1 -7
  216. package/{form-field.d.d.ts → types/_form-field-chunk.d.ts} +2 -2
  217. package/{form-field-module.d.d.ts → types/_form-field-module-chunk.d.ts} +4 -4
  218. package/{icon-module.d.d.ts → types/_icon-module-chunk.d.ts} +4 -10
  219. package/{icon-registry.d.d.ts → types/_icon-registry-chunk.d.ts} +2 -18
  220. package/{line.d.d.ts → types/_line-chunk.d.ts} +2 -2
  221. package/types/_option-module-chunk.d.ts +13 -0
  222. package/{paginator.d.d.ts → types/_paginator-chunk.d.ts} +4 -20
  223. package/{progress-spinner.d.d.ts → types/_progress-spinner-chunk.d.ts} +4 -10
  224. package/{pseudo-checkbox-module.d.d.ts → types/_pseudo-checkbox-module-chunk.d.ts} +2 -2
  225. package/{ripple.d.d.ts → types/_ripple-chunk.d.ts} +3 -3
  226. package/{ripple-module.d.d.ts → types/_ripple-module-chunk.d.ts} +3 -3
  227. package/{sort.d.d.ts → types/_sort-chunk.d.ts} +1 -1
  228. package/{autocomplete/testing/index.d.ts → types/autocomplete-testing.d.ts} +2 -2
  229. package/{autocomplete/index.d.ts → types/autocomplete.d.ts} +10 -33
  230. package/{badge/testing/index.d.ts → types/badge-testing.d.ts} +2 -2
  231. package/types/badge.d.ts +14 -0
  232. package/{bottom-sheet/index.d.ts → types/bottom-sheet.d.ts} +10 -14
  233. package/{button/testing/index.d.ts → types/button-testing.d.ts} +2 -0
  234. package/{button-toggle/testing/index.d.ts → types/button-toggle-testing.d.ts} +1 -1
  235. package/types/button-toggle.d.ts +16 -0
  236. package/{button/index.d.ts → types/button.d.ts} +7 -14
  237. package/{card/index.d.ts → types/card.d.ts} +2 -3
  238. package/{checkbox/index.d.ts → types/checkbox.d.ts} +4 -11
  239. package/{chips/index.d.ts → types/chips.d.ts} +74 -68
  240. package/{core/testing/index.d.ts → types/core-testing.d.ts} +1 -1
  241. package/{core/index.d.ts → types/core.d.ts} +14 -41
  242. package/{datepicker/testing/index.d.ts → types/datepicker-testing.d.ts} +2 -2
  243. package/{datepicker/index.d.ts → types/datepicker.d.ts} +48 -101
  244. package/{dialog/testing/index.d.ts → types/dialog-testing.d.ts} +1 -1
  245. package/{dialog/index.d.ts → types/dialog.d.ts} +9 -32
  246. package/{divider/index.d.ts → types/divider.d.ts} +2 -3
  247. package/{expansion/index.d.ts → types/expansion.d.ts} +5 -41
  248. package/{form-field/testing/control/index.d.ts → types/form-field-testing-control.d.ts} +1 -1
  249. package/{form-field/testing/index.d.ts → types/form-field-testing.d.ts} +4 -4
  250. package/{form-field/index.d.ts → types/form-field.d.ts} +6 -17
  251. package/{grid-list/index.d.ts → types/grid-list.d.ts} +3 -4
  252. package/{icon/testing/index.d.ts → types/icon-testing.d.ts} +1 -1
  253. package/types/icon.d.ts +8 -0
  254. package/{input/testing/index.d.ts → types/input-testing.d.ts} +2 -2
  255. package/{input/index.d.ts → types/input.d.ts} +10 -11
  256. package/{list/testing/index.d.ts → types/list-testing.d.ts} +2 -2
  257. package/{list/index.d.ts → types/list.d.ts} +10 -11
  258. package/{menu/index.d.ts → types/menu.d.ts} +7 -48
  259. package/{paginator/testing/index.d.ts → types/paginator-testing.d.ts} +1 -1
  260. package/types/paginator.d.ts +35 -0
  261. package/{progress-bar/index.d.ts → types/progress-bar.d.ts} +4 -11
  262. package/{progress-spinner/testing/index.d.ts → types/progress-spinner-testing.d.ts} +2 -2
  263. package/{progress-spinner/index.d.ts → types/progress-spinner.d.ts} +5 -6
  264. package/{radio/index.d.ts → types/radio.d.ts} +6 -13
  265. package/{select-module.d.d.ts → types/select.d.ts} +19 -26
  266. package/{sidenav/index.d.ts → types/sidenav.d.ts} +4 -21
  267. package/{slide-toggle/index.d.ts → types/slide-toggle.d.ts} +3 -4
  268. package/{slider/index.d.ts → types/slider.d.ts} +5 -5
  269. package/{snack-bar/index.d.ts → types/snack-bar.d.ts} +9 -25
  270. package/{sort/testing/index.d.ts → types/sort-testing.d.ts} +1 -1
  271. package/{sort/index.d.ts → types/sort.d.ts} +8 -40
  272. package/{stepper/index.d.ts → types/stepper.d.ts} +11 -39
  273. package/{table/testing/index.d.ts → types/table-testing.d.ts} +27 -1
  274. package/{table/index.d.ts → types/table.d.ts} +11 -11
  275. package/{tabs/index.d.ts → types/tabs.d.ts} +6 -22
  276. package/{timepicker/testing/index.d.ts → types/timepicker-testing.d.ts} +1 -1
  277. package/{timepicker/index.d.ts → types/timepicker.d.ts} +151 -130
  278. package/{toolbar/index.d.ts → types/toolbar.d.ts} +2 -3
  279. package/{tooltip-module.d.d.ts → types/tooltip.d.ts} +7 -29
  280. package/{tree/index.d.ts → types/tree.d.ts} +2 -3
  281. package/badge/index.d.ts +0 -15
  282. package/button-toggle/index.d.ts +0 -17
  283. package/common-module.d.d.ts +0 -44
  284. package/fesm2022/animation.mjs.map +0 -1
  285. package/fesm2022/autocomplete/testing.mjs.map +0 -1
  286. package/fesm2022/badge/testing.mjs.map +0 -1
  287. package/fesm2022/bottom-sheet/testing.mjs.map +0 -1
  288. package/fesm2022/button/testing.mjs.map +0 -1
  289. package/fesm2022/button-toggle/testing.mjs.map +0 -1
  290. package/fesm2022/card/testing.mjs.map +0 -1
  291. package/fesm2022/checkbox/testing.mjs.map +0 -1
  292. package/fesm2022/chips/testing.mjs.map +0 -1
  293. package/fesm2022/common-module.mjs +0 -42
  294. package/fesm2022/common-module.mjs.map +0 -1
  295. package/fesm2022/core/testing.mjs.map +0 -1
  296. package/fesm2022/date-formats.mjs.map +0 -1
  297. package/fesm2022/date-range-input-harness.mjs.map +0 -1
  298. package/fesm2022/datepicker/testing.mjs.map +0 -1
  299. package/fesm2022/dialog/testing.mjs.map +0 -1
  300. package/fesm2022/dialog-module.mjs +0 -891
  301. package/fesm2022/dialog-module.mjs.map +0 -1
  302. package/fesm2022/divider/testing.mjs.map +0 -1
  303. package/fesm2022/error-options.mjs.map +0 -1
  304. package/fesm2022/error-state.mjs.map +0 -1
  305. package/fesm2022/expansion/testing.mjs.map +0 -1
  306. package/fesm2022/form-field/testing/control.mjs.map +0 -1
  307. package/fesm2022/form-field/testing.mjs.map +0 -1
  308. package/fesm2022/form-field-module.mjs +0 -39
  309. package/fesm2022/form-field-module.mjs.map +0 -1
  310. package/fesm2022/form-field2.mjs +0 -1114
  311. package/fesm2022/form-field2.mjs.map +0 -1
  312. package/fesm2022/grid-list/testing.mjs.map +0 -1
  313. package/fesm2022/icon/testing.mjs.map +0 -1
  314. package/fesm2022/icon-button.mjs.map +0 -1
  315. package/fesm2022/icon-registry.mjs.map +0 -1
  316. package/fesm2022/input/testing.mjs.map +0 -1
  317. package/fesm2022/input-harness.mjs.map +0 -1
  318. package/fesm2022/input-value-accessor.mjs.map +0 -1
  319. package/fesm2022/internal-form-field.mjs.map +0 -1
  320. package/fesm2022/line.mjs.map +0 -1
  321. package/fesm2022/list/testing.mjs.map +0 -1
  322. package/fesm2022/menu/testing.mjs.map +0 -1
  323. package/fesm2022/option-harness.mjs.map +0 -1
  324. package/fesm2022/option-module.mjs +0 -22
  325. package/fesm2022/option-module.mjs.map +0 -1
  326. package/fesm2022/option.mjs.map +0 -1
  327. package/fesm2022/paginator/testing.mjs.map +0 -1
  328. package/fesm2022/progress-bar/testing.mjs.map +0 -1
  329. package/fesm2022/progress-spinner/testing.mjs.map +0 -1
  330. package/fesm2022/pseudo-checkbox-module.mjs +0 -20
  331. package/fesm2022/pseudo-checkbox-module.mjs.map +0 -1
  332. package/fesm2022/pseudo-checkbox.mjs.map +0 -1
  333. package/fesm2022/public-api.mjs.map +0 -1
  334. package/fesm2022/radio/testing.mjs.map +0 -1
  335. package/fesm2022/ripple-loader.mjs.map +0 -1
  336. package/fesm2022/ripple-module.mjs +0 -20
  337. package/fesm2022/ripple-module.mjs.map +0 -1
  338. package/fesm2022/ripple.mjs.map +0 -1
  339. package/fesm2022/select/testing.mjs.map +0 -1
  340. package/fesm2022/select-module.mjs +0 -1318
  341. package/fesm2022/select-module.mjs.map +0 -1
  342. package/fesm2022/sidenav/testing.mjs.map +0 -1
  343. package/fesm2022/slide-toggle/testing.mjs.map +0 -1
  344. package/fesm2022/slider/testing.mjs.map +0 -1
  345. package/fesm2022/snack-bar/testing.mjs.map +0 -1
  346. package/fesm2022/sort/testing.mjs.map +0 -1
  347. package/fesm2022/stepper/testing.mjs.map +0 -1
  348. package/fesm2022/structural-styles.mjs.map +0 -1
  349. package/fesm2022/table/testing.mjs.map +0 -1
  350. package/fesm2022/tabs/testing.mjs.map +0 -1
  351. package/fesm2022/timepicker/testing.mjs.map +0 -1
  352. package/fesm2022/toolbar/testing.mjs.map +0 -1
  353. package/fesm2022/tooltip/testing.mjs.map +0 -1
  354. package/fesm2022/tooltip-module.mjs.map +0 -1
  355. package/fesm2022/tree/testing.mjs.map +0 -1
  356. package/icon/index.d.ts +0 -9
  357. package/option-module.d.d.ts +0 -13
  358. package/paginator/index.d.ts +0 -36
  359. package/select/index.d.ts +0 -38
  360. package/tooltip/index.d.ts +0 -21
  361. /package/{date-range-input-harness.d.d.ts → types/_date-range-input-harness-chunk.d.ts} +0 -0
  362. /package/{dialog.d.d.ts → types/_dialog-chunk.d.ts} +0 -0
  363. /package/{error-options.d.d.ts → types/_error-options-chunk.d.ts} +0 -0
  364. /package/{form-field-control.d.d.ts → types/_form-field-control-chunk.d.ts} +0 -0
  365. /package/{form-field-control-harness.d.d.ts → types/_form-field-control-harness-chunk.d.ts} +0 -0
  366. /package/{input-harness.d.d.ts → types/_input-harness-chunk.d.ts} +0 -0
  367. /package/{list-option-types.d.d.ts → types/_list-option-types-chunk.d.ts} +0 -0
  368. /package/{option.d.d.ts → types/_option-chunk.d.ts} +0 -0
  369. /package/{option-harness.d.d.ts → types/_option-harness-chunk.d.ts} +0 -0
  370. /package/{option-parent.d.d.ts → types/_option-parent-chunk.d.ts} +0 -0
  371. /package/{palette.d.d.ts → types/_palette-chunk.d.ts} +0 -0
  372. /package/{ripple-loader.d.d.ts → types/_ripple-loader-chunk.d.ts} +0 -0
  373. /package/{sort-direction.d.d.ts → types/_sort-direction-chunk.d.ts} +0 -0
  374. /package/{bottom-sheet/testing/index.d.ts → types/bottom-sheet-testing.d.ts} +0 -0
  375. /package/{card/testing/index.d.ts → types/card-testing.d.ts} +0 -0
  376. /package/{checkbox/testing/index.d.ts → types/checkbox-testing.d.ts} +0 -0
  377. /package/{chips/testing/index.d.ts → types/chips-testing.d.ts} +0 -0
  378. /package/{divider/testing/index.d.ts → types/divider-testing.d.ts} +0 -0
  379. /package/{expansion/testing/index.d.ts → types/expansion-testing.d.ts} +0 -0
  380. /package/{grid-list/testing/index.d.ts → types/grid-list-testing.d.ts} +0 -0
  381. /package/{index.d.ts → types/material.d.ts} +0 -0
  382. /package/{menu/testing/index.d.ts → types/menu-testing.d.ts} +0 -0
  383. /package/{progress-bar/testing/index.d.ts → types/progress-bar-testing.d.ts} +0 -0
  384. /package/{radio/testing/index.d.ts → types/radio-testing.d.ts} +0 -0
  385. /package/{select/testing/index.d.ts → types/select-testing.d.ts} +0 -0
  386. /package/{sidenav/testing/index.d.ts → types/sidenav-testing.d.ts} +0 -0
  387. /package/{slide-toggle/testing/index.d.ts → types/slide-toggle-testing.d.ts} +0 -0
  388. /package/{slider/testing/index.d.ts → types/slider-testing.d.ts} +0 -0
  389. /package/{snack-bar/testing/index.d.ts → types/snack-bar-testing.d.ts} +0 -0
  390. /package/{stepper/testing/index.d.ts → types/stepper-testing.d.ts} +0 -0
  391. /package/{tabs/testing/index.d.ts → types/tabs-testing.d.ts} +0 -0
  392. /package/{toolbar/testing/index.d.ts → types/toolbar-testing.d.ts} +0 -0
  393. /package/{tooltip/testing/index.d.ts → types/tooltip-testing.d.ts} +0 -0
  394. /package/{tree/testing/index.d.ts → types/tree-testing.d.ts} +0 -0
package/fesm2022/menu.mjs CHANGED
@@ -1,20 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, DOCUMENT, ChangeDetectorRef, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, TemplateRef, ApplicationRef, Injector, ViewContainerRef, Directive, QueryList, EventEmitter, afterNextRender, ContentChildren, ViewChild, ContentChild, Output, NgZone, Renderer2, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, DOCUMENT, ChangeDetectorRef, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, TemplateRef, ApplicationRef, Injector, ViewContainerRef, Directive, QueryList, signal, EventEmitter, afterNextRender, ContentChildren, ViewChild, ContentChild, Output, NgZone, Renderer2, NgModule } from '@angular/core';
3
3
  import { FocusMonitor, _IdGenerator, FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
4
4
  import { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, ESCAPE, hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';
5
5
  import { Subject, merge, Subscription, of } from 'rxjs';
6
6
  import { startWith, switchMap, takeUntil, take, filter, skipWhile } from 'rxjs/operators';
7
7
  import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
8
- import { _StructuralStylesLoader } from './structural-styles.mjs';
9
- import { MatRipple } from './ripple.mjs';
8
+ import { _StructuralStylesLoader } from './_structural-styles-chunk.mjs';
9
+ import { MatRipple } from './_ripple-chunk.mjs';
10
10
  import { TemplatePortal, DomPortalOutlet } from '@angular/cdk/portal';
11
- import { _animationsDisabled } from './animation.mjs';
12
- import { Directionality } from '@angular/cdk/bidi';
11
+ import { _animationsDisabled } from './_animation-chunk.mjs';
12
+ import { Directionality, BidiModule } from '@angular/cdk/bidi';
13
13
  import { createRepositionScrollStrategy, createOverlayRef, OverlayConfig, createFlexibleConnectedPositionStrategy, ViewportRuler, ScrollDispatcher, OverlayModule } from '@angular/cdk/overlay';
14
14
  import { _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';
15
15
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
16
- import { MatRippleModule } from './ripple-module.mjs';
17
- import { MatCommonModule } from './common-module.mjs';
16
+ import { MatRippleModule } from './_ripple-module-chunk.mjs';
18
17
  import '@angular/cdk/coercion';
19
18
  import '@angular/cdk/layout';
20
19
 
@@ -122,10 +121,10 @@ class MatMenuItem {
122
121
  _hasFocus() {
123
122
  return this._document && this._document.activeElement === this._getHostElement();
124
123
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-rc.1", type: MatMenuItem, isStandalone: true, selector: "[mat-menu-item]", inputs: { role: "role", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute] }, host: { listeners: { "click": "_checkDisabled($event)", "mouseenter": "_handleMouseEnter()" }, properties: { "attr.role": "role", "class.mat-mdc-menu-item-highlighted": "_highlighted", "class.mat-mdc-menu-item-submenu-trigger": "_triggersSubmenu", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "disabled", "attr.disabled": "disabled || null" }, classAttribute: "mat-mdc-menu-item mat-focus-indicator" }, exportAs: ["matMenuItem"], ngImport: i0, template: "<ng-content select=\"mat-icon, [matMenuItemIcon]\"></ng-content>\n<span class=\"mat-mdc-menu-item-text\"><ng-content></ng-content></span>\n<div class=\"mat-mdc-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n\n@if (_triggersSubmenu) {\n <svg\n class=\"mat-mdc-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"\n aria-hidden=\"true\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n}\n", dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
125
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-next.2", type: MatMenuItem, isStandalone: true, selector: "[mat-menu-item]", inputs: { role: "role", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute] }, host: { listeners: { "click": "_checkDisabled($event)", "mouseenter": "_handleMouseEnter()" }, properties: { "attr.role": "role", "class.mat-mdc-menu-item-highlighted": "_highlighted", "class.mat-mdc-menu-item-submenu-trigger": "_triggersSubmenu", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "disabled", "attr.disabled": "disabled || null" }, classAttribute: "mat-mdc-menu-item mat-focus-indicator" }, exportAs: ["matMenuItem"], ngImport: i0, template: "<ng-content select=\"mat-icon, [matMenuItemIcon]\"></ng-content>\n<span class=\"mat-mdc-menu-item-text\"><ng-content></ng-content></span>\n<div class=\"mat-mdc-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n\n@if (_triggersSubmenu) {\n <svg\n class=\"mat-mdc-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"\n aria-hidden=\"true\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n}\n", dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
127
126
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuItem, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuItem, decorators: [{
129
128
  type: Component,
130
129
  args: [{ selector: '[mat-menu-item]', exportAs: 'matMenuItem', host: {
131
130
  '[attr.role]': 'role',
@@ -234,10 +233,10 @@ class MatMenuContent {
234
233
  this.detach();
235
234
  this._outlet?.dispose();
236
235
  }
237
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
238
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: MatMenuContent, isStandalone: true, selector: "ng-template[matMenuContent]", providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }], ngImport: i0 });
236
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
237
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatMenuContent, isStandalone: true, selector: "ng-template[matMenuContent]", providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }], ngImport: i0 });
239
238
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuContent, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuContent, decorators: [{
241
240
  type: Directive,
242
241
  args: [{
243
242
  selector: 'ng-template[matMenuContent]',
@@ -248,21 +247,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ng
248
247
  /** Injection token to be used to override the default options for `mat-menu`. */
249
248
  const MAT_MENU_DEFAULT_OPTIONS = new InjectionToken('mat-menu-default-options', {
250
249
  providedIn: 'root',
251
- factory: MAT_MENU_DEFAULT_OPTIONS_FACTORY,
252
- });
253
- /**
254
- * @docs-private
255
- * @deprecated No longer used, will be removed.
256
- * @breaking-change 21.0.0
257
- */
258
- function MAT_MENU_DEFAULT_OPTIONS_FACTORY() {
259
- return {
250
+ factory: () => ({
260
251
  overlapTrigger: false,
261
252
  xPosition: 'after',
262
253
  yPosition: 'below',
263
254
  backdropClass: 'cdk-overlay-transparent-backdrop',
264
- };
265
- }
255
+ }),
256
+ });
266
257
  /** Name of the enter animation `@keyframes`. */
267
258
  const ENTER_ANIMATION = '_mat-menu-enter';
268
259
  /** Name of the exit animation `@keyframes`. */
@@ -289,7 +280,7 @@ class MatMenu {
289
280
  /** Emits whenever an animation on the menu completes. */
290
281
  _animationDone = new Subject();
291
282
  /** Whether the menu is animating. */
292
- _isAnimating = false;
283
+ _isAnimating = signal(false, ...(ngDevMode ? [{ debugName: "_isAnimating" }] : []));
293
284
  /** Parent menu of the current menu panel. */
294
285
  parentMenu;
295
286
  /** Layout direction of the menu. */
@@ -549,12 +540,12 @@ class MatMenu {
549
540
  this._exitFallbackTimeout = undefined;
550
541
  }
551
542
  this._animationDone.next(isExit ? 'void' : 'enter');
552
- this._isAnimating = false;
543
+ this._isAnimating.set(false);
553
544
  }
554
545
  }
555
546
  _onAnimationStart(state) {
556
547
  if (state === ENTER_ANIMATION || state === EXIT_ANIMATION) {
557
- this._isAnimating = true;
548
+ this._isAnimating.set(true);
558
549
  }
559
550
  }
560
551
  _setIsOpen(isOpen) {
@@ -613,16 +604,16 @@ class MatMenu {
613
604
  }
614
605
  return menuPanel;
615
606
  }
616
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
617
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.0-rc.1", type: MatMenu, isStandalone: true, selector: "mat-menu", inputs: { backdropClass: "backdropClass", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], xPosition: "xPosition", yPosition: "yPosition", overlapTrigger: ["overlapTrigger", "overlapTrigger", booleanAttribute], hasBackdrop: ["hasBackdrop", "hasBackdrop", (value) => (value == null ? null : booleanAttribute(value))], panelClass: ["class", "panelClass"], classList: "classList" }, outputs: { closed: "closed", close: "close" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], queries: [{ propertyName: "lazyContent", first: true, predicate: MAT_MENU_CONTENT, descendants: true }, { propertyName: "_allItems", predicate: MatMenuItem, descendants: true }, { propertyName: "items", predicate: MatMenuItem }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["matMenu"], ngImport: i0, template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
607
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
608
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.0-next.2", type: MatMenu, isStandalone: true, selector: "mat-menu", inputs: { backdropClass: "backdropClass", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], xPosition: "xPosition", yPosition: "yPosition", overlapTrigger: ["overlapTrigger", "overlapTrigger", booleanAttribute], hasBackdrop: ["hasBackdrop", "hasBackdrop", (value) => (value == null ? null : booleanAttribute(value))], panelClass: ["class", "panelClass"], classList: "classList" }, outputs: { closed: "closed", close: "close" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], queries: [{ propertyName: "lazyContent", first: true, predicate: MAT_MENU_CONTENT, descendants: true }, { propertyName: "_allItems", predicate: MatMenuItem, descendants: true }, { propertyName: "items", predicate: MatMenuItem }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["matMenu"], ngImport: i0, template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating()\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
618
609
  }
619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenu, decorators: [{
610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenu, decorators: [{
620
611
  type: Component,
621
612
  args: [{ selector: 'mat-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'matMenu', host: {
622
613
  '[attr.aria-label]': 'null',
623
614
  '[attr.aria-labelledby]': 'null',
624
615
  '[attr.aria-describedby]': 'null',
625
- }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"] }]
616
+ }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating()\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"] }]
626
617
  }], ctorParameters: () => [], propDecorators: { _allItems: [{
627
618
  type: ContentChildren,
628
619
  args: [MatMenuItem, { descendants: true }]
@@ -675,25 +666,6 @@ const MAT_MENU_SCROLL_STRATEGY = new InjectionToken('mat-menu-scroll-strategy',
675
666
  return () => createRepositionScrollStrategy(injector);
676
667
  },
677
668
  });
678
- /**
679
- * @docs-private
680
- * @deprecated No longer used, will be removed.
681
- * @breaking-change 21.0.0
682
- */
683
- function MAT_MENU_SCROLL_STRATEGY_FACTORY(_overlay) {
684
- const injector = inject(Injector);
685
- return () => createRepositionScrollStrategy(injector);
686
- }
687
- /**
688
- * @docs-private
689
- * @deprecated No longer used, will be removed.
690
- * @breaking-change 21.0.0
691
- */
692
- const MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER = {
693
- provide: MAT_MENU_SCROLL_STRATEGY,
694
- deps: [],
695
- useFactory: MAT_MENU_SCROLL_STRATEGY_FACTORY,
696
- };
697
669
  /**
698
670
  * Default top padding of the menu panel.
699
671
  * @deprecated No longer being used. Will be removed.
@@ -1031,10 +1003,10 @@ class MatMenuTriggerBase {
1031
1003
  _ownsMenu(menu) {
1032
1004
  return PANELS_TO_TRIGGERS.get(menu) === this;
1033
1005
  }
1034
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuTriggerBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1035
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: MatMenuTriggerBase, isStandalone: true, ngImport: i0 });
1006
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuTriggerBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1007
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatMenuTriggerBase, isStandalone: true, ngImport: i0 });
1036
1008
  }
1037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuTriggerBase, decorators: [{
1009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuTriggerBase, decorators: [{
1038
1010
  type: Directive
1039
1011
  }], ctorParameters: () => [{ type: undefined }] });
1040
1012
 
@@ -1174,7 +1146,10 @@ class MatMenuTrigger extends MatMenuTriggerBase {
1174
1146
  // Subscribe to changes in the hovered item in order to toggle the panel.
1175
1147
  if (this.triggersSubmenu() && this._parentMaterialMenu) {
1176
1148
  this._hoverSubscription = this._parentMaterialMenu._hovered().subscribe(active => {
1177
- if (active === this._menuItemInstance && !active.disabled) {
1149
+ if (active === this._menuItemInstance &&
1150
+ !active.disabled &&
1151
+ // Ignore hover events if the parent menu is in the process of being closed (see #31956).
1152
+ this._parentMaterialMenu?._panelAnimationState !== 'void') {
1178
1153
  this._openedBy = 'mouse';
1179
1154
  // Open the menu, but do NOT auto-focus on first item when just hovering.
1180
1155
  // When VoiceOver is enabled, this is particularly confusing as the focus will
@@ -1184,10 +1159,10 @@ class MatMenuTrigger extends MatMenuTriggerBase {
1184
1159
  });
1185
1160
  }
1186
1161
  }
1187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1188
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-rc.1", type: MatMenuTrigger, isStandalone: true, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: { _deprecatedMatMenuTriggerFor: ["mat-menu-trigger-for", "_deprecatedMatMenuTriggerFor"], menu: ["matMenuTriggerFor", "menu"], menuData: ["matMenuTriggerData", "menuData"], restoreFocus: ["matMenuTriggerRestoreFocus", "restoreFocus"] }, outputs: { menuOpened: "menuOpened", onMenuOpen: "onMenuOpen", menuClosed: "menuClosed", onMenuClose: "onMenuClose" }, host: { listeners: { "click": "_handleClick($event)", "mousedown": "_handleMousedown($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-haspopup": "menu ? \"menu\" : null", "attr.aria-expanded": "menuOpen", "attr.aria-controls": "menuOpen ? menu?.panelId : null" }, classAttribute: "mat-mdc-menu-trigger" }, exportAs: ["matMenuTrigger"], usesInheritance: true, ngImport: i0 });
1162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1163
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatMenuTrigger, isStandalone: true, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: { _deprecatedMatMenuTriggerFor: ["mat-menu-trigger-for", "_deprecatedMatMenuTriggerFor"], menu: ["matMenuTriggerFor", "menu"], menuData: ["matMenuTriggerData", "menuData"], restoreFocus: ["matMenuTriggerRestoreFocus", "restoreFocus"] }, outputs: { menuOpened: "menuOpened", onMenuOpen: "onMenuOpen", menuClosed: "menuClosed", onMenuClose: "onMenuClose" }, host: { listeners: { "click": "_handleClick($event)", "mousedown": "_handleMousedown($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-haspopup": "menu ? \"menu\" : null", "attr.aria-expanded": "menuOpen", "attr.aria-controls": "menuOpen ? menu?.panelId : null" }, classAttribute: "mat-mdc-menu-trigger" }, exportAs: ["matMenuTrigger"], usesInheritance: true, ngImport: i0 });
1189
1164
  }
1190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuTrigger, decorators: [{
1165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuTrigger, decorators: [{
1191
1166
  type: Directive,
1192
1167
  args: [{
1193
1168
  selector: '[mat-menu-trigger-for], [matMenuTriggerFor]',
@@ -1365,10 +1340,10 @@ class MatContextMenuTrigger extends MatMenuTriggerBase {
1365
1340
  overlayRef.updatePosition();
1366
1341
  }
1367
1342
  }
1368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1369
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-rc.1", type: MatContextMenuTrigger, isStandalone: true, selector: "[matContextMenuTriggerFor]", inputs: { menu: ["matContextMenuTriggerFor", "menu"], menuData: ["matContextMenuTriggerData", "menuData"], restoreFocus: ["matContextMenuTriggerRestoreFocus", "restoreFocus"], disabled: ["matContextMenuTriggerDisabled", "disabled", booleanAttribute] }, outputs: { menuOpened: "menuOpened", menuClosed: "menuClosed" }, host: { listeners: { "contextmenu": "_handleContextMenuEvent($event)" }, properties: { "class.mat-context-menu-trigger-disabled": "disabled", "attr.aria-controls": "menuOpen ? menu?.panelId : null" }, classAttribute: "mat-context-menu-trigger" }, exportAs: ["matContextMenuTrigger"], usesInheritance: true, ngImport: i0 });
1343
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1344
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-next.2", type: MatContextMenuTrigger, isStandalone: true, selector: "[matContextMenuTriggerFor]", inputs: { menu: ["matContextMenuTriggerFor", "menu"], menuData: ["matContextMenuTriggerData", "menuData"], restoreFocus: ["matContextMenuTriggerRestoreFocus", "restoreFocus"], disabled: ["matContextMenuTriggerDisabled", "disabled", booleanAttribute] }, outputs: { menuOpened: "menuOpened", menuClosed: "menuClosed" }, host: { listeners: { "contextmenu": "_handleContextMenuEvent($event)" }, properties: { "class.mat-context-menu-trigger-disabled": "disabled", "attr.aria-controls": "menuOpen ? menu?.panelId : null" }, classAttribute: "mat-context-menu-trigger" }, exportAs: ["matContextMenuTrigger"], usesInheritance: true, ngImport: i0 });
1370
1345
  }
1371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatContextMenuTrigger, decorators: [{
1346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatContextMenuTrigger, decorators: [{
1372
1347
  type: Directive,
1373
1348
  args: [{
1374
1349
  selector: '[matContextMenuTriggerFor]',
@@ -1399,32 +1374,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ng
1399
1374
  }] } });
1400
1375
 
1401
1376
  class MatMenuModule {
1402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1403
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuModule, imports: [MatRippleModule,
1404
- MatCommonModule,
1377
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1378
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuModule, imports: [MatRippleModule,
1405
1379
  OverlayModule,
1406
1380
  MatMenu,
1407
1381
  MatMenuItem,
1408
1382
  MatMenuContent,
1409
1383
  MatMenuTrigger,
1410
- MatContextMenuTrigger], exports: [CdkScrollableModule,
1384
+ MatContextMenuTrigger], exports: [BidiModule,
1385
+ CdkScrollableModule,
1411
1386
  MatMenu,
1412
- MatCommonModule,
1413
1387
  MatMenuItem,
1414
1388
  MatMenuContent,
1415
1389
  MatMenuTrigger,
1416
1390
  MatContextMenuTrigger] });
1417
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuModule, providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [MatRippleModule,
1418
- MatCommonModule,
1419
- OverlayModule, CdkScrollableModule,
1420
- MatCommonModule] });
1391
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuModule, imports: [MatRippleModule,
1392
+ OverlayModule, BidiModule,
1393
+ CdkScrollableModule] });
1421
1394
  }
1422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ngImport: i0, type: MatMenuModule, decorators: [{
1395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMenuModule, decorators: [{
1423
1396
  type: NgModule,
1424
1397
  args: [{
1425
1398
  imports: [
1426
1399
  MatRippleModule,
1427
- MatCommonModule,
1428
1400
  OverlayModule,
1429
1401
  MatMenu,
1430
1402
  MatMenuItem,
@@ -1433,136 +1405,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-rc.1", ng
1433
1405
  MatContextMenuTrigger,
1434
1406
  ],
1435
1407
  exports: [
1408
+ BidiModule,
1436
1409
  CdkScrollableModule,
1437
1410
  MatMenu,
1438
- MatCommonModule,
1439
1411
  MatMenuItem,
1440
1412
  MatMenuContent,
1441
1413
  MatMenuTrigger,
1442
1414
  MatContextMenuTrigger,
1443
1415
  ],
1444
- providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER],
1445
1416
  }]
1446
1417
  }] });
1447
1418
 
1448
- /**
1449
- * Animations used by the mat-menu component.
1450
- * Animation duration and timing values are based on:
1451
- * https://material.io/guidelines/components/menus.html#menus-usage
1452
- * @docs-private
1453
- * @deprecated No longer used, will be removed.
1454
- * @breaking-change 21.0.0
1455
- */
1456
- const matMenuAnimations = {
1457
- // Represents:
1458
- // trigger('transformMenu', [
1459
- // state(
1460
- // 'void',
1461
- // style({
1462
- // opacity: 0,
1463
- // transform: 'scale(0.8)',
1464
- // }),
1465
- // ),
1466
- // transition(
1467
- // 'void => enter',
1468
- // animate(
1469
- // '120ms cubic-bezier(0, 0, 0.2, 1)',
1470
- // style({
1471
- // opacity: 1,
1472
- // transform: 'scale(1)',
1473
- // }),
1474
- // ),
1475
- // ),
1476
- // transition('* => void', animate('100ms 25ms linear', style({opacity: 0}))),
1477
- // ])
1478
- /**
1479
- * This animation controls the menu panel's entry and exit from the page.
1480
- *
1481
- * When the menu panel is added to the DOM, it scales in and fades in its border.
1482
- *
1483
- * When the menu panel is removed from the DOM, it simply fades out after a brief
1484
- * delay to display the ripple.
1485
- */
1486
- transformMenu: {
1487
- type: 7,
1488
- name: 'transformMenu',
1489
- definitions: [
1490
- {
1491
- type: 0,
1492
- name: 'void',
1493
- styles: { type: 6, styles: { opacity: 0, transform: 'scale(0.8)' }, offset: null },
1494
- },
1495
- {
1496
- type: 1,
1497
- expr: 'void => enter',
1498
- animation: {
1499
- type: 4,
1500
- styles: { type: 6, styles: { opacity: 1, transform: 'scale(1)' }, offset: null },
1501
- timings: '120ms cubic-bezier(0, 0, 0.2, 1)',
1502
- },
1503
- options: null,
1504
- },
1505
- {
1506
- type: 1,
1507
- expr: '* => void',
1508
- animation: {
1509
- type: 4,
1510
- styles: { type: 6, styles: { opacity: 0 }, offset: null },
1511
- timings: '100ms 25ms linear',
1512
- },
1513
- options: null,
1514
- },
1515
- ],
1516
- options: {},
1517
- },
1518
- // Represents:
1519
- // trigger('fadeInItems', [
1520
- // // TODO(crisbeto): this is inside the `transformMenu`
1521
- // // now. Remove next time we do breaking changes.
1522
- // state('showing', style({opacity: 1})),
1523
- // transition('void => *', [
1524
- // style({opacity: 0}),
1525
- // animate('400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)'),
1526
- // ]),
1527
- // ])
1528
- /**
1529
- * This animation fades in the background color and content of the menu panel
1530
- * after its containing element is scaled in.
1531
- */
1532
- fadeInItems: {
1533
- type: 7,
1534
- name: 'fadeInItems',
1535
- definitions: [
1536
- {
1537
- type: 0,
1538
- name: 'showing',
1539
- styles: { type: 6, styles: { opacity: 1 }, offset: null },
1540
- },
1541
- {
1542
- type: 1,
1543
- expr: 'void => *',
1544
- animation: [
1545
- { type: 6, styles: { opacity: 0 }, offset: null },
1546
- { type: 4, styles: null, timings: '400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)' },
1547
- ],
1548
- options: null,
1549
- },
1550
- ],
1551
- options: {},
1552
- },
1553
- };
1554
- /**
1555
- * @deprecated
1556
- * @breaking-change 8.0.0
1557
- * @docs-private
1558
- */
1559
- const fadeInItems = matMenuAnimations.fadeInItems;
1560
- /**
1561
- * @deprecated
1562
- * @breaking-change 8.0.0
1563
- * @docs-private
1564
- */
1565
- const transformMenu = matMenuAnimations.transformMenu;
1566
-
1567
- export { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MENU_PANEL_TOP_PADDING, MatContextMenuTrigger, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger, fadeInItems, matMenuAnimations, transformMenu };
1419
+ export { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MENU_PANEL_TOP_PADDING, MatContextMenuTrigger, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger };
1568
1420
  //# sourceMappingURL=menu.mjs.map