@angular/material 21.0.0-next.1 → 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 (389) hide show
  1. package/chips/_m3-chip.scss +2 -5
  2. package/core/focus-indicators/_private.scss +16 -0
  3. package/core/tokens/_classes.scss +130 -145
  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} +1 -1
  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} +4 -4
  23. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  24. package/fesm2022/{icon-registry.mjs → _icon-registry-chunk.mjs} +3 -30
  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} +1 -1
  31. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  32. package/fesm2022/{line.mjs → _line-chunk.mjs} +6 -6
  33. package/fesm2022/_line-chunk.mjs.map +1 -0
  34. package/fesm2022/{option.mjs → _option-chunk.mjs} +6 -6
  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.mjs → _option-module-chunk.mjs} +9 -9
  39. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  40. package/fesm2022/{pseudo-checkbox.mjs → _pseudo-checkbox-chunk.mjs} +2 -2
  41. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  42. package/fesm2022/{pseudo-checkbox-module.mjs → _pseudo-checkbox-module-chunk.mjs} +7 -7
  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} +4 -4
  47. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  48. package/fesm2022/{ripple-loader.mjs → _ripple-loader-chunk.mjs} +3 -3
  49. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  50. package/fesm2022/{ripple-module.mjs → _ripple-module-chunk.mjs} +7 -7
  51. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  52. package/fesm2022/{structural-styles.mjs → _structural-styles-chunk.mjs} +1 -1
  53. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  54. package/fesm2022/{tooltip2.mjs → _tooltip-chunk.mjs} +8 -35
  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 +20 -52
  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 +6 -7
  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 +12 -90
  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 +17 -26
  73. package/fesm2022/button-toggle.mjs.map +1 -1
  74. package/fesm2022/button.mjs +24 -46
  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 +6 -8
  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 +21 -31
  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 +42 -22
  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 +17 -24
  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 +114 -268
  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 +5 -7
  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 +10 -114
  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 +9 -14
  117. package/fesm2022/grid-list.mjs.map +1 -1
  118. package/fesm2022/{icon/testing.mjs → icon-testing.mjs} +2 -2
  119. package/fesm2022/icon-testing.mjs.map +1 -0
  120. package/fesm2022/icon.mjs +17 -25
  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 → input-testing.mjs.map} +1 -1
  124. package/fesm2022/input.mjs +12 -13
  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 +14 -15
  129. package/fesm2022/list.mjs.map +1 -1
  130. package/fesm2022/{menu/testing.mjs → menu-testing.mjs} +1 -1
  131. package/fesm2022/menu-testing.mjs.map +1 -0
  132. package/fesm2022/menu.mjs +25 -173
  133. package/fesm2022/menu.mjs.map +1 -1
  134. package/fesm2022/{paginator/testing.mjs → paginator-testing.mjs} +2 -2
  135. package/fesm2022/paginator-testing.mjs.map +1 -0
  136. package/fesm2022/paginator.mjs +23 -44
  137. package/fesm2022/paginator.mjs.map +1 -1
  138. package/fesm2022/{progress-bar/testing.mjs → progress-bar-testing.mjs} +1 -1
  139. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  140. package/fesm2022/progress-bar.mjs +20 -25
  141. package/fesm2022/progress-bar.mjs.map +1 -1
  142. package/fesm2022/{progress-spinner/testing.mjs → progress-spinner-testing.mjs} +1 -1
  143. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  144. package/fesm2022/progress-spinner.mjs +7 -17
  145. package/fesm2022/progress-spinner.mjs.map +1 -1
  146. package/fesm2022/{radio/testing.mjs → radio-testing.mjs} +1 -1
  147. package/fesm2022/radio-testing.mjs.map +1 -0
  148. package/fesm2022/radio.mjs +16 -25
  149. package/fesm2022/radio.mjs.map +1 -1
  150. package/fesm2022/{select/testing.mjs → select-testing.mjs} +1 -1
  151. package/fesm2022/select-testing.mjs.map +1 -0
  152. package/fesm2022/select.mjs +1299 -96
  153. package/fesm2022/select.mjs.map +1 -1
  154. package/fesm2022/{sidenav/testing.mjs → sidenav-testing.mjs} +1 -1
  155. package/fesm2022/sidenav-testing.mjs.map +1 -0
  156. package/fesm2022/sidenav.mjs +10 -100
  157. package/fesm2022/sidenav.mjs.map +1 -1
  158. package/fesm2022/{slide-toggle/testing.mjs → slide-toggle-testing.mjs} +1 -1
  159. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  160. package/fesm2022/slide-toggle.mjs +9 -10
  161. package/fesm2022/slide-toggle.mjs.map +1 -1
  162. package/fesm2022/{slider/testing.mjs → slider-testing.mjs} +1 -1
  163. package/fesm2022/slider-testing.mjs.map +1 -0
  164. package/fesm2022/slider.mjs +11 -25
  165. package/fesm2022/slider.mjs.map +1 -1
  166. package/fesm2022/{snack-bar/testing.mjs → snack-bar-testing.mjs} +1 -1
  167. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  168. package/fesm2022/snack-bar.mjs +15 -109
  169. package/fesm2022/snack-bar.mjs.map +1 -1
  170. package/fesm2022/{sort/testing.mjs → sort-testing.mjs} +1 -1
  171. package/fesm2022/sort-testing.mjs.map +1 -0
  172. package/fesm2022/sort.mjs +11 -338
  173. package/fesm2022/sort.mjs.map +1 -1
  174. package/fesm2022/{stepper/testing.mjs → stepper-testing.mjs} +3 -2
  175. package/fesm2022/stepper-testing.mjs.map +1 -0
  176. package/fesm2022/stepper.mjs +19 -192
  177. package/fesm2022/stepper.mjs.map +1 -1
  178. package/fesm2022/{table/testing.mjs → table-testing.mjs} +36 -4
  179. package/fesm2022/table-testing.mjs.map +1 -0
  180. package/fesm2022/table.mjs +14 -11
  181. package/fesm2022/table.mjs.map +1 -1
  182. package/fesm2022/{tabs/testing.mjs → tabs-testing.mjs} +1 -1
  183. package/fesm2022/tabs-testing.mjs.map +1 -0
  184. package/fesm2022/tabs.mjs +27 -181
  185. package/fesm2022/tabs.mjs.map +1 -1
  186. package/fesm2022/{timepicker/testing.mjs → timepicker-testing.mjs} +2 -2
  187. package/fesm2022/timepicker-testing.mjs.map +1 -0
  188. package/fesm2022/timepicker.mjs +27 -21
  189. package/fesm2022/timepicker.mjs.map +1 -1
  190. package/fesm2022/{toolbar/testing.mjs → toolbar-testing.mjs} +1 -1
  191. package/fesm2022/toolbar-testing.mjs.map +1 -0
  192. package/fesm2022/toolbar.mjs +5 -7
  193. package/fesm2022/toolbar.mjs.map +1 -1
  194. package/fesm2022/{tooltip/testing.mjs → tooltip-testing.mjs} +1 -1
  195. package/fesm2022/tooltip-testing.mjs.map +1 -0
  196. package/fesm2022/tooltip.mjs +22 -55
  197. package/fesm2022/tooltip.mjs.map +1 -1
  198. package/fesm2022/{tree/testing.mjs → tree-testing.mjs} +1 -1
  199. package/fesm2022/tree-testing.mjs.map +1 -0
  200. package/fesm2022/tree.mjs +6 -8
  201. package/fesm2022/tree.mjs.map +1 -1
  202. package/package.json +115 -114
  203. package/prebuilt-themes/deeppurple-amber.css +1 -1
  204. package/prebuilt-themes/indigo-pink.css +1 -1
  205. package/prebuilt-themes/pink-bluegrey.css +1 -1
  206. package/prebuilt-themes/purple-green.css +1 -1
  207. package/schematics/ng-add/index.js +1 -1
  208. package/slider/_m2-slider.scss +1 -0
  209. package/slider/_m3-slider.scss +5 -2
  210. package/{badge.d.d.ts → types/_badge-chunk.d.ts} +1 -1
  211. package/{button-toggle.d.d.ts → types/_button-toggle-chunk.d.ts} +1 -7
  212. package/{date-adapter.d.d.ts → types/_date-adapter-chunk.d.ts} +1 -7
  213. package/{form-field.d.d.ts → types/_form-field-chunk.d.ts} +2 -2
  214. package/{form-field-module.d.d.ts → types/_form-field-module-chunk.d.ts} +4 -4
  215. package/{icon-module.d.d.ts → types/_icon-module-chunk.d.ts} +4 -10
  216. package/{icon-registry.d.d.ts → types/_icon-registry-chunk.d.ts} +2 -18
  217. package/{line.d.d.ts → types/_line-chunk.d.ts} +2 -2
  218. package/types/_option-module-chunk.d.ts +13 -0
  219. package/{paginator.d.d.ts → types/_paginator-chunk.d.ts} +4 -20
  220. package/{progress-spinner.d.d.ts → types/_progress-spinner-chunk.d.ts} +4 -10
  221. package/{pseudo-checkbox-module.d.d.ts → types/_pseudo-checkbox-module-chunk.d.ts} +2 -2
  222. package/{ripple.d.d.ts → types/_ripple-chunk.d.ts} +3 -3
  223. package/{ripple-module.d.d.ts → types/_ripple-module-chunk.d.ts} +3 -3
  224. package/{sort.d.d.ts → types/_sort-chunk.d.ts} +1 -1
  225. package/{autocomplete/testing/index.d.ts → types/autocomplete-testing.d.ts} +2 -2
  226. package/{autocomplete/index.d.ts → types/autocomplete.d.ts} +10 -33
  227. package/{badge/testing/index.d.ts → types/badge-testing.d.ts} +2 -2
  228. package/types/badge.d.ts +14 -0
  229. package/{bottom-sheet/index.d.ts → types/bottom-sheet.d.ts} +10 -14
  230. package/{button/testing/index.d.ts → types/button-testing.d.ts} +2 -0
  231. package/{button-toggle/testing/index.d.ts → types/button-toggle-testing.d.ts} +1 -1
  232. package/types/button-toggle.d.ts +16 -0
  233. package/{button/index.d.ts → types/button.d.ts} +7 -14
  234. package/{card/index.d.ts → types/card.d.ts} +2 -3
  235. package/{checkbox/index.d.ts → types/checkbox.d.ts} +4 -11
  236. package/{chips/index.d.ts → types/chips.d.ts} +55 -50
  237. package/{core/testing/index.d.ts → types/core-testing.d.ts} +1 -1
  238. package/{core/index.d.ts → types/core.d.ts} +14 -41
  239. package/{datepicker/testing/index.d.ts → types/datepicker-testing.d.ts} +2 -2
  240. package/{datepicker/index.d.ts → types/datepicker.d.ts} +48 -101
  241. package/{dialog/testing/index.d.ts → types/dialog-testing.d.ts} +1 -1
  242. package/{dialog/index.d.ts → types/dialog.d.ts} +9 -32
  243. package/{divider/index.d.ts → types/divider.d.ts} +2 -3
  244. package/{expansion/index.d.ts → types/expansion.d.ts} +5 -41
  245. package/{form-field/testing/control/index.d.ts → types/form-field-testing-control.d.ts} +1 -1
  246. package/{form-field/testing/index.d.ts → types/form-field-testing.d.ts} +4 -4
  247. package/{form-field/index.d.ts → types/form-field.d.ts} +6 -17
  248. package/{grid-list/index.d.ts → types/grid-list.d.ts} +3 -4
  249. package/{icon/testing/index.d.ts → types/icon-testing.d.ts} +1 -1
  250. package/types/icon.d.ts +8 -0
  251. package/{input/testing/index.d.ts → types/input-testing.d.ts} +2 -2
  252. package/{input/index.d.ts → types/input.d.ts} +10 -11
  253. package/{list/testing/index.d.ts → types/list-testing.d.ts} +2 -2
  254. package/{list/index.d.ts → types/list.d.ts} +10 -11
  255. package/{menu/index.d.ts → types/menu.d.ts} +7 -48
  256. package/{paginator/testing/index.d.ts → types/paginator-testing.d.ts} +1 -1
  257. package/types/paginator.d.ts +35 -0
  258. package/{progress-bar/index.d.ts → types/progress-bar.d.ts} +4 -11
  259. package/{progress-spinner/testing/index.d.ts → types/progress-spinner-testing.d.ts} +2 -2
  260. package/{progress-spinner/index.d.ts → types/progress-spinner.d.ts} +5 -6
  261. package/{radio/index.d.ts → types/radio.d.ts} +6 -13
  262. package/{select-module.d.d.ts → types/select.d.ts} +19 -26
  263. package/{sidenav/index.d.ts → types/sidenav.d.ts} +4 -21
  264. package/{slide-toggle/index.d.ts → types/slide-toggle.d.ts} +3 -4
  265. package/{slider/index.d.ts → types/slider.d.ts} +5 -5
  266. package/{snack-bar/index.d.ts → types/snack-bar.d.ts} +9 -25
  267. package/{sort/testing/index.d.ts → types/sort-testing.d.ts} +1 -1
  268. package/{sort/index.d.ts → types/sort.d.ts} +8 -40
  269. package/{stepper/index.d.ts → types/stepper.d.ts} +11 -39
  270. package/{table/testing/index.d.ts → types/table-testing.d.ts} +27 -1
  271. package/{table/index.d.ts → types/table.d.ts} +11 -11
  272. package/{tabs/index.d.ts → types/tabs.d.ts} +6 -22
  273. package/{timepicker/testing/index.d.ts → types/timepicker-testing.d.ts} +1 -1
  274. package/{timepicker/index.d.ts → types/timepicker.d.ts} +151 -130
  275. package/{toolbar/index.d.ts → types/toolbar.d.ts} +2 -3
  276. package/{tooltip-module.d.d.ts → types/tooltip.d.ts} +7 -29
  277. package/{tree/index.d.ts → types/tree.d.ts} +2 -3
  278. package/badge/index.d.ts +0 -15
  279. package/button-toggle/index.d.ts +0 -17
  280. package/common-module.d.d.ts +0 -44
  281. package/fesm2022/animation.mjs.map +0 -1
  282. package/fesm2022/autocomplete/testing.mjs.map +0 -1
  283. package/fesm2022/badge/testing.mjs.map +0 -1
  284. package/fesm2022/bottom-sheet/testing.mjs.map +0 -1
  285. package/fesm2022/button/testing.mjs.map +0 -1
  286. package/fesm2022/button-toggle/testing.mjs.map +0 -1
  287. package/fesm2022/card/testing.mjs.map +0 -1
  288. package/fesm2022/checkbox/testing.mjs.map +0 -1
  289. package/fesm2022/chips/testing.mjs.map +0 -1
  290. package/fesm2022/common-module.mjs +0 -42
  291. package/fesm2022/common-module.mjs.map +0 -1
  292. package/fesm2022/core/testing.mjs.map +0 -1
  293. package/fesm2022/date-formats.mjs.map +0 -1
  294. package/fesm2022/date-range-input-harness.mjs.map +0 -1
  295. package/fesm2022/datepicker/testing.mjs.map +0 -1
  296. package/fesm2022/dialog/testing.mjs.map +0 -1
  297. package/fesm2022/dialog-module.mjs +0 -891
  298. package/fesm2022/dialog-module.mjs.map +0 -1
  299. package/fesm2022/divider/testing.mjs.map +0 -1
  300. package/fesm2022/error-options.mjs.map +0 -1
  301. package/fesm2022/error-state.mjs.map +0 -1
  302. package/fesm2022/expansion/testing.mjs.map +0 -1
  303. package/fesm2022/form-field/testing/control.mjs.map +0 -1
  304. package/fesm2022/form-field/testing.mjs.map +0 -1
  305. package/fesm2022/form-field-module.mjs +0 -39
  306. package/fesm2022/form-field-module.mjs.map +0 -1
  307. package/fesm2022/form-field2.mjs +0 -1114
  308. package/fesm2022/form-field2.mjs.map +0 -1
  309. package/fesm2022/grid-list/testing.mjs.map +0 -1
  310. package/fesm2022/icon/testing.mjs.map +0 -1
  311. package/fesm2022/icon-button.mjs.map +0 -1
  312. package/fesm2022/icon-registry.mjs.map +0 -1
  313. package/fesm2022/input-harness.mjs.map +0 -1
  314. package/fesm2022/input-value-accessor.mjs.map +0 -1
  315. package/fesm2022/internal-form-field.mjs.map +0 -1
  316. package/fesm2022/line.mjs.map +0 -1
  317. package/fesm2022/list/testing.mjs.map +0 -1
  318. package/fesm2022/menu/testing.mjs.map +0 -1
  319. package/fesm2022/option-harness.mjs.map +0 -1
  320. package/fesm2022/option-module.mjs.map +0 -1
  321. package/fesm2022/option.mjs.map +0 -1
  322. package/fesm2022/paginator/testing.mjs.map +0 -1
  323. package/fesm2022/progress-bar/testing.mjs.map +0 -1
  324. package/fesm2022/progress-spinner/testing.mjs.map +0 -1
  325. package/fesm2022/pseudo-checkbox-module.mjs.map +0 -1
  326. package/fesm2022/pseudo-checkbox.mjs.map +0 -1
  327. package/fesm2022/public-api.mjs.map +0 -1
  328. package/fesm2022/radio/testing.mjs.map +0 -1
  329. package/fesm2022/ripple-loader.mjs.map +0 -1
  330. package/fesm2022/ripple-module.mjs.map +0 -1
  331. package/fesm2022/ripple.mjs.map +0 -1
  332. package/fesm2022/select/testing.mjs.map +0 -1
  333. package/fesm2022/select-module.mjs +0 -1318
  334. package/fesm2022/select-module.mjs.map +0 -1
  335. package/fesm2022/sidenav/testing.mjs.map +0 -1
  336. package/fesm2022/slide-toggle/testing.mjs.map +0 -1
  337. package/fesm2022/slider/testing.mjs.map +0 -1
  338. package/fesm2022/snack-bar/testing.mjs.map +0 -1
  339. package/fesm2022/sort/testing.mjs.map +0 -1
  340. package/fesm2022/stepper/testing.mjs.map +0 -1
  341. package/fesm2022/structural-styles.mjs.map +0 -1
  342. package/fesm2022/table/testing.mjs.map +0 -1
  343. package/fesm2022/tabs/testing.mjs.map +0 -1
  344. package/fesm2022/timepicker/testing.mjs.map +0 -1
  345. package/fesm2022/toolbar/testing.mjs.map +0 -1
  346. package/fesm2022/tooltip/testing.mjs.map +0 -1
  347. package/fesm2022/tooltip-module.mjs +0 -24
  348. package/fesm2022/tooltip-module.mjs.map +0 -1
  349. package/fesm2022/tooltip2.mjs.map +0 -1
  350. package/fesm2022/tree/testing.mjs.map +0 -1
  351. package/icon/index.d.ts +0 -9
  352. package/option-module.d.d.ts +0 -13
  353. package/paginator/index.d.ts +0 -36
  354. package/select/index.d.ts +0 -38
  355. package/tooltip/index.d.ts +0 -21
  356. /package/{date-range-input-harness.d.d.ts → types/_date-range-input-harness-chunk.d.ts} +0 -0
  357. /package/{dialog.d.d.ts → types/_dialog-chunk.d.ts} +0 -0
  358. /package/{error-options.d.d.ts → types/_error-options-chunk.d.ts} +0 -0
  359. /package/{form-field-control.d.d.ts → types/_form-field-control-chunk.d.ts} +0 -0
  360. /package/{form-field-control-harness.d.d.ts → types/_form-field-control-harness-chunk.d.ts} +0 -0
  361. /package/{input-harness.d.d.ts → types/_input-harness-chunk.d.ts} +0 -0
  362. /package/{list-option-types.d.d.ts → types/_list-option-types-chunk.d.ts} +0 -0
  363. /package/{option.d.d.ts → types/_option-chunk.d.ts} +0 -0
  364. /package/{option-harness.d.d.ts → types/_option-harness-chunk.d.ts} +0 -0
  365. /package/{option-parent.d.d.ts → types/_option-parent-chunk.d.ts} +0 -0
  366. /package/{palette.d.d.ts → types/_palette-chunk.d.ts} +0 -0
  367. /package/{ripple-loader.d.d.ts → types/_ripple-loader-chunk.d.ts} +0 -0
  368. /package/{sort-direction.d.d.ts → types/_sort-direction-chunk.d.ts} +0 -0
  369. /package/{bottom-sheet/testing/index.d.ts → types/bottom-sheet-testing.d.ts} +0 -0
  370. /package/{card/testing/index.d.ts → types/card-testing.d.ts} +0 -0
  371. /package/{checkbox/testing/index.d.ts → types/checkbox-testing.d.ts} +0 -0
  372. /package/{chips/testing/index.d.ts → types/chips-testing.d.ts} +0 -0
  373. /package/{divider/testing/index.d.ts → types/divider-testing.d.ts} +0 -0
  374. /package/{expansion/testing/index.d.ts → types/expansion-testing.d.ts} +0 -0
  375. /package/{grid-list/testing/index.d.ts → types/grid-list-testing.d.ts} +0 -0
  376. /package/{index.d.ts → types/material.d.ts} +0 -0
  377. /package/{menu/testing/index.d.ts → types/menu-testing.d.ts} +0 -0
  378. /package/{progress-bar/testing/index.d.ts → types/progress-bar-testing.d.ts} +0 -0
  379. /package/{radio/testing/index.d.ts → types/radio-testing.d.ts} +0 -0
  380. /package/{select/testing/index.d.ts → types/select-testing.d.ts} +0 -0
  381. /package/{sidenav/testing/index.d.ts → types/sidenav-testing.d.ts} +0 -0
  382. /package/{slide-toggle/testing/index.d.ts → types/slide-toggle-testing.d.ts} +0 -0
  383. /package/{slider/testing/index.d.ts → types/slider-testing.d.ts} +0 -0
  384. /package/{snack-bar/testing/index.d.ts → types/snack-bar-testing.d.ts} +0 -0
  385. /package/{stepper/testing/index.d.ts → types/stepper-testing.d.ts} +0 -0
  386. /package/{tabs/testing/index.d.ts → types/tabs-testing.d.ts} +0 -0
  387. /package/{toolbar/testing/index.d.ts → types/toolbar-testing.d.ts} +0 -0
  388. /package/{tooltip/testing/index.d.ts → types/tooltip-testing.d.ts} +0 -0
  389. /package/{tree/testing/index.d.ts → types/tree-testing.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, ElementRef, NgZone, EventEmitter, Injector, Renderer2, afterNextRender, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, Optional, SkipSelf, InjectionToken, ChangeDetectorRef, ViewChild, ViewContainerRef, DOCUMENT, booleanAttribute, Directive, forwardRef, signal, HostAttributeToken, ContentChild, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, inject, ElementRef, NgZone, EventEmitter, Injector, Renderer2, afterNextRender, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, InjectionToken, ChangeDetectorRef, signal, ViewChild, ViewContainerRef, DOCUMENT, booleanAttribute, Directive, forwardRef, HostAttributeToken, ContentChild, TemplateRef, NgModule } from '@angular/core';
