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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/_autocomplete-theme.scss +18 -18
  3. package/{core/tokens/m2/mat/_autocomplete.scss → autocomplete/_m2-autocomplete.scss} +7 -7
  4. package/{core/tokens/m3/mat/_autocomplete.scss → autocomplete/_m3-autocomplete.scss} +4 -4
  5. package/autocomplete/index.d.ts +100 -127
  6. package/autocomplete/testing/index.d.ts +7 -11
  7. package/badge/_badge-theme.scss +21 -21
  8. package/{core/tokens/m2/mat/_badge.scss → badge/_m2-badge.scss} +6 -6
  9. package/{core/tokens/m3/mat/_badge.scss → badge/_m3-badge.scss} +28 -27
  10. package/badge/index.d.ts +8 -112
  11. package/badge/testing/index.d.ts +8 -8
  12. package/badge.d-D0iThVg0.d.ts +99 -0
  13. package/bottom-sheet/_bottom-sheet-theme.scss +15 -15
  14. package/{core/tokens/m2/mat/_bottom-sheet.scss → bottom-sheet/_m2-bottom-sheet.scss} +6 -6
  15. package/{core/tokens/m3/mat/_bottom-sheet.scss → bottom-sheet/_m3-bottom-sheet.scss} +5 -5
  16. package/bottom-sheet/index.d.ts +91 -103
  17. package/bottom-sheet/testing/index.d.ts +5 -6
  18. package/button/_button-theme.scss +34 -333
  19. package/button/_fab-theme.scss +23 -128
  20. package/button/_icon-button-theme.scss +29 -36
  21. package/button/_m2-button.scss +249 -0
  22. package/button/_m2-fab.scss +132 -0
  23. package/{core/tokens/m2/mat/_icon-button.scss → button/_m2-icon-button.scss} +35 -26
  24. package/button/_m3-button.scss +260 -0
  25. package/button/_m3-fab.scss +187 -0
  26. package/{core/tokens/m3/mat/_icon-button.scss → button/_m3-icon-button.scss} +32 -7
  27. package/button/index.d.ts +107 -135
  28. package/button/testing/index.d.ts +14 -10
  29. package/button-toggle/_button-toggle-theme.scss +26 -44
  30. package/{core/tokens/m2/mat/_standard-button-toggle.scss → button-toggle/_m2-button-toggle.scss} +40 -20
  31. package/{core/tokens/m3/mat/_standard-button-toggle.scss → button-toggle/_m3-button-toggle.scss} +24 -9
  32. package/button-toggle/index.d.ts +12 -285
  33. package/button-toggle/testing/index.d.ts +39 -37
  34. package/button-toggle.d-B_G01PhW.d.ts +258 -0
  35. package/card/_card-theme.scss +18 -70
  36. package/{core/tokens/m2/mat/_card.scss → card/_m2-card.scss} +20 -18
  37. package/card/_m3-card.scss +48 -0
  38. package/card/index.d.ts +81 -117
  39. package/card/testing/index.d.ts +12 -15
  40. package/checkbox/_checkbox-theme.scss +30 -52
  41. package/{core/tokens/m2/mdc/_checkbox.scss → checkbox/_m2-checkbox.scss} +31 -53
  42. package/checkbox/_m3-checkbox.scss +103 -0
  43. package/checkbox/index.d.ts +45 -105
  44. package/checkbox/testing/index.d.ts +7 -10
  45. package/chips/_chips-theme.scss +24 -67
  46. package/chips/_m2-chip.scss +127 -0
  47. package/chips/_m3-chip.scss +129 -0
  48. package/chips/index.d.ts +624 -694
  49. package/chips/testing/index.d.ts +79 -93
  50. package/common-module.d-C8xzHJDr.d.ts +44 -0
  51. package/core/_core-theme.scss +34 -54
  52. package/core/_core.scss +6 -6
  53. package/core/{tokens/m2/mat/_app.scss → _m2-app.scss} +8 -7
  54. package/core/{tokens/m3/mat/_app.scss → _m3-app.scss} +4 -4
  55. package/core/density/private/_all-density.scss +38 -38
  56. package/core/index.d.ts +60 -976
  57. package/core/m2/_theming.scss +68 -44
  58. package/core/{tokens/m2/mat/_optgroup.scss → option/_m2-optgroup.scss} +6 -6
  59. package/core/{tokens/m2/mat/_option.scss → option/_m2-option.scss} +6 -6
  60. package/core/{tokens/m3/mat/_optgroup.scss → option/_m3-optgroup.scss} +4 -4
  61. package/core/option/_m3-option.scss +57 -0
  62. package/core/option/_optgroup-theme.scss +10 -14
  63. package/core/option/_option-theme.scss +14 -22
  64. package/core/{tokens/m2/mat/_ripple.scss → ripple/_m2-ripple.scss} +6 -6
  65. package/core/{tokens/m3/mat/_ripple.scss → ripple/_m3-ripple.scss} +3 -3
  66. package/core/ripple/_ripple-theme.scss +15 -15
  67. package/core/ripple/_ripple.scss +3 -4
  68. package/core/{tokens/m2/mat/_full-pseudo-checkbox.scss → selection/pseudo-checkbox/_m2-pseudo-checkbox.scss} +15 -13
  69. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +49 -0
  70. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +10 -38
  71. package/core/testing/index.d.ts +9 -42
  72. package/core/theming/_color-api-backwards-compatibility.scss +19 -8
  73. package/core/theming/_definition.scss +2 -3
  74. package/core/theming/_inspection.scss +3 -2
  75. package/core/tokens/_m2-tokens.scss +131 -0
  76. package/core/tokens/_m2-utils.scss +109 -0
  77. package/core/tokens/_m3-system.scss +67 -27
  78. package/core/tokens/_m3-tokens.scss +113 -33
  79. package/core/tokens/_m3-utils.scss +85 -0
  80. package/core/tokens/_token-utils.scss +69 -67
  81. package/core/tokens/m3/_index.scss +8 -163
  82. package/core/tokens/m3/{definitions/_md-sys-color.scss → _md-sys-color.scss} +44 -2
  83. package/core/tokens/m3/{definitions/_md-sys-typescale.scss → _md-sys-typescale.scss} +20 -1
  84. package/date-adapter.d-CtKXIxk0.d.ts +267 -0
  85. package/date-range-input-harness.d-CaEyN8dT.d.ts +279 -0
  86. package/datepicker/_datepicker-theme.scss +27 -42
  87. package/{core/tokens/m2/mat/_datepicker.scss → datepicker/_m2-datepicker.scss} +7 -7
  88. package/{core/tokens/m3/mat/_datepicker.scss → datepicker/_m3-datepicker.scss} +13 -11
  89. package/datepicker/index.d.ts +1336 -1481
  90. package/datepicker/testing/index.d.ts +5 -287
  91. package/dialog/_dialog-theme.scss +12 -39
  92. package/{core/tokens/m2/mdc/_dialog.scss → dialog/_m2-dialog.scss} +21 -50
  93. package/dialog/_m3-dialog.scss +47 -0
  94. package/dialog/index.d.ts +59 -453
  95. package/dialog/testing/index.d.ts +23 -26
  96. package/dialog.d-DsYAn2Gk.d.ts +339 -0
  97. package/divider/_divider-theme.scss +10 -14
  98. package/{core/tokens/m2/mat/_divider.scss → divider/_m2-divider.scss} +6 -6
  99. package/{core/tokens/m3/mat/_divider.scss → divider/_m3-divider.scss} +3 -3
  100. package/divider/index.d.ts +6 -11
  101. package/divider/testing/index.d.ts +5 -6
  102. package/error-options.d-CGdTZUYk.d.ts +17 -0
  103. package/expansion/_expansion-theme.scss +19 -22
  104. package/{core/tokens/m2/mat/_expansion.scss → expansion/_m2-expansion.scss} +7 -7
  105. package/{core/tokens/m3/mat/_expansion.scss → expansion/_m3-expansion.scss} +22 -8
  106. package/expansion/index.d.ts +140 -190
  107. package/expansion/testing/index.d.ts +26 -31
  108. package/fesm2022/animation-DfMFjxHu.mjs +41 -0
  109. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -0
  110. package/fesm2022/autocomplete/testing.mjs +2 -1
  111. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  112. package/fesm2022/autocomplete.mjs +79 -51
  113. package/fesm2022/autocomplete.mjs.map +1 -1
  114. package/fesm2022/badge/testing.mjs.map +1 -1
  115. package/fesm2022/badge.mjs +22 -23
  116. package/fesm2022/badge.mjs.map +1 -1
  117. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  118. package/fesm2022/bottom-sheet.mjs +33 -22
  119. package/fesm2022/bottom-sheet.mjs.map +1 -1
  120. package/fesm2022/button/testing.mjs +34 -15
  121. package/fesm2022/button/testing.mjs.map +1 -1
  122. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  123. package/fesm2022/button-toggle.mjs +28 -19
  124. package/fesm2022/button-toggle.mjs.map +1 -1
  125. package/fesm2022/button.mjs +114 -285
  126. package/fesm2022/button.mjs.map +1 -1
  127. package/fesm2022/card/testing.mjs.map +1 -1
  128. package/fesm2022/card.mjs +52 -52
  129. package/fesm2022/card.mjs.map +1 -1
  130. package/fesm2022/checkbox/testing.mjs.map +1 -1
  131. package/fesm2022/checkbox.mjs +39 -78
  132. package/fesm2022/checkbox.mjs.map +1 -1
  133. package/fesm2022/chips/testing.mjs +7 -1
  134. package/fesm2022/chips/testing.mjs.map +1 -1
  135. package/fesm2022/chips.mjs +104 -66
  136. package/fesm2022/chips.mjs.map +1 -1
  137. package/fesm2022/common-module-DZl8g1kc.mjs +42 -0
  138. package/fesm2022/common-module-DZl8g1kc.mjs.map +1 -0
  139. package/fesm2022/core/testing.mjs +2 -43
  140. package/fesm2022/core/testing.mjs.map +1 -1
  141. package/fesm2022/core.mjs +39 -1620
  142. package/fesm2022/core.mjs.map +1 -1
  143. package/fesm2022/date-formats-K6TQue-Y.mjs +190 -0
  144. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -0
  145. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs +467 -0
  146. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -0
  147. package/fesm2022/datepicker/testing.mjs +5 -465
  148. package/fesm2022/datepicker/testing.mjs.map +1 -1
  149. package/fesm2022/datepicker.mjs +198 -156
  150. package/fesm2022/datepicker.mjs.map +1 -1
  151. package/fesm2022/dialog/testing.mjs +14 -1
  152. package/fesm2022/dialog/testing.mjs.map +1 -1
  153. package/fesm2022/dialog.mjs +16 -895
  154. package/fesm2022/dialog.mjs.map +1 -1
  155. package/fesm2022/divider/testing.mjs.map +1 -1
  156. package/fesm2022/divider.mjs +11 -13
  157. package/fesm2022/divider.mjs.map +1 -1
  158. package/fesm2022/error-options-BWOa3B4G.mjs +29 -0
  159. package/fesm2022/error-options-BWOa3B4G.mjs.map +1 -0
  160. package/fesm2022/error-state-Dtb1IHM-.mjs +37 -0
  161. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -0
  162. package/fesm2022/expansion/testing.mjs.map +1 -1
  163. package/fesm2022/expansion.mjs +36 -37
  164. package/fesm2022/expansion.mjs.map +1 -1
  165. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  166. package/fesm2022/form-field/testing.mjs +7 -6
  167. package/fesm2022/form-field/testing.mjs.map +1 -1
  168. package/fesm2022/form-field-BZd6Vhww.mjs +1101 -0
  169. package/fesm2022/form-field-BZd6Vhww.mjs.map +1 -0
  170. package/fesm2022/form-field.mjs +16 -1110
  171. package/fesm2022/form-field.mjs.map +1 -1
  172. package/fesm2022/grid-list/testing.mjs +2 -2
  173. package/fesm2022/grid-list/testing.mjs.map +1 -1
  174. package/fesm2022/grid-list.mjs +32 -176
  175. package/fesm2022/grid-list.mjs.map +1 -1
  176. package/fesm2022/icon/testing.mjs +11 -12
  177. package/fesm2022/icon/testing.mjs.map +1 -1
  178. package/fesm2022/icon-button-4VvBKIK4.mjs +212 -0
  179. package/fesm2022/icon-button-4VvBKIK4.mjs.map +1 -0
  180. package/fesm2022/icon-registry-Bk5cM8Z5.mjs +638 -0
  181. package/fesm2022/icon-registry-Bk5cM8Z5.mjs.map +1 -0
  182. package/fesm2022/icon.mjs +24 -642
  183. package/fesm2022/icon.mjs.map +1 -1
  184. package/fesm2022/index-BHJ4tVIe.mjs +22 -0
  185. package/fesm2022/index-BHJ4tVIe.mjs.map +1 -0
  186. package/fesm2022/index-D2rZ0V78.mjs +20 -0
  187. package/fesm2022/index-D2rZ0V78.mjs.map +1 -0
  188. package/fesm2022/input/testing.mjs +5 -113
  189. package/fesm2022/input/testing.mjs.map +1 -1
  190. package/fesm2022/input-harness-oQzj5EsQ.mjs +115 -0
  191. package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -0
  192. package/fesm2022/input-value-accessor-D1GvPuqO.mjs +12 -0
  193. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -0
  194. package/fesm2022/input.mjs +32 -40
  195. package/fesm2022/input.mjs.map +1 -1
  196. package/fesm2022/internal-form-field-DVvKYBKJ.mjs +27 -0
  197. package/fesm2022/internal-form-field-DVvKYBKJ.mjs.map +1 -0
  198. package/fesm2022/line-Dwrcg_t9.mjs +59 -0
  199. package/fesm2022/line-Dwrcg_t9.mjs.map +1 -0
  200. package/fesm2022/list/testing.mjs +2 -2
  201. package/fesm2022/list/testing.mjs.map +1 -1
  202. package/fesm2022/list.mjs +71 -68
  203. package/fesm2022/list.mjs.map +1 -1
  204. package/fesm2022/material.mjs.map +1 -1
  205. package/fesm2022/menu/testing.mjs.map +1 -1
  206. package/fesm2022/menu.mjs +57 -46
  207. package/fesm2022/menu.mjs.map +1 -1
  208. package/fesm2022/module-CTd5xD2i.mjs +39 -0
  209. package/fesm2022/module-CTd5xD2i.mjs.map +1 -0
  210. package/fesm2022/module-D-cNfopD.mjs +891 -0
  211. package/fesm2022/module-D-cNfopD.mjs.map +1 -0
  212. package/fesm2022/module-X29xYsIk.mjs +970 -0
  213. package/fesm2022/module-X29xYsIk.mjs.map +1 -0
  214. package/fesm2022/module-qRXgbi2L.mjs +1312 -0
  215. package/fesm2022/module-qRXgbi2L.mjs.map +1 -0
  216. package/fesm2022/option-MOeehkAg.mjs +348 -0
  217. package/fesm2022/option-MOeehkAg.mjs.map +1 -0
  218. package/fesm2022/option-harness-BFcc-M_4.mjs +46 -0
  219. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -0
  220. package/fesm2022/paginator/testing.mjs +4 -1
  221. package/fesm2022/paginator/testing.mjs.map +1 -1
  222. package/fesm2022/paginator.mjs +54 -22
  223. package/fesm2022/paginator.mjs.map +1 -1
  224. package/fesm2022/progress-bar/testing.mjs +0 -4
  225. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  226. package/fesm2022/progress-bar.mjs +20 -19
  227. package/fesm2022/progress-bar.mjs.map +1 -1
  228. package/fesm2022/progress-spinner/testing.mjs +0 -4
  229. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  230. package/fesm2022/progress-spinner.mjs +22 -20
  231. package/fesm2022/progress-spinner.mjs.map +1 -1
  232. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs +53 -0
  233. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs.map +1 -0
  234. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs +20 -0
  235. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs.map +1 -0
  236. package/fesm2022/public-api-BoO5eSq-.mjs +147 -0
  237. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -0
  238. package/fesm2022/radio/testing.mjs.map +1 -1
  239. package/fesm2022/radio.mjs +28 -20
  240. package/fesm2022/radio.mjs.map +1 -1
  241. package/fesm2022/ripple-CuyVtN3V.mjs +640 -0
  242. package/fesm2022/ripple-CuyVtN3V.mjs.map +1 -0
  243. package/fesm2022/ripple-loader-pOctSZby.mjs +162 -0
  244. package/fesm2022/ripple-loader-pOctSZby.mjs.map +1 -0
  245. package/fesm2022/select/testing.mjs +3 -2
  246. package/fesm2022/select/testing.mjs.map +1 -1
  247. package/fesm2022/select.mjs +32 -1311
  248. package/fesm2022/select.mjs.map +1 -1
  249. package/fesm2022/sidenav/testing.mjs +1 -1
  250. package/fesm2022/sidenav/testing.mjs.map +1 -1
  251. package/fesm2022/sidenav.mjs +39 -38
  252. package/fesm2022/sidenav.mjs.map +1 -1
  253. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  254. package/fesm2022/slide-toggle.mjs +32 -80
  255. package/fesm2022/slide-toggle.mjs.map +1 -1
  256. package/fesm2022/slider/testing.mjs.map +1 -1
  257. package/fesm2022/slider.mjs +33 -29
  258. package/fesm2022/slider.mjs.map +1 -1
  259. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  260. package/fesm2022/snack-bar.mjs +55 -53
  261. package/fesm2022/snack-bar.mjs.map +1 -1
  262. package/fesm2022/sort/testing.mjs.map +1 -1
  263. package/fesm2022/sort.mjs +31 -23
  264. package/fesm2022/sort.mjs.map +1 -1
  265. package/fesm2022/stepper/testing.mjs.map +1 -1
  266. package/fesm2022/stepper.mjs +60 -45
  267. package/fesm2022/stepper.mjs.map +1 -1
  268. package/fesm2022/structural-styles-CasigI3l.mjs +18 -0
  269. package/fesm2022/structural-styles-CasigI3l.mjs.map +1 -0
  270. package/fesm2022/table/testing.mjs.map +1 -1
  271. package/fesm2022/table.mjs +61 -65
  272. package/fesm2022/table.mjs.map +1 -1
  273. package/fesm2022/tabs/testing.mjs.map +1 -1
  274. package/fesm2022/tabs.mjs +89 -85
  275. package/fesm2022/tabs.mjs.map +1 -1
  276. package/fesm2022/timepicker/testing.mjs +1 -1
  277. package/fesm2022/timepicker/testing.mjs.map +1 -1
  278. package/fesm2022/timepicker.mjs +51 -41
  279. package/fesm2022/timepicker.mjs.map +1 -1
  280. package/fesm2022/toolbar/testing.mjs.map +1 -1
  281. package/fesm2022/toolbar.mjs +15 -18
  282. package/fesm2022/toolbar.mjs.map +1 -1
  283. package/fesm2022/tooltip/testing.mjs.map +1 -1
  284. package/fesm2022/tooltip.mjs +17 -960
  285. package/fesm2022/tooltip.mjs.map +1 -1
  286. package/fesm2022/tree/testing.mjs.map +1 -1
  287. package/fesm2022/tree.mjs +29 -31
  288. package/fesm2022/tree.mjs.map +1 -1
  289. package/form-field/_form-field-theme.scss +30 -97
  290. package/{core/tokens/m2/mat/_form-field.scss → form-field/_m2-form-field.scss} +94 -13
  291. package/form-field/_m3-form-field.scss +153 -0
  292. package/form-field/index.d.ts +16 -508
  293. package/form-field/testing/control/index.d.ts +2 -2
  294. package/form-field/testing/index.d.ts +19 -24
  295. package/form-field-control.d-DvB4ZVlf.d.ts +64 -0
  296. package/form-field.d-b9aHrR4I.d.ts +373 -0
  297. package/grid-list/_grid-list-theme.scss +8 -10
  298. package/{core/tokens/m2/mat/_grid-list.scss → grid-list/_m2-grid-list.scss} +6 -6
  299. package/{core/tokens/m3/mat/_grid-list.scss → grid-list/_m3-grid-list.scss} +2 -2
  300. package/grid-list/index.d.ts +127 -152
  301. package/grid-list/testing/index.d.ts +40 -44
  302. package/icon/_icon-theme.scss +13 -13
  303. package/{core/tokens/m2/mat/_icon.scss → icon/_m2-icon.scss} +5 -5
  304. package/{core/tokens/m3/mat/_icon.scss → icon/_m3-icon.scss} +8 -6
  305. package/icon/index.d.ts +9 -470
  306. package/icon/testing/index.d.ts +42 -44
  307. package/icon-module.d-sA1hmRKS.d.ts +168 -0
  308. package/icon-registry.d-BVwP8t9_.d.ts +287 -0
  309. package/index.d-C5neTPvr.d.ts +11 -0
  310. package/index.d-CikM2bbf.d.ts +13 -0
  311. package/index.d.ts +2 -3
  312. package/input/_input-theme.scss +1 -1
  313. package/input/index.d.ts +39 -64
  314. package/input/testing/index.d.ts +14 -71
  315. package/input-harness.d-8fkAAbu2.d.ts +61 -0
  316. package/line.d-C-QdueRc.d.ts +25 -0
  317. package/list/_list-theme.scss +41 -71
  318. package/list/_m2-list.scss +133 -0
  319. package/list/_m3-list.scss +92 -0
  320. package/list/index.d.ts +155 -244
  321. package/list/testing/index.d.ts +159 -180
  322. package/list-option-types.d-77dQtwu8.d.ts +15 -0
  323. package/{core/tokens/m2/mat/_menu.scss → menu/_m2-menu.scss} +7 -7
  324. package/{core/tokens/m3/mat/_menu.scss → menu/_m3-menu.scss} +14 -17
  325. package/menu/_menu-theme.scss +12 -18
  326. package/menu/index.d.ts +185 -231
  327. package/menu/testing/index.d.ts +18 -23
  328. package/module.d-BGzxQfCs.d.ts +18 -0
  329. package/module.d-CH_8jCsD.d.ts +454 -0
  330. package/module.d-m-qXd3m8.d.ts +329 -0
  331. package/option-harness.d-IqsW95GR.d.ts +35 -0
  332. package/option-parent.d-CnYuuMkO.d.ts +20 -0
  333. package/option.d-BVGX3edu.d.ts +146 -0
  334. package/package.json +5 -2
  335. package/{core/tokens/m2/mat/_paginator.scss → paginator/_m2-paginator.scss} +7 -7
  336. package/{core/tokens/m3/mat/_paginator.scss → paginator/_m3-paginator.scss} +20 -4
  337. package/paginator/_paginator-theme.scss +17 -18
  338. package/paginator/index.d.ts +31 -216
  339. package/paginator/testing/index.d.ts +15 -15
  340. package/paginator.d-3kymf0wo.d.ts +200 -0
  341. package/palette.d-BSSFKjO6.d.ts +4 -0
  342. package/prebuilt-themes/azure-blue.css +1 -1
  343. package/prebuilt-themes/cyan-orange.css +1 -1
  344. package/prebuilt-themes/deeppurple-amber.css +1 -1
  345. package/prebuilt-themes/indigo-pink.css +1 -1
  346. package/prebuilt-themes/magenta-violet.css +1 -1
  347. package/prebuilt-themes/pink-bluegrey.css +1 -1
  348. package/prebuilt-themes/purple-green.css +1 -1
  349. package/prebuilt-themes/rose-red.css +1 -1
  350. package/{core/tokens/m2/mdc/_linear-progress.scss → progress-bar/_m2-progress-bar.scss} +7 -8
  351. package/{core/tokens/m3/mdc/_linear-progress.scss → progress-bar/_m3-progress-bar.scss} +11 -6
  352. package/progress-bar/_progress-bar-theme.scss +11 -11
  353. package/progress-bar/index.d.ts +41 -60
  354. package/progress-bar/testing/index.d.ts +8 -10
  355. package/{core/tokens/m2/mdc/_tab-indicator.scss → progress-spinner/_m2-progress-spinner.scss} +10 -11
  356. package/{core/tokens/m3/mdc/_circular-progress.scss → progress-spinner/_m3-progress-spinner.scss} +10 -6
  357. package/progress-spinner/_progress-spinner-theme.scss +17 -17
  358. package/progress-spinner/index.d.ts +8 -110
  359. package/progress-spinner/testing/index.d.ts +11 -11
  360. package/progress-spinner.d-DtYCWeYd.d.ts +97 -0
  361. package/pseudo-checkbox-module.d-BHmTZ10P.d.ts +45 -0
  362. package/{core/tokens/m2/mdc/_radio.scss → radio/_m2-radio.scss} +28 -36
  363. package/radio/_m3-radio.scss +79 -0
  364. package/radio/_radio-theme.scss +27 -56
  365. package/radio/index.d.ts +152 -170
  366. package/radio/testing/index.d.ts +62 -67
  367. package/ripple-loader.d-9me-KFSi.d.ts +48 -0
  368. package/ripple.d-BT30YVLB.d.ts +256 -0
  369. package/schematics/ng-add/fonts/material-fonts.js +3 -3
  370. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  371. package/schematics/ng-add/index.js +2 -2
  372. package/schematics/ng-add/index.js.map +1 -0
  373. package/schematics/ng-add/package-config.js +1 -1
  374. package/schematics/ng-add/package-config.js.map +1 -0
  375. package/schematics/ng-add/schema.js +1 -1
  376. package/schematics/ng-add/schema.js.map +1 -0
  377. package/schematics/ng-add/setup-project.js +5 -5
  378. package/schematics/ng-add/setup-project.js.map +1 -0
  379. package/schematics/ng-add/theming/create-custom-theme.js +1 -1
  380. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  381. package/schematics/ng-add/theming/theming.js +6 -8
  382. package/schematics/ng-add/theming/theming.js.map +1 -0
  383. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  384. package/schematics/ng-generate/address-form/index.js +1 -1
  385. package/schematics/ng-generate/address-form/index.js.map +1 -0
  386. package/schematics/ng-generate/address-form/schema.js +1 -1
  387. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  389. package/schematics/ng-generate/dashboard/index.js +1 -1
  390. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  391. package/schematics/ng-generate/dashboard/schema.js +1 -1
  392. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  393. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  394. package/schematics/ng-generate/navigation/index.js +1 -1
  395. package/schematics/ng-generate/navigation/index.js.map +1 -0
  396. package/schematics/ng-generate/navigation/schema.js +1 -1
  397. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  398. package/schematics/ng-generate/table/index.js +1 -1
  399. package/schematics/ng-generate/table/index.js.map +1 -0
  400. package/schematics/ng-generate/table/schema.js +1 -1
  401. package/schematics/ng-generate/table/schema.js.map +1 -0
  402. package/schematics/ng-generate/theme-color/index_bundled.js +1711 -225
  403. package/schematics/ng-generate/theme-color/index_bundled.js.map +2 -3
  404. package/schematics/ng-generate/theme-color/schema.json +10 -0
  405. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  406. package/schematics/ng-generate/tree/index.js +1 -1
  407. package/schematics/ng-generate/tree/index.js.map +1 -0
  408. package/schematics/ng-generate/tree/schema.js +1 -1
  409. package/schematics/ng-generate/tree/schema.js.map +1 -0
  410. package/schematics/ng-update/index_bundled.js +3465 -4099
  411. package/schematics/ng-update/index_bundled.js.map +3 -4
  412. package/schematics/tsconfig.json +26 -0
  413. package/{core/tokens/m2/mat/_select.scss → select/_m2-select.scss} +11 -11
  414. package/{core/tokens/m3/mat/_select.scss → select/_m3-select.scss} +22 -7
  415. package/select/_select-theme.scss +30 -26
  416. package/select/index.d.ts +25 -505
  417. package/select/testing/index.d.ts +13 -16
  418. package/{core/tokens/m2/mat/_sidenav.scss → sidenav/_m2-sidenav.scss} +7 -7
  419. package/{core/tokens/m3/mat/_sidenav.scss → sidenav/_m3-sidenav.scss} +6 -6
  420. package/sidenav/_sidenav-theme.scss +12 -16
  421. package/sidenav/index.d.ts +51 -93
  422. package/sidenav/testing/index.d.ts +59 -63
  423. package/slide-toggle/_m2-slide-toggle.scss +167 -0
  424. package/slide-toggle/_m3-slide-toggle.scss +160 -0
  425. package/slide-toggle/_slide-toggle-theme.scss +55 -48
  426. package/slide-toggle/index.d.ts +40 -110
  427. package/slide-toggle/testing/index.d.ts +18 -21
  428. package/{core/tokens/m2/mdc/_slider.scss → slider/_m2-slider.scss} +29 -68
  429. package/slider/_m3-slider.scss +121 -0
  430. package/slider/_slider-theme.scss +18 -53
  431. package/slider/index.d.ts +282 -328
  432. package/slider/testing/index.d.ts +43 -47
  433. package/{core/tokens/m2/mat/_snack-bar.scss → snack-bar/_m2-snack-bar.scss} +23 -8
  434. package/snack-bar/_m3-snack-bar.scss +25 -0
  435. package/snack-bar/_snack-bar-theme.scss +11 -30
  436. package/snack-bar/index.d.ts +155 -188
  437. package/snack-bar/testing/index.d.ts +8 -9
  438. package/{core/tokens/m2/mat/_sort.scss → sort/_m2-sort.scss} +6 -6
  439. package/{core/tokens/m3/mat/_sort.scss → sort/_m3-sort.scss} +2 -2
  440. package/sort/_sort-theme.scss +12 -18
  441. package/sort/index.d.ts +62 -170
  442. package/sort/testing/index.d.ts +23 -25
  443. package/sort-direction.d-CF7VUsH-.d.ts +3 -0
  444. package/sort.d-i-bF_IaU.d.ts +88 -0
  445. package/{core/tokens/m2/mat/_stepper.scss → stepper/_m2-stepper.scss} +7 -34
  446. package/stepper/_m3-stepper.scss +102 -0
  447. package/stepper/_stepper-theme.scss +26 -21
  448. package/stepper/index.d.ts +117 -168
  449. package/stepper/testing/index.d.ts +44 -52
  450. package/{core/tokens/m2/mat/_table.scss → table/_m2-table.scss} +7 -7
  451. package/table/_m3-table.scss +44 -0
  452. package/table/_table-theme.scss +18 -22
  453. package/table/index.d.ts +97 -156
  454. package/table/testing/index.d.ts +65 -78
  455. package/{core/tokens/m2/mat/_tab-header.scss → tabs/_m2-tabs.scss} +42 -11
  456. package/tabs/_m3-tabs.scss +70 -0
  457. package/tabs/_tabs-theme.scss +47 -125
  458. package/tabs/index.d.ts +321 -388
  459. package/tabs/testing/index.d.ts +68 -76
  460. package/{core/tokens/m2/mat/_timepicker.scss → timepicker/_m2-timepicker.scss} +7 -7
  461. package/{core/tokens/m3/mat/_timepicker.scss → timepicker/_m3-timepicker.scss} +4 -4
  462. package/timepicker/_timepicker-theme.scss +18 -18
  463. package/timepicker/index.d.ts +127 -161
  464. package/timepicker/testing/index.d.ts +21 -26
  465. package/{core/tokens/m2/mat/_toolbar.scss → toolbar/_m2-toolbar.scss} +7 -7
  466. package/{core/tokens/m3/mat/_toolbar.scss → toolbar/_m3-toolbar.scss} +18 -4
  467. package/toolbar/_toolbar-theme.scss +26 -21
  468. package/toolbar/index.d.ts +15 -26
  469. package/toolbar/testing/index.d.ts +14 -16
  470. package/{core/tokens/m2/mdc/_plain-tooltip.scss → tooltip/_m2-tooltip.scss} +7 -17
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +18 -18
  473. package/tooltip/index.d.ts +11 -355
  474. package/tooltip/testing/index.d.ts +8 -10
  475. package/{core/tokens/m2/mat/_tree.scss → tree/_m2-tree.scss} +7 -7
  476. package/{core/tokens/m3/mat/_tree.scss → tree/_m3-tree.scss} +15 -2
  477. package/tree/_tree-theme.scss +19 -15
  478. package/tree/index.d.ts +117 -163
  479. package/tree/testing/index.d.ts +53 -58
  480. package/button/_button-base.scss +0 -181
  481. package/checkbox/_checkbox-common.scss +0 -585
  482. package/core/style/_button-common.scss +0 -17
  483. package/core/style/_form-common.scss +0 -21
  484. package/core/style/_list-common.scss +0 -49
  485. package/core/style/_menu-common.scss +0 -94
  486. package/core/theming/_palette-deprecated.scss +0 -76
  487. package/core/theming/_theming-deprecated.scss +0 -27
  488. package/core/tokens/_density.scss +0 -193
  489. package/core/tokens/_token-definition.scss +0 -273
  490. package/core/tokens/m2/_index.scss +0 -187
  491. package/core/tokens/m2/mat/_checkbox.scss +0 -50
  492. package/core/tokens/m2/mat/_chip.scss +0 -63
  493. package/core/tokens/m2/mat/_dialog.scss +0 -51
  494. package/core/tokens/m2/mat/_fab-small.scss +0 -108
  495. package/core/tokens/m2/mat/_fab.scss +0 -108
  496. package/core/tokens/m2/mat/_filled-button.scss +0 -102
  497. package/core/tokens/m2/mat/_legacy-button-toggle.scss +0 -59
  498. package/core/tokens/m2/mat/_list.scss +0 -44
  499. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +0 -43
  500. package/core/tokens/m2/mat/_outlined-button.scss +0 -88
  501. package/core/tokens/m2/mat/_protected-button.scss +0 -102
  502. package/core/tokens/m2/mat/_radio.scss +0 -52
  503. package/core/tokens/m2/mat/_slider.scss +0 -69
  504. package/core/tokens/m2/mat/_switch.scss +0 -76
  505. package/core/tokens/m2/mat/_tab-header-with-background.scss +0 -42
  506. package/core/tokens/m2/mat/_text-button.scss +0 -91
  507. package/core/tokens/m2/mdc/_chip.scss +0 -313
  508. package/core/tokens/m2/mdc/_circular-progress.scss +0 -61
  509. package/core/tokens/m2/mdc/_elevated-card.scss +0 -77
  510. package/core/tokens/m2/mdc/_extended-fab.scss +0 -87
  511. package/core/tokens/m2/mdc/_fab-small.scss +0 -92
  512. package/core/tokens/m2/mdc/_fab.scss +0 -93
  513. package/core/tokens/m2/mdc/_filled-button.scss +0 -124
  514. package/core/tokens/m2/mdc/_filled-text-field.scss +0 -181
  515. package/core/tokens/m2/mdc/_icon-button.scss +0 -91
  516. package/core/tokens/m2/mdc/_list.scss +0 -219
  517. package/core/tokens/m2/mdc/_outlined-button.scss +0 -124
  518. package/core/tokens/m2/mdc/_outlined-card.scss +0 -85
  519. package/core/tokens/m2/mdc/_outlined-text-field.scss +0 -163
  520. package/core/tokens/m2/mdc/_protected-button.scss +0 -129
  521. package/core/tokens/m2/mdc/_secondary-navigation-tab.scss +0 -87
  522. package/core/tokens/m2/mdc/_snack-bar.scss +0 -93
  523. package/core/tokens/m2/mdc/_switch.scss +0 -192
  524. package/core/tokens/m2/mdc/_text-button.scss +0 -98
  525. package/core/tokens/m3/definitions/_index.scss +0 -94
  526. package/core/tokens/m3/definitions/_md-comp-checkbox.scss +0 -120
  527. package/core/tokens/m3/definitions/_md-comp-circular-progress-indicator.scss +0 -27
  528. package/core/tokens/m3/definitions/_md-comp-data-table.scss +0 -90
  529. package/core/tokens/m3/definitions/_md-comp-dialog.scss +0 -123
  530. package/core/tokens/m3/definitions/_md-comp-elevated-button.scss +0 -87
  531. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +0 -53
  532. package/core/tokens/m3/definitions/_md-comp-extended-fab-primary.scss +0 -90
  533. package/core/tokens/m3/definitions/_md-comp-extended-fab-secondary.scss +0 -91
  534. package/core/tokens/m3/definitions/_md-comp-extended-fab-tertiary.scss +0 -91
  535. package/core/tokens/m3/definitions/_md-comp-fab-primary-small.scss +0 -59
  536. package/core/tokens/m3/definitions/_md-comp-fab-primary.scss +0 -59
  537. package/core/tokens/m3/definitions/_md-comp-fab-secondary-small.scss +0 -60
  538. package/core/tokens/m3/definitions/_md-comp-fab-secondary.scss +0 -60
  539. package/core/tokens/m3/definitions/_md-comp-fab-tertiary-small.scss +0 -60
  540. package/core/tokens/m3/definitions/_md-comp-fab-tertiary.scss +0 -60
  541. package/core/tokens/m3/definitions/_md-comp-filled-button.scss +0 -85
  542. package/core/tokens/m3/definitions/_md-comp-filled-card.scss +0 -52
  543. package/core/tokens/m3/definitions/_md-comp-filled-icon-button.scss +0 -73
  544. package/core/tokens/m3/definitions/_md-comp-filled-text-field.scss +0 -189
  545. package/core/tokens/m3/definitions/_md-comp-icon-button.scss +0 -64
  546. package/core/tokens/m3/definitions/_md-comp-linear-progress-indicator.scss +0 -29
  547. package/core/tokens/m3/definitions/_md-comp-list.scss +0 -252
  548. package/core/tokens/m3/definitions/_md-comp-outlined-button.scss +0 -80
  549. package/core/tokens/m3/definitions/_md-comp-outlined-card.scss +0 -59
  550. package/core/tokens/m3/definitions/_md-comp-outlined-icon-button.scss +0 -73
  551. package/core/tokens/m3/definitions/_md-comp-outlined-text-field.scss +0 -171
  552. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  553. package/core/tokens/m3/definitions/_md-comp-radio-button.scss +0 -62
  554. package/core/tokens/m3/definitions/_md-comp-secondary-navigation-tab.scss +0 -80
  555. package/core/tokens/m3/definitions/_md-comp-slider.scss +0 -110
  556. package/core/tokens/m3/definitions/_md-comp-snackbar.scss +0 -125
  557. package/core/tokens/m3/definitions/_md-comp-switch.scss +0 -130
  558. package/core/tokens/m3/definitions/_md-comp-text-button.scss +0 -73
  559. package/core/tokens/m3/definitions/unused/_md-comp-assist-chip.scss +0 -105
  560. package/core/tokens/m3/definitions/unused/_md-comp-badge.scss +0 -54
  561. package/core/tokens/m3/definitions/unused/_md-comp-banner.scss +0 -71
  562. package/core/tokens/m3/definitions/unused/_md-comp-bottom-app-bar.scss +0 -29
  563. package/core/tokens/m3/definitions/unused/_md-comp-carousel-item.scss +0 -59
  564. package/core/tokens/m3/definitions/unused/_md-comp-date-input-modal.scss +0 -87
  565. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-docked.scss +0 -248
  566. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-modal.scss +0 -313
  567. package/core/tokens/m3/definitions/unused/_md-comp-divider.scss +0 -19
  568. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-branded.scss +0 -82
  569. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-surface.scss +0 -86
  570. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded-large.scss +0 -54
  571. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded.scss +0 -54
  572. package/core/tokens/m3/definitions/unused/_md-comp-fab-primary-large.scss +0 -59
  573. package/core/tokens/m3/definitions/unused/_md-comp-fab-secondary-large.scss +0 -60
  574. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-large.scss +0 -58
  575. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-small.scss +0 -58
  576. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface.scss +0 -58
  577. package/core/tokens/m3/definitions/unused/_md-comp-fab-tertiary-large.scss +0 -60
  578. package/core/tokens/m3/definitions/unused/_md-comp-filled-autocomplete.scss +0 -269
  579. package/core/tokens/m3/definitions/unused/_md-comp-filled-menu-button.scss +0 -94
  580. package/core/tokens/m3/definitions/unused/_md-comp-filled-select.scss +0 -274
  581. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-button.scss +0 -95
  582. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-icon-button.scss +0 -80
  583. package/core/tokens/m3/definitions/unused/_md-comp-filter-chip.scss +0 -205
  584. package/core/tokens/m3/definitions/unused/_md-comp-full-screen-dialog.scss +0 -109
  585. package/core/tokens/m3/definitions/unused/_md-comp-input-chip.scss +0 -180
  586. package/core/tokens/m3/definitions/unused/_md-comp-menu.scss +0 -31
  587. package/core/tokens/m3/definitions/unused/_md-comp-navigation-bar.scss +0 -110
  588. package/core/tokens/m3/definitions/unused/_md-comp-navigation-drawer.scss +0 -162
  589. package/core/tokens/m3/definitions/unused/_md-comp-navigation-rail.scss +0 -127
  590. package/core/tokens/m3/definitions/unused/_md-comp-outlined-autocomplete.scss +0 -259
  591. package/core/tokens/m3/definitions/unused/_md-comp-outlined-menu-button.scss +0 -90
  592. package/core/tokens/m3/definitions/unused/_md-comp-outlined-segmented-button.scss +0 -108
  593. package/core/tokens/m3/definitions/unused/_md-comp-outlined-select.scss +0 -264
  594. package/core/tokens/m3/definitions/unused/_md-comp-primary-navigation-tab.scss +0 -117
  595. package/core/tokens/m3/definitions/unused/_md-comp-rich-tooltip.scss +0 -121
  596. package/core/tokens/m3/definitions/unused/_md-comp-scrim.scss +0 -19
  597. package/core/tokens/m3/definitions/unused/_md-comp-search-bar.scss +0 -97
  598. package/core/tokens/m3/definitions/unused/_md-comp-search-view.scss +0 -91
  599. package/core/tokens/m3/definitions/unused/_md-comp-sheet-bottom.scss +0 -39
  600. package/core/tokens/m3/definitions/unused/_md-comp-sheet-floating.scss +0 -28
  601. package/core/tokens/m3/definitions/unused/_md-comp-sheet-side.scss +0 -87
  602. package/core/tokens/m3/definitions/unused/_md-comp-standard-menu-button.scss +0 -94
  603. package/core/tokens/m3/definitions/unused/_md-comp-suggestion-chip.scss +0 -121
  604. package/core/tokens/m3/definitions/unused/_md-comp-time-input.scss +0 -222
  605. package/core/tokens/m3/definitions/unused/_md-comp-time-picker.scss +0 -268
  606. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-large.scss +0 -59
  607. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-medium.scss +0 -59
  608. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small-centered.scss +0 -62
  609. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small.scss +0 -60
  610. package/core/tokens/m3/mat/_card.scss +0 -24
  611. package/core/tokens/m3/mat/_checkbox.scss +0 -26
  612. package/core/tokens/m3/mat/_chip.scss +0 -46
  613. package/core/tokens/m3/mat/_dialog.scss +0 -32
  614. package/core/tokens/m3/mat/_fab-small.scss +0 -50
  615. package/core/tokens/m3/mat/_fab.scss +0 -50
  616. package/core/tokens/m3/mat/_filled-button.scss +0 -54
  617. package/core/tokens/m3/mat/_form-field.scss +0 -59
  618. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +0 -42
  619. package/core/tokens/m3/mat/_list.scss +0 -19
  620. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +0 -33
  621. package/core/tokens/m3/mat/_option.scss +0 -55
  622. package/core/tokens/m3/mat/_outlined-button.scss +0 -54
  623. package/core/tokens/m3/mat/_protected-button.scss +0 -55
  624. package/core/tokens/m3/mat/_radio.scss +0 -45
  625. package/core/tokens/m3/mat/_slider.scss +0 -58
  626. package/core/tokens/m3/mat/_snack-bar.scss +0 -18
  627. package/core/tokens/m3/mat/_stepper.scss +0 -79
  628. package/core/tokens/m3/mat/_switch.scss +0 -56
  629. package/core/tokens/m3/mat/_tab-header.scss +0 -51
  630. package/core/tokens/m3/mat/_table.scss +0 -29
  631. package/core/tokens/m3/mat/_text-button.scss +0 -55
  632. package/core/tokens/m3/mdc/_checkbox.scss +0 -112
  633. package/core/tokens/m3/mdc/_chip.scss +0 -93
  634. package/core/tokens/m3/mdc/_dialog.scss +0 -23
  635. package/core/tokens/m3/mdc/_elevated-card.scss +0 -22
  636. package/core/tokens/m3/mdc/_extended-fab.scss +0 -42
  637. package/core/tokens/m3/mdc/_fab-small.scss +0 -41
  638. package/core/tokens/m3/mdc/_fab.scss +0 -39
  639. package/core/tokens/m3/mdc/_filled-button.scss +0 -86
  640. package/core/tokens/m3/mdc/_filled-text-field.scss +0 -91
  641. package/core/tokens/m3/mdc/_icon-button.scss +0 -60
  642. package/core/tokens/m3/mdc/_list.scss +0 -37
  643. package/core/tokens/m3/mdc/_outlined-button.scss +0 -84
  644. package/core/tokens/m3/mdc/_outlined-card.scss +0 -22
  645. package/core/tokens/m3/mdc/_outlined-text-field.scss +0 -86
  646. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  647. package/core/tokens/m3/mdc/_protected-button.scss +0 -101
  648. package/core/tokens/m3/mdc/_radio.scss +0 -47
  649. package/core/tokens/m3/mdc/_secondary-navigation-tab.scss +0 -16
  650. package/core/tokens/m3/mdc/_slider.scss +0 -69
  651. package/core/tokens/m3/mdc/_snack-bar.scss +0 -15
  652. package/core/tokens/m3/mdc/_switch.scss +0 -82
  653. package/core/tokens/m3/mdc/_tab-indicator.scss +0 -34
  654. package/core/tokens/m3/mdc/_text-button.scss +0 -79
  655. package/core/typography/_typography-utils-deprecated.scss +0 -6
  656. package/datepicker/_datepicker-legacy-compat.scss +0 -85
  657. package/divider/_divider-offset.scss +0 -12
  658. package/expansion/_expansion-variables.scss +0 -30
  659. package/form-field/_form-field-focus-overlay.scss +0 -31
  660. package/form-field/_form-field-high-contrast.scss +0 -39
  661. package/form-field/_form-field-native-select.scss +0 -97
  662. package/form-field/_form-field-subscript.scss +0 -95
  663. package/form-field/_mdc-text-field-density-overrides.scss +0 -60
  664. package/form-field/_mdc-text-field-structure-overrides.scss +0 -186
  665. package/form-field/_mdc-text-field-structure.scss +0 -621
  666. package/form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  667. package/form-field/_user-agent-overrides.scss +0 -24
  668. package/list/_list-inherited-structure.scss +0 -504
  669. package/list/_list-item-hcm-indicator.scss +0 -29
  670. package/radio/_radio-common.scss +0 -259
  671. package/schematics/ng-add/fonts/material-fonts.mjs +0 -34
  672. package/schematics/ng-add/index.mjs +0 -54
  673. package/schematics/ng-add/package-config.mjs +0 -51
  674. package/schematics/ng-add/schema.mjs +0 -10
  675. package/schematics/ng-add/setup-project.mjs +0 -75
  676. package/schematics/ng-add/theming/create-custom-theme.mjs +0 -30
  677. package/schematics/ng-add/theming/theming.mjs +0 -151
  678. package/schematics/ng-generate/address-form/index.mjs +0 -43
  679. package/schematics/ng-generate/address-form/schema.mjs +0 -10
  680. package/schematics/ng-generate/dashboard/index.mjs +0 -42
  681. package/schematics/ng-generate/dashboard/schema.mjs +0 -10
  682. package/schematics/ng-generate/navigation/index.mjs +0 -42
  683. package/schematics/ng-generate/navigation/schema.mjs +0 -10
  684. package/schematics/ng-generate/table/index.mjs +0 -40
  685. package/schematics/ng-generate/table/schema.mjs +0 -10
  686. package/schematics/ng-generate/tree/index.mjs +0 -40
  687. package/schematics/ng-generate/tree/schema.mjs +0 -10
  688. package/schematics/schematics.externs.js +0 -0
  689. package/stepper/_stepper-variables.scss +0 -29
  690. package/table/_table-flex-styles.scss +0 -61
  691. package/tabs/_tabs-common.scss +0 -497
  692. package/toolbar/_toolbar-variables.scss +0 -28
  693. /package/core/tokens/m3/{definitions/_md-ref-palette.scss → _md-ref-palette.scss} +0 -0
  694. /package/core/tokens/m3/{definitions/_md-ref-typeface.scss → _md-ref-typeface.scss} +0 -0
  695. /package/core/tokens/m3/{definitions/_md-sys-elevation.scss → _md-sys-elevation.scss} +0 -0
  696. /package/core/tokens/m3/{definitions/_md-sys-motion.scss → _md-sys-motion.scss} +0 -0
  697. /package/core/tokens/m3/{definitions/_md-sys-shape.scss → _md-sys-shape.scss} +0 -0
  698. /package/core/tokens/m3/{definitions/_md-sys-state.scss → _md-sys-state.scss} +0 -0
