@mui/x-date-pickers 7.0.0-alpha.1 → 7.0.0-alpha.3

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 (323) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -2
  2. package/AdapterDateFns/AdapterDateFns.js +11 -17
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -2
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +13 -19
  5. package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
  6. package/AdapterDayjs/AdapterDayjs.js +13 -15
  7. package/AdapterLuxon/AdapterLuxon.d.ts +3 -3
  8. package/AdapterLuxon/AdapterLuxon.js +31 -39
  9. package/AdapterMoment/AdapterMoment.d.ts +3 -3
  10. package/AdapterMoment/AdapterMoment.js +16 -23
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +1 -3
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +1 -27
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +1 -4
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -29
  15. package/CHANGELOG.md +607 -188
  16. package/DateCalendar/DateCalendar.js +4 -10
  17. package/DateCalendar/DateCalendar.types.d.ts +0 -4
  18. package/DateCalendar/DayCalendar.d.ts +3 -3
  19. package/DateCalendar/dayCalendarClasses.d.ts +1 -1
  20. package/DateCalendar/dayCalendarClasses.js +1 -1
  21. package/DateCalendar/index.d.ts +1 -1
  22. package/DateCalendar/index.js +1 -1
  23. package/DateCalendar/useCalendarState.d.ts +1 -1
  24. package/DateCalendar/useCalendarState.js +1 -9
  25. package/DateField/DateField.js +1 -1
  26. package/DatePicker/DatePicker.js +3 -7
  27. package/DateTimeField/DateTimeField.js +1 -9
  28. package/DateTimePicker/DateTimePicker.js +3 -15
  29. package/DesktopDatePicker/DesktopDatePicker.js +3 -7
  30. package/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -15
  31. package/DesktopTimePicker/DesktopTimePicker.js +1 -9
  32. package/DigitalClock/DigitalClock.js +3 -15
  33. package/MobileDatePicker/MobileDatePicker.js +3 -7
  34. package/MobileDateTimePicker/MobileDateTimePicker.js +3 -15
  35. package/MobileTimePicker/MobileTimePicker.js +1 -9
  36. package/MonthCalendar/MonthCalendar.js +1 -1
  37. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -15
  38. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +3 -2
  39. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
  40. package/PickersDay/PickersDay.js +1 -1
  41. package/PickersShortcuts/PickersShortcuts.d.ts +1 -1
  42. package/PickersShortcuts/PickersShortcuts.js +1 -1
  43. package/README.md +0 -1
  44. package/StaticDatePicker/StaticDatePicker.js +3 -7
  45. package/StaticDateTimePicker/StaticDateTimePicker.js +3 -15
  46. package/StaticTimePicker/StaticTimePicker.js +1 -9
  47. package/TimeClock/Clock.js +1 -1
  48. package/TimeClock/TimeClock.js +3 -15
  49. package/TimeField/TimeField.js +1 -9
  50. package/TimePicker/TimePicker.js +1 -9
  51. package/YearCalendar/YearCalendar.js +1 -1
  52. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +1 -1
  53. package/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
  54. package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
  55. package/dateViewRenderers/dateViewRenderers.js +0 -2
  56. package/index.js +1 -1
  57. package/internals/components/PickersTextField/Outline.d.ts +2 -0
  58. package/internals/components/PickersTextField/Outline.js +99 -0
  59. package/internals/components/PickersTextField/PickersInput.d.ts +4 -0
  60. package/internals/components/PickersTextField/PickersInput.js +264 -0
  61. package/internals/components/PickersTextField/PickersInput.types.d.ts +30 -0
  62. package/internals/components/PickersTextField/PickersInput.types.js +1 -0
  63. package/internals/components/PickersTextField/PickersTextField.d.ts +3 -0
  64. package/internals/components/PickersTextField/PickersTextField.js +120 -0
  65. package/internals/components/PickersTextField/PickersTextField.types.d.ts +18 -0
  66. package/internals/components/PickersTextField/PickersTextField.types.js +1 -0
  67. package/internals/components/PickersTextField/index.d.ts +1 -0
  68. package/internals/components/PickersTextField/index.js +1 -0
  69. package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +42 -0
  70. package/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
  71. package/internals/hooks/date-helpers-hooks.js +2 -2
  72. package/internals/hooks/useField/useField.utils.js +30 -17
  73. package/internals/hooks/useField/useFieldState.js +1 -1
  74. package/internals/hooks/usePicker/usePickerValue.js +2 -6
  75. package/internals/hooks/usePicker/usePickerValue.types.d.ts +3 -3
  76. package/internals/hooks/useUtils.js +1 -1
  77. package/internals/hooks/useViews.js +2 -2
  78. package/internals/models/validation.d.ts +0 -8
  79. package/internals/utils/date-utils.js +2 -2
  80. package/internals/utils/validation/extractValidationProps.d.ts +1 -1
  81. package/internals/utils/validation/extractValidationProps.js +1 -1
  82. package/internals/utils/validation/validateDate.js +1 -1
  83. package/internals/utils/validation/validateTime.js +1 -8
  84. package/legacy/AdapterDateFns/AdapterDateFns.js +12 -16
  85. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +14 -18
  86. package/legacy/AdapterDayjs/AdapterDayjs.js +15 -14
  87. package/legacy/AdapterLuxon/AdapterLuxon.js +34 -39
  88. package/legacy/AdapterMoment/AdapterMoment.js +326 -324
  89. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +4 -28
  90. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -33
  91. package/legacy/DateCalendar/DateCalendar.js +4 -10
  92. package/legacy/DateCalendar/PickersSlideTransition.js +8 -9
  93. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  94. package/legacy/DateCalendar/index.js +1 -1
  95. package/legacy/DateCalendar/useCalendarState.js +1 -9
  96. package/legacy/DateField/DateField.js +1 -1
  97. package/legacy/DatePicker/DatePicker.js +3 -7
  98. package/legacy/DateTimeField/DateTimeField.js +1 -9
  99. package/legacy/DateTimePicker/DateTimePicker.js +3 -15
  100. package/legacy/DesktopDatePicker/DesktopDatePicker.js +3 -7
  101. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -15
  102. package/legacy/DesktopTimePicker/DesktopTimePicker.js +1 -9
  103. package/legacy/DigitalClock/DigitalClock.js +3 -15
  104. package/legacy/MobileDatePicker/MobileDatePicker.js +3 -7
  105. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +3 -15
  106. package/legacy/MobileTimePicker/MobileTimePicker.js +1 -9
  107. package/legacy/MonthCalendar/MonthCalendar.js +1 -1
  108. package/legacy/MonthCalendar/PickersMonth.js +4 -5
  109. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -15
  110. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
  111. package/legacy/PickersDay/PickersDay.js +6 -7
  112. package/legacy/PickersLayout/PickersLayout.js +5 -6
  113. package/legacy/PickersShortcuts/PickersShortcuts.js +2 -1
  114. package/legacy/StaticDatePicker/StaticDatePicker.js +3 -7
  115. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +3 -15
  116. package/legacy/StaticTimePicker/StaticTimePicker.js +1 -9
  117. package/legacy/TimeClock/Clock.js +1 -1
  118. package/legacy/TimeClock/ClockNumber.js +4 -5
  119. package/legacy/TimeClock/TimeClock.js +3 -15
  120. package/legacy/TimeField/TimeField.js +1 -9
  121. package/legacy/TimePicker/TimePicker.js +1 -9
  122. package/legacy/TimePicker/TimePickerToolbar.js +1 -2
  123. package/legacy/YearCalendar/PickersYear.js +4 -5
  124. package/legacy/YearCalendar/YearCalendar.js +1 -1
  125. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
  126. package/legacy/dateViewRenderers/dateViewRenderers.js +0 -2
  127. package/legacy/index.js +1 -1
  128. package/legacy/internals/components/PickersModalDialog.js +3 -4
  129. package/legacy/internals/components/PickersTextField/Outline.js +100 -0
  130. package/legacy/internals/components/PickersTextField/PickersInput.js +273 -0
  131. package/legacy/internals/components/PickersTextField/PickersInput.types.js +1 -0
  132. package/legacy/internals/components/PickersTextField/PickersTextField.js +129 -0
  133. package/legacy/internals/components/PickersTextField/PickersTextField.types.js +1 -0
  134. package/legacy/internals/components/PickersTextField/index.js +1 -0
  135. package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
  136. package/legacy/internals/hooks/date-helpers-hooks.js +2 -2
  137. package/legacy/internals/hooks/useField/useField.utils.js +30 -17
  138. package/legacy/internals/hooks/useField/useFieldState.js +1 -1
  139. package/legacy/internals/hooks/usePicker/usePickerValue.js +2 -6
  140. package/legacy/internals/hooks/useUtils.js +1 -1
  141. package/legacy/internals/hooks/useViews.js +2 -2
  142. package/legacy/internals/utils/date-utils.js +2 -2
  143. package/legacy/internals/utils/validation/extractValidationProps.js +1 -1
  144. package/legacy/internals/utils/validation/validateDate.js +1 -1
  145. package/legacy/internals/utils/validation/validateTime.js +1 -8
  146. package/legacy/locales/deDE.js +4 -3
  147. package/legacy/locales/index.js +1 -0
  148. package/legacy/locales/mk.js +91 -0
  149. package/legacy/timeViewRenderers/timeViewRenderers.js +0 -6
  150. package/locales/beBY.d.ts +18 -5
  151. package/locales/caES.d.ts +18 -5
  152. package/locales/csCZ.d.ts +18 -5
  153. package/locales/daDK.d.ts +18 -5
  154. package/locales/deDE.d.ts +18 -5
  155. package/locales/deDE.js +2 -3
  156. package/locales/elGR.d.ts +18 -5
  157. package/locales/enUS.d.ts +18 -5
  158. package/locales/esES.d.ts +18 -5
  159. package/locales/eu.d.ts +18 -5
  160. package/locales/faIR.d.ts +18 -5
  161. package/locales/fiFI.d.ts +18 -5
  162. package/locales/frFR.d.ts +18 -5
  163. package/locales/heIL.d.ts +18 -5
  164. package/locales/huHU.d.ts +18 -5
  165. package/locales/index.d.ts +1 -0
  166. package/locales/index.js +1 -0
  167. package/locales/isIS.d.ts +18 -5
  168. package/locales/itIT.d.ts +18 -5
  169. package/locales/jaJP.d.ts +18 -5
  170. package/locales/koKR.d.ts +18 -5
  171. package/locales/kzKZ.d.ts +18 -5
  172. package/locales/mk.d.ts +66 -0
  173. package/locales/mk.js +55 -0
  174. package/locales/nbNO.d.ts +18 -5
  175. package/locales/nlNL.d.ts +18 -5
  176. package/locales/plPL.d.ts +18 -5
  177. package/locales/ptBR.d.ts +18 -5
  178. package/locales/roRO.d.ts +18 -5
  179. package/locales/ruRU.d.ts +18 -5
  180. package/locales/skSK.d.ts +18 -5
  181. package/locales/svSE.d.ts +18 -5
  182. package/locales/trTR.d.ts +18 -5
  183. package/locales/ukUA.d.ts +18 -5
  184. package/locales/urPK.d.ts +18 -5
  185. package/locales/utils/getPickersLocalization.d.ts +18 -5
  186. package/locales/utils/pickersLocaleTextApi.d.ts +18 -5
  187. package/locales/viVN.d.ts +18 -5
  188. package/locales/zhCN.d.ts +18 -5
  189. package/locales/zhHK.d.ts +18 -5
  190. package/models/adapters.d.ts +6 -10
  191. package/models/timezone.d.ts +1 -1
  192. package/models/validation.d.ts +1 -1
  193. package/modern/AdapterDateFns/AdapterDateFns.js +11 -17
  194. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +13 -19
  195. package/modern/AdapterDayjs/AdapterDayjs.js +13 -15
  196. package/modern/AdapterLuxon/AdapterLuxon.js +30 -39
  197. package/modern/AdapterMoment/AdapterMoment.js +16 -23
  198. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +1 -27
  199. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -29
  200. package/modern/DateCalendar/DateCalendar.js +4 -10
  201. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  202. package/modern/DateCalendar/index.js +1 -1
  203. package/modern/DateCalendar/useCalendarState.js +1 -9
  204. package/modern/DateField/DateField.js +1 -1
  205. package/modern/DatePicker/DatePicker.js +3 -7
  206. package/modern/DateTimeField/DateTimeField.js +1 -9
  207. package/modern/DateTimePicker/DateTimePicker.js +3 -15
  208. package/modern/DesktopDatePicker/DesktopDatePicker.js +3 -7
  209. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -15
  210. package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -9
  211. package/modern/DigitalClock/DigitalClock.js +3 -15
  212. package/modern/MobileDatePicker/MobileDatePicker.js +3 -7
  213. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +3 -15
  214. package/modern/MobileTimePicker/MobileTimePicker.js +1 -9
  215. package/modern/MonthCalendar/MonthCalendar.js +1 -1
  216. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -15
  217. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
  218. package/modern/PickersDay/PickersDay.js +1 -1
  219. package/modern/PickersShortcuts/PickersShortcuts.js +1 -1
  220. package/modern/StaticDatePicker/StaticDatePicker.js +3 -7
  221. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +3 -15
  222. package/modern/StaticTimePicker/StaticTimePicker.js +1 -9
  223. package/modern/TimeClock/Clock.js +1 -1
  224. package/modern/TimeClock/TimeClock.js +3 -15
  225. package/modern/TimeField/TimeField.js +1 -9
  226. package/modern/TimePicker/TimePicker.js +1 -9
  227. package/modern/YearCalendar/YearCalendar.js +1 -1
  228. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
  229. package/modern/dateViewRenderers/dateViewRenderers.js +0 -2
  230. package/modern/index.js +1 -1
  231. package/modern/internals/components/PickersTextField/Outline.js +99 -0
  232. package/modern/internals/components/PickersTextField/PickersInput.js +264 -0
  233. package/modern/internals/components/PickersTextField/PickersInput.types.js +1 -0
  234. package/modern/internals/components/PickersTextField/PickersTextField.js +119 -0
  235. package/modern/internals/components/PickersTextField/PickersTextField.types.js +1 -0
  236. package/modern/internals/components/PickersTextField/index.js +1 -0
  237. package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +9 -0
  238. package/modern/internals/hooks/date-helpers-hooks.js +2 -2
  239. package/modern/internals/hooks/useField/useField.utils.js +30 -17
  240. package/modern/internals/hooks/useField/useFieldState.js +1 -1
  241. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -6
  242. package/modern/internals/hooks/useUtils.js +1 -1
  243. package/modern/internals/hooks/useViews.js +2 -2
  244. package/modern/internals/utils/date-utils.js +2 -2
  245. package/modern/internals/utils/validation/extractValidationProps.js +1 -1
  246. package/modern/internals/utils/validation/validateDate.js +1 -1
  247. package/modern/internals/utils/validation/validateTime.js +1 -8
  248. package/modern/locales/deDE.js +2 -3
  249. package/modern/locales/index.js +1 -0
  250. package/modern/locales/mk.js +55 -0
  251. package/modern/timeViewRenderers/timeViewRenderers.js +0 -6
  252. package/node/AdapterDateFns/AdapterDateFns.js +11 -17
  253. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +13 -19
  254. package/node/AdapterDayjs/AdapterDayjs.js +12 -14
  255. package/node/AdapterLuxon/AdapterLuxon.js +30 -39
  256. package/node/AdapterMoment/AdapterMoment.js +16 -23
  257. package/node/AdapterMomentHijri/AdapterMomentHijri.js +1 -27
  258. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -29
  259. package/node/DateCalendar/DateCalendar.js +4 -10
  260. package/node/DateCalendar/dayCalendarClasses.js +2 -2
  261. package/node/DateCalendar/index.js +2 -2
  262. package/node/DateCalendar/useCalendarState.js +1 -9
  263. package/node/DateField/DateField.js +1 -1
  264. package/node/DatePicker/DatePicker.js +3 -7
  265. package/node/DateTimeField/DateTimeField.js +1 -9
  266. package/node/DateTimePicker/DateTimePicker.js +3 -15
  267. package/node/DesktopDatePicker/DesktopDatePicker.js +3 -7
  268. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -15
  269. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -9
  270. package/node/DigitalClock/DigitalClock.js +3 -15
  271. package/node/MobileDatePicker/MobileDatePicker.js +3 -7
  272. package/node/MobileDateTimePicker/MobileDateTimePicker.js +3 -15
  273. package/node/MobileTimePicker/MobileTimePicker.js +1 -9
  274. package/node/MonthCalendar/MonthCalendar.js +1 -1
  275. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -15
  276. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +2 -1
  277. package/node/PickersDay/PickersDay.js +1 -1
  278. package/node/PickersShortcuts/PickersShortcuts.js +1 -1
  279. package/node/StaticDatePicker/StaticDatePicker.js +3 -7
  280. package/node/StaticDateTimePicker/StaticDateTimePicker.js +3 -15
  281. package/node/StaticTimePicker/StaticTimePicker.js +1 -9
  282. package/node/TimeClock/Clock.js +1 -1
  283. package/node/TimeClock/TimeClock.js +3 -15
  284. package/node/TimeField/TimeField.js +1 -9
  285. package/node/TimePicker/TimePicker.js +1 -9
  286. package/node/YearCalendar/YearCalendar.js +1 -1
  287. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -4
  288. package/node/dateViewRenderers/dateViewRenderers.js +0 -2
  289. package/node/index.js +1 -1
  290. package/node/internals/components/PickersTextField/Outline.js +108 -0
  291. package/node/internals/components/PickersTextField/PickersInput.js +272 -0
  292. package/node/internals/components/PickersTextField/PickersInput.types.js +5 -0
  293. package/node/internals/components/PickersTextField/PickersTextField.js +127 -0
  294. package/node/internals/components/PickersTextField/PickersTextField.types.js +5 -0
  295. package/node/internals/components/PickersTextField/index.js +12 -0
  296. package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +17 -0
  297. package/node/internals/hooks/date-helpers-hooks.js +2 -2
  298. package/node/internals/hooks/useField/useField.utils.js +30 -17
  299. package/node/internals/hooks/useField/useFieldState.js +1 -1
  300. package/node/internals/hooks/usePicker/usePickerValue.js +2 -6
  301. package/node/internals/hooks/useUtils.js +1 -1
  302. package/node/internals/hooks/useViews.js +2 -2
  303. package/node/internals/utils/date-utils.js +2 -2
  304. package/node/internals/utils/validation/extractValidationProps.js +1 -1
  305. package/node/internals/utils/validation/validateDate.js +1 -1
  306. package/node/internals/utils/validation/validateTime.js +1 -8
  307. package/node/locales/deDE.js +2 -3
  308. package/node/locales/index.js +11 -0
  309. package/node/locales/mk.js +60 -0
  310. package/node/timeViewRenderers/timeViewRenderers.js +0 -6
  311. package/package.json +8 -7
  312. package/timeViewRenderers/timeViewRenderers.d.ts +3 -3
  313. package/timeViewRenderers/timeViewRenderers.js +0 -6
  314. package/internals/components/FakeTextField/FakeTextField.d.ts +0 -22
  315. package/internals/components/FakeTextField/FakeTextField.js +0 -44
  316. package/internals/components/FakeTextField/index.d.ts +0 -1
  317. package/internals/components/FakeTextField/index.js +0 -1
  318. package/legacy/internals/components/FakeTextField/FakeTextField.js +0 -49
  319. package/legacy/internals/components/FakeTextField/index.js +0 -1
  320. package/modern/internals/components/FakeTextField/FakeTextField.js +0 -44
  321. package/modern/internals/components/FakeTextField/index.js +0 -1
  322. package/node/internals/components/FakeTextField/FakeTextField.js +0 -52
  323. package/node/internals/components/FakeTextField/index.js +0 -12