3
3
  import { Subject, Subscription, merge, of } from 'rxjs';
4
- import { DateAdapter, MAT_DATE_FORMATS } from './date-formats.mjs';
4
+ import { DateAdapter, MAT_DATE_FORMATS } from './_date-formats-chunk.mjs';
5
5
  import { _IdGenerator, CdkMonitorFocus, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
6
- import { Directionality } from '@angular/cdk/bidi';
6
+ import { Directionality, BidiModule } from '@angular/cdk/bidi';
7
7
  import { coerceStringArray } from '@angular/cdk/coercion';
8
8
  import { ESCAPE, hasModifierKey, SPACE, ENTER, PAGE_DOWN, PAGE_UP, END, HOME, DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, BACKSPACE } from '@angular/cdk/keycodes';
9
9
  import { createRepositionScrollStrategy, FlexibleConnectedPositionStrategy, createOverlayRef, OverlayConfig, createBlockScrollStrategy, createGlobalPositionStrategy, createFlexibleConnectedPositionStrategy, OverlayModule } from '@angular/cdk/overlay';
@@ -12,21 +12,20 @@ import { ComponentPortal, CdkPortalOutlet, TemplatePortal, PortalModule } from '
12
12
  import { startWith, take, filter } from 'rxjs/operators';
13
13
  import { NgClass } from '@angular/common';
14
14
  import { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';
15
- import { _StructuralStylesLoader } from './structural-styles.mjs';
15
+ import { _StructuralStylesLoader } from './_structural-styles-chunk.mjs';
16
16
  import { MatButton, MatButtonModule } from './button.mjs';
17
- import { MatIconButton } from './icon-button.mjs';
18
- import { MatTooltip } from './tooltip2.mjs';
19
- import { _animationsDisabled } from './animation.mjs';
17
+ import { MatIconButton } from './_icon-button-chunk.mjs';
18
+ import { MatTooltip } from './_tooltip-chunk.mjs';
19
+ import { _animationsDisabled } from './_animation-chunk.mjs';
20
20
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, ControlContainer, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
21
- import { MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor.mjs';
22
- import { MAT_FORM_FIELD, MatFormFieldControl } from './form-field2.mjs';
23
- import { ErrorStateMatcher } from './error-options.mjs';
24
- import { _ErrorStateTracker } from './error-state.mjs';
21
+ import { MAT_INPUT_VALUE_ACCESSOR } from './_input-value-accessor-chunk.mjs';
22
+ import { MAT_FORM_FIELD, MatFormFieldControl } from './_form-field-chunk.mjs';
23
+ import { ErrorStateMatcher } from './_error-options-chunk.mjs';
24
+ import { _ErrorStateTracker } from './_error-state-chunk.mjs';
25
25
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
26
- import { MatCommonModule } from './common-module.mjs';
27
- import './ripple-module.mjs';
28
- import './ripple.mjs';
29
- import './ripple-loader.mjs';
26
+ import './_ripple-module-chunk.mjs';
27
+ import './_ripple-chunk.mjs';
28
+ import './_ripple-loader-chunk.mjs';
30
29
  import '@angular/cdk/layout';
31
30
  import '@angular/cdk/observers/private';
32
31
 
@@ -547,7 +546,9 @@ class MatCalendarBody {
547
546
  const row = cell.getAttribute('data-mat-row');
548
547
  const col = cell.getAttribute('data-mat-col');
549
548
  if (row && col) {
550
- return this.rows[parseInt(row)][parseInt(col)];
549
+ // We need the optional read here, because this can
550
+ // fire too late when the user is navigating quickly.
551
+ return this.rows[parseInt(row)]?.[parseInt(col)] || null;
551
552
  }
552
553
  }
553
554
  return null;
@@ -809,43 +810,27 @@ class MatRangeDateSelectionModel extends MatDateSelectionModel {
809
810
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatRangeDateSelectionModel, decorators: [{
810
811
  type: Injectable
811
812
  }], ctorParameters: () => [{ type: DateAdapter }] });
812
- /**
813
- * @docs-private
814
- * @deprecated No longer used, will be removed.
815
- * @breaking-change 21.0.0
816
- */
817
- function MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent, adapter) {
818
- return parent || new MatSingleDateSelectionModel(adapter);
819
- }
820
813
  /**
821
814
  * Used to provide a single selection model to a component.
822
815
  * @docs-private
823
- * @deprecated No longer used, will be removed.
824
- * @breaking-change 21.0.0
825
816
  */
826
817
  const MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER = {
827
818
  provide: MatDateSelectionModel,
828
- deps: [[new Optional(), new SkipSelf(), MatDateSelectionModel], DateAdapter],
829
- useFactory: MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY,
819
+ useFactory: () => {
820
+ const parent = inject(MatDateSelectionModel, { optional: true, skipSelf: true });
821
+ return parent || new MatSingleDateSelectionModel(inject(DateAdapter));
822
+ },
830
823
  };
831
- /**
832
- * @docs-private
833
- * @deprecated No longer used, will be removed.
834
- * @breaking-change 21.0.0
835
- */
836
- function MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent, adapter) {
837
- return parent || new MatRangeDateSelectionModel(adapter);
838
- }
839
824
  /**
840
825
  * Used to provide a range selection model to a component.
841
826
  * @docs-private
842
- * @deprecated No longer used, will be removed.
843
- * @breaking-change 21.0.0
844
827
  */