@@ -1,385 +1,57 @@
1
- import { AbstractControl } from '@angular/forms';
2
- import { AfterContentInit } from '@angular/core';
3
- import { AfterViewChecked } from '@angular/core';
4
- import { AfterViewInit } from '@angular/core';
5
- import { ChangeDetectorRef } from '@angular/core';
6
- import { ComponentType } from '@angular/cdk/portal';
7
- import { ControlValueAccessor } from '@angular/forms';
8
- import { DateAdapter } from '@angular/material/core';
9
- import { Directionality } from '@angular/cdk/bidi';
10
- import { DoCheck } from '@angular/core';
11
- import { ElementRef } from '@angular/core';
12
- import { ErrorStateMatcher } from '@angular/material/core';
13
- import { EventEmitter } from '@angular/core';
14
- import { FactoryProvider } from '@angular/core';
15
- import { FocusOrigin } from '@angular/cdk/a11y';
16
- import { FormGroupDirective } from '@angular/forms';
17
1
  import * as i0 from '@angular/core';
18
- import * as i1 from '@angular/material/button';
19
- import * as i19 from '@angular/cdk/scrolling';
2
+ import { OnChanges, OnDestroy, AfterViewChecked, EventEmitter, SimpleChanges, FactoryProvider, AfterContentInit, ChangeDetectorRef, AfterViewInit, ElementRef, InjectionToken, OnInit, DoCheck, TemplateRef } from '@angular/core';
3
+ import { MatButton, MatButtonModule } from '../button/index.js';
20
4
  import * as i2 from '@angular/cdk/overlay';