@@ -233,14 +233,6 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
233
233
  endIndex: PropTypes.number.isRequired,
234
234
  startIndex: PropTypes.number.isRequired
235
235
  })]),
236
- /**
237
- * Disable specific clock time.
238
- * @param {number} clockValue The value to check.
239
- * @param {TimeView} view The clock type of the timeValue.
240
- * @returns {boolean} If `true` the time will be disabled.
241
- * @deprecated Consider using `shouldDisableTime`.
242
- */
243
- shouldDisableClock: PropTypes.func,
244
236
  /**
245
237
  * Disable specific time.
246
238
  * @template TDate
@@ -288,7 +280,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
288
280
  * Choose which timezone to use for the value.
289
281
  * Example: "default", "system", "UTC", "America/New_York".
290
282
  * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
291
- * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
283
+ * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
292
284
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
293
285
  */
294
286
  timezone: PropTypes.string,
@@ -335,7 +335,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
335
335
  * Choose which timezone to use for the value.
336
336
  * Example: "default", "system", "UTC", "America/New_York".
337
337
  * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
338
- * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documention} for more details.
338
+ * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
339
339
  * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
340
340
  */
341
341
  timezone: PropTypes.string,
@@ -34,7 +34,6 @@ export const renderDesktopDateTimeView = ({
34
34
  shouldDisableMonth,
35
35
  shouldDisableYear,
36
36
  shouldDisableTime,
37
- shouldDisableClock,
38
37
  reduceAnimations,
39
38
  minutesStep,
40
39
  ampm,
@@ -42,7 +41,6 @@ export const renderDesktopDateTimeView = ({
42
41
  monthsPerRow,
43
42
  onYearChange,
44
43
  yearsPerRow,
45
- defaultCalendarMonth,
46
44
  slots,
47
45
  slotProps,
48
46
  loading,
@@ -81,7 +79,6 @@ export const renderDesktopDateTimeView = ({
81
79
  minTime,
82
80
  maxTime,
83
81
  shouldDisableTime,
84
- shouldDisableClock,
85
82
  minutesStep,
86
83
  ampm,
87
84
  slots,
@@ -120,7 +117,6 @@ export const renderDesktopDateTimeView = ({
120
117
  monthsPerRow: monthsPerRow,
121
118
  onYearChange: onYearChange,
122
119
  yearsPerRow: yearsPerRow,
123
- defaultCalendarMonth: defaultCalendarMonth,
124
120
  slots: slots,
125
121
  slotProps: slotProps,
126
122
  loading: loading,
@@ -26,7 +26,6 @@ export const renderDateViewCalendar = ({
26
26
  monthsPerRow,
27
27
  onYearChange,
28
28
  yearsPerRow,
29
- defaultCalendarMonth,
30
29
  slots,
31
30
  slotProps,
32
31
  loading,
@@ -65,7 +64,6 @@ export const renderDateViewCalendar = ({
65
64
  monthsPerRow: monthsPerRow,
66
65
  onYearChange: onYearChange,
67
66
  yearsPerRow: yearsPerRow,
68
- defaultCalendarMonth: defaultCalendarMonth,
69
67
  slots: slots,
70
68
  slotProps: slotProps,
71
69
  loading: loading,
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.0.0-alpha.1
2
+ * @mui/x-date-pickers v7.0.0-alpha.3
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -0,0 +1,99 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ const _excluded = ["children", "classes", "className", "label", "notched"];
4
+ import * as React from 'react';
5
+ import { styled } from '@mui/material/styles';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const OutlineRoot = styled('fieldset')({
8
+ textAlign: 'left',
9
+ position: 'absolute',
10
+ bottom: 0,
11
+ right: 0,
12
+ top: -5,
13
+ left: 0,
14
+ margin: 0,
15
+ padding: '0 8px',
16
+ pointerEvents: 'none',
17
+ borderRadius: 'inherit',
18
+ borderStyle: 'solid',
19
+ borderWidth: 1,
20
+ overflow: 'hidden',
21
+ minWidth: '0%'
22
+ });
23
+ const OutlineLegend = styled('legend')(({
24
+ ownerState,
25
+ theme
26
+ }) => _extends({
27
+ float: 'unset',
28
+ // Fix conflict with bootstrap
29
+ width: 'auto',
30
+ // Fix conflict with bootstrap
31
+ overflow: 'hidden'
32
+ }, !ownerState.withLabel && {
33
+ padding: 0,
34
+ lineHeight: '11px',
35
+ // sync with `height` in `legend` styles
36
+ transition: theme.transitions.create('width', {
37
+ duration: 150,
38
+ easing: theme.transitions.easing.easeOut
39
+ })
40
+ }, ownerState.withLabel && _extends({
41
+ display: 'block',
42
+ // Fix conflict with normalize.css and sanitize.css
43
+ padding: 0,
44
+ height: 11,
45
+ // sync with `lineHeight` in `legend` styles
46
+ fontSize: '0.75em',
47
+ visibility: 'hidden',
48
+ maxWidth: 0.01,
49
+ transition: theme.transitions.create('max-width', {
50
+ duration: 50,
51
+ easing: theme.transitions.easing.easeOut
52
+ }),
53
+ whiteSpace: 'nowrap',
54
+ '& > span': {
55
+ paddingLeft: 5,
56
+ paddingRight: 5,
57
+ display: 'inline-block',
58
+ opacity: 0,
59
+ visibility: 'visible'
60
+ }
61
+ }, ownerState.notched && {
62
+ maxWidth: '100%',
63
+ transition: theme.transitions.create('max-width', {
64
+ duration: 100,
65
+ easing: theme.transitions.easing.easeOut,
66
+ delay: 50
67
+ })
68
+ })));
69
+ export default function Outline(props) {
70
+ const {
71
+ className,
72
+ label,
73
+ notched
74
+ } = props,
75
+ other = _objectWithoutPropertiesLoose(props, _excluded);
76
+ const withLabel = label != null && label !== '';
77
+ const ownerState = _extends({}, props, {
78
+ notched,
79
+ withLabel
80
+ });
81
+ return /*#__PURE__*/_jsx(OutlineRoot, _extends({
82
+ "aria-hidden": true,
83
+ className: className,
84
+ ownerState: ownerState
85
+ }, other, {
86
+ children: /*#__PURE__*/_jsx(OutlineLegend, {
87
+ ownerState: ownerState,
88
+ children: withLabel ? /*#__PURE__*/_jsx("span", {
89
+ children: label
90
+ }) :
91
+ /*#__PURE__*/
92
+ // notranslate needed while Google Translate will not fix zero-width space issue
93
+ _jsx("span", {
94
+ className: "notranslate",
95
+ children: "\u200B"
96
+ })
97
+ })
98
+ }));
99
+ }
@@ -0,0 +1,264 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ const _excluded = ["elements", "defaultValue", "label", "onFocus", "onWrapperClick", "onBlur", "valueStr", "onValueStrChange", "id", "InputProps", "inputProps", "autoFocus", "ownerState", "endAdornment", "startAdornment"];
4
+ import * as React from 'react';
5
+ import clsx from 'clsx';
6
+ import Box from '@mui/material/Box';
7
+ import { useFormControl } from '@mui/material/FormControl';
8
+ import { styled } from '@mui/material/styles';
9
+ import useForkRef from '@mui/utils/useForkRef';
10
+ import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize, visuallyHidden } from '@mui/utils';
11
+ import { pickersInputClasses, getPickersInputUtilityClass } from './pickersTextFieldClasses';
12
+ import Outline from './Outline';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ const SectionsWrapper = styled(Box, {
16
+ name: 'MuiPickersInput',
17
+ slot: 'Root',
18
+ overridesResolver: (props, styles) => styles.root
19
+ })(({
20
+ theme,
21
+ ownerState
22
+ }) => {
23
+ const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
24
+ return _extends({
25
+ cursor: 'text',
26
+ padding: '16.5px 14px',
27
+ display: 'flex',
28
+ justifyContent: 'flex-start',
29
+ alignItems: 'center',
30
+ width: ownerState.fullWidth ? '100%' : '25ch',
31
+ position: 'relative',
32
+ borderRadius: (theme.vars || theme).shape.borderRadius,
33
+ [`&:hover .${pickersInputClasses.notchedOutline}`]: {
34
+ borderColor: (theme.vars || theme).palette.text.primary
35
+ },
36
+ // Reset on touch devices, it doesn't add specificity
37
+ '@media (hover: none)': {
38
+ [`&:hover .${pickersInputClasses.notchedOutline}`]: {
39
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
40
+ }
41
+ },
42
+ [`&.${pickersInputClasses.focused} .${pickersInputClasses.notchedOutline}`]: {
43
+ borderStyle: 'solid',
44
+ borderColor: (theme.vars || theme).palette[ownerState.color].main,
45
+ borderWidth: 2
46
+ },
47
+ [`&.${pickersInputClasses.disabled}`]: {
48
+ [`& .${pickersInputClasses.notchedOutline}`]: {
49
+ borderColor: (theme.vars || theme).palette.action.disabled
50
+ },
51
+ '*': {
52
+ color: (theme.vars || theme).palette.action.disabled
53
+ }
54
+ },
55
+ [`&.${pickersInputClasses.error} .${pickersInputClasses.notchedOutline}`]: {
56
+ borderColor: (theme.vars || theme).palette.error.main
57
+ }
58
+ }, ownerState.size === 'small' && {
59
+ padding: '8.5px 14px'
60
+ });
61
+ });
62
+ const SectionsContainer = styled('div', {
63
+ name: 'MuiPickersInput',
64
+ slot: 'Input',
65
+ overridesResolver: (props, styles) => styles.input
66
+ })(({
67
+ theme,
68
+ ownerState
69
+ }) => ({
70
+ fontFamily: theme.typography.fontFamily,
71
+ fontSize: 'inherit',
72
+ lineHeight: '1.4375em',
73
+ // 23px
74
+ flexGrow: 1,
75
+ visibility: ownerState.adornedStart || ownerState.focused ? 'visible' : 'hidden'
76
+ }));
77
+ const SectionContainer = styled('span', {
78
+ name: 'MuiPickersInput',
79
+ slot: 'Section',
80
+ overridesResolver: (props, styles) => styles.section
81
+ })(({
82
+ theme
83
+ }) => ({
84
+ fontFamily: theme.typography.fontFamily,
85
+ fontSize: 'inherit',
86
+ lineHeight: '1.4375em',
87
+ // 23px
88
+ flexGrow: 1
89
+ }));
90
+ const SectionInput = styled('span', {
91
+ name: 'MuiPickersInput',
92
+ slot: 'Content',
93
+ overridesResolver: (props, styles) => styles.content
94
+ })(({
95
+ theme
96
+ }) => ({
97
+ fontFamily: theme.typography.fontFamily,
98
+ lineHeight: '1.4375em',
99
+ // 23px
100
+ letterSpacing: 'inherit',
101
+ width: 'fit-content'
102
+ }));
103
+ const SectionSeparator = styled('span', {
104
+ name: 'MuiPickersInput',
105
+ slot: 'Separator',
106
+ overridesResolver: (props, styles) => styles.separator
107
+ })(() => ({
108
+ whiteSpace: 'pre'
109
+ }));
110
+ const FakeHiddenInput = styled('input', {
111
+ name: 'MuiPickersInput',
112
+ slot: 'HiddenInput',
113
+ overridesResolver: (props, styles) => styles.hiddenInput
114
+ })(_extends({}, visuallyHidden));
115
+ const NotchedOutlineRoot = styled(Outline, {
116
+ name: 'MuiPickersInput',
117
+ slot: 'NotchedOutline',
118
+ overridesResolver: (props, styles) => styles.notchedOutline
119
+ })(({
120
+ theme
121
+ }) => {
122
+ const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
123
+ return {
124
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
125
+ };
126
+ });
127
+ function InputContent({
128
+ elements,
129
+ contentEditable,
130
+ ownerState
131
+ }) {
132
+ if (contentEditable) {
133
+ return elements.map(({
134
+ content,
135
+ before,
136
+ after
137
+ }) => `${before.children}${content.children}${after.children}`).join('');
138
+ }
139
+ return /*#__PURE__*/_jsx(React.Fragment, {
140
+ children: elements.map(({
141
+ container,
142
+ content,
143
+ before,
144
+ after
145
+ }, elementIndex) => /*#__PURE__*/_jsxs(SectionContainer, _extends({}, container, {
146
+ children: [/*#__PURE__*/_jsx(SectionSeparator, _extends({}, before, {
147
+ className: clsx(pickersInputClasses.before, before?.className)
148
+ })), /*#__PURE__*/_jsx(SectionInput, _extends({}, content, {
149
+ className: clsx(pickersInputClasses.content, content?.className),
150
+ ownerState
151
+ })), /*#__PURE__*/_jsx(SectionSeparator, _extends({}, after, {
152
+ className: clsx(pickersInputClasses.after, after?.className)
153
+ }))]
154
+ }), elementIndex))
155
+ });
156
+ }
157
+ const useUtilityClasses = ownerState => {
158
+ const {
159
+ focused,
160
+ disabled,
161
+ error,
162
+ classes,
163
+ fullWidth,
164
+ color,
165
+ size,
166
+ endAdornment,
167
+ startAdornment
168
+ } = ownerState;
169
+ const slots = {
170
+ root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', `color${capitalize(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
171
+ notchedOutline: ['notchedOutline'],
172
+ before: ['before'],
173
+ after: ['after'],
174
+ content: ['content'],
175
+ input: ['input']
176
+ };
177
+ return composeClasses(slots, getPickersInputUtilityClass, classes);
178
+ };
179
+
180
+ // TODO: move to utils
181
+ // Separates the state props from the form control
182
+ function formControlState({
183
+ props,
184
+ states,
185
+ muiFormControl
186
+ }) {
187
+ return states.reduce((acc, state) => {
188
+ acc[state] = props[state];
189
+ if (muiFormControl) {
190
+ if (typeof props[state] === 'undefined') {
191
+ acc[state] = muiFormControl[state];
192
+ }
193
+ }
194
+ return acc;
195
+ }, {});
196
+ }
197
+ const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(props, ref) {
198
+ const {
199
+ elements,
200
+ label,
201
+ onWrapperClick,
202
+ valueStr,
203
+ onValueStrChange,
204
+ id,
205
+ ownerState: ownerStateProp,
206
+ endAdornment,
207
+ startAdornment
208
+ } = props,
209
+ other = _objectWithoutPropertiesLoose(props, _excluded);
210
+ const inputRef = React.useRef(null);
211
+ const handleInputRef = useForkRef(ref, inputRef);
212
+ const muiFormControl = useFormControl();
213
+ const fcs = formControlState({
214
+ props,
215
+ muiFormControl,
216
+ states: ['color', 'disabled', 'error', 'focused', 'size', 'required', 'fullWidth', 'adornedStart']
217
+ });
218
+ React.useEffect(() => {
219
+ if (muiFormControl) {
220
+ muiFormControl.setAdornedStart(Boolean(startAdornment));
221
+ }
222
+ }, [muiFormControl, startAdornment]);
223
+ const ownerState = _extends({}, props, ownerStateProp, {
224
+ color: fcs.color || 'primary',
225
+ disabled: fcs.disabled,
226
+ error: fcs.error,
227
+ focused: fcs.focused,
228
+ fullWidth: fcs.fullWidth,
229
+ size: fcs.size
230
+ });
231
+ const classes = useUtilityClasses(ownerState);
232
+ return /*#__PURE__*/_jsxs(SectionsWrapper, _extends({
233
+ ref: handleInputRef
234
+ }, other, {
235
+ className: classes.root,
236
+ onClick: onWrapperClick,
237
+ ownerState: ownerState,
238
+ "aria-invalid": fcs.error,
239
+ children: [startAdornment, /*#__PURE__*/_jsxs(SectionsContainer, {
240
+ ownerState: ownerState,
241
+ className: classes.input,
242
+ children: [/*#__PURE__*/_jsx(InputContent, {
243
+ elements: elements,
244
+ contentEditable: other.contentEditable,
245
+ ownerState: ownerState
246
+ }), /*#__PURE__*/_jsx(FakeHiddenInput, {
247
+ value: valueStr,
248
+ onChange: onValueStrChange,
249
+ id: id,
250
+ "aria-hidden": "true",
251
+ tabIndex: -1
252
+ })]
253
+ }), endAdornment, /*#__PURE__*/_jsx(NotchedOutlineRoot, {
254
+ shrink: fcs.adornedStart || fcs.focused,
255
+ notched: fcs.adornedStart || fcs.focused,
256
+ className: classes.notchedOutline,
257
+ label: label != null && label !== '' && fcs.required ? /*#__PURE__*/_jsxs(React.Fragment, {
258
+ children: [label, "\u2009", '*']
259
+ }) : label,
260
+ ownerState: ownerState
261
+ })]
262
+ }));
263
+ });
264
+ export default PickersInput;
@@ -0,0 +1,119 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["elements", "className", "color", "disabled", "error", "label", "variant", "fullWidth", "valueStr", "helperText", "valueType", "id", "FormHelperTextProps", "InputLabelProps", "inputProps", "InputProps", "required", "focused", "ownerState"];
4
+ import * as React from 'react';
5
+ import clsx from 'clsx';
6
+ import { styled } from '@mui/material/styles';
7
+ import useForkRef from '@mui/utils/useForkRef';
8
+ import { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';
9
+ import InputLabel from '@mui/material/InputLabel';
10
+ import FormHelperText from '@mui/material/FormHelperText';
11
+ import FormControl from '@mui/material/FormControl';
12
+ import { getPickersTextFieldUtilityClass } from './pickersTextFieldClasses';
13
+ import PickersInput from './PickersInput';
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ const PickersTextFieldRoot = styled(FormControl, {
17
+ name: 'MuiPickersTextField',
18
+ slot: 'Root',
19
+ overridesResolver: (props, styles) => styles.root
20
+ })({});
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ focused,
24
+ disabled,
25
+ classes,
26
+ required
27
+ } = ownerState;
28
+ const slots = {
29
+ root: ['root', focused && !disabled && 'focused', disabled && 'disabled', required && 'required']
30
+ };
31
+ return composeClasses(slots, getPickersTextFieldUtilityClass, classes);
32
+ };
33
+ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField(props, ref) {
34
+ const {
35
+ elements,
36
+ className,
37
+ color = 'primary',
38
+ disabled = false,
39
+ error = false,
40
+ label,
41
+ variant = 'outlined',
42
+ fullWidth = false,
43
+ valueStr,
44
+ helperText,
45
+ valueType,
46
+ id: idOverride,
47
+ FormHelperTextProps,
48
+ InputLabelProps,
49
+ inputProps,
50
+ InputProps,
51
+ required = false,
52
+ focused: focusedProp
53
+ } = props,
54
+ other = _objectWithoutPropertiesLoose(props, _excluded);
55
+ const [focused, setFocused] = React.useState(focusedProp);
56
+ const rootRef = React.useRef(null);
57
+ const handleRootRef = useForkRef(ref, rootRef);
58
+ const inputRef = React.useRef(null);
59
+ const handleInputRef = useForkRef(inputRef, InputProps?.ref);
60
+ const id = useId(idOverride);
61
+ const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
62
+ const inputLabelId = label && id ? `${id}-label` : undefined;
63
+ const ownerState = _extends({}, props, {
64
+ color,
65
+ disabled,
66
+ error,
67
+ focused,
68
+ variant
69
+ });
70
+ const classes = useUtilityClasses(ownerState);
71
+
72
+ // TODO: delete after behavior implementation
73
+ const onWrapperClick = () => {
74
+ if (!focused) {
75
+ setFocused(true);
76
+ const container = rootRef.current;
77
+
78
+ // Find the first input element within the container
79
+ const firstInput = container?.querySelector('.content');
80
+
81
+ // Check if the input element exists before focusing it
82
+ if (firstInput) {
83
+ firstInput.focus();
84
+ }
85
+ inputRef.current?.focus();
86
+ }
87
+ };
88
+ return /*#__PURE__*/_jsxs(PickersTextFieldRoot, {
89
+ className: clsx(classes.root, className),
90
+ ref: handleRootRef,
91
+ focused: focused,
92
+ disabled: disabled,
93
+ variant: variant,
94
+ error: error,
95
+ color: color,
96
+ fullWidth: fullWidth,
97
+ required: required,
98
+ ownerState: ownerState,
99
+ children: [/*#__PURE__*/_jsx(InputLabel, _extends({
100
+ htmlFor: id,
101
+ id: inputLabelId
102
+ }, InputLabelProps, {
103
+ children: label
104
+ })), /*#__PURE__*/_jsx(PickersInput, _extends({
105
+ elements,
106
+ valueStr,
107
+ valueType,
108
+ onWrapperClick,
109
+ inputProps,
110
+ label
111
+ }, other, InputProps, {
112
+ ref: handleInputRef
113
+ })), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
114
+ id: helperTextId
115
+ }, FormHelperTextProps, {
116
+ children: helperText
117
+ }))]
118
+ });
119
+ });
@@ -0,0 +1 @@
1
+ export { PickersTextField } from './PickersTextField';
@@ -0,0 +1,9 @@
1
+ import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
+ export function getPickersTextFieldUtilityClass(slot) {
3
+ return generateUtilityClass('MuiPickersTextField', slot);
4
+ }
5
+ export const pickersTextFieldClasses = generateUtilityClasses('MuiPickersTextField', ['root', 'focused', 'disabled', 'error', 'required']);
6
+ export function getPickersInputUtilityClass(slot) {
7
+ return generateUtilityClass('MuiPickersInput', slot);
8
+ }
9
+ export const pickersInputClasses = generateUtilityClasses('MuiPickersInput', ['root', 'focused', 'disabled', 'error', 'notchedOutline', 'content', 'before', 'after', 'adornedStart', 'adornedEnd', 'input']);
@@ -8,7 +8,7 @@ export function useNextMonthDisabled(month, {
8
8
  }) {
9
9
  const utils = useUtils();
10
10
  return React.useMemo(() => {
11
- const now = utils.dateWithTimezone(undefined, timezone);
11
+ const now = utils.date(undefined, timezone);
12
12
  const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);
13
13
  return !utils.isAfter(lastEnabledMonth, month);
14
14
  }, [disableFuture, maxDate, month, utils, timezone]);
@@ -20,7 +20,7 @@ export function usePreviousMonthDisabled(month, {
20
20
  }) {
21
21
  const utils = useUtils();
22
22
  return React.useMemo(() => {
23
- const now = utils.dateWithTimezone(undefined, timezone);
23
+ const now = utils.date(undefined, timezone);
24
24
  const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);
25
25
  return !utils.isBefore(firstEnabledMonth, month);
26
26
  }, [disablePast, minDate, month, utils, timezone]);