845
828
  const MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER = {
846
829
  provide: MatDateSelectionModel,
847
- deps: [[new Optional(), new SkipSelf(), MatDateSelectionModel], DateAdapter],
848
- useFactory: MAT_RANGE_DATE_SELECTION_MODEL_FACTORY,
830
+ useFactory: () => {
831
+ const parent = inject(MatDateSelectionModel, { optional: true, skipSelf: true });
832
+ return parent || new MatRangeDateSelectionModel(inject(DateAdapter));
833
+ },
849
834
  };
850
835
 
851
836
  /** Injection token used to customize the date range selection behavior. */
@@ -923,24 +908,6 @@ class DefaultMatCalendarRangeStrategy {
923
908
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: DefaultMatCalendarRangeStrategy, decorators: [{
924
909
  type: Injectable
925
910
  }], ctorParameters: () => [{ type: DateAdapter }] });
926
- /**
927
- * @docs-private
928
- * @deprecated No longer used, will be removed.
929
- * @breaking-change 21.0.0
930
- */
931
- function MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY(parent, adapter) {
932
- return parent || new DefaultMatCalendarRangeStrategy(adapter);
933
- }
934
- /**
935
- * @docs-private
936
- * @deprecated No longer used, will be removed.
937
- * @breaking-change 21.0.0
938
- */
939
- const MAT_CALENDAR_RANGE_STRATEGY_PROVIDER = {
940
- provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
941
- deps: [[new Optional(), new SkipSelf(), MAT_DATE_RANGE_SELECTION_STRATEGY], DateAdapter],
942
- useFactory: MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY,
943
- };
944
911
 