21
- import * as i3 from '@angular/cdk/a11y';
22
- import * as i4 from '@angular/cdk/portal';
23
- import * as i5 from '@angular/material/core';
24
- import { InjectionToken } from '@angular/core';
25
- import { MatButton } from '@angular/material/button';
26
- import { MatFormFieldControl } from '@angular/material/form-field';
27
- import { NgControl } from '@angular/forms';
28
- import { NgForm } from '@angular/forms';
29
- import { Observable } from 'rxjs';
30
- import { OnChanges } from '@angular/core';
31
- import { OnDestroy } from '@angular/core';
32
- import { OnInit } from '@angular/core';
33
- import { Overlay } from '@angular/cdk/overlay';
34
- import { Portal } from '@angular/cdk/portal';
35
5
  import { ScrollStrategy } from '@angular/cdk/overlay';
36
- import { SimpleChanges } from '@angular/core';
37
- import { Subject } from 'rxjs';
38
- import { TemplatePortal } from '@angular/cdk/portal';
39
- import { TemplateRef } from '@angular/core';
40
- import { ThemePalette } from '@angular/material/core';
41
- import { ValidationErrors } from '@angular/forms';
42
- import { Validator } from '@angular/forms';
43
- import { ValidatorFn } from '@angular/forms';
44
- import { WritableSignal } from '@angular/core';
45
-
46
- /**
47
- * Function that can be used to filter out dates from a calendar.
48
- * Datepicker can sometimes receive a null value as input for the date argument.
49
- * This doesn't represent a "null date" but rather signifies that no date has been selected yet in the calendar.
50
- */
51
- export declare type DateFilterFn<D> = (date: D | null) => boolean;
52
-
53
- /** Possible positions for the datepicker dropdown along the X axis. */
54
- export declare type DatepickerDropdownPositionX = 'start' | 'end';
55
-
56
- /** Possible positions for the datepicker dropdown along the Y axis. */
57
- export declare type DatepickerDropdownPositionY = 'above' | 'below';
58
-
59
- /** A class representing a range of dates. */
60
- export declare class DateRange<D> {
61
- /** The start date of the range. */
62
- readonly start: D | null;
63
- /** The end date of the range. */
64
- readonly end: D | null;
65
- /**
66
- * Ensures that objects with a `start` and `end` property can't be assigned to a variable that
67
- * expects a `DateRange`
68
- */
69
- private _disableStructuralEquivalency;
70
- constructor(
71
- /** The start date of the range. */
72
- start: D | null,
73
- /** The end date of the range. */
74
- end: D | null);
75
- }
76
-
77
- /**
78
- * Event emitted by the date selection model when its selection changes.
79
- * @docs-private
80
- */
81
- export declare interface DateSelectionModelChange<S> {
82
- /** New value for the selection. */
83
- selection: S;
84
- /** Object that triggered the change. */
85
- source: unknown;
86
- /** Previous value */
87
- oldValue?: S;
88
- }
89
-
90
- /** Provides the default date range selection behavior. */
91
- export declare class DefaultMatCalendarRangeStrategy<D> implements MatDateRangeSelectionStrategy<D> {
92
- private _dateAdapter;
93
- constructor(_dateAdapter: DateAdapter<D>);
94
- selectionFinished(date: D, currentRange: DateRange<D>): DateRange<D>;
95
- createPreview(activeDate: D | null, currentRange: DateRange<D>): DateRange<D>;
96
- createDrag(dragOrigin: D, originalRange: DateRange<D>, newDate: D): DateRange<D> | null;
97
- static ɵfac: i0.ɵɵFactoryDeclaration<DefaultMatCalendarRangeStrategy<any>, never>;
98
- static ɵprov: i0.ɵɵInjectableDeclaration<DefaultMatCalendarRangeStrategy<any>>;
99
- }
100
-
101
- /**
102
- * Conditionally picks the date type, if a DateRange is passed in.
103
- * @docs-private
104
- */
105
- export declare type ExtractDateTypeFromSelection<T> = T extends DateRange<infer D> ? D : NonNullable<T>;
106
-
107
- /**
108
- * When the multi-year view is first opened, the active year will be in view.
109
- * So we compute how many years are between the active year and the *slot* where our
110
- * "startingYear" will render when paged into view.
111
- */
112
- declare function getActiveOffset<D>(dateAdapter: DateAdapter<D>, activeDate: D, minDate: D | null, maxDate: D | null): number;
113
-
114
- declare namespace i10 {
115
- export {
116
- MAT_DATEPICKER_VALUE_ACCESSOR,
117
- MAT_DATEPICKER_VALIDATORS,
118
- MatDatepickerInput
119
- }
120
- }
121
-
122
- declare namespace i11 {
123
- export {
124
- MatDatepickerToggleIcon,
125
- MatDatepickerToggle
126
- }
127
- }
128
-
129
- declare namespace i12 {
130
- export {
131
- MatMonthView
132
- }
133
- }
134
-
135
- declare namespace i13 {
136
- export {
137
- MatYearView
138
- }
139
- }
140
-
141
- declare namespace i14 {
142
- export {
143
- isSameMultiYearView,
144
- getActiveOffset,
145
- yearsPerPage,
146
- yearsPerRow,
147
- MatMultiYearView
148
- }
149
- }
150
-
151
- declare namespace i15 {
152
- export {
153
- MatDateRangeInput
154
- }
155
- }
156
-
157
- declare namespace i16 {
158
- export {
159
- MatStartDate,
160
- MatEndDate
161
- }
162
- }
163
-
164
- declare namespace i17 {
165
- export {
166
- MatDateRangePickerInput,
167
- MatDateRangePicker
168
- }
169
- }
170
-
171
- declare namespace i18 {
172
- export {
173
- MatDatepickerApply,
174
- MatDatepickerCancel,
175
- MatDatepickerActions
176
- }
177
- }
178
-
179
- declare namespace i6 {
180
- export {
181
- MatCalendarView,
182
- MatCalendarHeader,
183
- MatCalendar
184
- }
185
- }
186
-
187
- declare namespace i7 {
188
- export {
189
- MatCalendarCellCssClasses,
190
- MatCalendarCellClassFunction,
191
- MatCalendarCell,
192
- MatCalendarUserEvent,
193
- MatCalendarBody
194
- }
195
- }
196
-
197
- declare namespace i8 {
198
- export {
199
- MatDatepicker
200
- }
201
- }
202
-
203
- declare namespace i9 {
204
- export {
205
- MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY,
206
- MAT_DATEPICKER_SCROLL_STRATEGY,
207
- DatepickerDropdownPositionX,
208
- DatepickerDropdownPositionY,
209
- MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER,
210
- MatDatepickerContent,
211
- MatDatepickerControl,
212
- MatDatepickerPanel,
213
- MatDatepickerBase
214
- }
215
- }
216
-
217
- declare function isSameMultiYearView<D>(dateAdapter: DateAdapter<D>, date1: D, date2: D, minDate: D | null, maxDate: D | null): boolean;
218
-
219
- /** Injection token used to customize the date range selection behavior. */
220
- export declare const MAT_DATE_RANGE_SELECTION_STRATEGY: InjectionToken<MatDateRangeSelectionStrategy<any>>;
221
-
222
- /** Injection token that determines the scroll handling while the calendar is open. */
223
- export declare const MAT_DATEPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
224
-
225
- /** @docs-private */
226
- export declare function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy;
6
+ import * as i1 from '@angular/cdk/a11y';
7
+ import { FocusOrigin } from '@angular/cdk/a11y';
8
+ import * as i3 from '@angular/cdk/portal';
9
+ import { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';
10
+ import { M as MatCommonModule } from '../common-module.d-C8xzHJDr.js';
11
+ import { Observable, Subject } from 'rxjs';
12
+ import { D as DateAdapter } from '../date-adapter.d-CtKXIxk0.js';
13
+ import { T as ThemePalette } from '../palette.d-BSSFKjO6.js';
14
+ import { ControlValueAccessor, Validator, ValidatorFn, AbstractControl, ValidationErrors, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
15
+ import { M as MatFormFieldControl } from '../form-field-control.d-DvB4ZVlf.js';
16
+ import { Directionality } from '@angular/cdk/bidi';
17
+ import { E as ErrorStateMatcher } from '../error-options.d-CGdTZUYk.js';
18
+ import * as i5 from '@angular/cdk/scrolling';
19
+ import '../ripple-loader.d-9me-KFSi.js';
20
+ import '../index.d-C5neTPvr.js';
21
+ import '../ripple.d-BT30YVLB.js';
22
+ import '@angular/cdk/platform';
227
23
 
228
- /** @docs-private */
229
- export declare const MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
230
- provide: InjectionToken<() => ScrollStrategy>;
231
- deps: (typeof Overlay)[];
232
- useFactory: typeof MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY;
24
+ /** Extra CSS classes that can be associated with a calendar cell. */
25
+ type MatCalendarCellCssClasses = string | string[] | Set<string> | {
26
+ [key: string]: any;
233
27
  };
234
-
235
- /** @docs-private */
236
- export declare const MAT_DATEPICKER_VALIDATORS: any;
237
-
238
- /** @docs-private */
239
- export declare const MAT_DATEPICKER_VALUE_ACCESSOR: any;
240
-
241
- /** @docs-private */
242
- export declare function MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>;
243
-
244
- /**
245
- * Used to provide a range selection model to a component.
246
- * @docs-private
247
- */
248
- export declare const MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider;
249
-
250
- /** @docs-private */
251
- export declare function MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>;
252
-
28
+ /** Function that can generate the extra classes that should be added to a calendar cell. */
29
+ type MatCalendarCellClassFunction<D> = (date: D, view: 'month' | 'year' | 'multi-year') => MatCalendarCellCssClasses;
253
30
  /**
254
- * Used to provide a single selection model to a component.
31
+ * An internal class that represents the data corresponding to a single calendar cell.
255
32
  * @docs-private
256
33
  */
257
- export declare const MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider;
258
-
259
- /** A calendar that is used as part of the datepicker. */
260
- export declare class MatCalendar<D> implements AfterContentInit, AfterViewChecked, OnDestroy, OnChanges {
261
- private _dateAdapter;
262
- private _dateFormats;
263
- private _changeDetectorRef;
264
- /** An input indicating the type of the header component, if set. */
265
- headerComponent: ComponentType<any>;
266
- /** A portal containing the header component type for this calendar. */
267
- _calendarHeaderPortal: Portal<any>;
268
- private _intlChanges;
269
- /**
270
- * Used for scheduling that focus should be moved to the active cell on the next tick.
271
- * We need to schedule it, rather than do it immediately, because we have to wait
272
- * for Angular to re-evaluate the view children.
273
- */
274
- private _moveFocusOnNextTick;
275
- /** A date representing the period (month or year) to start the calendar in. */
276
- get startAt(): D | null;
277
- set startAt(value: D | null);
278
- private _startAt;
279
- /** Whether the calendar should be started in month or year view. */
280
- startView: MatCalendarView;
281
- /** The currently selected date. */
282
- get selected(): DateRange<D> | D | null;
283
- set selected(value: DateRange<D> | D | null);
284
- private _selected;
285
- /** The minimum selectable date. */
286
- get minDate(): D | null;
287
- set minDate(value: D | null);
288
- private _minDate;
289
- /** The maximum selectable date. */
290
- get maxDate(): D | null;
291
- set maxDate(value: D | null);
292
- private _maxDate;
293
- /** Function used to filter which dates are selectable. */
294
- dateFilter: (date: D) => boolean;
295
- /** Function that can be used to add custom CSS classes to dates. */
296
- dateClass: MatCalendarCellClassFunction<D>;
297
- /** Start of the comparison range. */
298
- comparisonStart: D | null;
299
- /** End of the comparison range. */
300
- comparisonEnd: D | null;
301
- /** ARIA Accessible name of the `<input matStartDate/>` */
302
- startDateAccessibleName: string | null;
303
- /** ARIA Accessible name of the `<input matEndDate/>` */
304
- endDateAccessibleName: string | null;
305
- /** Emits when the currently selected date changes. */
306
- readonly selectedChange: EventEmitter<D | null>;
307
- /**
308
- * Emits the year chosen in multiyear view.
309
- * This doesn't imply a change on the selected date.
310
- */
311
- readonly yearSelected: EventEmitter<D>;
312
- /**
313
- * Emits the month chosen in year view.
314
- * This doesn't imply a change on the selected date.
315
- */
316
- readonly monthSelected: EventEmitter<D>;
317
- /**
318
- * Emits when the current view changes.
319
- */
320
- readonly viewChanged: EventEmitter<MatCalendarView>;
321
- /** Emits when any date is selected. */
322
- readonly _userSelection: EventEmitter<MatCalendarUserEvent<D | null>>;
323
- /** Emits a new date range value when the user completes a drag drop operation. */
324
- readonly _userDragDrop: EventEmitter<MatCalendarUserEvent<DateRange<D>>>;
325
- /** Reference to the current month view component. */
326
- monthView: MatMonthView<D>;
327
- /** Reference to the current year view component. */
328
- yearView: MatYearView<D>;
329
- /** Reference to the current multi-year view component. */
330
- multiYearView: MatMultiYearView<D>;
331
- /**
332
- * The current active date. This determines which time period is shown and which date is
333
- * highlighted when using keyboard navigation.
334
- */
335
- get activeDate(): D;
336
- set activeDate(value: D);
337
- private _clampedActiveDate;
338
- /** Whether the calendar is in month view. */
339
- get currentView(): MatCalendarView;
340
- set currentView(value: MatCalendarView);
341
- private _currentView;
342
- /** Origin of active drag, or null when dragging is not active. */
343
- protected _activeDrag: MatCalendarUserEvent<D> | null;
344
- /**
345
- * Emits whenever there is a state change that the header may need to respond to.
346
- */
347
- readonly stateChanges: Subject<void>;
348
- constructor(...args: unknown[]);
349
- ngAfterContentInit(): void;
350
- ngAfterViewChecked(): void;
351
- ngOnDestroy(): void;
352
- ngOnChanges(changes: SimpleChanges): void;
353
- /** Focuses the active date. */
354
- focusActiveCell(): void;
355
- /** Updates today's date after an update of the active date */
356
- updateTodaysDate(): void;
357
- /** Handles date selection in the month view. */
358
- _dateSelected(event: MatCalendarUserEvent<D | null>): void;
359
- /** Handles year selection in the multiyear view. */
360
- _yearSelectedInMultiYearView(normalizedYear: D): void;
361
- /** Handles month selection in the year view. */
362
- _monthSelectedInYearView(normalizedMonth: D): void;
363
- /** Handles year/month selection in the multi-year/year views. */
364
- _goToDateInView(date: D, view: 'month' | 'year' | 'multi-year'): void;
365
- /** Called when the user starts dragging to change a date range. */
366
- _dragStarted(event: MatCalendarUserEvent<D>): void;
367
- /**
368
- * Called when a drag completes. It may end in cancelation or in the selection
369
- * of a new range.
370
- */
371
- _dragEnded(event: MatCalendarUserEvent<DateRange<D> | null>): void;
372
- /** Returns the component instance that corresponds to the current calendar view. */
373
- private _getCurrentViewComponent;
374
- static ɵfac: i0.ɵɵFactoryDeclaration<MatCalendar<any>, never>;
375
- static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendar<any>, "mat-calendar", ["matCalendar"], { "headerComponent": { "alias": "headerComponent"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; "startDateAccessibleName": { "alias": "startDateAccessibleName"; "required": false; }; "endDateAccessibleName": { "alias": "endDateAccessibleName"; "required": false; }; }, { "selectedChange": "selectedChange"; "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "viewChanged": "viewChanged"; "_userSelection": "_userSelection"; "_userDragDrop": "_userDragDrop"; }, never, never, true, never>;
34
+ declare class MatCalendarCell<D = any> {
35
+ value: number;
36
+ displayValue: string;
37
+ ariaLabel: string;
38
+ enabled: boolean;
39
+ cssClasses: MatCalendarCellCssClasses;
40
+ compareValue: number;
41
+ rawValue?: D | undefined;
42
+ readonly id: number;
43
+ constructor(value: number, displayValue: string, ariaLabel: string, enabled: boolean, cssClasses?: MatCalendarCellCssClasses, compareValue?: number, rawValue?: D | undefined);
44
+ }
45
+ /** Event emitted when a date inside the calendar is triggered as a result of a user action. */
46
+ interface MatCalendarUserEvent<D> {
47
+ value: D;
48
+ event: Event;
376
49
  }
377
-
378
50
  /**
379
51
  * An internal component used to display calendar data in a table.
380
52
  * @docs-private
381
53
  */
382
- export declare class MatCalendarBody<D = any> implements OnChanges, OnDestroy, AfterViewChecked {
54
+ declare class MatCalendarBody<D = any> implements OnChanges, OnDestroy, AfterViewChecked {
383
55
  private _elementRef;
384
56
  private _ngZone;
385
57
  private _platform;
@@ -558,425 +230,688 @@ export declare class MatCalendarBody<D = any> implements OnChanges, OnDestroy, A
558
230
  static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendarBody<any>, "[mat-calendar-body]", ["matCalendarBody"], { "label": { "alias": "label"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "todayValue": { "alias": "todayValue"; "required": false; }; "startValue": { "alias": "startValue"; "required": false; }; "endValue": { "alias": "endValue"; "required": false; }; "labelMinRequiredCells": { "alias": "labelMinRequiredCells"; "required": false; }; "numCols": { "alias": "numCols"; "required": false; }; "activeCell": { "alias": "activeCell"; "required": false; }; "isRange": { "alias": "isRange"; "required": false; }; "cellAspectRatio": { "alias": "cellAspectRatio"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; "previewStart": { "alias": "previewStart"; "required": false; }; "previewEnd": { "alias": "previewEnd"; "required": false; }; "startDateAccessibleName": { "alias": "startDateAccessibleName"; "required": false; }; "endDateAccessibleName": { "alias": "endDateAccessibleName"; "required": false; }; }, { "selectedValueChange": "selectedValueChange"; "previewChange": "previewChange"; "activeDateChange": "activeDateChange"; "dragStarted": "dragStarted"; "dragEnded": "dragEnded"; }, never, never, true, never>;
559
231
  }
560
232
 
561
- /**
562
- * An internal class that represents the data corresponding to a single calendar cell.
563
- * @docs-private
564
- */
565
- export declare class MatCalendarCell<D = any> {
566
- value: number;
567
- displayValue: string;
568
- ariaLabel: string;
569
- enabled: boolean;
570
- cssClasses: MatCalendarCellCssClasses;
571
- compareValue: number;
572
- rawValue?: D | undefined;
573
- readonly id: number;
574
- constructor(value: number, displayValue: string, ariaLabel: string, enabled: boolean, cssClasses?: MatCalendarCellCssClasses, compareValue?: number, rawValue?: D | undefined);
575
- }
576
-
577
- /** Function that can generate the extra classes that should be added to a calendar cell. */
578
- export declare type MatCalendarCellClassFunction<D> = (date: D, view: 'month' | 'year' | 'multi-year') => MatCalendarCellCssClasses;
579
-
580
- /** Extra CSS classes that can be associated with a calendar cell. */
581
- export declare type MatCalendarCellCssClasses = string | string[] | Set<string> | {
582
- [key: string]: any;
583
- };
584
-
585
- /** Default header for MatCalendar */
586
- export declare class MatCalendarHeader<D> {
587
- private _intl;
588
- calendar: MatCalendar<D>;
589
- private _dateAdapter;
590
- private _dateFormats;
591
- constructor(...args: unknown[]);
592
- /** The display text for the current calendar view. */
593
- get periodButtonText(): string;
594
- /** The aria description for the current calendar view. */
595
- get periodButtonDescription(): string;
596
- /** The `aria-label` for changing the calendar view. */
597
- get periodButtonLabel(): string;
598
- /** The label for the previous button. */
599
- get prevButtonLabel(): string;
600
- /** The label for the next button. */
601
- get nextButtonLabel(): string;
602
- /** Handles user clicks on the period label. */
603
- currentPeriodClicked(): void;
604
- /** Handles user clicks on the previous button. */
605
- previousClicked(): void;
606
- /** Handles user clicks on the next button. */
607
- nextClicked(): void;
608
- /** Whether the previous period button is enabled. */
609
- previousEnabled(): boolean;
610
- /** Whether the next period button is enabled. */
611
- nextEnabled(): boolean;
612
- /** Whether the two dates represent the same view in the current view mode (month or year). */
613
- private _isSameView;
233
+ /** A class representing a range of dates. */
234
+ declare class DateRange<D> {
235
+ /** The start date of the range. */
236
+ readonly start: D | null;
237
+ /** The end date of the range. */
238
+ readonly end: D | null;
614
239
  /**
615
- * Format two individual labels for the minimum year and maximum year available in the multi-year
616
- * calendar view. Returns an array of two strings where the first string is the formatted label
617
- * for the minimum year, and the second string is the formatted label for the maximum year.
240
+ * Ensures that objects with a `start` and `end` property can't be assigned to a variable that
241
+ * expects a `DateRange`
618
242
  */
619
- private _formatMinAndMaxYearLabels;
620
- _periodButtonLabelId: string;
621
- static ɵfac: i0.ɵɵFactoryDeclaration<MatCalendarHeader<any>, never>;
622
- static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendarHeader<any>, "mat-calendar-header", ["matCalendarHeader"], {}, {}, never, ["*"], true, never>;
623
- }
624
-
625
- /** Event emitted when a date inside the calendar is triggered as a result of a user action. */
626
- export declare interface MatCalendarUserEvent<D> {
627
- value: D;
628
- event: Event;
243
+ private _disableStructuralEquivalency;
244
+ constructor(
245
+ /** The start date of the range. */
246
+ start: D | null,
247
+ /** The end date of the range. */
248
+ end: D | null);
629
249
  }
630
-
631
250
  /**
632
- * Possible views for the calendar.
251
+ * Conditionally picks the date type, if a DateRange is passed in.
633
252
  * @docs-private
634
253
  */
635
- export declare type MatCalendarView = 'month' | 'year' | 'multi-year';
636
-
637
- /** Component responsible for managing the datepicker popup/dialog. */
638
- export declare class MatDatepicker<D> extends MatDatepickerBase<MatDatepickerControl<D>, D | null, D> {
639
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepicker<any>, never>;
640
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepicker<any>, "mat-datepicker", ["matDatepicker"], {}, {}, never, never, true, never>;
641
- }
642
-
254
+ type ExtractDateTypeFromSelection<T> = T extends DateRange<infer D> ? D : NonNullable<T>;
643
255
  /**
644
- * Container that can be used to project a row of action buttons
645
- * to the bottom of a datepicker or date range picker.
256
+ * Event emitted by the date selection model when its selection changes.
257
+ * @docs-private
646
258
  */
647
- export declare class MatDatepickerActions implements AfterViewInit, OnDestroy {
648
- private _datepicker;
649
- private _viewContainerRef;
650
- _template: TemplateRef<unknown>;
651
- private _portal;
652
- constructor(...args: unknown[]);
653
- ngAfterViewInit(): void;
654
- ngOnDestroy(): void;
655
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerActions, never>;
656
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerActions, "mat-datepicker-actions, mat-date-range-picker-actions", never, {}, {}, never, ["*"], true, never>;
259
+ interface DateSelectionModelChange<S> {
260
+ /** New value for the selection. */
261
+ selection: S;
262
+ /** Object that triggered the change. */
263
+ source: unknown;
264
+ /** Previous value */
265
+ oldValue?: S;
657
266
  }
658
-
659
267
  /**
660
- * Animations used by the Material datepicker.
268
+ * A selection model containing a date selection.
661
269
  * @docs-private
662
- * @deprecated No longer used, will be removed.
663
- * @breaking-change 21.0.0
664
270
  */
665
- export declare const matDatepickerAnimations: {
666
- readonly transformPanel: any;
667
- readonly fadeInCalendar: any;
668
- };
669
-
670
- /** Button that will close the datepicker and assign the current selection to the data model. */
671
- export declare class MatDatepickerApply {
672
- private _datepicker;
673
- constructor(...args: unknown[]);
674
- _applySelection(): void;
675
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerApply, never>;
676
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerApply, "[matDatepickerApply], [matDateRangePickerApply]", never, {}, {}, never, never, true, never>;
677
- }
678
-
679
- /** Base class for a datepicker. */
680
- declare abstract class MatDatepickerBase<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> implements MatDatepickerPanel<C, S, D>, OnDestroy, OnChanges {
681
- private _overlay;
682
- private _viewContainerRef;
683
- private _dateAdapter;
684
- private _dir;
685
- private _model;
686
- private _scrollStrategy;
687
- private _inputStateChanges;
688
- private _document;
689
- /** An input indicating the type of the custom header component for the calendar, if set. */
690
- calendarHeaderComponent: ComponentType<any>;
691
- /** The date to open the calendar to initially. */
692
- get startAt(): D | null;
693
- set startAt(value: D | null);
694
- private _startAt;
695
- /** The view that the calendar should start in. */
696
- startView: 'month' | 'year' | 'multi-year';
271
+ declare abstract class MatDateSelectionModel<S, D = ExtractDateTypeFromSelection<S>> implements OnDestroy {
272
+ /** The current selection. */
273
+ readonly selection: S;
274
+ protected _adapter: DateAdapter<D>;
275
+ private readonly _selectionChanged;
276
+ /** Emits when the selection has changed. */
277
+ selectionChanged: Observable<DateSelectionModelChange<S>>;
278
+ protected constructor(
279
+ /** The current selection. */
280
+ selection: S, _adapter: DateAdapter<D>);
697
281
  /**
698
- * Theme color of the datepicker's calendar. This API is supported in M2 themes only, it
699
- * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/datepicker/styling.
700
- *
701
- * For information on applying color variants in M3, see
702
- * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
282
+ * Updates the current selection in the model.
283
+ * @param value New selection that should be assigned.
284
+ * @param source Object that triggered the selection change.
703
285
  */
704
- get color(): ThemePalette;
705
- set color(value: ThemePalette);
706
- _color: ThemePalette;
286
+ updateSelection(value: S, source: unknown): void;
287
+ ngOnDestroy(): void;
288
+ protected _isValidDateInstance(date: D): boolean;
289
+ /** Adds a date to the current selection. */
290
+ abstract add(date: D | null): void;
291
+ /** Checks whether the current selection is valid. */
292
+ abstract isValid(): boolean;
293
+ /** Checks whether the current selection is complete. */
294
+ abstract isComplete(): boolean;
295
+ /** Clones the selection model. */
296
+ abstract clone(): MatDateSelectionModel<S, D>;
297
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDateSelectionModel<any, any>, never>;
298
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatDateSelectionModel<any, any>>;
299
+ }
300
+ /**
301
+ * A selection model that contains a single date.
302
+ * @docs-private
303
+ */
304
+ declare class MatSingleDateSelectionModel<D> extends MatDateSelectionModel<D | null, D> {
305
+ constructor(adapter: DateAdapter<D>);
707
306
  /**
708
- * Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather
709
- * than a dropdown and elements have more padding to allow for bigger touch targets.
307
+ * Adds a date to the current selection. In the case of a single date selection, the added date
308
+ * simply overwrites the previous selection
710
309
  */
711
- touchUi: boolean;
712
- /** Whether the datepicker pop-up should be disabled. */
713
- get disabled(): boolean;
714
- set disabled(value: boolean);
715
- private _disabled;
716
- /** Preferred position of the datepicker in the X axis. */
717
- xPosition: DatepickerDropdownPositionX;
718
- /** Preferred position of the datepicker in the Y axis. */
719
- yPosition: DatepickerDropdownPositionY;
310
+ add(date: D | null): void;
311
+ /** Checks whether the current selection is valid. */
312
+ isValid(): boolean;
720
313
  /**
721
- * Whether to restore focus to the previously-focused element when the calendar is closed.
722
- * Note that automatic focus restoration is an accessibility feature and it is recommended that
723
- * you provide your own equivalent, if you decide to turn it off.
314
+ * Checks whether the current selection is complete. In the case of a single date selection, this
315
+ * is true if the current selection is not null.
724
316
  */
725
- restoreFocus: boolean;
317
+ isComplete(): boolean;
318
+ /** Clones the selection model. */
319
+ clone(): MatSingleDateSelectionModel<D>;
320
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSingleDateSelectionModel<any>, never>;
321
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatSingleDateSelectionModel<any>>;
322
+ }
323
+ /**
324
+ * A selection model that contains a date range.
325
+ * @docs-private
326
+ */
327
+ declare class MatRangeDateSelectionModel<D> extends MatDateSelectionModel<DateRange<D>, D> {
328
+ constructor(adapter: DateAdapter<D>);
726
329
  /**
727
- * Emits selected year in multiyear view.
728
- * This doesn't imply a change on the selected date.
330
+ * Adds a date to the current selection. In the case of a date range selection, the added date
331
+ * fills in the next `null` value in the range. If both the start and the end already have a date,
332
+ * the selection is reset so that the given date is the new `start` and the `end` is null.
729
333
  */
730
- readonly yearSelected: EventEmitter<D>;
334
+ add(date: D | null): void;
335
+ /** Checks whether the current selection is valid. */
336
+ isValid(): boolean;
731
337
  /**
732
- * Emits selected month in year view.
733
- * This doesn't imply a change on the selected date.
338
+ * Checks whether the current selection is complete. In the case of a date range selection, this
339
+ * is true if the current selection has a non-null `start` and `end`.
734
340
  */
735
- readonly monthSelected: EventEmitter<D>;
341
+ isComplete(): boolean;
342
+ /** Clones the selection model. */
343
+ clone(): MatRangeDateSelectionModel<D>;
344
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatRangeDateSelectionModel<any>, never>;
345
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatRangeDateSelectionModel<any>>;
346
+ }
347
+ /**
348
+ * @docs-private
349
+ * @deprecated No longer used, will be removed.
350
+ * @breaking-change 21.0.0
351
+ */
352
+ declare function MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>;
353
+ /**
354
+ * Used to provide a single selection model to a component.
355
+ * @docs-private
356
+ * @deprecated No longer used, will be removed.
357
+ * @breaking-change 21.0.0
358
+ */
359
+ declare const MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider;
360
+ /**
361
+ * @docs-private
362
+ * @deprecated No longer used, will be removed.
363
+ * @breaking-change 21.0.0
364
+ */
365
+ declare function MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>;
366
+ /**
367
+ * Used to provide a range selection model to a component.
368
+ * @docs-private
369
+ * @deprecated No longer used, will be removed.
370
+ * @breaking-change 21.0.0
371
+ */
372
+ declare const MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider;
373
+
374
+ /**
375
+ * An internal component used to display a single month in the datepicker.
376
+ * @docs-private
377
+ */
378
+ declare class MatMonthView<D> implements AfterContentInit, OnChanges, OnDestroy {
379
+ readonly _changeDetectorRef: ChangeDetectorRef;
380
+ private _dateFormats;
381
+ _dateAdapter: DateAdapter<D, any>;
382
+ private _dir;
383
+ private _rangeStrategy;
384
+ private _rerenderSubscription;
385
+ /** Flag used to filter out space/enter keyup events that originated outside of the view. */
386
+ private _selectionKeyPressed;
736
387
  /**
737
- * Emits when the current view changes.
388
+ * The date to display in this month view (everything other than the month and year is ignored).
738
389
  */
739
- readonly viewChanged: EventEmitter<MatCalendarView>;
740
- /** Function that can be used to add custom CSS classes to dates. */
741
- dateClass: MatCalendarCellClassFunction<D>;
742
- /** Emits when the datepicker has been opened. */
743
- readonly openedStream: EventEmitter<void>;
744
- /** Emits when the datepicker has been closed. */
745
- readonly closedStream: EventEmitter<void>;
746
- /** Classes to be passed to the date picker panel. */
747
- get panelClass(): string | string[];
748
- set panelClass(value: string | string[]);
749
- private _panelClass;
750
- /** Whether the calendar is open. */
751
- get opened(): boolean;
752
- set opened(value: boolean);
753
- private _opened;
754
- /** The id for the datepicker calendar. */
755
- id: string;
390
+ get activeDate(): D;
391
+ set activeDate(value: D);
392
+ private _activeDate;
393
+ /** The currently selected date. */
394
+ get selected(): DateRange<D> | D | null;
395
+ set selected(value: DateRange<D> | D | null);
396
+ private _selected;
756
397
  /** The minimum selectable date. */
757
- _getMinDate(): D | null;
398
+ get minDate(): D | null;
399
+ set minDate(value: D | null);
400
+ private _minDate;
758
401
  /** The maximum selectable date. */
759
- _getMaxDate(): D | null;
760
- _getDateFilter(): DateFilterFn<D>;
761
- /** A reference to the overlay into which we've rendered the calendar. */
762
- private _overlayRef;
763
- /** Reference to the component instance rendered in the overlay. */
764
- private _componentRef;
765
- /** The element that was focused before the datepicker was opened. */
766
- private _focusedElementBeforeOpen;
767
- /** Unique class that will be added to the backdrop so that the test harnesses can look it up. */
768
- private _backdropHarnessClass;
769
- /** Currently-registered actions portal. */
770
- private _actionsPortal;
771
- /** The input element this datepicker is associated with. */
772
- datepickerInput: C;
773
- /** Emits when the datepicker's state changes. */
774
- readonly stateChanges: Subject<void>;
775
- private _injector;
776
- private readonly _changeDetectorRef;
402
+ get maxDate(): D | null;
403
+ set maxDate(value: D | null);
404
+ private _maxDate;
405
+ /** Function used to filter which dates are selectable. */
406
+ dateFilter: (date: D) => boolean;
407
+ /** Function that can be used to add custom CSS classes to dates. */
408
+ dateClass: MatCalendarCellClassFunction<D>;
409
+ /** Start of the comparison range. */
410
+ comparisonStart: D | null;
411
+ /** End of the comparison range. */
412
+ comparisonEnd: D | null;
413
+ /** ARIA Accessible name of the `<input matStartDate/>` */
414
+ startDateAccessibleName: string | null;
415
+ /** ARIA Accessible name of the `<input matEndDate/>` */
416
+ endDateAccessibleName: string | null;
417
+ /** Origin of active drag, or null when dragging is not active. */
418
+ activeDrag: MatCalendarUserEvent<D> | null;
419
+ /** Emits when a new date is selected. */
420
+ readonly selectedChange: EventEmitter<D | null>;
421
+ /** Emits when any date is selected. */
422
+ readonly _userSelection: EventEmitter<MatCalendarUserEvent<D | null>>;
423
+ /** Emits when the user initiates a date range drag via mouse or touch. */
424
+ readonly dragStarted: EventEmitter<MatCalendarUserEvent<D>>;
425
+ /**
426
+ * Emits when the user completes or cancels a date range drag.
427
+ * Emits null when the drag was canceled or the newly selected date range if completed.
428
+ */
429
+ readonly dragEnded: EventEmitter<MatCalendarUserEvent<DateRange<D> | null>>;
430
+ /** Emits when any date is activated. */
431
+ readonly activeDateChange: EventEmitter<D>;
432
+ /** The body of calendar table */
433
+ _matCalendarBody: MatCalendarBody;
434
+ /** The label for this month (e.g. "January 2017"). */
435
+ _monthLabel: string;
436
+ /** Grid of calendar cells representing the dates of the month. */
437
+ _weeks: MatCalendarCell[][];
438
+ /** The number of blank cells in the first row before the 1st of the month. */
439
+ _firstWeekOffset: number;
440
+ /** Start value of the currently-shown date range. */
441
+ _rangeStart: number | null;
442
+ /** End value of the currently-shown date range. */
443
+ _rangeEnd: number | null;
444
+ /** Start value of the currently-shown comparison date range. */
445
+ _comparisonRangeStart: number | null;
446
+ /** End value of the currently-shown comparison date range. */
447
+ _comparisonRangeEnd: number | null;
448
+ /** Start of the preview range. */
449
+ _previewStart: number | null;
450
+ /** End of the preview range. */
451
+ _previewEnd: number | null;
452
+ /** Whether the user is currently selecting a range of dates. */
453
+ _isRange: boolean;
454
+ /** The date of the month that today falls on. Null if today is in another month. */
455
+ _todayDate: number | null;
456
+ /** The names of the weekdays. */
457
+ _weekdays: {
458
+ long: string;
459
+ narrow: string;
460
+ id: number;
461
+ }[];
777
462
  constructor(...args: unknown[]);
463
+ ngAfterContentInit(): void;
778
464
  ngOnChanges(changes: SimpleChanges): void;
779
465
  ngOnDestroy(): void;
780
- /** Selects the given date */
781
- select(date: D): void;
782
- /** Emits the selected year in multiyear view */
783
- _selectYear(normalizedYear: D): void;
784
- /** Emits selected month in year view */
785
- _selectMonth(normalizedMonth: D): void;
786
- /** Emits changed view */
787
- _viewChanged(view: MatCalendarView): void;
466
+ /** Handles when a new date is selected. */
467
+ _dateSelected(event: MatCalendarUserEvent<number>): void;
788
468
  /**
789
- * Register an input with this datepicker.
790
- * @param input The datepicker input to register with this datepicker.
791
- * @returns Selection model that the input should hook itself up to.
469
+ * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
470
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
471
+ * that date.
472
+ *
473
+ * This function is used to match each component's model of the active date with the calendar
474
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
475
+ * parent's value asynchronously via the `activeDateChange` event. The child component receives an
476
+ * updated value asynchronously via the `activeCell` Input.
792
477
  */
793
- registerInput(input: C): MatDateSelectionModel<S, D>;
478
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
479
+ /** Handles keydown events on the calendar body when calendar is in month view. */
480
+ _handleCalendarBodyKeydown(event: KeyboardEvent): void;
481
+ /** Handles keyup events on the calendar body when calendar is in month view. */
482
+ _handleCalendarBodyKeyup(event: KeyboardEvent): void;
483
+ /** Initializes this month view. */
484
+ _init(): void;
485
+ /** Focuses the active cell after the microtask queue is empty. */
486
+ _focusActiveCell(movePreview?: boolean): void;
487
+ /** Focuses the active cell after change detection has run and the microtask queue is empty. */
488
+ _focusActiveCellAfterViewChecked(): void;
489
+ /** Called when the user has activated a new cell and the preview needs to be updated. */
490
+ _previewChanged({ event, value: cell }: MatCalendarUserEvent<MatCalendarCell<D> | null>): void;
794
491
  /**
795
- * Registers a portal containing action buttons with the datepicker.
796
- * @param portal Portal to be registered.
492
+ * Called when the user has ended a drag. If the drag/drop was successful,
493
+ * computes and emits the new range selection.
797
494
  */
798
- registerActions(portal: TemplatePortal): void;
495
+ protected _dragEnded(event: MatCalendarUserEvent<D | null>): void;
799
496
  /**
800
- * Removes a portal containing action buttons from the datepicker.
801
- * @param portal Portal to be removed.
497
+ * Takes a day of the month and returns a new date in the same month and year as the currently
498
+ * active date. The returned date will have the same day of the month as the argument date.
802
499
  */
803
- removeActions(portal: TemplatePortal): void;
804
- /** Open the calendar. */
805
- open(): void;
806
- /** Close the calendar. */
807
- close(): void;
808
- /** Applies the current pending selection on the overlay to the model. */
809
- _applyPendingSelection(): void;
810
- /** Forwards relevant values from the datepicker to the datepicker content inside the overlay. */
811
- protected _forwardContentValues(instance: MatDatepickerContent<S, D>): void;
812
- /** Opens the overlay with the calendar. */
813
- private _openOverlay;
814
- /** Destroys the current overlay. */
815
- private _destroyOverlay;
816
- /** Gets a position strategy that will open the calendar as a dropdown. */
817
- private _getDialogStrategy;
818
- /** Gets a position strategy that will open the calendar as a dropdown. */
819
- private _getDropdownStrategy;
820
- /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */
821
- private _setConnectedPositions;
822
- /** Gets an observable that will emit when the overlay is supposed to be closed. */
823
- private _getCloseStream;
824
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerBase<any, any, any>, never>;
825
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerBase<any, any, any>, never, never, { "calendarHeaderComponent": { "alias": "calendarHeaderComponent"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "color": { "alias": "color"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; }, { "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "viewChanged": "viewChanged"; "openedStream": "opened"; "closedStream": "closed"; }, never, never, true, never>;
826
- static ngAcceptInputType_touchUi: unknown;
827
- static ngAcceptInputType_disabled: unknown;
828
- static ngAcceptInputType_restoreFocus: unknown;
829
- static ngAcceptInputType_opened: unknown;
830
- }
831
-
832
- /** Button that will close the datepicker and discard the current selection. */
833
- export declare class MatDatepickerCancel {
834
- _datepicker: MatDatepickerBase<MatDatepickerControl<any>, unknown, {}>;
835
- constructor(...args: unknown[]);
836
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerCancel, never>;
837
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerCancel, "[matDatepickerCancel], [matDateRangePickerCancel]", never, {}, {}, never, never, true, never>;
500
+ private _getDateFromDayOfMonth;
501
+ /** Initializes the weekdays. */
502
+ private _initWeekdays;
503
+ /** Creates MatCalendarCells for the dates in this month. */
504
+ private _createWeekCells;
505
+ /** Date filter for the month */
506
+ private _shouldEnableDate;
507
+ /**
508
+ * Gets the date in this month that the given Date falls on.
509
+ * Returns null if the given Date is in another month.
510
+ */
511
+ private _getDateInCurrentMonth;
512
+ /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */
513
+ private _hasSameMonthAndYear;
514
+ /** Gets the value that will be used to one cell to another. */
515
+ private _getCellCompareValue;
516
+ /** Determines whether the user has the RTL layout direction. */
517
+ private _isRtl;
518
+ /** Sets the current range based on a model value. */
519
+ private _setRanges;
520
+ /** Gets whether a date can be selected in the month view. */
521
+ private _canSelect;
522
+ /** Clears out preview state. */
523
+ private _clearPreview;
524
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatMonthView<any>, never>;
525
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatMonthView<any>, "mat-month-view", ["matMonthView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; "startDateAccessibleName": { "alias": "startDateAccessibleName"; "required": false; }; "endDateAccessibleName": { "alias": "endDateAccessibleName"; "required": false; }; "activeDrag": { "alias": "activeDrag"; "required": false; }; }, { "selectedChange": "selectedChange"; "_userSelection": "_userSelection"; "dragStarted": "dragStarted"; "dragEnded": "dragEnded"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
838
526
  }
839
527
 
528
+ declare const yearsPerPage = 24;
529
+ declare const yearsPerRow = 4;
840
530
  /**
841
- * Component used as the content for the datepicker overlay. We use this instead of using
842
- * MatCalendar directly as the content so we can control the initial focus. This also gives us a
843
- * place to put additional features of the overlay that are not part of the calendar itself in the
844
- * future. (e.g. confirmation buttons).
531
+ * An internal component used to display a year selector in the datepicker.
845
532
  * @docs-private
846
533
  */
847
- export declare class MatDatepickerContent<S, D = ExtractDateTypeFromSelection<S>> implements AfterViewInit, OnDestroy {
848
- protected _elementRef: ElementRef<HTMLElement>;
849
- protected _animationsDisabled: boolean;
534
+ declare class MatMultiYearView<D> implements AfterContentInit, OnDestroy {
850
535
  private _changeDetectorRef;
851
- private _globalModel;
852
- private _dateAdapter;
853
- private _ngZone;
854
- private _rangeSelectionStrategy;
855
- private _stateChanges;
856
- private _model;
857
- private _eventCleanups;
858
- private _animationFallback;
859
- /** Reference to the internal calendar component. */
860
- _calendar: MatCalendar<D>;
861
- /**
862
- * Theme color of the internal calendar. This API is supported in M2 themes
863
- * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/datepicker/styling.
864
- *
865
- * For information on applying color variants in M3, see
866
- * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
867
- */
868
- color: ThemePalette;
869
- /** Reference to the datepicker that created the overlay. */
870
- datepicker: MatDatepickerBase<any, S, D>;
871
- /** Start of the comparison range. */
872
- comparisonStart: D | null;
873
- /** End of the comparison range. */
874
- comparisonEnd: D | null;
875
- /** ARIA Accessible name of the `<input matStartDate/>` */
876
- startDateAccessibleName: string | null;
877
- /** ARIA Accessible name of the `<input matEndDate/>` */
878
- endDateAccessibleName: string | null;
879
- /** Whether the datepicker is above or below the input. */
880
- _isAbove: boolean;
881
- /** Emits when an animation has finished. */
882
- readonly _animationDone: Subject<void>;
883
- /** Whether there is an in-progress animation. */
884
- _isAnimating: boolean;
885
- /** Text for the close button. */
886
- _closeButtonText: string;
887
- /** Whether the close button currently has focus. */
888
- _closeButtonFocused: boolean;
889
- /** Portal with projected action buttons. */
890
- _actionsPortal: TemplatePortal | null;
891
- /** Id of the label for the `role="dialog"` element. */
892
- _dialogLabelId: string | null;
536
+ _dateAdapter: DateAdapter<D, any>;
537
+ private _dir;
538
+ private _rerenderSubscription;
539
+ /** Flag used to filter out space/enter keyup events that originated outside of the view. */
540
+ private _selectionKeyPressed;
541
+ /** The date to display in this multi-year view (everything other than the year is ignored). */
542
+ get activeDate(): D;
543
+ set activeDate(value: D);
544
+ private _activeDate;
545
+ /** The currently selected date. */
546
+ get selected(): DateRange<D> | D | null;
547
+ set selected(value: DateRange<D> | D | null);
548
+ private _selected;
549
+ /** The minimum selectable date. */
550
+ get minDate(): D | null;
551
+ set minDate(value: D | null);
552
+ private _minDate;
553
+ /** The maximum selectable date. */
554
+ get maxDate(): D | null;
555
+ set maxDate(value: D | null);
556
+ private _maxDate;
557
+ /** A function used to filter which dates are selectable. */
558
+ dateFilter: (date: D) => boolean;
559
+ /** Function that can be used to add custom CSS classes to date cells. */
560
+ dateClass: MatCalendarCellClassFunction<D>;
561
+ /** Emits when a new year is selected. */
562
+ readonly selectedChange: EventEmitter<D>;
563
+ /** Emits the selected year. This doesn't imply a change on the selected date */
564
+ readonly yearSelected: EventEmitter<D>;
565
+ /** Emits when any date is activated. */
566
+ readonly activeDateChange: EventEmitter<D>;
567
+ /** The body of calendar table */
568
+ _matCalendarBody: MatCalendarBody;
569
+ /** Grid of calendar cells representing the currently displayed years. */
570
+ _years: MatCalendarCell[][];
571
+ /** The year that today falls on. */
572
+ _todayYear: number;
573
+ /** The year of the selected date. Null if the selected date is null. */
574
+ _selectedYear: number | null;
893
575
  constructor(...args: unknown[]);
894
- ngAfterViewInit(): void;
576
+ ngAfterContentInit(): void;
895
577
  ngOnDestroy(): void;
896
- _handleUserSelection(event: MatCalendarUserEvent<D | null>): void;
897
- _handleUserDragDrop(event: MatCalendarUserEvent<DateRange<D>>): void;
898
- _startExitAnimation(): void;
899
- private _handleAnimationEvent;
900
- _getSelected(): D | DateRange<D> | null;
901
- /** Applies the current pending selection to the global model. */
902
- _applyPendingSelection(): void;
578
+ /** Initializes this multi-year view. */
579
+ _init(): void;
580
+ /** Handles when a new year is selected. */
581
+ _yearSelected(event: MatCalendarUserEvent<number>): void;
903
582
  /**
904
- * Assigns a new portal containing the datepicker actions.
905
- * @param portal Portal with the actions to be assigned.
906
- * @param forceRerender Whether a re-render of the portal should be triggered. This isn't
907
- * necessary if the portal is assigned during initialization, but it may be required if it's
908
- * added at a later point.
583
+ * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
584
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
585
+ * that date.
586
+ *
587
+ * This function is used to match each component's model of the active date with the calendar
588
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
589
+ * parent's value asynchronously via the `activeDateChange` event. The child component receives an
590
+ * updated value asynchronously via the `activeCell` Input.
909
591
  */
910
- _assignActions(portal: TemplatePortal<any> | null, forceRerender: boolean): void;
911
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerContent<any, any>, never>;
912
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerContent<any, any>, "mat-datepicker-content", ["matDatepickerContent"], { "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
592
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
593
+ /** Handles keydown events on the calendar body when calendar is in multi-year view. */
594
+ _handleCalendarBodyKeydown(event: KeyboardEvent): void;
595
+ /** Handles keyup events on the calendar body when calendar is in multi-year view. */
596
+ _handleCalendarBodyKeyup(event: KeyboardEvent): void;
597
+ _getActiveCell(): number;
598
+ /** Focuses the active cell after the microtask queue is empty. */
599
+ _focusActiveCell(): void;
600
+ /** Focuses the active cell after change detection has run and the microtask queue is empty. */
601
+ _focusActiveCellAfterViewChecked(): void;
602
+ /**
603
+ * Takes a year and returns a new date on the same day and month as the currently active date
604
+ * The returned date will have the same year as the argument date.
605
+ */
606
+ private _getDateFromYear;
607
+ /** Creates an MatCalendarCell for the given year. */
608
+ private _createCellForYear;
609
+ /** Whether the given year is enabled. */
610
+ private _shouldEnableYear;
611
+ /** Determines whether the user has the RTL layout direction. */
612
+ private _isRtl;
613
+ /** Sets the currently-highlighted year based on a model value. */
614
+ private _setSelectedYear;
615
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatMultiYearView<any>, never>;
616
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatMultiYearView<any>, "mat-multi-year-view", ["matMultiYearView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; }, { "selectedChange": "selectedChange"; "yearSelected": "yearSelected"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
913
617
  }
914
618
 
915
- /** Form control that can be associated with a datepicker. */
916
- export declare interface MatDatepickerControl<D> {
917
- getStartValue(): D | null;
918
- getThemePalette(): ThemePalette;
919
- min: D | null;
920
- max: D | null;
921
- disabled: boolean;
922
- dateFilter: DateFilterFn<D>;
923
- getConnectedOverlayOrigin(): ElementRef;
924
- getOverlayLabelId(): string | null;
925
- stateChanges: Observable<void>;
619
+ /**
620
+ * An internal component used to display a single year in the datepicker.
621
+ * @docs-private
622
+ */
623
+ declare class MatYearView<D> implements AfterContentInit, OnDestroy {
624
+ readonly _changeDetectorRef: ChangeDetectorRef;
625
+ private _dateFormats;
626
+ _dateAdapter: DateAdapter<D, any>;
627
+ private _dir;
628
+ private _rerenderSubscription;
629
+ /** Flag used to filter out space/enter keyup events that originated outside of the view. */
630
+ private _selectionKeyPressed;
631
+ /** The date to display in this year view (everything other than the year is ignored). */
632
+ get activeDate(): D;
633
+ set activeDate(value: D);
634
+ private _activeDate;
635
+ /** The currently selected date. */
636
+ get selected(): DateRange<D> | D | null;
637
+ set selected(value: DateRange<D> | D | null);
638
+ private _selected;
639
+ /** The minimum selectable date. */
640
+ get minDate(): D | null;
641
+ set minDate(value: D | null);
642
+ private _minDate;
643
+ /** The maximum selectable date. */
644
+ get maxDate(): D | null;
645
+ set maxDate(value: D | null);
646
+ private _maxDate;
647
+ /** A function used to filter which dates are selectable. */
648
+ dateFilter: (date: D) => boolean;
649
+ /** Function that can be used to add custom CSS classes to date cells. */
650
+ dateClass: MatCalendarCellClassFunction<D>;
651
+ /** Emits when a new month is selected. */
652
+ readonly selectedChange: EventEmitter<D>;
653
+ /** Emits the selected month. This doesn't imply a change on the selected date */
654
+ readonly monthSelected: EventEmitter<D>;
655
+ /** Emits when any date is activated. */
656
+ readonly activeDateChange: EventEmitter<D>;
657
+ /** The body of calendar table */
658
+ _matCalendarBody: MatCalendarBody;
659
+ /** Grid of calendar cells representing the months of the year. */
660
+ _months: MatCalendarCell[][];
661
+ /** The label for this year (e.g. "2017"). */
662
+ _yearLabel: string;
663
+ /** The month in this year that today falls on. Null if today is in a different year. */
664
+ _todayMonth: number | null;
665
+ /**
666
+ * The month in this year that the selected Date falls on.
667
+ * Null if the selected Date is in a different year.
668
+ */
669
+ _selectedMonth: number | null;
670
+ constructor(...args: unknown[]);
671
+ ngAfterContentInit(): void;
672
+ ngOnDestroy(): void;
673
+ /** Handles when a new month is selected. */
674
+ _monthSelected(event: MatCalendarUserEvent<number>): void;
675
+ /**
676
+ * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
677
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
678
+ * that date.
679
+ *
680
+ * This function is used to match each component's model of the active date with the calendar
681
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
682
+ * parent's value asynchronously via the `activeDateChange` event. The child component receives an
683
+ * updated value asynchronously via the `activeCell` Input.
684
+ */
685
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
686
+ /** Handles keydown events on the calendar body when calendar is in year view. */
687
+ _handleCalendarBodyKeydown(event: KeyboardEvent): void;
688
+ /** Handles keyup events on the calendar body when calendar is in year view. */
689
+ _handleCalendarBodyKeyup(event: KeyboardEvent): void;
690
+ /** Initializes this year view. */
691
+ _init(): void;
692
+ /** Focuses the active cell after the microtask queue is empty. */
693
+ _focusActiveCell(): void;
694
+ /** Schedules the matCalendarBody to focus the active cell after change detection has run */
695
+ _focusActiveCellAfterViewChecked(): void;
696
+ /**
697
+ * Gets the month in this year that the given Date falls on.
698
+ * Returns null if the given Date is in another year.
699
+ */
700
+ private _getMonthInCurrentYear;
701
+ /**
702
+ * Takes a month and returns a new date in the same day and year as the currently active date.
703
+ * The returned date will have the same month as the argument date.
704
+ */
705
+ private _getDateFromMonth;
706
+ /** Creates an MatCalendarCell for the given month. */
707
+ private _createCellForMonth;
708
+ /** Whether the given month is enabled. */
709
+ private _shouldEnableMonth;
710
+ /**
711
+ * Tests whether the combination month/year is after this.maxDate, considering
712
+ * just the month and year of this.maxDate
713
+ */
714
+ private _isYearAndMonthAfterMaxDate;
715
+ /**
716
+ * Tests whether the combination month/year is before this.minDate, considering
717
+ * just the month and year of this.minDate
718
+ */
719
+ private _isYearAndMonthBeforeMinDate;
720
+ /** Determines whether the user has the RTL layout direction. */
721
+ private _isRtl;
722
+ /** Sets the currently-selected month based on a model value. */
723
+ private _setSelectedMonth;
724
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatYearView<any>, never>;
725
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatYearView<any>, "mat-year-view", ["matYearView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; }, { "selectedChange": "selectedChange"; "monthSelected": "monthSelected"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
926
726
  }
927
727
 
928
- /** Directive used to connect an input to a MatDatepicker. */
929
- export declare class MatDatepickerInput<D> extends MatDatepickerInputBase<D | null, D> implements MatDatepickerControl<D | null>, OnDestroy {
930
- private _formField;
931
- private _closedSubscription;
932
- private _openedSubscription;
933
- /** The datepicker that this input is associated with. */
934
- set matDatepicker(datepicker: MatDatepickerPanel<MatDatepickerControl<D>, D | null, D>);
935
- _datepicker: MatDatepickerPanel<MatDatepickerControl<D>, D | null, D>;
936
- /** The id of the panel owned by this input. */
937
- protected _ariaOwns: WritableSignal<string | null>;
938
- /** The minimum valid date. */
939
- get min(): D | null;
940
- set min(value: D | null);
941
- private _min;
942
- /** The maximum valid date. */
943
- get max(): D | null;
944
- set max(value: D | null);
945
- private _max;
946
- /** Function that can be used to filter out dates within the datepicker. */
947
- get dateFilter(): DateFilterFn<D | null>;
948
- set dateFilter(value: DateFilterFn<D | null>);
949
- private _dateFilter;
950
- /** The combined form control validator for this input. */
951
- protected _validator: ValidatorFn | null;
728
+ /**
729
+ * Possible views for the calendar.
730
+ * @docs-private
731
+ */
732
+ type MatCalendarView = 'month' | 'year' | 'multi-year';
733
+ /** Default header for MatCalendar */
734
+ declare class MatCalendarHeader<D> {
735
+ private _intl;
736
+ calendar: MatCalendar<D>;
737
+ private _dateAdapter;
738
+ private _dateFormats;
952
739
  constructor(...args: unknown[]);
740
+ /** The display text for the current calendar view. */
741
+ get periodButtonText(): string;
742
+ /** The aria description for the current calendar view. */
743
+ get periodButtonDescription(): string;
744
+ /** The `aria-label` for changing the calendar view. */
745
+ get periodButtonLabel(): string;
746
+ /** The label for the previous button. */
747
+ get prevButtonLabel(): string;
748
+ /** The label for the next button. */
749
+ get nextButtonLabel(): string;
750
+ /** Handles user clicks on the period label. */
751
+ currentPeriodClicked(): void;
752
+ /** Handles user clicks on the previous button. */
753
+ previousClicked(): void;
754
+ /** Handles user clicks on the next button. */
755
+ nextClicked(): void;
756
+ /** Whether the previous period button is enabled. */
757
+ previousEnabled(): boolean;
758
+ /** Whether the next period button is enabled. */
759
+ nextEnabled(): boolean;
760
+ /** Whether the two dates represent the same view in the current view mode (month or year). */
761
+ private _isSameView;
953
762
  /**
954
- * Gets the element that the datepicker popup should be connected to.
955
- * @return The element to connect the popup to.
763
+ * Format two individual labels for the minimum year and maximum year available in the multi-year
764
+ * calendar view. Returns an array of two strings where the first string is the formatted label
765
+ * for the minimum year, and the second string is the formatted label for the maximum year.
956
766
  */
957
- getConnectedOverlayOrigin(): ElementRef;
958
- /** Gets the ID of an element that should be used a description for the calendar overlay. */
959
- getOverlayLabelId(): string | null;
960
- /** Returns the palette used by the input's form field, if any. */
961
- getThemePalette(): ThemePalette;
962
- /** Gets the value at which the calendar should start. */
963
- getStartValue(): D | null;
767
+ private _formatMinAndMaxYearLabels;
768
+ _periodButtonLabelId: string;
769
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatCalendarHeader<any>, never>;
770
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendarHeader<any>, "mat-calendar-header", ["matCalendarHeader"], {}, {}, never, ["*"], true, never>;
771
+ }
772
+ /** A calendar that is used as part of the datepicker. */
773
+ declare class MatCalendar<D> implements AfterContentInit, AfterViewChecked, OnDestroy, OnChanges {
774
+ private _dateAdapter;
775
+ private _dateFormats;
776
+ private _changeDetectorRef;
777
+ /** An input indicating the type of the header component, if set. */
778
+ headerComponent: ComponentType<any>;
779
+ /** A portal containing the header component type for this calendar. */
780
+ _calendarHeaderPortal: Portal<any>;
781
+ private _intlChanges;
782
+ /**
783
+ * Used for scheduling that focus should be moved to the active cell on the next tick.
784
+ * We need to schedule it, rather than do it immediately, because we have to wait
785
+ * for Angular to re-evaluate the view children.
786
+ */
787
+ private _moveFocusOnNextTick;
788
+ /** A date representing the period (month or year) to start the calendar in. */
789
+ get startAt(): D | null;
790
+ set startAt(value: D | null);
791
+ private _startAt;
792
+ /** Whether the calendar should be started in month or year view. */
793
+ startView: MatCalendarView;
794
+ /** The currently selected date. */
795
+ get selected(): DateRange<D> | D | null;
796
+ set selected(value: DateRange<D> | D | null);
797
+ private _selected;
798
+ /** The minimum selectable date. */
799
+ get minDate(): D | null;
800
+ set minDate(value: D | null);
801
+ private _minDate;
802
+ /** The maximum selectable date. */
803
+ get maxDate(): D | null;
804
+ set maxDate(value: D | null);
805
+ private _maxDate;
806
+ /** Function used to filter which dates are selectable. */
807
+ dateFilter: (date: D) => boolean;
808
+ /** Function that can be used to add custom CSS classes to dates. */
809
+ dateClass: MatCalendarCellClassFunction<D>;
810
+ /** Start of the comparison range. */
811
+ comparisonStart: D | null;
812
+ /** End of the comparison range. */
813
+ comparisonEnd: D | null;
814
+ /** ARIA Accessible name of the `<input matStartDate/>` */
815
+ startDateAccessibleName: string | null;
816
+ /** ARIA Accessible name of the `<input matEndDate/>` */
817
+ endDateAccessibleName: string | null;
818
+ /** Emits when the currently selected date changes. */
819
+ readonly selectedChange: EventEmitter<D | null>;
820
+ /**
821
+ * Emits the year chosen in multiyear view.
822
+ * This doesn't imply a change on the selected date.
823
+ */
824
+ readonly yearSelected: EventEmitter<D>;
825
+ /**
826
+ * Emits the month chosen in year view.
827
+ * This doesn't imply a change on the selected date.
828
+ */
829
+ readonly monthSelected: EventEmitter<D>;
830
+ /**
831
+ * Emits when the current view changes.
832
+ */
833
+ readonly viewChanged: EventEmitter<MatCalendarView>;
834
+ /** Emits when any date is selected. */
835
+ readonly _userSelection: EventEmitter<MatCalendarUserEvent<D | null>>;
836
+ /** Emits a new date range value when the user completes a drag drop operation. */
837
+ readonly _userDragDrop: EventEmitter<MatCalendarUserEvent<DateRange<D>>>;
838
+ /** Reference to the current month view component. */
839
+ monthView: MatMonthView<D>;
840
+ /** Reference to the current year view component. */
841
+ yearView: MatYearView<D>;
842
+ /** Reference to the current multi-year view component. */
843
+ multiYearView: MatMultiYearView<D>;
844
+ /**
845
+ * The current active date. This determines which time period is shown and which date is
846
+ * highlighted when using keyboard navigation.
847
+ */
848
+ get activeDate(): D;
849
+ set activeDate(value: D);
850
+ private _clampedActiveDate;
851
+ /** Whether the calendar is in month view. */
852
+ get currentView(): MatCalendarView;
853
+ set currentView(value: MatCalendarView);
854
+ private _currentView;
855
+ /** Origin of active drag, or null when dragging is not active. */
856
+ protected _activeDrag: MatCalendarUserEvent<D> | null;
857
+ /**
858
+ * Emits whenever there is a state change that the header may need to respond to.
859
+ */
860
+ readonly stateChanges: Subject<void>;
861
+ constructor(...args: unknown[]);
862
+ ngAfterContentInit(): void;
863
+ ngAfterViewChecked(): void;
964
864
  ngOnDestroy(): void;
965
- /** Opens the associated datepicker. */
966
- protected _openPopup(): void;
967
- protected _getValueFromModel(modelValue: D | null): D | null;
968
- protected _assignValueToModel(value: D | null): void;
969
- /** Gets the input's minimum date. */
970
- _getMinDate(): D | null;
971
- /** Gets the input's maximum date. */
972
- _getMaxDate(): D | null;
973
- /** Gets the input's date filtering function. */
974
- protected _getDateFilter(): DateFilterFn<D | null>;
975
- protected _shouldHandleChangeEvent(event: DateSelectionModelChange<D>): boolean;
976
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerInput<any>, never>;
977
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerInput<any>, "input[matDatepicker]", ["matDatepickerInput"], { "matDatepicker": { "alias": "matDatepicker"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "dateFilter": { "alias": "matDatepickerFilter"; "required": false; }; }, {}, never, never, true, never>;
865
+ ngOnChanges(changes: SimpleChanges): void;
866
+ /** Focuses the active date. */
867
+ focusActiveCell(): void;
868
+ /** Updates today's date after an update of the active date */
869
+ updateTodaysDate(): void;
870
+ /** Handles date selection in the month view. */
871
+ _dateSelected(event: MatCalendarUserEvent<D | null>): void;
872
+ /** Handles year selection in the multiyear view. */
873
+ _yearSelectedInMultiYearView(normalizedYear: D): void;
874
+ /** Handles month selection in the year view. */
875
+ _monthSelectedInYearView(normalizedMonth: D): void;
876
+ /** Handles year/month selection in the multi-year/year views. */
877
+ _goToDateInView(date: D, view: 'month' | 'year' | 'multi-year'): void;
878
+ /** Called when the user starts dragging to change a date range. */
879
+ _dragStarted(event: MatCalendarUserEvent<D>): void;
880
+ /**
881
+ * Called when a drag completes. It may end in cancelation or in the selection
882
+ * of a new range.
883
+ */
884
+ _dragEnded(event: MatCalendarUserEvent<DateRange<D> | null>): void;
885
+ /** Returns the component instance that corresponds to the current calendar view. */
886
+ private _getCurrentViewComponent;
887
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatCalendar<any>, never>;
888
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendar<any>, "mat-calendar", ["matCalendar"], { "headerComponent": { "alias": "headerComponent"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; "startDateAccessibleName": { "alias": "startDateAccessibleName"; "required": false; }; "endDateAccessibleName": { "alias": "endDateAccessibleName"; "required": false; }; }, { "selectedChange": "selectedChange"; "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "viewChanged": "viewChanged"; "_userSelection": "_userSelection"; "_userDragDrop": "_userDragDrop"; }, never, never, true, never>;
978
889
  }
979
890
 
891
+ /**
892
+ * An event used for datepicker input and change events. We don't always have access to a native
893
+ * input or change event because the event may have been triggered by the user clicking on the
894
+ * calendar popup. For consistency, we always use MatDatepickerInputEvent instead.
895
+ */
896
+ declare class MatDatepickerInputEvent<D, S = unknown> {
897
+ /** Reference to the datepicker input component that emitted the event. */
898
+ target: MatDatepickerInputBase<S, D>;
899
+ /** Reference to the native input element associated with the datepicker input. */
900
+ targetElement: HTMLElement;
901
+ /** The new value for the target datepicker input. */
902
+ value: D | null;
903
+ constructor(
904
+ /** Reference to the datepicker input component that emitted the event. */
905
+ target: MatDatepickerInputBase<S, D>,
906
+ /** Reference to the native input element associated with the datepicker input. */
907
+ targetElement: HTMLElement);
908
+ }
909
+ /**
910
+ * Function that can be used to filter out dates from a calendar.
911
+ * Datepicker can sometimes receive a null value as input for the date argument.
912
+ * This doesn't represent a "null date" but rather signifies that no date has been selected yet in the calendar.
913
+ */
914
+ type DateFilterFn<D> = (date: D | null) => boolean;
980
915
  /** Base class for datepicker inputs. */
981
916
  declare abstract class MatDatepickerInputBase<S, D = ExtractDateTypeFromSelection<S>> implements ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy, Validator {
982
917
  protected _elementRef: ElementRef<HTMLInputElement>;
@@ -1052,7 +987,7 @@ declare abstract class MatDatepickerInputBase<S, D = ExtractDateTypeFromSelectio
1052
987
  registerOnTouched(fn: () => void): void;
1053
988
  setDisabledState(isDisabled: boolean): void;
1054
989
  _onKeydown(event: KeyboardEvent): void;
1055
- _onInput(value: string): void;
990
+ _onInput(event: Event): void;
1056
991
  _onChange(): void;
1057
992
  /** Handles blur events on the input. */
1058
993
  _onBlur(): void;
@@ -1076,86 +1011,116 @@ declare abstract class MatDatepickerInputBase<S, D = ExtractDateTypeFromSelectio
1076
1011
  static ngAcceptInputType_disabled: unknown;
1077
1012
  }
1078
1013
 
1014
+ /** Injection token that determines the scroll handling while the calendar is open. */
1015
+ declare const MAT_DATEPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
1079
1016
  /**
1080
- * An event used for datepicker input and change events. We don't always have access to a native
1081
- * input or change event because the event may have been triggered by the user clicking on the
1082
- * calendar popup. For consistency, we always use MatDatepickerInputEvent instead.
1017
+ * @docs-private
1018
+ * @deprecated No longer used, will be removed.
1019
+ * @breaking-change 21.0.0
1083
1020
  */
1084
- export declare class MatDatepickerInputEvent<D, S = unknown> {
1085
- /** Reference to the datepicker input component that emitted the event. */
1086
- target: MatDatepickerInputBase<S, D>;
1087
- /** Reference to the native input element associated with the datepicker input. */
1088
- targetElement: HTMLElement;
1089
- /** The new value for the target datepicker input. */
1090
- value: D | null;
1091
- constructor(
1092
- /** Reference to the datepicker input component that emitted the event. */
1093
- target: MatDatepickerInputBase<S, D>,
1094
- /** Reference to the native input element associated with the datepicker input. */
1095
- targetElement: HTMLElement);
1096
- }
1097
-
1098
- /** Datepicker data that requires internationalization. */
1099
- export declare class MatDatepickerIntl {
1100
- /**
1101
- * Stream that emits whenever the labels here are changed. Use this to notify
1102
- * components if the labels have changed after initialization.
1103
- */
1104
- readonly changes: Subject<void>;
1105
- /** A label for the calendar popup (used by screen readers). */
1106
- calendarLabel: string;
1107
- /** A label for the button used to open the calendar popup (used by screen readers). */
1108
- openCalendarLabel: string;
1109
- /** Label for the button used to close the calendar popup. */
1110
- closeCalendarLabel: string;
1111
- /** A label for the previous month button (used by screen readers). */
1112
- prevMonthLabel: string;
1113
- /** A label for the next month button (used by screen readers). */
1114
- nextMonthLabel: string;
1115
- /** A label for the previous year button (used by screen readers). */
1116
- prevYearLabel: string;
1117
- /** A label for the next year button (used by screen readers). */
1118
- nextYearLabel: string;
1119
- /** A label for the previous multi-year button (used by screen readers). */
1120
- prevMultiYearLabel: string;
1121
- /** A label for the next multi-year button (used by screen readers). */
1122
- nextMultiYearLabel: string;
1123
- /** A label for the 'switch to month view' button (used by screen readers). */
1124
- switchToMonthViewLabel: string;
1125
- /** A label for the 'switch to year view' button (used by screen readers). */
1126
- switchToMultiYearViewLabel: string;
1127
- /**
1128
- * A label for the first date of a range of dates (used by screen readers).
1129
- * @deprecated Provide your own internationalization string.
1130
- * @breaking-change 17.0.0
1131
- */
1132
- startDateLabel: string;
1021
+ declare function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(_overlay: unknown): () => ScrollStrategy;
1022
+ /** Possible positions for the datepicker dropdown along the X axis. */
1023
+ type DatepickerDropdownPositionX = 'start' | 'end';
1024
+ /** Possible positions for the datepicker dropdown along the Y axis. */
1025
+ type DatepickerDropdownPositionY = 'above' | 'below';
1026
+ /**
1027
+ * @docs-private
1028
+ * @deprecated No longer used, will be removed.
1029
+ * @breaking-change 21.0.0
1030
+ */
1031
+ declare const MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
1032
+ provide: InjectionToken<() => ScrollStrategy>;
1033
+ deps: any[];
1034
+ useFactory: typeof MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY;
1035
+ };
1036
+ /**
1037
+ * Component used as the content for the datepicker overlay. We use this instead of using
1038
+ * MatCalendar directly as the content so we can control the initial focus. This also gives us a
1039
+ * place to put additional features of the overlay that are not part of the calendar itself in the
1040
+ * future. (e.g. confirmation buttons).
1041
+ * @docs-private
1042
+ */
1043
+ declare class MatDatepickerContent<S, D = ExtractDateTypeFromSelection<S>> implements AfterViewInit, OnDestroy {
1044
+ protected _elementRef: ElementRef<HTMLElement>;
1045
+ protected _animationsDisabled: boolean;
1046
+ private _changeDetectorRef;
1047
+ private _globalModel;
1048
+ private _dateAdapter;
1049
+ private _ngZone;
1050
+ private _rangeSelectionStrategy;
1051
+ private _stateChanges;
1052
+ private _model;
1053
+ private _eventCleanups;
1054
+ private _animationFallback;
1055
+ /** Reference to the internal calendar component. */
1056
+ _calendar: MatCalendar<D>;
1133
1057
  /**
1134
- * A label for the last date of a range of dates (used by screen readers).
1135
- * @deprecated Provide your own internationalization string.
1136
- * @breaking-change 17.0.0
1058
+ * Theme color of the internal calendar. This API is supported in M2 themes
1059
+ * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/datepicker/styling.
1060
+ *
1061
+ * For information on applying color variants in M3, see
1062
+ * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
1137
1063
  */
1138
- endDateLabel: string;
1064
+ color: ThemePalette;
1065
+ /** Reference to the datepicker that created the overlay. */
1066
+ datepicker: MatDatepickerBase<any, S, D>;
1067
+ /** Start of the comparison range. */
1068
+ comparisonStart: D | null;
1069
+ /** End of the comparison range. */
1070
+ comparisonEnd: D | null;
1071
+ /** ARIA Accessible name of the `<input matStartDate/>` */
1072
+ startDateAccessibleName: string | null;
1073
+ /** ARIA Accessible name of the `<input matEndDate/>` */
1074
+ endDateAccessibleName: string | null;
1075
+ /** Whether the datepicker is above or below the input. */
1076
+ _isAbove: boolean;
1077
+ /** Emits when an animation has finished. */
1078
+ readonly _animationDone: Subject<void>;
1079
+ /** Whether there is an in-progress animation. */
1080
+ _isAnimating: boolean;
1081
+ /** Text for the close button. */
1082
+ _closeButtonText: string;
1083
+ /** Whether the close button currently has focus. */
1084
+ _closeButtonFocused: boolean;
1085
+ /** Portal with projected action buttons. */
1086
+ _actionsPortal: TemplatePortal | null;
1087
+ /** Id of the label for the `role="dialog"` element. */
1088
+ _dialogLabelId: string | null;
1089
+ constructor(...args: unknown[]);
1090
+ ngAfterViewInit(): void;
1091
+ ngOnDestroy(): void;
1092
+ _handleUserSelection(event: MatCalendarUserEvent<D | null>): void;
1093
+ _handleUserDragDrop(event: MatCalendarUserEvent<DateRange<D>>): void;
1094
+ _startExitAnimation(): void;
1095
+ private _handleAnimationEvent;
1096
+ _getSelected(): D | DateRange<D> | null;
1097
+ /** Applies the current pending selection to the global model. */
1098
+ _applyPendingSelection(): void;
1139
1099
  /**
1140
- * A label for the Comparison date of a range of dates (used by screen readers).
1100
+ * Assigns a new portal containing the datepicker actions.
1101
+ * @param portal Portal with the actions to be assigned.
1102
+ * @param forceRerender Whether a re-render of the portal should be triggered. This isn't
1103
+ * necessary if the portal is assigned during initialization, but it may be required if it's
1104
+ * added at a later point.
1141
1105
  */
1142
- comparisonDateLabel: string;
1143
- /** Formats a range of years (used for visuals). */
1144
- formatYearRange(start: string, end: string): string;
1145
- /** Formats a label for a range of years (used by screen readers). */
1146
- formatYearRangeLabel(start: string, end: string): string;
1147
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerIntl, never>;
1148
- static ɵprov: i0.ɵɵInjectableDeclaration<MatDatepickerIntl>;
1106
+ _assignActions(portal: TemplatePortal<any> | null, forceRerender: boolean): void;
1107
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerContent<any, any>, never>;
1108
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerContent<any, any>, "mat-datepicker-content", ["matDatepickerContent"], { "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
1149
1109
  }
1150
-
1151
- export declare class MatDatepickerModule {
1152
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerModule, never>;
1153
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatDatepickerModule, never, [typeof i1.MatButtonModule, typeof i2.OverlayModule, typeof i3.A11yModule, typeof i4.PortalModule, typeof i5.MatCommonModule, typeof i6.MatCalendar, typeof i7.MatCalendarBody, typeof i8.MatDatepicker, typeof i9.MatDatepickerContent, typeof i10.MatDatepickerInput, typeof i11.MatDatepickerToggle, typeof i11.MatDatepickerToggleIcon, typeof i12.MatMonthView, typeof i13.MatYearView, typeof i14.MatMultiYearView, typeof i6.MatCalendarHeader, typeof i15.MatDateRangeInput, typeof i16.MatStartDate, typeof i16.MatEndDate, typeof i17.MatDateRangePicker, typeof i18.MatDatepickerActions, typeof i18.MatDatepickerCancel, typeof i18.MatDatepickerApply], [typeof i19.CdkScrollableModule, typeof i6.MatCalendar, typeof i7.MatCalendarBody, typeof i8.MatDatepicker, typeof i9.MatDatepickerContent, typeof i10.MatDatepickerInput, typeof i11.MatDatepickerToggle, typeof i11.MatDatepickerToggleIcon, typeof i12.MatMonthView, typeof i13.MatYearView, typeof i14.MatMultiYearView, typeof i6.MatCalendarHeader, typeof i15.MatDateRangeInput, typeof i16.MatStartDate, typeof i16.MatEndDate, typeof i17.MatDateRangePicker, typeof i18.MatDatepickerActions, typeof i18.MatDatepickerCancel, typeof i18.MatDatepickerApply]>;
1154
- static ɵinj: i0.ɵɵInjectorDeclaration<MatDatepickerModule>;
1110
+ /** Form control that can be associated with a datepicker. */
1111
+ interface MatDatepickerControl<D> {
1112
+ getStartValue(): D | null;
1113
+ getThemePalette(): ThemePalette;
1114
+ min: D | null;
1115
+ max: D | null;
1116
+ disabled: boolean;
1117
+ dateFilter: DateFilterFn<D>;
1118
+ getConnectedOverlayOrigin(): ElementRef;
1119
+ getOverlayLabelId(): string | null;
1120
+ stateChanges: Observable<void>;
1155
1121
  }
1156
-
1157
1122
  /** A datepicker that can be attached to a {@link MatDatepickerControl}. */
1158
- export declare interface MatDatepickerPanel<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> {
1123
+ interface MatDatepickerPanel<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> {
1159
1124
  /** Stream that emits whenever the date picker is closed. */
1160
1125
  closedStream: EventEmitter<void>;
1161
1126
  /**
@@ -1183,83 +1148,179 @@ export declare interface MatDatepickerPanel<C extends MatDatepickerControl<D>, S
1183
1148
  /** Register an input with the datepicker. */
1184
1149
  registerInput(input: C): MatDateSelectionModel<S, D>;
1185
1150
  }
1186
-
1187
- export declare class MatDatepickerToggle<D> implements AfterContentInit, OnChanges, OnDestroy {
1188
- _intl: MatDatepickerIntl;
1189
- private _changeDetectorRef;
1190
- private _stateChanges;
1191
- /** Datepicker instance that the button will toggle. */
1192
- datepicker: MatDatepickerPanel<MatDatepickerControl<any>, D>;
1193
- /** Tabindex for the toggle. */
1194
- tabIndex: number | null;
1195
- /** Screen-reader label for the button. */
1196
- ariaLabel: string;
1197
- /** Whether the toggle button is disabled. */
1151
+ /** Base class for a datepicker. */
1152
+ declare abstract class MatDatepickerBase<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> implements MatDatepickerPanel<C, S, D>, OnDestroy, OnChanges {
1153
+ private _injector;
1154
+ private _viewContainerRef;
1155
+ private _dateAdapter;
1156
+ private _dir;
1157
+ private _model;
1158
+ private _animationsDisabled;
1159
+ private _scrollStrategy;
1160
+ private _inputStateChanges;
1161
+ private _document;
1162
+ /** An input indicating the type of the custom header component for the calendar, if set. */
1163
+ calendarHeaderComponent: ComponentType<any>;
1164
+ /** The date to open the calendar to initially. */
1165
+ get startAt(): D | null;
1166
+ set startAt(value: D | null);
1167
+ private _startAt;
1168
+ /** The view that the calendar should start in. */
1169
+ startView: 'month' | 'year' | 'multi-year';
1170
+ /**
1171
+ * Theme color of the datepicker's calendar. This API is supported in M2 themes only, it
1172
+ * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/datepicker/styling.
1173
+ *
1174
+ * For information on applying color variants in M3, see
1175
+ * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
1176
+ */
1177
+ get color(): ThemePalette;
1178
+ set color(value: ThemePalette);
1179
+ _color: ThemePalette;
1180
+ /**
1181
+ * Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather
1182
+ * than a dropdown and elements have more padding to allow for bigger touch targets.
1183
+ */
1184
+ touchUi: boolean;
1185
+ /** Whether the datepicker pop-up should be disabled. */
1198
1186
  get disabled(): boolean;
1199
1187
  set disabled(value: boolean);
1200
1188
  private _disabled;
1201
- /** Whether ripples on the toggle should be disabled. */
1202
- disableRipple: boolean;
1203
- /** Custom icon set by the consumer. */
1204
- _customIcon: MatDatepickerToggleIcon;
1205
- /** Underlying button element. */
1206
- _button: MatButton;
1189
+ /** Preferred position of the datepicker in the X axis. */
1190
+ xPosition: DatepickerDropdownPositionX;
1191
+ /** Preferred position of the datepicker in the Y axis. */
1192
+ yPosition: DatepickerDropdownPositionY;
1193
+ /**
1194
+ * Whether to restore focus to the previously-focused element when the calendar is closed.
1195
+ * Note that automatic focus restoration is an accessibility feature and it is recommended that
1196
+ * you provide your own equivalent, if you decide to turn it off.
1197
+ */
1198
+ restoreFocus: boolean;
1199
+ /**
1200
+ * Emits selected year in multiyear view.
1201
+ * This doesn't imply a change on the selected date.
1202
+ */
1203
+ readonly yearSelected: EventEmitter<D>;
1204
+ /**
1205
+ * Emits selected month in year view.
1206
+ * This doesn't imply a change on the selected date.
1207
+ */
1208
+ readonly monthSelected: EventEmitter<D>;
1209
+ /**
1210
+ * Emits when the current view changes.
1211
+ */
1212
+ readonly viewChanged: EventEmitter<MatCalendarView>;
1213
+ /** Function that can be used to add custom CSS classes to dates. */
1214
+ dateClass: MatCalendarCellClassFunction<D>;
1215
+ /** Emits when the datepicker has been opened. */
1216
+ readonly openedStream: EventEmitter<void>;
1217
+ /** Emits when the datepicker has been closed. */
1218
+ readonly closedStream: EventEmitter<void>;
1219
+ /** Classes to be passed to the date picker panel. */
1220
+ get panelClass(): string | string[];
1221
+ set panelClass(value: string | string[]);
1222
+ private _panelClass;
1223
+ /** Whether the calendar is open. */
1224
+ get opened(): boolean;
1225
+ set opened(value: boolean);
1226
+ private _opened;
1227
+ /** The id for the datepicker calendar. */
1228
+ id: string;
1229
+ /** The minimum selectable date. */
1230
+ _getMinDate(): D | null;
1231
+ /** The maximum selectable date. */
1232
+ _getMaxDate(): D | null;
1233
+ _getDateFilter(): DateFilterFn<D>;
1234
+ /** A reference to the overlay into which we've rendered the calendar. */
1235
+ private _overlayRef;
1236
+ /** Reference to the component instance rendered in the overlay. */
1237
+ private _componentRef;
1238
+ /** The element that was focused before the datepicker was opened. */
1239
+ private _focusedElementBeforeOpen;
1240
+ /** Unique class that will be added to the backdrop so that the test harnesses can look it up. */
1241
+ private _backdropHarnessClass;
1242
+ /** Currently-registered actions portal. */
1243
+ private _actionsPortal;
1244
+ /** The input element this datepicker is associated with. */
1245
+ datepickerInput: C;
1246
+ /** Emits when the datepicker's state changes. */
1247
+ readonly stateChanges: Subject<void>;
1248
+ private readonly _changeDetectorRef;
1207
1249
  constructor(...args: unknown[]);
1208
1250
  ngOnChanges(changes: SimpleChanges): void;
1209
1251
  ngOnDestroy(): void;
1210
- ngAfterContentInit(): void;
1211
- _open(event: Event): void;
1212
- private _watchStateChanges;
1213
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerToggle<any>, never>;
1214
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerToggle<any>, "mat-datepicker-toggle", ["matDatepickerToggle"], { "datepicker": { "alias": "for"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, ["_customIcon"], ["[matDatepickerToggleIcon]"], true, never>;
1252
+ /** Selects the given date */
1253
+ select(date: D): void;
1254
+ /** Emits the selected year in multiyear view */
1255
+ _selectYear(normalizedYear: D): void;
1256
+ /** Emits selected month in year view */
1257
+ _selectMonth(normalizedMonth: D): void;
1258
+ /** Emits changed view */
1259
+ _viewChanged(view: MatCalendarView): void;
1260
+ /**
1261
+ * Register an input with this datepicker.
1262
+ * @param input The datepicker input to register with this datepicker.
1263
+ * @returns Selection model that the input should hook itself up to.
1264
+ */
1265
+ registerInput(input: C): MatDateSelectionModel<S, D>;
1266
+ /**
1267
+ * Registers a portal containing action buttons with the datepicker.
1268
+ * @param portal Portal to be registered.
1269
+ */
1270
+ registerActions(portal: TemplatePortal): void;
1271
+ /**
1272
+ * Removes a portal containing action buttons from the datepicker.
1273
+ * @param portal Portal to be removed.
1274
+ */
1275
+ removeActions(portal: TemplatePortal): void;
1276
+ /** Open the calendar. */
1277
+ open(): void;
1278
+ /** Close the calendar. */
1279
+ close(): void;
1280
+ /** Applies the current pending selection on the overlay to the model. */
1281
+ _applyPendingSelection(): void;
1282
+ /** Forwards relevant values from the datepicker to the datepicker content inside the overlay. */
1283
+ protected _forwardContentValues(instance: MatDatepickerContent<S, D>): void;
1284
+ /** Opens the overlay with the calendar. */
1285
+ private _openOverlay;
1286
+ /** Destroys the current overlay. */
1287
+ private _destroyOverlay;
1288
+ /** Gets a position strategy that will open the calendar as a dropdown. */
1289
+ private _getDialogStrategy;
1290
+ /** Gets a position strategy that will open the calendar as a dropdown. */
1291
+ private _getDropdownStrategy;
1292
+ /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */
1293
+ private _setConnectedPositions;
1294
+ /** Gets an observable that will emit when the overlay is supposed to be closed. */
1295
+ private _getCloseStream;
1296
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerBase<any, any, any>, never>;
1297
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerBase<any, any, any>, never, never, { "calendarHeaderComponent": { "alias": "calendarHeaderComponent"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "color": { "alias": "color"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; }, { "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "viewChanged": "viewChanged"; "openedStream": "opened"; "closedStream": "closed"; }, never, never, true, never>;
1298
+ static ngAcceptInputType_touchUi: unknown;
1215
1299
  static ngAcceptInputType_disabled: unknown;
1300
+ static ngAcceptInputType_restoreFocus: unknown;
1301
+ static ngAcceptInputType_opened: unknown;
1216
1302
  }
1217
1303
 
1218
- /** Can be used to override the icon of a `matDatepickerToggle`. */
1219
- export declare class MatDatepickerToggleIcon {
1220
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerToggleIcon, never>;
1221
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerToggleIcon, "[matDatepickerToggleIcon]", never, {}, {}, never, never, true, never>;
1222
- }
1223
-
1224
- export declare class MatDateRangeInput<D> implements MatFormFieldControl<DateRange<D>>, MatDatepickerControl<D>, MatDateRangePickerInput<D>, AfterContentInit, OnChanges, OnDestroy {
1225
- private _changeDetectorRef;
1226
- private _elementRef;
1227
- private _dateAdapter;
1304
+ /** Component responsible for managing the datepicker popup/dialog. */
1305
+ declare class MatDatepicker<D> extends MatDatepickerBase<MatDatepickerControl<D>, D | null, D> {
1306
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepicker<any>, never>;
1307
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepicker<any>, "mat-datepicker", ["matDatepicker"], {}, {}, never, never, true, never>;
1308
+ }
1309
+
1310
+ /** @docs-private */
1311
+ declare const MAT_DATEPICKER_VALUE_ACCESSOR: any;
1312
+ /** @docs-private */
1313
+ declare const MAT_DATEPICKER_VALIDATORS: any;
1314
+ /** Directive used to connect an input to a MatDatepicker. */
1315
+ declare class MatDatepickerInput<D> extends MatDatepickerInputBase<D | null, D> implements MatDatepickerControl<D | null>, OnDestroy {
1228
1316
  private _formField;
1229
1317
  private _closedSubscription;
1230
1318
  private _openedSubscription;
1231
- _startInput: MatStartDate<D>;
1232
- _endInput: MatEndDate<D>;
1233
- /** Current value of the range input. */
1234
- get value(): DateRange<D> | null;
1235
- /** Unique ID for the group. */
1236
- id: string;
1237
- /** Whether the control is focused. */
1238
- focused: boolean;
1239
- /** Whether the control's label should float. */
1240
- get shouldLabelFloat(): boolean;
1241
- /** Name of the form control. */
1242
- controlType: string;
1243
- /**
1244
- * Implemented as a part of `MatFormFieldControl`.
1245
- * Set the placeholder attribute on `matStartDate` and `matEndDate`.
1246
- * @docs-private
1247
- */
1248
- get placeholder(): string;
1249
- /** The range picker that this input is associated with. */
1250
- get rangePicker(): MatDatepickerPanel<MatDatepickerControl<D>, DateRange<D>, D>;
1251
- set rangePicker(rangePicker: MatDatepickerPanel<MatDatepickerControl<D>, DateRange<D>, D>);
1252
- private _rangePicker;
1319
+ /** The datepicker that this input is associated with. */
1320
+ set matDatepicker(datepicker: MatDatepickerPanel<MatDatepickerControl<D>, D | null, D>);
1321
+ _datepicker: MatDatepickerPanel<MatDatepickerControl<D>, D | null, D>;
1253
1322
  /** The id of the panel owned by this input. */
1254
- _ariaOwns: WritableSignal<string | null>;
1255
- /** Whether the input is required. */
1256
- get required(): boolean;
1257
- set required(value: boolean);
1258
- private _required;
1259
- /** Function that can be used to filter out dates within the date range picker. */
1260
- get dateFilter(): DateFilterFn<D>;
1261
- set dateFilter(value: DateFilterFn<D>);
1262
- private _dateFilter;
1323
+ protected _ariaOwns: i0.WritableSignal<string | null>;
1263
1324
  /** The minimum valid date. */
1264
1325
  get min(): D | null;
1265
1326
  set min(value: D | null);
@@ -1268,666 +1329,460 @@ export declare class MatDateRangeInput<D> implements MatFormFieldControl<DateRan
1268
1329
  get max(): D | null;
1269
1330
  set max(value: D | null);
1270
1331
  private _max;
1271
- /** Whether the input is disabled. */
1272
- get disabled(): boolean;
1273
- set disabled(value: boolean);
1274
- _groupDisabled: boolean;
1275
- /** Whether the input is in an error state. */
1276
- get errorState(): boolean;
1277
- /** Whether the datepicker input is empty. */
1278
- get empty(): boolean;
1279
- /** Value for the `aria-describedby` attribute of the inputs. */
1280
- _ariaDescribedBy: string | null;
1281
- /** Date selection model currently registered with the input. */
1282
- private _model;
1283
- /** Separator text to be shown between the inputs. */
1284
- separator: string;
1285
- /** Start of the comparison range that should be shown in the calendar. */
1286
- comparisonStart: D | null;
1287
- /** End of the comparison range that should be shown in the calendar. */
1288
- comparisonEnd: D | null;
1289
- /**
1290
- * Implemented as a part of `MatFormFieldControl`.
1291
- * TODO(crisbeto): change type to `AbstractControlDirective` after #18206 lands.
1292
- * @docs-private
1293
- */
1294
- ngControl: NgControl | null;
1295
- /** Emits when the input's state has changed. */
1296
- readonly stateChanges: Subject<void>;
1297
- /**
1298
- * Disable the automatic labeling to avoid issues like #27241.
1299
- * @docs-private
1300
- */
1301
- readonly disableAutomaticLabeling = true;
1302
- constructor(...args: unknown[]);
1303
- /**
1304
- * Implemented as a part of `MatFormFieldControl`.
1305
- * @docs-private
1306
- */
1307
- setDescribedByIds(ids: string[]): void;
1308
- /**
1309
- * Implemented as a part of `MatFormFieldControl`.
1310
- * @docs-private
1311
- */
1312
- onContainerClick(): void;
1313
- ngAfterContentInit(): void;
1314
- ngOnChanges(changes: SimpleChanges): void;
1315
- ngOnDestroy(): void;
1316
- /** Gets the date at which the calendar should start. */
1317
- getStartValue(): D | null;
1318
- /** Gets the input's theme palette. */
1319
- getThemePalette(): ThemePalette;
1320
- /** Gets the element to which the calendar overlay should be attached. */
1321
- getConnectedOverlayOrigin(): ElementRef;
1322
- /** Gets the ID of an element that should be used a description for the calendar overlay. */
1323
- getOverlayLabelId(): string | null;
1324
- /** Gets the value that is used to mirror the state input. */
1325
- _getInputMirrorValue(part: 'start' | 'end'): string;
1326
- /** Whether the input placeholders should be hidden. */
1327
- _shouldHidePlaceholders(): boolean;
1328
- /** Handles the value in one of the child inputs changing. */
1329
- _handleChildValueChange(): void;
1330
- /** Opens the date range picker associated with the input. */
1331
- _openDatepicker(): void;
1332
- /** Whether the separate text should be hidden. */
1333
- _shouldHideSeparator(): boolean | "" | null;
1334
- /** Gets the value for the `aria-labelledby` attribute of the inputs. */
1335
- _getAriaLabelledby(): string | null;
1336
- _getStartDateAccessibleName(): string;
1337
- _getEndDateAccessibleName(): string;
1338
- /** Updates the focused state of the range input. */
1339
- _updateFocus(origin: FocusOrigin): void;
1340
- /** Re-runs the validators on the start/end inputs. */
1341
- private _revalidate;
1342
- /** Registers the current date selection model with the start/end inputs. */
1343
- private _registerModel;
1344
- /** Checks whether a specific range input directive is required. */
1345
- private _isTargetRequired;
1346
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangeInput<any>, never>;
1347
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDateRangeInput<any>, "mat-date-range-input", ["matDateRangeInput"], { "rangePicker": { "alias": "rangePicker"; "required": false; }; "required": { "alias": "required"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; }, {}, never, ["input[matStartDate]", "input[matEndDate]"], true, never>;
1348
- static ngAcceptInputType_required: unknown;
1349
- static ngAcceptInputType_disabled: unknown;
1350
- }
1351
-
1352
- /**
1353
- * Base class for the individual inputs that can be projected inside a `mat-date-range-input`.
1354
- */
1355
- declare abstract class MatDateRangeInputPartBase<D> extends MatDatepickerInputBase<DateRange<D>> implements OnInit, AfterContentInit, DoCheck {
1356
- _rangeInput: MatDateRangeInput<D>;
1357
- _elementRef: ElementRef<HTMLInputElement>;
1358
- _defaultErrorStateMatcher: ErrorStateMatcher;
1359
- private _injector;
1360
- _parentForm: NgForm | null;
1361
- _parentFormGroup: FormGroupDirective | null;
1362
- /**
1363
- * Form control bound to this input part.
1364
- * @docs-private
1365
- */
1366
- ngControl: NgControl;
1367
- protected abstract _validator: ValidatorFn | null;
1368
- protected abstract _assignValueToModel(value: D | null): void;
1369
- protected abstract _getValueFromModel(modelValue: DateRange<D>): D | null;
1370
- protected abstract _register(): void;
1371
- protected readonly _dir: Directionality | null;
1372
- private _errorStateTracker;
1373
- /** Object used to control when error messages are shown. */
1374
- get errorStateMatcher(): ErrorStateMatcher;
1375
- set errorStateMatcher(value: ErrorStateMatcher);
1376
- /** Whether the input is in an error state. */
1377
- get errorState(): boolean;
1378
- set errorState(value: boolean);
1332
+ /** Function that can be used to filter out dates within the datepicker. */
1333
+ get dateFilter(): DateFilterFn<D | null>;
1334
+ set dateFilter(value: DateFilterFn<D | null>);
1335
+ private _dateFilter;
1336
+ /** The combined form control validator for this input. */
1337
+ protected _validator: ValidatorFn | null;
1379
1338
  constructor(...args: unknown[]);
1380
- ngOnInit(): void;
1381
- ngAfterContentInit(): void;
1382
- ngDoCheck(): void;
1383
- /** Gets whether the input is empty. */
1384
- isEmpty(): boolean;
1385
- /** Gets the placeholder of the input. */
1386
- _getPlaceholder(): string;
1387
- /** Focuses the input. */
1388
- focus(): void;
1389
- /** Gets the value that should be used when mirroring the input's size. */
1390
- getMirrorValue(): string;
1391
- /** Refreshes the error state of the input. */
1392
- updateErrorState(): void;
1393
- /** Handles `input` events on the input element. */
1394
- _onInput(value: string): void;
1395
- /** Opens the datepicker associated with the input. */
1396
- protected _openPopup(): void;
1397
- /** Gets the minimum date from the range input. */
1398
- _getMinDate(): D | null;
1399
- /** Gets the maximum date from the range input. */
1400
- _getMaxDate(): D | null;
1401
- /** Gets the date filter function from the range input. */
1402
- protected _getDateFilter(): DateFilterFn<D>;
1403
- protected _parentDisabled(): boolean;
1404
- protected _shouldHandleChangeEvent({ source }: DateSelectionModelChange<DateRange<D>>): boolean;
1405
- protected _assignValueProgrammatically(value: D | null): void;
1406
- protected _formatValue(value: D | null): void;
1407
- /** return the ARIA accessible name of the input element */
1408
- _getAccessibleName(): string;
1409
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangeInputPartBase<any>, never>;
1410
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDateRangeInputPartBase<any>, never, never, { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; }, {}, never, never, true, never>;
1411
- }
1412
-
1413
- /** Component responsible for managing the date range picker popup/dialog. */
1414
- export declare class MatDateRangePicker<D> extends MatDatepickerBase<MatDateRangePickerInput<D>, DateRange<D>, D> {
1415
- protected _forwardContentValues(instance: MatDatepickerContent<DateRange<D>, D>): void;
1416
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangePicker<any>, never>;
1417
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDateRangePicker<any>, "mat-date-range-picker", ["matDateRangePicker"], {}, {}, never, never, true, never>;
1418
- }
1419
-
1420
- /**
1421
- * Input that can be associated with a date range picker.
1422
- * @docs-private
1423
- */
1424
- declare interface MatDateRangePickerInput<D> extends MatDatepickerControl<D> {
1425
- _getEndDateAccessibleName(): string | null;
1426
- _getStartDateAccessibleName(): string | null;
1427
- comparisonStart: D | null;
1428
- comparisonEnd: D | null;
1429
- }
1430
-
1431
- /** Object that can be provided in order to customize the date range selection behavior. */
1432
- export declare interface MatDateRangeSelectionStrategy<D> {
1433
- /**
1434
- * Called when the user has finished selecting a value.
1435
- * @param date Date that was selected. Will be null if the user cleared the selection.
1436
- * @param currentRange Range that is currently show in the calendar.
1437
- * @param event DOM event that triggered the selection. Currently only corresponds to a `click`
1438
- * event, but it may get expanded in the future.
1439
- */
1440
- selectionFinished(date: D | null, currentRange: DateRange<D>, event: Event): DateRange<D>;
1441
- /**
1442
- * Called when the user has activated a new date (e.g. by hovering over
1443
- * it or moving focus) and the calendar tries to display a date range.
1444
- *
1445
- * @param activeDate Date that the user has activated. Will be null if the user moved
1446
- * focus to an element that's no a calendar cell.
1447
- * @param currentRange Range that is currently shown in the calendar.
1448
- * @param event DOM event that caused the preview to be changed. Will be either a
1449
- * `mouseenter`/`mouseleave` or `focus`/`blur` depending on how the user is navigating.
1450
- */
1451
- createPreview(activeDate: D | null, currentRange: DateRange<D>, event: Event): DateRange<D>;
1452
- /**
1453
- * Called when the user has dragged a date in the currently selected range to another
1454
- * date. Returns the date updated range that should result from this interaction.
1455
- *
1456
- * @param dateOrigin The date the user started dragging from.
1457
- * @param originalRange The originally selected date range.
1458
- * @param newDate The currently targeted date in the drag operation.
1459
- * @param event DOM event that triggered the updated drag state. Will be
1460
- * `mouseenter`/`mouseup` or `touchmove`/`touchend` depending on the device type.
1461
- */
1462
- createDrag?(dragOrigin: D, originalRange: DateRange<D>, newDate: D, event: Event): DateRange<D> | null;
1463
- }
1464
-
1465
- /**
1466
- * A selection model containing a date selection.
1467
- * @docs-private
1468
- */
1469
- export declare abstract class MatDateSelectionModel<S, D = ExtractDateTypeFromSelection<S>> implements OnDestroy {
1470
- /** The current selection. */
1471
- readonly selection: S;
1472
- protected _adapter: DateAdapter<D>;
1473
- private readonly _selectionChanged;
1474
- /** Emits when the selection has changed. */
1475
- selectionChanged: Observable<DateSelectionModelChange<S>>;
1476
- protected constructor(
1477
- /** The current selection. */
1478
- selection: S, _adapter: DateAdapter<D>);
1479
1339
  /**
1480
- * Updates the current selection in the model.
1481
- * @param value New selection that should be assigned.
1482
- * @param source Object that triggered the selection change.
1340
+ * Gets the element that the datepicker popup should be connected to.
1341
+ * @return The element to connect the popup to.
1483
1342
  */
1484
- updateSelection(value: S, source: unknown): void;
1343
+ getConnectedOverlayOrigin(): ElementRef;
1344
+ /** Gets the ID of an element that should be used a description for the calendar overlay. */
1345
+ getOverlayLabelId(): string | null;
1346
+ /** Returns the palette used by the input's form field, if any. */
1347
+ getThemePalette(): ThemePalette;
1348
+ /** Gets the value at which the calendar should start. */
1349
+ getStartValue(): D | null;
1485
1350
  ngOnDestroy(): void;
1486
- protected _isValidDateInstance(date: D): boolean;
1487
- /** Adds a date to the current selection. */
1488
- abstract add(date: D | null): void;
1489
- /** Checks whether the current selection is valid. */
1490
- abstract isValid(): boolean;
1491
- /** Checks whether the current selection is complete. */
1492
- abstract isComplete(): boolean;
1493
- /** Clones the selection model. */
1494
- abstract clone(): MatDateSelectionModel<S, D>;
1495
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDateSelectionModel<any, any>, never>;
1496
- static ɵprov: i0.ɵɵInjectableDeclaration<MatDateSelectionModel<any, any>>;
1497
- }
1498
-
1499
- /** Input for entering the end date in a `mat-date-range-input`. */
1500
- export declare class MatEndDate<D> extends MatDateRangeInputPartBase<D> {
1501
- /** Validator that checks that the end date isn't before the start date. */
1502
- private _endValidator;
1503
- protected _register(): void;
1504
- protected _validator: ValidatorFn | null;
1505
- protected _getValueFromModel(modelValue: DateRange<D>): D | null;
1506
- protected _shouldHandleChangeEvent(change: DateSelectionModelChange<DateRange<D>>): boolean;
1351
+ /** Opens the associated datepicker. */
1352
+ protected _openPopup(): void;
1353
+ protected _getValueFromModel(modelValue: D | null): D | null;
1507
1354
  protected _assignValueToModel(value: D | null): void;
1508
- private _moveCaretToEndOfStartInput;
1509
- _onKeydown(event: KeyboardEvent): void;
1510
- static ɵfac: i0.ɵɵFactoryDeclaration<MatEndDate<any>, never>;
1511
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatEndDate<any>, "input[matEndDate]", never, {}, { "dateChange": "dateChange"; "dateInput": "dateInput"; }, never, never, true, never>;
1355
+ /** Gets the input's minimum date. */
1356
+ _getMinDate(): D | null;
1357
+ /** Gets the input's maximum date. */
1358
+ _getMaxDate(): D | null;
1359
+ /** Gets the input's date filtering function. */
1360
+ protected _getDateFilter(): DateFilterFn<D | null>;
1361
+ protected _shouldHandleChangeEvent(event: DateSelectionModelChange<D>): boolean;
1362
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerInput<any>, never>;
1363
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerInput<any>, "input[matDatepicker]", ["matDatepickerInput"], { "matDatepicker": { "alias": "matDatepicker"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "dateFilter": { "alias": "matDatepickerFilter"; "required": false; }; }, {}, never, never, true, never>;
1512
1364
  }
1513
1365
 
1514
- /**
1515
- * An internal component used to display a single month in the datepicker.
1516
- * @docs-private
1517
- */
1518
- export declare class MatMonthView<D> implements AfterContentInit, OnChanges, OnDestroy {
1519
- readonly _changeDetectorRef: ChangeDetectorRef;
1520
- private _dateFormats;
1521
- _dateAdapter: DateAdapter<D, any>;
1522
- private _dir;
1523
- private _rangeStrategy;
1524
- private _rerenderSubscription;
1525
- /** Flag used to filter out space/enter keyup events that originated outside of the view. */
1526
- private _selectionKeyPressed;
1527
- /**
1528
- * The date to display in this month view (everything other than the month and year is ignored).
1529
- */
1530
- get activeDate(): D;
1531
- set activeDate(value: D);
1532
- private _activeDate;
1533
- /** The currently selected date. */
1534
- get selected(): DateRange<D> | D | null;
1535
- set selected(value: DateRange<D> | D | null);
1536
- private _selected;
1537
- /** The minimum selectable date. */
1538
- get minDate(): D | null;
1539
- set minDate(value: D | null);
1540
- private _minDate;
1541
- /** The maximum selectable date. */
1542
- get maxDate(): D | null;
1543
- set maxDate(value: D | null);
1544
- private _maxDate;
1545
- /** Function used to filter which dates are selectable. */
1546
- dateFilter: (date: D) => boolean;
1547
- /** Function that can be used to add custom CSS classes to dates. */
1548
- dateClass: MatCalendarCellClassFunction<D>;
1549
- /** Start of the comparison range. */
1550
- comparisonStart: D | null;
1551
- /** End of the comparison range. */
1552
- comparisonEnd: D | null;
1553
- /** ARIA Accessible name of the `<input matStartDate/>` */
1554
- startDateAccessibleName: string | null;
1555
- /** ARIA Accessible name of the `<input matEndDate/>` */
1556
- endDateAccessibleName: string | null;
1557
- /** Origin of active drag, or null when dragging is not active. */
1558
- activeDrag: MatCalendarUserEvent<D> | null;
1559
- /** Emits when a new date is selected. */
1560
- readonly selectedChange: EventEmitter<D | null>;
1561
- /** Emits when any date is selected. */
1562
- readonly _userSelection: EventEmitter<MatCalendarUserEvent<D | null>>;
1563
- /** Emits when the user initiates a date range drag via mouse or touch. */
1564
- readonly dragStarted: EventEmitter<MatCalendarUserEvent<D>>;
1366
+ /** Datepicker data that requires internationalization. */
1367
+ declare class MatDatepickerIntl {
1565
1368
  /**
1566
- * Emits when the user completes or cancels a date range drag.
1567
- * Emits null when the drag was canceled or the newly selected date range if completed.
1369
+ * Stream that emits whenever the labels here are changed. Use this to notify
1370
+ * components if the labels have changed after initialization.
1568
1371
  */
1569
- readonly dragEnded: EventEmitter<MatCalendarUserEvent<DateRange<D> | null>>;
1570
- /** Emits when any date is activated. */
1571
- readonly activeDateChange: EventEmitter<D>;
1572
- /** The body of calendar table */
1573
- _matCalendarBody: MatCalendarBody;
1574
- /** The label for this month (e.g. "January 2017"). */
1575
- _monthLabel: string;
1576
- /** Grid of calendar cells representing the dates of the month. */
1577
- _weeks: MatCalendarCell[][];
1578
- /** The number of blank cells in the first row before the 1st of the month. */
1579
- _firstWeekOffset: number;
1580
- /** Start value of the currently-shown date range. */
1581
- _rangeStart: number | null;
1582
- /** End value of the currently-shown date range. */
1583
- _rangeEnd: number | null;
1584
- /** Start value of the currently-shown comparison date range. */
1585
- _comparisonRangeStart: number | null;
1586
- /** End value of the currently-shown comparison date range. */
1587
- _comparisonRangeEnd: number | null;
1588
- /** Start of the preview range. */
1589
- _previewStart: number | null;
1590
- /** End of the preview range. */
1591
- _previewEnd: number | null;
1592
- /** Whether the user is currently selecting a range of dates. */
1593
- _isRange: boolean;
1594
- /** The date of the month that today falls on. Null if today is in another month. */
1595
- _todayDate: number | null;
1596
- /** The names of the weekdays. */
1597
- _weekdays: {
1598
- long: string;
1599
- narrow: string;
1600
- id: number;
1601
- }[];
1602
- constructor(...args: unknown[]);
1603
- ngAfterContentInit(): void;
1604
- ngOnChanges(changes: SimpleChanges): void;
1605
- ngOnDestroy(): void;
1606
- /** Handles when a new date is selected. */
1607
- _dateSelected(event: MatCalendarUserEvent<number>): void;
1372
+ readonly changes: Subject<void>;
1373
+ /** A label for the calendar popup (used by screen readers). */
1374
+ calendarLabel: string;
1375
+ /** A label for the button used to open the calendar popup (used by screen readers). */
1376
+ openCalendarLabel: string;
1377
+ /** Label for the button used to close the calendar popup. */
1378
+ closeCalendarLabel: string;
1379
+ /** A label for the previous month button (used by screen readers). */
1380
+ prevMonthLabel: string;
1381
+ /** A label for the next month button (used by screen readers). */
1382
+ nextMonthLabel: string;
1383
+ /** A label for the previous year button (used by screen readers). */
1384
+ prevYearLabel: string;
1385
+ /** A label for the next year button (used by screen readers). */
1386
+ nextYearLabel: string;
1387
+ /** A label for the previous multi-year button (used by screen readers). */
1388
+ prevMultiYearLabel: string;
1389
+ /** A label for the next multi-year button (used by screen readers). */
1390
+ nextMultiYearLabel: string;
1391
+ /** A label for the 'switch to month view' button (used by screen readers). */
1392
+ switchToMonthViewLabel: string;
1393
+ /** A label for the 'switch to year view' button (used by screen readers). */
1394
+ switchToMultiYearViewLabel: string;
1608
1395
  /**
1609
- * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
1610
- * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
1611
- * that date.
1612
- *
1613
- * This function is used to match each component's model of the active date with the calendar
1614
- * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
1615
- * parent's value asynchronously via the `activeDateChange` event. The child component receives an
1616
- * updated value asynchronously via the `activeCell` Input.
1396
+ * A label for the first date of a range of dates (used by screen readers).
1397
+ * @deprecated Provide your own internationalization string.
1398
+ * @breaking-change 17.0.0
1617
1399
  */
1618
- _updateActiveDate(event: MatCalendarUserEvent<number>): void;
1619
- /** Handles keydown events on the calendar body when calendar is in month view. */
1620
- _handleCalendarBodyKeydown(event: KeyboardEvent): void;
1621
- /** Handles keyup events on the calendar body when calendar is in month view. */
1622
- _handleCalendarBodyKeyup(event: KeyboardEvent): void;
1623
- /** Initializes this month view. */
1624
- _init(): void;
1625
- /** Focuses the active cell after the microtask queue is empty. */
1626
- _focusActiveCell(movePreview?: boolean): void;
1627
- /** Focuses the active cell after change detection has run and the microtask queue is empty. */
1628
- _focusActiveCellAfterViewChecked(): void;
1629
- /** Called when the user has activated a new cell and the preview needs to be updated. */
1630
- _previewChanged({ event, value: cell }: MatCalendarUserEvent<MatCalendarCell<D> | null>): void;
1400
+ startDateLabel: string;
1631
1401
  /**
1632
- * Called when the user has ended a drag. If the drag/drop was successful,
1633
- * computes and emits the new range selection.
1402
+ * A label for the last date of a range of dates (used by screen readers).
1403
+ * @deprecated Provide your own internationalization string.
1404
+ * @breaking-change 17.0.0
1634
1405
  */
1635
- protected _dragEnded(event: MatCalendarUserEvent<D | null>): void;
1406
+ endDateLabel: string;
1636
1407
  /**
1637
- * Takes a day of the month and returns a new date in the same month and year as the currently
1638
- * active date. The returned date will have the same day of the month as the argument date.
1408
+ * A label for the Comparison date of a range of dates (used by screen readers).
1639
1409
  */
1640
- private _getDateFromDayOfMonth;
1641
- /** Initializes the weekdays. */
1642
- private _initWeekdays;
1643
- /** Creates MatCalendarCells for the dates in this month. */
1644
- private _createWeekCells;
1645
- /** Date filter for the month */
1646
- private _shouldEnableDate;
1410
+ comparisonDateLabel: string;
1411
+ /** Formats a range of years (used for visuals). */
1412
+ formatYearRange(start: string, end: string): string;
1413
+ /** Formats a label for a range of years (used by screen readers). */
1414
+ formatYearRangeLabel(start: string, end: string): string;
1415
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerIntl, never>;
1416
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatDatepickerIntl>;
1417
+ }
1418
+
1419
+ /** Can be used to override the icon of a `matDatepickerToggle`. */
1420
+ declare class MatDatepickerToggleIcon {
1421
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerToggleIcon, never>;
1422
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerToggleIcon, "[matDatepickerToggleIcon]", never, {}, {}, never, never, true, never>;
1423
+ }
1424
+ declare class MatDatepickerToggle<D> implements AfterContentInit, OnChanges, OnDestroy {
1425
+ _intl: MatDatepickerIntl;
1426
+ private _changeDetectorRef;
1427
+ private _stateChanges;
1428
+ /** Datepicker instance that the button will toggle. */
1429
+ datepicker: MatDatepickerPanel<MatDatepickerControl<any>, D>;
1430
+ /** Tabindex for the toggle. */
1431
+ tabIndex: number | null;
1432
+ /** Screen-reader label for the button. */
1433
+ ariaLabel: string;
1434
+ /** Whether the toggle button is disabled. */
1435
+ get disabled(): boolean;
1436
+ set disabled(value: boolean);
1437
+ private _disabled;
1438
+ /** Whether ripples on the toggle should be disabled. */
1439
+ disableRipple: boolean;
1440
+ /** Custom icon set by the consumer. */
1441
+ _customIcon: MatDatepickerToggleIcon;
1442
+ /** Underlying button element. */
1443
+ _button: MatButton;
1444
+ constructor(...args: unknown[]);
1445
+ ngOnChanges(changes: SimpleChanges): void;
1446
+ ngOnDestroy(): void;
1447
+ ngAfterContentInit(): void;
1448
+ _open(event: Event): void;
1449
+ private _watchStateChanges;
1450
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerToggle<any>, never>;
1451
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerToggle<any>, "mat-datepicker-toggle", ["matDatepickerToggle"], { "datepicker": { "alias": "for"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, ["_customIcon"], ["[matDatepickerToggleIcon]"], true, never>;
1452
+ static ngAcceptInputType_disabled: unknown;
1453
+ }
1454
+
1455
+ /**
1456
+ * Base class for the individual inputs that can be projected inside a `mat-date-range-input`.
1457
+ */
1458
+ declare abstract class MatDateRangeInputPartBase<D> extends MatDatepickerInputBase<DateRange<D>> implements OnInit, AfterContentInit, DoCheck {
1459
+ _rangeInput: MatDateRangeInput<D>;
1460
+ _elementRef: ElementRef<HTMLInputElement>;
1461
+ _defaultErrorStateMatcher: ErrorStateMatcher;
1462
+ private _injector;
1463
+ _parentForm: NgForm | null;
1464
+ _parentFormGroup: FormGroupDirective | null;
1647
1465
  /**
1648
- * Gets the date in this month that the given Date falls on.
1649
- * Returns null if the given Date is in another month.
1466
+ * Form control bound to this input part.
1467
+ * @docs-private
1650
1468
  */
1651
- private _getDateInCurrentMonth;
1652
- /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */
1653
- private _hasSameMonthAndYear;
1654
- /** Gets the value that will be used to one cell to another. */
1655
- private _getCellCompareValue;
1656
- /** Determines whether the user has the RTL layout direction. */
1657
- private _isRtl;
1658
- /** Sets the current range based on a model value. */
1659
- private _setRanges;
1660
- /** Gets whether a date can be selected in the month view. */
1661
- private _canSelect;
1662
- /** Clears out preview state. */
1663
- private _clearPreview;
1664
- static ɵfac: i0.ɵɵFactoryDeclaration<MatMonthView<any>, never>;
1665
- static ɵcmp: i0.ɵɵComponentDeclaration<MatMonthView<any>, "mat-month-view", ["matMonthView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; "startDateAccessibleName": { "alias": "startDateAccessibleName"; "required": false; }; "endDateAccessibleName": { "alias": "endDateAccessibleName"; "required": false; }; "activeDrag": { "alias": "activeDrag"; "required": false; }; }, { "selectedChange": "selectedChange"; "_userSelection": "_userSelection"; "dragStarted": "dragStarted"; "dragEnded": "dragEnded"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
1469
+ ngControl: NgControl;
1470
+ protected abstract _validator: ValidatorFn | null;
1471
+ protected abstract _assignValueToModel(value: D | null): void;
1472
+ protected abstract _getValueFromModel(modelValue: DateRange<D>): D | null;
1473
+ protected abstract _register(): void;
1474
+ protected readonly _dir: Directionality | null;
1475
+ private _errorStateTracker;
1476
+ /** Object used to control when error messages are shown. */
1477
+ get errorStateMatcher(): ErrorStateMatcher;
1478
+ set errorStateMatcher(value: ErrorStateMatcher);
1479
+ /** Whether the input is in an error state. */
1480
+ get errorState(): boolean;
1481
+ set errorState(value: boolean);
1482
+ constructor(...args: unknown[]);
1483
+ ngOnInit(): void;
1484
+ ngAfterContentInit(): void;
1485
+ ngDoCheck(): void;
1486
+ /** Gets whether the input is empty. */
1487
+ isEmpty(): boolean;
1488
+ /** Gets the placeholder of the input. */
1489
+ _getPlaceholder(): string;
1490
+ /** Focuses the input. */
1491
+ focus(): void;
1492
+ /** Gets the value that should be used when mirroring the input's size. */
1493
+ getMirrorValue(): string;
1494
+ /** Refreshes the error state of the input. */
1495
+ updateErrorState(): void;
1496
+ /** Handles `input` events on the input element. */
1497
+ _onInput(event: Event): void;
1498
+ /** Opens the datepicker associated with the input. */
1499
+ protected _openPopup(): void;
1500
+ /** Gets the minimum date from the range input. */
1501
+ _getMinDate(): D | null;
1502
+ /** Gets the maximum date from the range input. */
1503
+ _getMaxDate(): D | null;
1504
+ /** Gets the date filter function from the range input. */
1505
+ protected _getDateFilter(): DateFilterFn<D>;
1506
+ protected _parentDisabled(): boolean;
1507
+ protected _shouldHandleChangeEvent({ source }: DateSelectionModelChange<DateRange<D>>): boolean;
1508
+ protected _assignValueProgrammatically(value: D | null): void;
1509
+ protected _formatValue(value: D | null): void;
1510
+ /** return the ARIA accessible name of the input element */
1511
+ _getAccessibleName(): string;
1512
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangeInputPartBase<any>, never>;
1513
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDateRangeInputPartBase<any>, never, never, { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; }, {}, never, never, true, never>;
1514
+ }
1515
+ /** Input for entering the start date in a `mat-date-range-input`. */
1516
+ declare class MatStartDate<D> extends MatDateRangeInputPartBase<D> {
1517
+ /** Validator that checks that the start date isn't after the end date. */
1518
+ private _startValidator;
1519
+ protected _validator: ValidatorFn | null;
1520
+ protected _register(): void;
1521
+ protected _getValueFromModel(modelValue: DateRange<D>): D | null;
1522
+ protected _shouldHandleChangeEvent(change: DateSelectionModelChange<DateRange<D>>): boolean;
1523
+ protected _assignValueToModel(value: D | null): void;
1524
+ _onKeydown(event: KeyboardEvent): void;
1525
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatStartDate<any>, never>;
1526
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatStartDate<any>, "input[matStartDate]", never, {}, { "dateChange": "dateChange"; "dateInput": "dateInput"; }, never, never, true, never>;
1527
+ }
1528
+ /** Input for entering the end date in a `mat-date-range-input`. */
1529
+ declare class MatEndDate<D> extends MatDateRangeInputPartBase<D> {
1530
+ /** Validator that checks that the end date isn't before the start date. */
1531
+ private _endValidator;
1532
+ protected _register(): void;
1533
+ protected _validator: ValidatorFn | null;
1534
+ protected _getValueFromModel(modelValue: DateRange<D>): D | null;
1535
+ protected _shouldHandleChangeEvent(change: DateSelectionModelChange<DateRange<D>>): boolean;
1536
+ protected _assignValueToModel(value: D | null): void;
1537
+ private _moveCaretToEndOfStartInput;
1538
+ _onKeydown(event: KeyboardEvent): void;
1539
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatEndDate<any>, never>;
1540
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatEndDate<any>, "input[matEndDate]", never, {}, { "dateChange": "dateChange"; "dateInput": "dateInput"; }, never, never, true, never>;
1666
1541
  }
1667
1542
 
1668
1543
  /**
1669
- * An internal component used to display a year selector in the datepicker.
1544
+ * Input that can be associated with a date range picker.
1670
1545
  * @docs-private
1671
1546
  */
1672
- export declare class MatMultiYearView<D> implements AfterContentInit, OnDestroy {
1547
+ interface MatDateRangePickerInput<D> extends MatDatepickerControl<D> {
1548
+ _getEndDateAccessibleName(): string | null;
1549
+ _getStartDateAccessibleName(): string | null;
1550
+ comparisonStart: D | null;
1551
+ comparisonEnd: D | null;
1552
+ }
1553
+ /** Component responsible for managing the date range picker popup/dialog. */
1554
+ declare class MatDateRangePicker<D> extends MatDatepickerBase<MatDateRangePickerInput<D>, DateRange<D>, D> {
1555
+ protected _forwardContentValues(instance: MatDatepickerContent<DateRange<D>, D>): void;
1556
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangePicker<any>, never>;
1557
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDateRangePicker<any>, "mat-date-range-picker", ["matDateRangePicker"], {}, {}, never, never, true, never>;
1558
+ }
1559
+
1560
+ declare class MatDateRangeInput<D> implements MatFormFieldControl<DateRange<D>>, MatDatepickerControl<D>, MatDateRangePickerInput<D>, AfterContentInit, OnChanges, OnDestroy {
1673
1561
  private _changeDetectorRef;
1674
- _dateAdapter: DateAdapter<D, any>;
1675
- private _dir;
1676
- private _rerenderSubscription;
1677
- /** Flag used to filter out space/enter keyup events that originated outside of the view. */
1678
- private _selectionKeyPressed;
1679
- /** The date to display in this multi-year view (everything other than the year is ignored). */
1680
- get activeDate(): D;
1681
- set activeDate(value: D);
1682
- private _activeDate;
1683
- /** The currently selected date. */
1684
- get selected(): DateRange<D> | D | null;
1685
- set selected(value: DateRange<D> | D | null);
1686
- private _selected;
1687
- /** The minimum selectable date. */
1688
- get minDate(): D | null;
1689
- set minDate(value: D | null);
1690
- private _minDate;
1691
- /** The maximum selectable date. */
1692
- get maxDate(): D | null;
1693
- set maxDate(value: D | null);
1694
- private _maxDate;
1695
- /** A function used to filter which dates are selectable. */
1696
- dateFilter: (date: D) => boolean;
1697
- /** Function that can be used to add custom CSS classes to date cells. */
1698
- dateClass: MatCalendarCellClassFunction<D>;
1699
- /** Emits when a new year is selected. */
1700
- readonly selectedChange: EventEmitter<D>;
1701
- /** Emits the selected year. This doesn't imply a change on the selected date */
1702
- readonly yearSelected: EventEmitter<D>;
1703
- /** Emits when any date is activated. */
1704
- readonly activeDateChange: EventEmitter<D>;
1705
- /** The body of calendar table */
1706
- _matCalendarBody: MatCalendarBody;
1707
- /** Grid of calendar cells representing the currently displayed years. */
1708
- _years: MatCalendarCell[][];
1709
- /** The year that today falls on. */
1710
- _todayYear: number;
1711
- /** The year of the selected date. Null if the selected date is null. */
1712
- _selectedYear: number | null;
1713
- constructor(...args: unknown[]);
1714
- ngAfterContentInit(): void;
1715
- ngOnDestroy(): void;
1716
- /** Initializes this multi-year view. */
1717
- _init(): void;
1718
- /** Handles when a new year is selected. */
1719
- _yearSelected(event: MatCalendarUserEvent<number>): void;
1562
+ private _elementRef;
1563
+ private _dateAdapter;
1564
+ private _formField;
1565
+ private _closedSubscription;
1566
+ private _openedSubscription;
1567
+ _startInput: MatStartDate<D>;
1568
+ _endInput: MatEndDate<D>;
1569
+ /** Current value of the range input. */
1570
+ get value(): DateRange<D> | null;
1571
+ /** Unique ID for the group. */
1572
+ id: string;
1573
+ /** Whether the control is focused. */
1574
+ focused: boolean;
1575
+ /** Whether the control's label should float. */
1576
+ get shouldLabelFloat(): boolean;
1577
+ /** Name of the form control. */
1578
+ controlType: string;
1720
1579
  /**
1721
- * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
1722
- * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
1723
- * that date.
1724
- *
1725
- * This function is used to match each component's model of the active date with the calendar
1726
- * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
1727
- * parent's value asynchronously via the `activeDateChange` event. The child component receives an
1728
- * updated value asynchronously via the `activeCell` Input.
1580
+ * Implemented as a part of `MatFormFieldControl`.
1581
+ * Set the placeholder attribute on `matStartDate` and `matEndDate`.
1582
+ * @docs-private
1729
1583
  */
1730
- _updateActiveDate(event: MatCalendarUserEvent<number>): void;
1731
- /** Handles keydown events on the calendar body when calendar is in multi-year view. */
1732
- _handleCalendarBodyKeydown(event: KeyboardEvent): void;
1733
- /** Handles keyup events on the calendar body when calendar is in multi-year view. */
1734
- _handleCalendarBodyKeyup(event: KeyboardEvent): void;
1735
- _getActiveCell(): number;
1736
- /** Focuses the active cell after the microtask queue is empty. */
1737
- _focusActiveCell(): void;
1738
- /** Focuses the active cell after change detection has run and the microtask queue is empty. */
1739
- _focusActiveCellAfterViewChecked(): void;
1584
+ get placeholder(): string;
1585
+ /** The range picker that this input is associated with. */
1586
+ get rangePicker(): MatDatepickerPanel<MatDatepickerControl<D>, DateRange<D>, D>;
1587
+ set rangePicker(rangePicker: MatDatepickerPanel<MatDatepickerControl<D>, DateRange<D>, D>);
1588
+ private _rangePicker;
1589
+ /** The id of the panel owned by this input. */
1590
+ _ariaOwns: i0.WritableSignal<string | null>;
1591
+ /** Whether the input is required. */
1592
+ get required(): boolean;
1593
+ set required(value: boolean);
1594
+ private _required;
1595
+ /** Function that can be used to filter out dates within the date range picker. */
1596
+ get dateFilter(): DateFilterFn<D>;
1597
+ set dateFilter(value: DateFilterFn<D>);
1598
+ private _dateFilter;
1599
+ /** The minimum valid date. */
1600
+ get min(): D | null;
1601
+ set min(value: D | null);
1602
+ private _min;
1603
+ /** The maximum valid date. */
1604
+ get max(): D | null;
1605
+ set max(value: D | null);
1606
+ private _max;
1607
+ /** Whether the input is disabled. */
1608
+ get disabled(): boolean;
1609
+ set disabled(value: boolean);
1610
+ _groupDisabled: boolean;
1611
+ /** Whether the input is in an error state. */
1612
+ get errorState(): boolean;
1613
+ /** Whether the datepicker input is empty. */
1614
+ get empty(): boolean;
1615
+ /** Value for the `aria-describedby` attribute of the inputs. */
1616
+ _ariaDescribedBy: string | null;
1617
+ /** Date selection model currently registered with the input. */
1618
+ private _model;
1619
+ /** Separator text to be shown between the inputs. */
1620
+ separator: string;
1621
+ /** Start of the comparison range that should be shown in the calendar. */
1622
+ comparisonStart: D | null;
1623
+ /** End of the comparison range that should be shown in the calendar. */
1624
+ comparisonEnd: D | null;
1740
1625
  /**
1741
- * Takes a year and returns a new date on the same day and month as the currently active date
1742
- * The returned date will have the same year as the argument date.
1626
+ * Implemented as a part of `MatFormFieldControl`.
1627
+ * TODO(crisbeto): change type to `AbstractControlDirective` after #18206 lands.
1628
+ * @docs-private
1743
1629
  */
1744
- private _getDateFromYear;
1745
- /** Creates an MatCalendarCell for the given year. */
1746
- private _createCellForYear;
1747
- /** Whether the given year is enabled. */
1748
- private _shouldEnableYear;
1749
- /** Determines whether the user has the RTL layout direction. */
1750
- private _isRtl;
1751
- /** Sets the currently-highlighted year based on a model value. */
1752
- private _setSelectedYear;
1753
- static ɵfac: i0.ɵɵFactoryDeclaration<MatMultiYearView<any>, never>;
1754
- static ɵcmp: i0.ɵɵComponentDeclaration<MatMultiYearView<any>, "mat-multi-year-view", ["matMultiYearView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; }, { "selectedChange": "selectedChange"; "yearSelected": "yearSelected"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
1755
- }
1756
-
1757
- /**
1758
- * A selection model that contains a date range.
1759
- * @docs-private
1760
- */
1761
- export declare class MatRangeDateSelectionModel<D> extends MatDateSelectionModel<DateRange<D>, D> {
1762
- constructor(adapter: DateAdapter<D>);
1630
+ ngControl: NgControl | null;
1631
+ /** Emits when the input's state has changed. */
1632
+ readonly stateChanges: Subject<void>;
1763
1633
  /**
1764
- * Adds a date to the current selection. In the case of a date range selection, the added date
1765
- * fills in the next `null` value in the range. If both the start and the end already have a date,
1766
- * the selection is reset so that the given date is the new `start` and the `end` is null.
1634
+ * Disable the automatic labeling to avoid issues like #27241.
1635
+ * @docs-private
1767
1636
  */
1768
- add(date: D | null): void;
1769
- /** Checks whether the current selection is valid. */
1770
- isValid(): boolean;
1637
+ readonly disableAutomaticLabeling = true;
1638
+ constructor(...args: unknown[]);
1771
1639
  /**
1772
- * Checks whether the current selection is complete. In the case of a date range selection, this
1773
- * is true if the current selection has a non-null `start` and `end`.
1640
+ * Implemented as part of MatFormFieldControl.
1641
+ * @docs-private
1774
1642
  */
1775
- isComplete(): boolean;
1776
- /** Clones the selection model. */
1777
- clone(): MatRangeDateSelectionModel<D>;
1778
- static ɵfac: i0.ɵɵFactoryDeclaration<MatRangeDateSelectionModel<any>, never>;
1779
- static ɵprov: i0.ɵɵInjectableDeclaration<MatRangeDateSelectionModel<any>>;
1780
- }
1781
-
1782
- /**
1783
- * A selection model that contains a single date.
1784
- * @docs-private
1785
- */
1786
- export declare class MatSingleDateSelectionModel<D> extends MatDateSelectionModel<D | null, D> {
1787
- constructor(adapter: DateAdapter<D>);
1643
+ get describedByIds(): string[];
1788
1644
  /**
1789
- * Adds a date to the current selection. In the case of a single date selection, the added date
1790
- * simply overwrites the previous selection
1645
+ * Implemented as a part of `MatFormFieldControl`.
1646
+ * @docs-private
1791
1647
  */
1792
- add(date: D | null): void;
1793
- /** Checks whether the current selection is valid. */
1794
- isValid(): boolean;
1648
+ setDescribedByIds(ids: string[]): void;
1795
1649
  /**
1796
- * Checks whether the current selection is complete. In the case of a single date selection, this
1797
- * is true if the current selection is not null.
1650
+ * Implemented as a part of `MatFormFieldControl`.
1651
+ * @docs-private
1798
1652
  */
1799
- isComplete(): boolean;
1800
- /** Clones the selection model. */
1801
- clone(): MatSingleDateSelectionModel<D>;
1802
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSingleDateSelectionModel<any>, never>;
1803
- static ɵprov: i0.ɵɵInjectableDeclaration<MatSingleDateSelectionModel<any>>;
1653
+ onContainerClick(): void;
1654
+ ngAfterContentInit(): void;
1655
+ ngOnChanges(changes: SimpleChanges): void;
1656
+ ngOnDestroy(): void;
1657
+ /** Gets the date at which the calendar should start. */
1658
+ getStartValue(): D | null;
1659
+ /** Gets the input's theme palette. */
1660
+ getThemePalette(): ThemePalette;
1661
+ /** Gets the element to which the calendar overlay should be attached. */
1662
+ getConnectedOverlayOrigin(): ElementRef;
1663
+ /** Gets the ID of an element that should be used a description for the calendar overlay. */
1664
+ getOverlayLabelId(): string | null;
1665
+ /** Gets the value that is used to mirror the state input. */
1666
+ _getInputMirrorValue(part: 'start' | 'end'): string;
1667
+ /** Whether the input placeholders should be hidden. */
1668
+ _shouldHidePlaceholders(): boolean;
1669
+ /** Handles the value in one of the child inputs changing. */
1670
+ _handleChildValueChange(): void;
1671
+ /** Opens the date range picker associated with the input. */
1672
+ _openDatepicker(): void;
1673
+ /** Whether the separate text should be hidden. */
1674
+ _shouldHideSeparator(): boolean | "" | null;
1675
+ /** Gets the value for the `aria-labelledby` attribute of the inputs. */
1676
+ _getAriaLabelledby(): string | null;
1677
+ _getStartDateAccessibleName(): string;
1678
+ _getEndDateAccessibleName(): string;
1679
+ /** Updates the focused state of the range input. */
1680
+ _updateFocus(origin: FocusOrigin): void;
1681
+ /** Re-runs the validators on the start/end inputs. */
1682
+ private _revalidate;
1683
+ /** Registers the current date selection model with the start/end inputs. */
1684
+ private _registerModel;
1685
+ /** Checks whether a specific range input directive is required. */
1686
+ private _isTargetRequired;
1687
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDateRangeInput<any>, never>;
1688
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDateRangeInput<any>, "mat-date-range-input", ["matDateRangeInput"], { "rangePicker": { "alias": "rangePicker"; "required": false; }; "required": { "alias": "required"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "comparisonStart": { "alias": "comparisonStart"; "required": false; }; "comparisonEnd": { "alias": "comparisonEnd"; "required": false; }; }, {}, never, ["input[matStartDate]", "input[matEndDate]"], true, never>;
1689
+ static ngAcceptInputType_required: unknown;
1690
+ static ngAcceptInputType_disabled: unknown;
1804
1691
  }
1805
1692
 
1806
- /** Input for entering the start date in a `mat-date-range-input`. */
1807
- export declare class MatStartDate<D> extends MatDateRangeInputPartBase<D> {
1808
- /** Validator that checks that the start date isn't after the end date. */
1809
- private _startValidator;
1810
- protected _validator: ValidatorFn | null;
1811
- protected _register(): void;
1812
- protected _getValueFromModel(modelValue: DateRange<D>): D | null;
1813
- protected _shouldHandleChangeEvent(change: DateSelectionModelChange<DateRange<D>>): boolean;
1814
- protected _assignValueToModel(value: D | null): void;
1815
- _onKeydown(event: KeyboardEvent): void;
1816
- static ɵfac: i0.ɵɵFactoryDeclaration<MatStartDate<any>, never>;
1817
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatStartDate<any>, "input[matStartDate]", never, {}, { "dateChange": "dateChange"; "dateInput": "dateInput"; }, never, never, true, never>;
1693
+ /** Button that will close the datepicker and assign the current selection to the data model. */
1694
+ declare class MatDatepickerApply {
1695
+ private _datepicker;
1696
+ constructor(...args: unknown[]);
1697
+ _applySelection(): void;
1698
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerApply, never>;
1699
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerApply, "[matDatepickerApply], [matDateRangePickerApply]", never, {}, {}, never, never, true, never>;
1700
+ }
1701
+ /** Button that will close the datepicker and discard the current selection. */
1702
+ declare class MatDatepickerCancel {
1703
+ _datepicker: MatDatepickerBase<MatDatepickerControl<any>, unknown, {}>;
1704
+ constructor(...args: unknown[]);
1705
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerCancel, never>;
1706
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDatepickerCancel, "[matDatepickerCancel], [matDateRangePickerCancel]", never, {}, {}, never, never, true, never>;
1818
1707
  }
1819
-
1820
1708
  /**
1821
- * An internal component used to display a single year in the datepicker.
1822
- * @docs-private
1709
+ * Container that can be used to project a row of action buttons
1710
+ * to the bottom of a datepicker or date range picker.
1823
1711
  */
1824
- export declare class MatYearView<D> implements AfterContentInit, OnDestroy {
1825
- readonly _changeDetectorRef: ChangeDetectorRef;
1826
- private _dateFormats;
1827
- _dateAdapter: DateAdapter<D, any>;
1828
- private _dir;
1829
- private _rerenderSubscription;
1830
- /** Flag used to filter out space/enter keyup events that originated outside of the view. */
1831
- private _selectionKeyPressed;
1832
- /** The date to display in this year view (everything other than the year is ignored). */
1833
- get activeDate(): D;
1834
- set activeDate(value: D);
1835
- private _activeDate;
1836
- /** The currently selected date. */
1837
- get selected(): DateRange<D> | D | null;
1838
- set selected(value: DateRange<D> | D | null);
1839
- private _selected;
1840
- /** The minimum selectable date. */
1841
- get minDate(): D | null;
1842
- set minDate(value: D | null);
1843
- private _minDate;
1844
- /** The maximum selectable date. */
1845
- get maxDate(): D | null;
1846
- set maxDate(value: D | null);
1847
- private _maxDate;
1848
- /** A function used to filter which dates are selectable. */
1849
- dateFilter: (date: D) => boolean;
1850
- /** Function that can be used to add custom CSS classes to date cells. */
1851
- dateClass: MatCalendarCellClassFunction<D>;
1852
- /** Emits when a new month is selected. */
1853
- readonly selectedChange: EventEmitter<D>;
1854
- /** Emits the selected month. This doesn't imply a change on the selected date */
1855
- readonly monthSelected: EventEmitter<D>;
1856
- /** Emits when any date is activated. */
1857
- readonly activeDateChange: EventEmitter<D>;
1858
- /** The body of calendar table */
1859
- _matCalendarBody: MatCalendarBody;
1860
- /** Grid of calendar cells representing the months of the year. */
1861
- _months: MatCalendarCell[][];
1862
- /** The label for this year (e.g. "2017"). */
1863
- _yearLabel: string;
1864
- /** The month in this year that today falls on. Null if today is in a different year. */
1865
- _todayMonth: number | null;
1866
- /**
1867
- * The month in this year that the selected Date falls on.
1868
- * Null if the selected Date is in a different year.
1869
- */
1870
- _selectedMonth: number | null;
1712
+ declare class MatDatepickerActions implements AfterViewInit, OnDestroy {
1713
+ private _datepicker;
1714
+ private _viewContainerRef;
1715
+ _template: TemplateRef<unknown>;
1716
+ private _portal;
1871
1717
  constructor(...args: unknown[]);
1872
- ngAfterContentInit(): void;
1718
+ ngAfterViewInit(): void;
1873
1719
  ngOnDestroy(): void;
1874
- /** Handles when a new month is selected. */
1875
- _monthSelected(event: MatCalendarUserEvent<number>): void;
1876
- /**
1877
- * Takes the index of a calendar body cell wrapped in an event as argument. For the date that
1878
- * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
1879
- * that date.
1880
- *
1881
- * This function is used to match each component's model of the active date with the calendar
1882
- * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
1883
- * parent's value asynchronously via the `activeDateChange` event. The child component receives an
1884
- * updated value asynchronously via the `activeCell` Input.
1885
- */
1886
- _updateActiveDate(event: MatCalendarUserEvent<number>): void;
1887
- /** Handles keydown events on the calendar body when calendar is in year view. */
1888
- _handleCalendarBodyKeydown(event: KeyboardEvent): void;
1889
- /** Handles keyup events on the calendar body when calendar is in year view. */
1890
- _handleCalendarBodyKeyup(event: KeyboardEvent): void;
1891
- /** Initializes this year view. */
1892
- _init(): void;
1893
- /** Focuses the active cell after the microtask queue is empty. */
1894
- _focusActiveCell(): void;
1895
- /** Schedules the matCalendarBody to focus the active cell after change detection has run */
1896
- _focusActiveCellAfterViewChecked(): void;
1897
- /**
1898
- * Gets the month in this year that the given Date falls on.
1899
- * Returns null if the given Date is in another year.
1900
- */
1901
- private _getMonthInCurrentYear;
1720
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerActions, never>;
1721
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDatepickerActions, "mat-datepicker-actions, mat-date-range-picker-actions", never, {}, {}, never, ["*"], true, never>;
1722
+ }
1723
+
1724
+ declare class MatDatepickerModule {
1725
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDatepickerModule, never>;
1726
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatDatepickerModule, never, [typeof MatButtonModule, typeof i2.OverlayModule, typeof i1.A11yModule, typeof i3.PortalModule, typeof MatCommonModule, typeof MatCalendar, typeof MatCalendarBody, typeof MatDatepicker, typeof MatDatepickerContent, typeof MatDatepickerInput, typeof MatDatepickerToggle, typeof MatDatepickerToggleIcon, typeof MatMonthView, typeof MatYearView, typeof MatMultiYearView, typeof MatCalendarHeader, typeof MatDateRangeInput, typeof MatStartDate, typeof MatEndDate, typeof MatDateRangePicker, typeof MatDatepickerActions, typeof MatDatepickerCancel, typeof MatDatepickerApply], [typeof i5.CdkScrollableModule, typeof MatCalendar, typeof MatCalendarBody, typeof MatDatepicker, typeof MatDatepickerContent, typeof MatDatepickerInput, typeof MatDatepickerToggle, typeof MatDatepickerToggleIcon, typeof MatMonthView, typeof MatYearView, typeof MatMultiYearView, typeof MatCalendarHeader, typeof MatDateRangeInput, typeof MatStartDate, typeof MatEndDate, typeof MatDateRangePicker, typeof MatDatepickerActions, typeof MatDatepickerCancel, typeof MatDatepickerApply]>;
1727
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatDatepickerModule>;
1728
+ }
1729
+
1730
+ /** Injection token used to customize the date range selection behavior. */
1731
+ declare const MAT_DATE_RANGE_SELECTION_STRATEGY: InjectionToken<MatDateRangeSelectionStrategy<any>>;
1732
+ /** Object that can be provided in order to customize the date range selection behavior. */
1733
+ interface MatDateRangeSelectionStrategy<D> {
1902
1734
  /**
1903
- * Takes a month and returns a new date in the same day and year as the currently active date.
1904
- * The returned date will have the same month as the argument date.
1735
+ * Called when the user has finished selecting a value.
1736
+ * @param date Date that was selected. Will be null if the user cleared the selection.
1737
+ * @param currentRange Range that is currently show in the calendar.
1738
+ * @param event DOM event that triggered the selection. Currently only corresponds to a `click`
1739
+ * event, but it may get expanded in the future.
1905
1740
  */
1906
- private _getDateFromMonth;
1907
- /** Creates an MatCalendarCell for the given month. */
1908
- private _createCellForMonth;
1909
- /** Whether the given month is enabled. */
1910
- private _shouldEnableMonth;
1741
+ selectionFinished(date: D | null, currentRange: DateRange<D>, event: Event): DateRange<D>;
1911
1742
  /**
1912
- * Tests whether the combination month/year is after this.maxDate, considering
1913
- * just the month and year of this.maxDate
1743
+ * Called when the user has activated a new date (e.g. by hovering over
1744
+ * it or moving focus) and the calendar tries to display a date range.
1745
+ *
1746
+ * @param activeDate Date that the user has activated. Will be null if the user moved
1747
+ * focus to an element that's no a calendar cell.
1748
+ * @param currentRange Range that is currently shown in the calendar.
1749
+ * @param event DOM event that caused the preview to be changed. Will be either a
1750
+ * `mouseenter`/`mouseleave` or `focus`/`blur` depending on how the user is navigating.
1914
1751
  */
1915
- private _isYearAndMonthAfterMaxDate;
1752
+ createPreview(activeDate: D | null, currentRange: DateRange<D>, event: Event): DateRange<D>;
1916
1753
  /**
1917
- * Tests whether the combination month/year is before this.minDate, considering
1918
- * just the month and year of this.minDate
1754
+ * Called when the user has dragged a date in the currently selected range to another
1755
+ * date. Returns the date updated range that should result from this interaction.
1756
+ *
1757
+ * @param dateOrigin The date the user started dragging from.
1758
+ * @param originalRange The originally selected date range.
1759
+ * @param newDate The currently targeted date in the drag operation.
1760
+ * @param event DOM event that triggered the updated drag state. Will be
1761
+ * `mouseenter`/`mouseup` or `touchmove`/`touchend` depending on the device type.
1919
1762
  */
1920
- private _isYearAndMonthBeforeMinDate;
1921
- /** Determines whether the user has the RTL layout direction. */
1922
- private _isRtl;
1923
- /** Sets the currently-selected month based on a model value. */
1924
- private _setSelectedMonth;
1925
- static ɵfac: i0.ɵɵFactoryDeclaration<MatYearView<any>, never>;
1926
- static ɵcmp: i0.ɵɵComponentDeclaration<MatYearView<any>, "mat-year-view", ["matYearView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; }, { "selectedChange": "selectedChange"; "monthSelected": "monthSelected"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
1763
+ createDrag?(dragOrigin: D, originalRange: DateRange<D>, newDate: D, event: Event): DateRange<D> | null;
1764
+ }
1765
+ /** Provides the default date range selection behavior. */
1766
+ declare class DefaultMatCalendarRangeStrategy<D> implements MatDateRangeSelectionStrategy<D> {
1767
+ private _dateAdapter;
1768
+ constructor(_dateAdapter: DateAdapter<D>);
1769
+ selectionFinished(date: D, currentRange: DateRange<D>): DateRange<D>;
1770
+ createPreview(activeDate: D | null, currentRange: DateRange<D>): DateRange<D>;
1771
+ createDrag(dragOrigin: D, originalRange: DateRange<D>, newDate: D): DateRange<D> | null;
1772
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultMatCalendarRangeStrategy<any>, never>;
1773
+ static ɵprov: i0.ɵɵInjectableDeclaration<DefaultMatCalendarRangeStrategy<any>>;
1927
1774
  }
1928
1775
 
1929
- export declare const yearsPerPage = 24;
1930
-
1931
- export declare const yearsPerRow = 4;
1776
+ /**
1777
+ * Animations used by the Material datepicker.
1778
+ * @docs-private
1779
+ * @deprecated No longer used, will be removed.
1780
+ * @breaking-change 21.0.0
1781
+ */
1782
+ declare const matDatepickerAnimations: {
1783
+ readonly transformPanel: any;
1784
+ readonly fadeInCalendar: any;
1785
+ };
1932
1786
 
1933
- export { }
1787
+ 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 };
1788
+ export type { DateFilterFn, DateSelectionModelChange, DatepickerDropdownPositionX, DatepickerDropdownPositionY, ExtractDateTypeFromSelection, MatCalendarCellClassFunction, MatCalendarCellCssClasses, MatCalendarUserEvent, MatCalendarView, MatDateRangeSelectionStrategy, MatDatepickerControl, MatDatepickerPanel };