945
912
  const DAYS_PER_WEEK = 7;
946
913
  let uniqueIdCounter = 0;
@@ -1033,29 +1000,29 @@ class MatMonthView {
1033
1000
  /** The body of calendar table */
1034
1001
  _matCalendarBody;
1035
1002
  /** The label for this month (e.g. "January 2017"). */
1036
- _monthLabel;
1003
+ _monthLabel = signal('', ...(ngDevMode ? [{ debugName: "_monthLabel" }] : []));
1037
1004
  /** Grid of calendar cells representing the dates of the month. */
1038
- _weeks;
1005
+ _weeks = signal([], ...(ngDevMode ? [{ debugName: "_weeks" }] : []));
1039
1006
  /** The number of blank cells in the first row before the 1st of the month. */
1040
- _firstWeekOffset;
1007
+ _firstWeekOffset = signal(0, ...(ngDevMode ? [{ debugName: "_firstWeekOffset" }] : []));
1041
1008
  /** Start value of the currently-shown date range. */
1042
- _rangeStart;
1009
+ _rangeStart = signal(null, ...(ngDevMode ? [{ debugName: "_rangeStart" }] : []));
1043
1010
  /** End value of the currently-shown date range. */
1044
- _rangeEnd;
1011
+ _rangeEnd = signal(null, ...(ngDevMode ? [{ debugName: "_rangeEnd" }] : []));
1045
1012
  /** Start value of the currently-shown comparison date range. */
1046
- _comparisonRangeStart;
1013
+ _comparisonRangeStart = signal(null, ...(ngDevMode ? [{ debugName: "_comparisonRangeStart" }] : []));
1047
1014
  /** End value of the currently-shown comparison date range. */
1048
- _comparisonRangeEnd;
1015
+ _comparisonRangeEnd = signal(null, ...(ngDevMode ? [{ debugName: "_comparisonRangeEnd" }] : []));
1049
1016
  /** Start of the preview range. */
1050
- _previewStart;
1017
+ _previewStart = signal(null, ...(ngDevMode ? [{ debugName: "_previewStart" }] : []));
1051
1018
  /** End of the preview range. */
1052
- _previewEnd;
1019
+ _previewEnd = signal(null, ...(ngDevMode ? [{ debugName: "_previewEnd" }] : []));
1053
1020
  /** Whether the user is currently selecting a range of dates. */
1054
- _isRange;
1021
+ _isRange = signal(false, ...(ngDevMode ? [{ debugName: "_isRange" }] : []));
1055
1022
  /** The date of the month that today falls on. Null if today is in another month. */
1056
- _todayDate;
1023
+ _todayDate = signal(null, ...(ngDevMode ? [{ debugName: "_todayDate" }] : []));
1057
1024
  /** The names of the weekdays. */
1058
- _weekdays;
1025
+ _weekdays = signal([], ...(ngDevMode ? [{ debugName: "_weekdays" }] : []));
1059
1026
  constructor() {
1060
1027
  inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);
1061
1028
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
@@ -1174,7 +1141,7 @@ class MatMonthView {
1174
1141
  return;
1175
1142
  case ESCAPE:
1176
1143
  // Abort the current range selection if the user presses escape mid-selection.
1177
- if (this._previewEnd != null && !hasModifierKey(event)) {
1144
+ if (this._previewEnd() != null && !hasModifierKey(event)) {
1178
1145
  this._clearPreview();
1179
1146
  // If a drag is in progress, cancel the drag without changing the
1180
1147
  // current selection.
@@ -1212,17 +1179,16 @@ class MatMonthView {
1212
1179
  /** Initializes this month view. */
1213
1180
  _init() {
1214
1181
  this._setRanges(this.selected);
1215
- this._todayDate = this._getCellCompareValue(this._dateAdapter.today());
1216
- this._monthLabel = this._dateFormats.display.monthLabel
1182
+ this._todayDate.set(this._getCellCompareValue(this._dateAdapter.today()));
1183
+ this._monthLabel.set(this._dateFormats.display.monthLabel
1217
1184
  ? this._dateAdapter.format(this.activeDate, this._dateFormats.display.monthLabel)
1218
1185
  : this._dateAdapter
1219
- .getMonthNames('short')[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();
1186
+ .getMonthNames('short')[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase());
1220
1187
  let firstOfMonth = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), 1);
1221
- this._firstWeekOffset =
1222
- (DAYS_PER_WEEK +
1223
- this._dateAdapter.getDayOfWeek(firstOfMonth) -
1224
- this._dateAdapter.getFirstDayOfWeek()) %
1225
- DAYS_PER_WEEK;
1188
+ this._firstWeekOffset.set((DAYS_PER_WEEK +
1189
+ this._dateAdapter.getDayOfWeek(firstOfMonth) -
1190
+ this._dateAdapter.getFirstDayOfWeek()) %
1191
+ DAYS_PER_WEEK);
1226
1192
  this._initWeekdays();
1227
1193
  this._createWeekCells();
1228
1194
  this._changeDetectorRef.markForCheck();
@@ -1242,20 +1208,15 @@ class MatMonthView {
1242
1208
  // events aren't fired for single date selections.
1243
1209
  const value = cell ? cell.rawValue : null;
1244
1210
  const previewRange = this._rangeStrategy.createPreview(value, this.selected, event);
1245
- this._previewStart = this._getCellCompareValue(previewRange.start);
1246
- this._previewEnd = this._getCellCompareValue(previewRange.end);
1211
+ this._previewStart.set(this._getCellCompareValue(previewRange.start));
1212
+ this._previewEnd.set(this._getCellCompareValue(previewRange.end));
1247
1213
  if (this.activeDrag && value) {
1248
1214
  const dragRange = this._rangeStrategy.createDrag?.(this.activeDrag.value, this.selected, value, event);
1249
1215
  if (dragRange) {
1250
- this._previewStart = this._getCellCompareValue(dragRange.start);
1251
- this._previewEnd = this._getCellCompareValue(dragRange.end);
1216
+ this._previewStart.set(this._getCellCompareValue(dragRange.start));
1217
+ this._previewEnd.set(this._getCellCompareValue(dragRange.end));
1252
1218
  }
1253
1219
  }
1254
- // Note that here we need to use `detectChanges`, rather than `markForCheck`, because
1255
- // the way `_focusActiveCell` is set up at the moment makes it fire at the wrong time
1256
- // when navigating one month back using the keyboard which will cause this handler
1257
- // to throw a "changed after checked" error when updating the preview state.
1258
- this._changeDetectorRef.detectChanges();
1259
1220
  }
1260
1221
  }
1261
1222
  /**
@@ -1287,27 +1248,28 @@ class MatMonthView {
1287
1248
  const narrowWeekdays = this._dateAdapter.getDayOfWeekNames('narrow');
1288
1249
  const longWeekdays = this._dateAdapter.getDayOfWeekNames('long');
1289
1250
  // Rotate the labels for days of the week based on the configured first day of the week.
1290
- let weekdays = longWeekdays.map((long, i) => {
1251
+ const weekdays = longWeekdays.map((long, i) => {
1291
1252
  return { long, narrow: narrowWeekdays[i], id: uniqueIdCounter++ };
1292
1253
  });
1293
- this._weekdays = weekdays.slice(firstDayOfWeek).concat(weekdays.slice(0, firstDayOfWeek));
1254
+ this._weekdays.set(weekdays.slice(firstDayOfWeek).concat(weekdays.slice(0, firstDayOfWeek)));
1294
1255
  }
1295
1256
  /** Creates MatCalendarCells for the dates in this month. */
1296
1257
  _createWeekCells() {
1297
1258
  const daysInMonth = this._dateAdapter.getNumDaysInMonth(this.activeDate);
1298
1259
  const dateNames = this._dateAdapter.getDateNames();
1299
- this._weeks = [[]];
1300
- for (let i = 0, cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {
1260
+ const weeks = [[]];
1261
+ for (let i = 0, cell = this._firstWeekOffset(); i < daysInMonth; i++, cell++) {
1301
1262
  if (cell == DAYS_PER_WEEK) {
1302
- this._weeks.push([]);
1263
+ weeks.push([]);
1303
1264
  cell = 0;
1304
1265
  }
1305
1266
  const date = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), i + 1);
1306
1267
  const enabled = this._shouldEnableDate(date);
1307
1268
  const ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.dateA11yLabel);
1308
1269
  const cellClasses = this.dateClass ? this.dateClass(date, 'month') : undefined;
1309
- this._weeks[this._weeks.length - 1].push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled, cellClasses, this._getCellCompareValue(date), date));
1270
+ weeks[weeks.length - 1].push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled, cellClasses, this._getCellCompareValue(date), date));
1310
1271
  }
1272
+ this._weeks.set(weeks);
1311
1273
  }
1312
1274
  /** Date filter for the month */
1313
1275
  _shouldEnableDate(date) {
@@ -1351,16 +1313,17 @@ class MatMonthView {
1351
1313
  /** Sets the current range based on a model value. */
1352
1314
  _setRanges(selectedValue) {
1353
1315
  if (selectedValue instanceof DateRange) {
1354
- this._rangeStart = this._getCellCompareValue(selectedValue.start);
1355
- this._rangeEnd = this._getCellCompareValue(selectedValue.end);
1356
- this._isRange = true;
1316
+ this._rangeStart.set(this._getCellCompareValue(selectedValue.start));
1317
+ this._rangeEnd.set(this._getCellCompareValue(selectedValue.end));
1318
+ this._isRange.set(true);
1357
1319
  }
1358
1320
  else {
1359
- this._rangeStart = this._rangeEnd = this._getCellCompareValue(selectedValue);
1360
- this._isRange = false;
1321
+ this._rangeStart.set(this._getCellCompareValue(selectedValue));
1322
+ this._rangeEnd.set(this._rangeStart());
1323
+ this._isRange.set(false);
1361
1324
  }
1362
- this._comparisonRangeStart = this._getCellCompareValue(this.comparisonStart);
1363
- this._comparisonRangeEnd = this._getCellCompareValue(this.comparisonEnd);
1325
+ this._comparisonRangeStart.set(this._getCellCompareValue(this.comparisonStart));
1326
+ this._comparisonRangeEnd.set(this._getCellCompareValue(this.comparisonEnd));
1364
1327
  }
1365
1328
  /** Gets whether a date can be selected in the month view. */
1366
1329
  _canSelect(date) {
@@ -1368,14 +1331,15 @@ class MatMonthView {
1368
1331
  }
1369
1332
  /** Clears out preview state. */
1370
1333
  _clearPreview() {
1371
- this._previewStart = this._previewEnd = null;
1334
+ this._previewStart.set(null);
1335
+ this._previewEnd.set(null);
1372
1336
  }
1373
1337
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMonthView, deps: [], target: i0.ɵɵFactoryTarget.Component });
1374
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-next.2", type: MatMonthView, isStandalone: true, selector: "mat-month-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startDateAccessibleName: "startDateAccessibleName", endDateAccessibleName: "endDateAccessibleName", activeDrag: "activeDrag" }, outputs: { selectedChange: "selectedChange", _userSelection: "_userSelection", dragStarted: "dragStarted", dragEnded: "dragEnded", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matMonthView"], usesOnChanges: true, ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead class=\"mat-calendar-table-header\">\n <tr>\n @for (day of _weekdays; track day.id) {\n <th scope=\"col\">\n <span class=\"cdk-visually-hidden\">{{day.long}}</span>\n <span aria-hidden=\"true\">{{day.narrow}}</span>\n </th>\n }\n </tr>\n <tr aria-hidden=\"true\"><th class=\"mat-calendar-table-header-divider\" colspan=\"7\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_monthLabel\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [startValue]=\"_rangeStart!\"\n [endValue]=\"_rangeEnd!\"\n [comparisonStart]=\"_comparisonRangeStart\"\n [comparisonEnd]=\"_comparisonRangeEnd\"\n [previewStart]=\"_previewStart\"\n [previewEnd]=\"_previewEnd\"\n [isRange]=\"_isRange\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"_dateAdapter.getDate(activeDate) - 1\"\n [startDateAccessibleName]=\"startDateAccessibleName\"\n [endDateAccessibleName]=\"endDateAccessibleName\"\n (selectedValueChange)=\"_dateSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (previewChange)=\"_previewChanged($event)\"\n (dragStarted)=\"dragStarted.emit($event)\"\n (dragEnded)=\"_dragEnded($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1338
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-next.2", type: MatMonthView, isStandalone: true, selector: "mat-month-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startDateAccessibleName: "startDateAccessibleName", endDateAccessibleName: "endDateAccessibleName", activeDrag: "activeDrag" }, outputs: { selectedChange: "selectedChange", _userSelection: "_userSelection", dragStarted: "dragStarted", dragEnded: "dragEnded", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matMonthView"], usesOnChanges: true, ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead class=\"mat-calendar-table-header\">\n <tr>\n @for (day of _weekdays(); track day.id) {\n <th scope=\"col\">\n <span class=\"cdk-visually-hidden\">{{day.long}}</span>\n <span aria-hidden=\"true\">{{day.narrow}}</span>\n </th>\n }\n </tr>\n <tr aria-hidden=\"true\"><th class=\"mat-calendar-table-header-divider\" colspan=\"7\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_monthLabel()\"\n [rows]=\"_weeks()\"\n [todayValue]=\"_todayDate()!\"\n [startValue]=\"_rangeStart()!\"\n [endValue]=\"_rangeEnd()!\"\n [comparisonStart]=\"_comparisonRangeStart()\"\n [comparisonEnd]=\"_comparisonRangeEnd()\"\n [previewStart]=\"_previewStart()\"\n [previewEnd]=\"_previewEnd()\"\n [isRange]=\"_isRange()\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"_dateAdapter.getDate(activeDate) - 1\"\n [startDateAccessibleName]=\"startDateAccessibleName\"\n [endDateAccessibleName]=\"endDateAccessibleName\"\n (selectedValueChange)=\"_dateSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (previewChange)=\"_previewChanged($event)\"\n (dragStarted)=\"dragStarted.emit($event)\"\n (dragEnded)=\"_dragEnded($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1375
1339
  }
1376
1340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMonthView, decorators: [{
1377
1341
  type: Component,
1378
- args: [{ selector: 'mat-month-view', exportAs: 'matMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead class=\"mat-calendar-table-header\">\n <tr>\n @for (day of _weekdays; track day.id) {\n <th scope=\"col\">\n <span class=\"cdk-visually-hidden\">{{day.long}}</span>\n <span aria-hidden=\"true\">{{day.narrow}}</span>\n </th>\n }\n </tr>\n <tr aria-hidden=\"true\"><th class=\"mat-calendar-table-header-divider\" colspan=\"7\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_monthLabel\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [startValue]=\"_rangeStart!\"\n [endValue]=\"_rangeEnd!\"\n [comparisonStart]=\"_comparisonRangeStart\"\n [comparisonEnd]=\"_comparisonRangeEnd\"\n [previewStart]=\"_previewStart\"\n [previewEnd]=\"_previewEnd\"\n [isRange]=\"_isRange\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"_dateAdapter.getDate(activeDate) - 1\"\n [startDateAccessibleName]=\"startDateAccessibleName\"\n [endDateAccessibleName]=\"endDateAccessibleName\"\n (selectedValueChange)=\"_dateSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (previewChange)=\"_previewChanged($event)\"\n (dragStarted)=\"dragStarted.emit($event)\"\n (dragEnded)=\"_dragEnded($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
1342
+ args: [{ selector: 'mat-month-view', exportAs: 'matMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead class=\"mat-calendar-table-header\">\n <tr>\n @for (day of _weekdays(); track day.id) {\n <th scope=\"col\">\n <span class=\"cdk-visually-hidden\">{{day.long}}</span>\n <span aria-hidden=\"true\">{{day.narrow}}</span>\n </th>\n }\n </tr>\n <tr aria-hidden=\"true\"><th class=\"mat-calendar-table-header-divider\" colspan=\"7\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_monthLabel()\"\n [rows]=\"_weeks()\"\n [todayValue]=\"_todayDate()!\"\n [startValue]=\"_rangeStart()!\"\n [endValue]=\"_rangeEnd()!\"\n [comparisonStart]=\"_comparisonRangeStart()\"\n [comparisonEnd]=\"_comparisonRangeEnd()\"\n [previewStart]=\"_previewStart()\"\n [previewEnd]=\"_previewEnd()\"\n [isRange]=\"_isRange()\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"_dateAdapter.getDate(activeDate) - 1\"\n [startDateAccessibleName]=\"startDateAccessibleName\"\n [endDateAccessibleName]=\"endDateAccessibleName\"\n (selectedValueChange)=\"_dateSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (previewChange)=\"_previewChanged($event)\"\n (dragStarted)=\"dragStarted.emit($event)\"\n (dragEnded)=\"_dragEnded($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
1379
1343
  }], ctorParameters: () => [], propDecorators: { activeDate: [{
1380
1344
  type: Input
1381
1345
  }], selected: [{
@@ -1483,11 +1447,11 @@ class MatMultiYearView {
1483
1447
  /** The body of calendar table */
1484
1448
  _matCalendarBody;
1485
1449
  /** Grid of calendar cells representing the currently displayed years. */
1486
- _years;
1450
+ _years = signal([], ...(ngDevMode ? [{ debugName: "_years" }] : []));
1487
1451
  /** The year that today falls on. */
1488
- _todayYear;
1452
+ _todayYear = signal(0, ...(ngDevMode ? [{ debugName: "_todayYear" }] : []));
1489
1453
  /** The year of the selected date. Null if the selected date is null. */
1490
- _selectedYear;
1454
+ _selectedYear = signal(null, ...(ngDevMode ? [{ debugName: "_selectedYear" }] : []));
1491
1455
  constructor() {
1492
1456
  if (!this._dateAdapter && (typeof ngDevMode === 'undefined' || ngDevMode)) {
1493
1457
  throw createMissingDateImplError('DateAdapter');
@@ -1504,7 +1468,7 @@ class MatMultiYearView {
1504
1468
  }
1505
1469
  /** Initializes this multi-year view. */
1506
1470
  _init() {
1507
- this._todayYear = this._dateAdapter.getYear(this._dateAdapter.today());
1471
+ this._todayYear.set(this._dateAdapter.getYear(this._dateAdapter.today()));
1508
1472
  // We want a range years such that we maximize the number of
1509
1473
  // enabled dates visible at once. This prevents issues where the minimum year
1510
1474
  // is the last item of a page OR the maximum year is the first item of a page.
@@ -1512,14 +1476,15 @@ class MatMultiYearView {
1512
1476
  // *actual* first rendered year in the multi-year view.
1513
1477
  const activeYear = this._dateAdapter.getYear(this._activeDate);
1514
1478
  const minYearOfPage = activeYear - getActiveOffset(this._dateAdapter, this.activeDate, this.minDate, this.maxDate);
1515
- this._years = [];
1479
+ const years = [];
1516
1480
  for (let i = 0, row = []; i < yearsPerPage; i++) {
1517
1481
  row.push(minYearOfPage + i);
1518
1482
  if (row.length == yearsPerRow) {
1519
- this._years.push(row.map(year => this._createCellForYear(year)));
1483
+ years.push(row.map(year => this._createCellForYear(year)));
1520
1484
  row = [];
1521
1485
  }
1522
1486
  }
1487
+ this._years.set(years);
1523
1488
  this._changeDetectorRef.markForCheck();
1524
1489
  }
1525
1490
  /** Handles when a new year is selected. */
@@ -1663,23 +1628,23 @@ class MatMultiYearView {
1663
1628
  }
1664
1629
  /** Sets the currently-highlighted year based on a model value. */
1665
1630
  _setSelectedYear(value) {
1666
- this._selectedYear = null;
1631
+ this._selectedYear.set(null);
1667
1632
  if (value instanceof DateRange) {
1668
1633
  const displayValue = value.start || value.end;
1669
1634
  if (displayValue) {
1670
- this._selectedYear = this._dateAdapter.getYear(displayValue);
1635
+ this._selectedYear.set(this._dateAdapter.getYear(displayValue));
1671
1636
  }
1672
1637
  }
1673
1638
  else if (value) {
1674
- this._selectedYear = this._dateAdapter.getYear(value);
1639
+ this._selectedYear.set(this._dateAdapter.getYear(value));
1675
1640
  }
1676
1641
  }
1677
1642
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMultiYearView, deps: [], target: i0.ɵɵFactoryTarget.Component });
1678
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatMultiYearView, isStandalone: true, selector: "mat-multi-year-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", yearSelected: "yearSelected", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matMultiYearView"], ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]=\"_years\"\n [todayValue]=\"_todayYear\"\n [startValue]=\"_selectedYear!\"\n [endValue]=\"_selectedYear!\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_getActiveCell()\"\n (selectedValueChange)=\"_yearSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1643
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatMultiYearView, isStandalone: true, selector: "mat-multi-year-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", yearSelected: "yearSelected", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matMultiYearView"], ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]=\"_years()\"\n [todayValue]=\"_todayYear()\"\n [startValue]=\"_selectedYear()!\"\n [endValue]=\"_selectedYear()!\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_getActiveCell()\"\n (selectedValueChange)=\"_yearSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1679
1644
  }
1680
1645
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatMultiYearView, decorators: [{
1681
1646
  type: Component,
1682
- args: [{ selector: 'mat-multi-year-view', exportAs: 'matMultiYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]=\"_years\"\n [todayValue]=\"_todayYear\"\n [startValue]=\"_selectedYear!\"\n [endValue]=\"_selectedYear!\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_getActiveCell()\"\n (selectedValueChange)=\"_yearSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
1647
+ args: [{ selector: 'mat-multi-year-view', exportAs: 'matMultiYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]=\"_years()\"\n [todayValue]=\"_todayYear()\"\n [startValue]=\"_selectedYear()!\"\n [endValue]=\"_selectedYear()!\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_getActiveCell()\"\n (selectedValueChange)=\"_yearSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
1683
1648
  }], ctorParameters: () => [], propDecorators: { activeDate: [{
1684
1649
  type: Input
1685
1650
  }], selected: [{
@@ -1807,16 +1772,16 @@ class MatYearView {
1807
1772
  /** The body of calendar table */
1808
1773
  _matCalendarBody;
1809
1774
  /** Grid of calendar cells representing the months of the year. */
1810
- _months;
1775
+ _months = signal([], ...(ngDevMode ? [{ debugName: "_months" }] : []));
1811
1776
  /** The label for this year (e.g. "2017"). */
1812
- _yearLabel;
1777
+ _yearLabel = signal('', ...(ngDevMode ? [{ debugName: "_yearLabel" }] : []));
1813
1778
  /** The month in this year that today falls on. Null if today is in a different year. */
1814
- _todayMonth;
1779
+ _todayMonth = signal(null, ...(ngDevMode ? [{ debugName: "_todayMonth" }] : []));
1815
1780
  /**
1816
1781
  * The month in this year that the selected Date falls on.
1817
1782
  * Null if the selected Date is in a different year.
1818
1783
  */
1819
- _selectedMonth;
1784
+ _selectedMonth = signal(null, ...(ngDevMode ? [{ debugName: "_selectedMonth" }] : []));
1820
1785
  constructor() {
1821
1786
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
1822
1787
  if (!this._dateAdapter) {
@@ -1925,15 +1890,15 @@ class MatYearView {
1925
1890
  /** Initializes this year view. */
1926
1891
  _init() {
1927
1892
  this._setSelectedMonth(this.selected);
1928
- this._todayMonth = this._getMonthInCurrentYear(this._dateAdapter.today());
1929
- this._yearLabel = this._dateAdapter.getYearName(this.activeDate);
1893
+ this._todayMonth.set(this._getMonthInCurrentYear(this._dateAdapter.today()));
1894
+ this._yearLabel.set(this._dateAdapter.getYearName(this.activeDate));
1930
1895
  let monthNames = this._dateAdapter.getMonthNames('short');
1931
1896
  // First row of months only contains 5 elements so we can fit the year label on the same row.
1932
- this._months = [
1897
+ this._months.set([
1933
1898
  [0, 1, 2, 3],
1934
1899
  [4, 5, 6, 7],
1935
1900
  [8, 9, 10, 11],
1936
- ].map(row => row.map(month => this._createCellForMonth(month, monthNames[month])));
1901
+ ].map(row => row.map(month => this._createCellForMonth(month, monthNames[month]))));
1937
1902
  this._changeDetectorRef.markForCheck();
1938
1903
  }
1939
1904
  /** Focuses the active cell after the microtask queue is empty. */
@@ -2021,19 +1986,18 @@ class MatYearView {
2021
1986
  /** Sets the currently-selected month based on a model value. */
2022
1987
  _setSelectedMonth(value) {
2023
1988
  if (value instanceof DateRange) {
2024
- this._selectedMonth =
2025
- this._getMonthInCurrentYear(value.start) || this._getMonthInCurrentYear(value.end);
1989
+ this._selectedMonth.set(this._getMonthInCurrentYear(value.start) || this._getMonthInCurrentYear(value.end));
2026
1990
  }
2027
1991
  else {
2028
- this._selectedMonth = this._getMonthInCurrentYear(value);
1992
+ this._selectedMonth.set(this._getMonthInCurrentYear(value));
2029
1993
  }
2030
1994
  }
2031
1995
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatYearView, deps: [], target: i0.ɵɵFactoryTarget.Component });
2032
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatYearView, isStandalone: true, selector: "mat-year-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", monthSelected: "monthSelected", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matYearView"], ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_yearLabel\"\n [rows]=\"_months\"\n [todayValue]=\"_todayMonth!\"\n [startValue]=\"_selectedMonth!\"\n [endValue]=\"_selectedMonth!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_dateAdapter.getMonth(activeDate)\"\n (selectedValueChange)=\"_monthSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1996
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatYearView, isStandalone: true, selector: "mat-year-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", monthSelected: "monthSelected", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "_matCalendarBody", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: ["matYearView"], ngImport: i0, template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_yearLabel()\"\n [rows]=\"_months()\"\n [todayValue]=\"_todayMonth()!\"\n [startValue]=\"_selectedMonth()!\"\n [endValue]=\"_selectedMonth()!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_dateAdapter.getMonth(activeDate)\"\n (selectedValueChange)=\"_monthSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: MatCalendarBody, selector: "[mat-calendar-body]", inputs: ["label", "rows", "todayValue", "startValue", "endValue", "labelMinRequiredCells", "numCols", "activeCell", "isRange", "cellAspectRatio", "comparisonStart", "comparisonEnd", "previewStart", "previewEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedValueChange", "previewChange", "activeDateChange", "dragStarted", "dragEnded"], exportAs: ["matCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2033
1997
  }
2034
1998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatYearView, decorators: [{
2035
1999
  type: Component,
2036
- args: [{ selector: 'mat-year-view', exportAs: 'matYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_yearLabel\"\n [rows]=\"_months\"\n [todayValue]=\"_todayMonth!\"\n [startValue]=\"_selectedMonth!\"\n [endValue]=\"_selectedMonth!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_dateAdapter.getMonth(activeDate)\"\n (selectedValueChange)=\"_monthSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
2000
+ args: [{ selector: 'mat-year-view', exportAs: 'matYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCalendarBody], template: "<table class=\"mat-calendar-table\" role=\"grid\">\n <thead aria-hidden=\"true\" class=\"mat-calendar-table-header\">\n <tr><th class=\"mat-calendar-table-header-divider\" colspan=\"4\"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]=\"_yearLabel()\"\n [rows]=\"_months()\"\n [todayValue]=\"_todayMonth()!\"\n [startValue]=\"_selectedMonth()!\"\n [endValue]=\"_selectedMonth()!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_dateAdapter.getMonth(activeDate)\"\n (selectedValueChange)=\"_monthSelected($event)\"\n (activeDateChange)=\"_updateActiveDate($event)\"\n (keyup)=\"_handleCalendarBodyKeyup($event)\"\n (keydown)=\"_handleCalendarBodyKeydown($event)\">\n </tbody>\n</table>\n" }]
2037
2001
  }], ctorParameters: () => [], propDecorators: { activeDate: [{
2038
2002
  type: Input
2039
2003
  }], selected: [{
@@ -2504,25 +2468,6 @@ const MAT_DATEPICKER_SCROLL_STRATEGY = new InjectionToken('mat-datepicker-scroll
2504
2468
  return () => createRepositionScrollStrategy(injector);
2505
2469
  },
2506
2470
  });
2507
- /**
2508
- * @docs-private
2509
- * @deprecated No longer used, will be removed.
2510
- * @breaking-change 21.0.0
2511
- */
2512
- function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(_overlay) {
2513
- const injector = inject(Injector);
2514
- return () => createRepositionScrollStrategy(injector);
2515
- }
2516
- /**
2517
- * @docs-private
2518
- * @deprecated No longer used, will be removed.
2519
- * @breaking-change 21.0.0
2520
- */
2521
- const MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {
2522
- provide: MAT_DATEPICKER_SCROLL_STRATEGY,
2523
- deps: [],
2524
- useFactory: MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY,
2525
- };
2526
2471
  /**
2527
2472
  * Component used as the content for the datepicker overlay. We use this instead of using
2528
2473
  * MatCalendar directly as the content so we can control the initial focus. This also gives us a
@@ -4595,7 +4540,13 @@ class MatDateRangePicker extends MatDatepickerBase {
4595
4540
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatDateRangePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
4596
4541
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatDateRangePicker, isStandalone: true, selector: "mat-date-range-picker", providers: [
4597
4542
  MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER,
4598
- MAT_CALENDAR_RANGE_STRATEGY_PROVIDER,
4543
+ {
4544
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
4545
+ useFactory: () => {
4546
+ const parent = inject(MAT_DATE_RANGE_SELECTION_STRATEGY, { optional: true, skipSelf: true });
4547
+ return parent || new DefaultMatCalendarRangeStrategy(inject(DateAdapter));
4548
+ },
4549
+ },
4599
4550
  { provide: MatDatepickerBase, useExisting: MatDateRangePicker },
4600
4551
  ], exportAs: ["matDateRangePicker"], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4601
4552
  }
@@ -4609,7 +4560,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
4609
4560
  encapsulation: ViewEncapsulation.None,
4610
4561
  providers: [
4611
4562
  MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER,
4612
- MAT_CALENDAR_RANGE_STRATEGY_PROVIDER,
4563
+ {
4564
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
4565
+ useFactory: () => {
4566
+ const parent = inject(MAT_DATE_RANGE_SELECTION_STRATEGY, { optional: true, skipSelf: true });
4567
+ return parent || new DefaultMatCalendarRangeStrategy(inject(DateAdapter));
4568
+ },
4569
+ },
4613
4570
  { provide: MatDatepickerBase, useExisting: MatDateRangePicker },
4614
4571
  ],
4615
4572
  }]
@@ -4697,7 +4654,6 @@ class MatDatepickerModule {
4697
4654
  OverlayModule,
4698
4655
  A11yModule,
4699
4656
  PortalModule,
4700
- MatCommonModule,
4701
4657
  MatCalendar,
4702
4658
  MatCalendarBody,
4703
4659
  MatDatepicker,
@@ -4715,7 +4671,8 @@ class MatDatepickerModule {
4715
4671
  MatDateRangePicker,
4716
4672
  MatDatepickerActions,
4717
4673
  MatDatepickerCancel,
4718
- MatDatepickerApply], exports: [CdkScrollableModule,
4674
+ MatDatepickerApply], exports: [BidiModule,
4675
+ CdkScrollableModule,
4719
4676
  MatCalendar,
4720
4677
  MatCalendarBody,
4721
4678
  MatDatepicker,
@@ -4734,14 +4691,14 @@ class MatDatepickerModule {
4734
4691
  MatDatepickerActions,
4735
4692
  MatDatepickerCancel,
4736
4693
  MatDatepickerApply] });
4737
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatDatepickerModule, providers: [MatDatepickerIntl, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [MatButtonModule,
4694
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatDatepickerModule, providers: [MatDatepickerIntl], imports: [MatButtonModule,
4738
4695
  OverlayModule,
4739
4696
  A11yModule,
4740
4697
  PortalModule,
4741
- MatCommonModule,
4742
4698
  MatDatepickerContent,
4743
4699
  MatDatepickerToggle,
4744
- MatCalendarHeader, CdkScrollableModule] });
4700
+ MatCalendarHeader, BidiModule,
4701
+ CdkScrollableModule] });
4745
4702
  }
4746
4703
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatDatepickerModule, decorators: [{
4747
4704
  type: NgModule,
@@ -4751,7 +4708,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
4751
4708
  OverlayModule,
4752
4709
  A11yModule,
4753
4710
  PortalModule,
4754
- MatCommonModule,
4755
4711
  MatCalendar,
4756
4712
  MatCalendarBody,
4757
4713
  MatDatepicker,
@@ -4772,6 +4728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
4772
4728
  MatDatepickerApply,
4773
4729
  ],
4774
4730
  exports: [
4731
+ BidiModule,
4775
4732
  CdkScrollableModule,
4776
4733
  MatCalendar,
4777
4734
  MatCalendarBody,
@@ -4792,120 +4749,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2",
4792
4749
  MatDatepickerCancel,
4793
4750
  MatDatepickerApply,
4794
4751
  ],
4795
- providers: [MatDatepickerIntl, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER],
4752
+ providers: [MatDatepickerIntl],
4796
4753
  }]
4797
4754
  }] });
4798
4755
 
4799
- /**
4800
- * Animations used by the Material datepicker.
4801
- * @docs-private
4802
- * @deprecated No longer used, will be removed.
4803
- * @breaking-change 21.0.0
4804
- */
4805
- const matDatepickerAnimations = {
4806
- // Represents:
4807
- // trigger('transformPanel', [
4808
- // transition(
4809
- // 'void => enter-dropdown',
4810
- // animate(
4811
- // '120ms cubic-bezier(0, 0, 0.2, 1)',
4812
- // keyframes([
4813
- // style({opacity: 0, transform: 'scale(1, 0.8)'}),
4814
- // style({opacity: 1, transform: 'scale(1, 1)'}),
4815
- // ]),
4816
- // ),
4817
- // ),
4818
- // transition(
4819
- // 'void => enter-dialog',
4820
- // animate(
4821
- // '150ms cubic-bezier(0, 0, 0.2, 1)',
4822
- // keyframes([
4823
- // style({opacity: 0, transform: 'scale(0.7)'}),
4824
- // style({transform: 'none', opacity: 1}),
4825
- // ]),
4826
- // ),
4827
- // ),
4828
- // transition('* => void', animate('100ms linear', style({opacity: 0}))),
4829
- // ])
4830
- /** Transforms the height of the datepicker's calendar. */
4831
- transformPanel: {
4832
- type: 7,
4833
- name: 'transformPanel',
4834
- definitions: [
4835
- {
4836
- type: 1,
4837
- expr: 'void => enter-dropdown',
4838
- animation: {
4839
- type: 4,
4840
- styles: {
4841
- type: 5,
4842
- steps: [
4843
- { type: 6, styles: { opacity: 0, transform: 'scale(1, 0.8)' }, offset: null },
4844
- { type: 6, styles: { opacity: 1, transform: 'scale(1, 1)' }, offset: null },
4845
- ],
4846
- },
4847
- timings: '120ms cubic-bezier(0, 0, 0.2, 1)',
4848
- },
4849
- options: null,
4850
- },
4851
- {
4852
- type: 1,
4853
- expr: 'void => enter-dialog',
4854
- animation: {
4855
- type: 4,
4856
- styles: {
4857
- type: 5,
4858
- steps: [
4859
- { type: 6, styles: { opacity: 0, transform: 'scale(0.7)' }, offset: null },
4860
- { type: 6, styles: { transform: 'none', opacity: 1 }, offset: null },
4861
- ],
4862
- },
4863
- timings: '150ms cubic-bezier(0, 0, 0.2, 1)',
4864
- },
4865
- options: null,
4866
- },
4867
- {
4868
- type: 1,
4869
- expr: '* => void',
4870
- animation: {
4871
- type: 4,
4872
- styles: { type: 6, styles: { opacity: 0 }, offset: null },
4873
- timings: '100ms linear',
4874
- },
4875
- options: null,
4876
- },
4877
- ],
4878
- options: {},
4879
- },
4880
- // Represents:
4881
- // trigger('fadeInCalendar', [
4882
- // state('void', style({opacity: 0})),
4883
- // state('enter', style({opacity: 1})),
4884
- // // TODO(crisbeto): this animation should be removed since it isn't quite on spec, but we
4885
- // // need to keep it until #12440 gets in, otherwise the exit animation will look glitchy.
4886
- // transition('void => *', animate('120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')),
4887
- // ])
4888
- /** Fades in the content of the calendar. */
4889
- fadeInCalendar: {
4890
- type: 7,
4891
- name: 'fadeInCalendar',
4892
- definitions: [
4893
- { type: 0, name: 'void', styles: { type: 6, styles: { opacity: 0 }, offset: null } },
4894
- { type: 0, name: 'enter', styles: { type: 6, styles: { opacity: 1 }, offset: null } },
4895
- {
4896
- type: 1,
4897
- expr: 'void => *',
4898
- animation: {
4899
- type: 4,
4900
- styles: null,
4901
- timings: '120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)',
4902
- },
4903
- options: null,
4904
- },
4905
- ],
4906
- options: {},
4907
- },
4908
- };
4909
-
4910
- export { DateRange, DefaultMatCalendarRangeStrategy, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_DATEPICKER_VALIDATORS, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATE_RANGE_SELECTION_STRATEGY, MAT_RANGE_DATE_SELECTION_MODEL_FACTORY, MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER, MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY, MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER, MatCalendar, MatCalendarBody, MatCalendarCell, MatCalendarHeader, MatDateRangeInput, MatDateRangePicker, MatDateSelectionModel, MatDatepicker, MatDatepickerActions, MatDatepickerApply, MatDatepickerCancel, MatDatepickerContent, MatDatepickerInput, MatDatepickerInputEvent, MatDatepickerIntl, MatDatepickerModule, MatDatepickerToggle, MatDatepickerToggleIcon, MatEndDate, MatMonthView, MatMultiYearView, MatRangeDateSelectionModel, MatSingleDateSelectionModel, MatStartDate, MatYearView, matDatepickerAnimations, yearsPerPage, yearsPerRow };
4756
+ export { DateRange, DefaultMatCalendarRangeStrategy, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_VALIDATORS, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATE_RANGE_SELECTION_STRATEGY, MatCalendar, MatCalendarBody, MatCalendarCell, MatCalendarHeader, MatDateRangeInput, MatDateRangePicker, MatDateSelectionModel, MatDatepicker, MatDatepickerActions, MatDatepickerApply, MatDatepickerCancel, MatDatepickerContent, MatDatepickerInput, MatDatepickerInputEvent, MatDatepickerIntl, MatDatepickerModule, MatDatepickerToggle, MatDatepickerToggleIcon, MatEndDate, MatMonthView, MatMultiYearView, MatRangeDateSelectionModel, MatSingleDateSelectionModel, MatStartDate, MatYearView, yearsPerPage, yearsPerRow };
4911
4757
  //# sourceMappingURL=datepicker.mjs.map