@mui/x-date-pickers 8.0.0-alpha.6 → 8.0.0-alpha.8

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 (327) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/CHANGELOG.md +242 -1
  20. package/DateCalendar/DateCalendar.js +1 -1
  21. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  22. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  23. package/DateField/DateField.js +26 -31
  24. package/DateField/DateField.types.d.ts +6 -15
  25. package/DateField/useDateField.d.ts +1 -1
  26. package/DateField/useDateField.js +14 -11
  27. package/DatePicker/DatePicker.js +1 -1
  28. package/DatePicker/DatePicker.types.d.ts +5 -0
  29. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  30. package/DatePicker/DatePickerToolbar.js +7 -11
  31. package/DatePicker/shared.d.ts +1 -1
  32. package/DateTimeField/DateTimeField.js +26 -31
  33. package/DateTimeField/DateTimeField.types.d.ts +6 -15
  34. package/DateTimeField/useDateTimeField.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.js +14 -11
  36. package/DateTimePicker/DateTimePicker.js +2 -2
  37. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  38. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
  39. package/DateTimePicker/DateTimePickerToolbar.js +36 -31
  40. package/DateTimePicker/shared.d.ts +1 -1
  41. package/DesktopDatePicker/DesktopDatePicker.js +9 -14
  42. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
  43. package/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  44. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  45. package/DesktopTimePicker/DesktopTimePicker.js +4 -19
  46. package/MobileDatePicker/MobileDatePicker.js +2 -11
  47. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  48. package/MobileTimePicker/MobileTimePicker.js +2 -11
  49. package/PickersActionBar/PickersActionBar.d.ts +6 -3
  50. package/PickersActionBar/PickersActionBar.js +6 -3
  51. package/PickersLayout/PickersLayout.js +1 -5
  52. package/PickersLayout/PickersLayout.types.d.ts +2 -3
  53. package/PickersLayout/usePickerLayout.js +12 -31
  54. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  55. package/PickersShortcuts/PickersShortcuts.js +13 -10
  56. package/PickersShortcuts/index.d.ts +1 -1
  57. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  58. package/PickersTextField/PickersTextField.js +1 -1
  59. package/TimeField/TimeField.js +25 -30
  60. package/TimeField/TimeField.types.d.ts +6 -15
  61. package/TimeField/useTimeField.d.ts +1 -1
  62. package/TimeField/useTimeField.js +14 -11
  63. package/TimePicker/TimePicker.js +2 -2
  64. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  65. package/TimePicker/TimePickerToolbar.js +20 -18
  66. package/TimePicker/shared.d.ts +1 -1
  67. package/hooks/index.d.ts +1 -0
  68. package/hooks/index.js +2 -1
  69. package/hooks/useIsValidValue.d.ts +7 -0
  70. package/hooks/useIsValidValue.js +11 -0
  71. package/hooks/useParsedFormat.d.ts +8 -6
  72. package/hooks/useParsedFormat.js +10 -12
  73. package/hooks/usePickerActionsContext.d.ts +3 -1
  74. package/hooks/usePickerActionsContext.js +0 -1
  75. package/hooks/usePickerContext.d.ts +5 -3
  76. package/hooks/usePickerContext.js +3 -2
  77. package/hooks/useSplitFieldProps.d.ts +12 -3
  78. package/hooks/useSplitFieldProps.js +8 -3
  79. package/index.d.ts +1 -0
  80. package/index.js +3 -2
  81. package/internals/components/PickerFieldUI.d.ts +132 -0
  82. package/internals/components/PickerFieldUI.js +306 -0
  83. package/internals/components/PickerProvider.d.ts +34 -12
  84. package/internals/components/PickerProvider.js +14 -4
  85. package/internals/components/PickersToolbar.d.ts +2 -3
  86. package/internals/components/PickersToolbar.js +1 -1
  87. package/internals/hooks/date-helpers-hooks.js +4 -3
  88. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  89. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  90. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +10 -33
  91. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  92. package/internals/hooks/useField/index.d.ts +2 -0
  93. package/internals/hooks/useField/index.js +2 -1
  94. package/internals/hooks/useField/useField.js +12 -4
  95. package/internals/hooks/useField/useField.types.d.ts +11 -4
  96. package/internals/hooks/useField/useField.utils.js +2 -2
  97. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  98. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  99. package/internals/hooks/useField/useFieldState.js +2 -2
  100. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  101. package/internals/hooks/useField/useFieldV7TextField.js +3 -3
  102. package/internals/hooks/useFieldOwnerState.d.ts +1 -2
  103. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  104. package/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  105. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +8 -16
  106. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  107. package/internals/hooks/useNullablePickerContext.js +10 -0
  108. package/internals/hooks/useOpenState.js +3 -2
  109. package/internals/hooks/usePicker/usePicker.d.ts +1 -2
  110. package/internals/hooks/usePicker/usePicker.js +0 -9
  111. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -9
  112. package/internals/hooks/usePicker/usePickerProvider.d.ts +12 -6
  113. package/internals/hooks/usePicker/usePickerProvider.js +26 -4
  114. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  115. package/internals/hooks/usePicker/usePickerValue.js +62 -185
  116. package/internals/hooks/usePicker/usePickerValue.types.d.ts +52 -55
  117. package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
  118. package/internals/hooks/usePicker/usePickerViews.js +17 -11
  119. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  120. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  121. package/internals/hooks/useUtils.d.ts +4 -3
  122. package/internals/hooks/useUtils.js +1 -1
  123. package/internals/index.d.ts +11 -6
  124. package/internals/index.js +6 -4
  125. package/internals/models/fields.d.ts +3 -16
  126. package/internals/models/index.d.ts +1 -0
  127. package/internals/models/index.js +2 -1
  128. package/internals/models/manager.d.ts +15 -0
  129. package/internals/models/manager.js +1 -0
  130. package/internals/models/props/basePickerProps.d.ts +2 -14
  131. package/internals/models/props/toolbar.d.ts +1 -5
  132. package/internals/utils/date-utils.js +1 -1
  133. package/internals/utils/valueManagers.js +4 -4
  134. package/locales/index.d.ts +1 -0
  135. package/locales/index.js +1 -0
  136. package/locales/nbNO.js +15 -19
  137. package/locales/utils/getPickersLocalization.d.ts +0 -7
  138. package/locales/utils/getPickersLocalization.js +0 -13
  139. package/locales/zhTW.d.ts +80 -0
  140. package/locales/zhTW.js +73 -0
  141. package/managers/index.d.ts +6 -0
  142. package/managers/index.js +3 -0
  143. package/managers/package.json +6 -0
  144. package/managers/useDateManager.d.ts +27 -0
  145. package/managers/useDateManager.js +55 -0
  146. package/managers/useDateTimeManager.d.ts +28 -0
  147. package/managers/useDateTimeManager.js +60 -0
  148. package/managers/useTimeManager.d.ts +28 -0
  149. package/managers/useTimeManager.js +51 -0
  150. package/models/adapters.d.ts +1 -1
  151. package/models/fields.d.ts +4 -4
  152. package/models/index.d.ts +1 -0
  153. package/models/index.js +1 -0
  154. package/models/manager.d.ts +87 -0
  155. package/models/manager.js +1 -0
  156. package/models/pickers.d.ts +7 -0
  157. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  158. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  159. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  160. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  161. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  162. package/modern/AdapterDateFnsV2/index.js +1 -0
  163. package/modern/DateCalendar/DateCalendar.js +1 -1
  164. package/modern/DateField/DateField.js +26 -31
  165. package/modern/DateField/useDateField.js +14 -11
  166. package/modern/DatePicker/DatePicker.js +1 -1
  167. package/modern/DatePicker/DatePickerToolbar.js +7 -11
  168. package/modern/DateTimeField/DateTimeField.js +26 -31
  169. package/modern/DateTimeField/useDateTimeField.js +14 -11
  170. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  171. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  172. package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
  173. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -14
  174. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  175. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  176. package/modern/DesktopTimePicker/DesktopTimePicker.js +4 -19
  177. package/modern/MobileDatePicker/MobileDatePicker.js +2 -11
  178. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  179. package/modern/MobileTimePicker/MobileTimePicker.js +2 -11
  180. package/modern/PickersActionBar/PickersActionBar.js +6 -3
  181. package/modern/PickersLayout/PickersLayout.js +1 -5
  182. package/modern/PickersLayout/usePickerLayout.js +12 -31
  183. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  184. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  185. package/modern/PickersTextField/PickersTextField.js +1 -1
  186. package/modern/TimeField/TimeField.js +25 -30
  187. package/modern/TimeField/useTimeField.js +14 -11
  188. package/modern/TimePicker/TimePicker.js +2 -2
  189. package/modern/TimePicker/TimePickerToolbar.js +20 -18
  190. package/modern/hooks/index.js +2 -1
  191. package/modern/hooks/useIsValidValue.js +11 -0
  192. package/modern/hooks/useParsedFormat.js +10 -12
  193. package/modern/hooks/usePickerActionsContext.js +0 -1
  194. package/modern/hooks/usePickerContext.js +3 -2
  195. package/modern/hooks/useSplitFieldProps.js +8 -3
  196. package/modern/index.js +3 -2
  197. package/modern/internals/components/PickerFieldUI.js +306 -0
  198. package/modern/internals/components/PickerProvider.js +14 -4
  199. package/modern/internals/components/PickersToolbar.js +1 -1
  200. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  201. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  202. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  203. package/modern/internals/hooks/useField/index.js +2 -1
  204. package/modern/internals/hooks/useField/useField.js +12 -4
  205. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  206. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  207. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  208. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  209. package/modern/internals/hooks/useField/useFieldV7TextField.js +3 -3
  210. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  211. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  212. package/modern/internals/hooks/useOpenState.js +3 -2
  213. package/modern/internals/hooks/usePicker/usePicker.js +0 -9
  214. package/modern/internals/hooks/usePicker/usePickerProvider.js +26 -4
  215. package/modern/internals/hooks/usePicker/usePickerValue.js +62 -185
  216. package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
  217. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  218. package/modern/internals/hooks/useUtils.js +1 -1
  219. package/modern/internals/index.js +6 -4
  220. package/modern/internals/models/index.js +2 -1
  221. package/modern/internals/models/manager.js +1 -0
  222. package/modern/internals/utils/date-utils.js +1 -1
  223. package/modern/internals/utils/valueManagers.js +4 -4
  224. package/modern/locales/index.js +1 -0
  225. package/modern/locales/nbNO.js +15 -19
  226. package/modern/locales/utils/getPickersLocalization.js +0 -13
  227. package/modern/locales/zhTW.js +73 -0
  228. package/modern/managers/index.js +3 -0
  229. package/modern/managers/useDateManager.js +55 -0
  230. package/modern/managers/useDateTimeManager.js +60 -0
  231. package/modern/managers/useTimeManager.js +51 -0
  232. package/modern/models/index.js +1 -0
  233. package/modern/models/manager.js +1 -0
  234. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  235. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  236. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  237. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  238. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  239. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  240. package/node/DateCalendar/DateCalendar.js +1 -1
  241. package/node/DateField/DateField.js +26 -31
  242. package/node/DateField/useDateField.js +13 -10
  243. package/node/DatePicker/DatePicker.js +1 -1
  244. package/node/DatePicker/DatePickerToolbar.js +7 -11
  245. package/node/DateTimeField/DateTimeField.js +26 -31
  246. package/node/DateTimeField/useDateTimeField.js +13 -10
  247. package/node/DateTimePicker/DateTimePicker.js +2 -2
  248. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  249. package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
  250. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -14
  251. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  252. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  253. package/node/DesktopTimePicker/DesktopTimePicker.js +4 -19
  254. package/node/MobileDatePicker/MobileDatePicker.js +2 -11
  255. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  256. package/node/MobileTimePicker/MobileTimePicker.js +2 -11
  257. package/node/PickersActionBar/PickersActionBar.js +8 -5
  258. package/node/PickersLayout/PickersLayout.js +1 -5
  259. package/node/PickersLayout/usePickerLayout.js +16 -35
  260. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  261. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  262. package/node/PickersTextField/PickersTextField.js +1 -1
  263. package/node/TimeField/TimeField.js +25 -30
  264. package/node/TimeField/useTimeField.js +13 -10
  265. package/node/TimePicker/TimePicker.js +2 -2
  266. package/node/TimePicker/TimePickerToolbar.js +20 -18
  267. package/node/hooks/index.js +8 -1
  268. package/node/hooks/useIsValidValue.js +18 -0
  269. package/node/hooks/useParsedFormat.js +10 -12
  270. package/node/hooks/usePickerContext.js +5 -4
  271. package/node/hooks/useSplitFieldProps.js +7 -2
  272. package/node/index.js +13 -1
  273. package/node/internals/components/PickerFieldUI.js +318 -0
  274. package/node/internals/components/PickerProvider.js +16 -6
  275. package/node/internals/components/PickersToolbar.js +1 -1
  276. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  277. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +23 -98
  278. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  279. package/node/internals/hooks/useField/index.js +8 -1
  280. package/node/internals/hooks/useField/useField.js +11 -3
  281. package/node/internals/hooks/useField/useField.utils.js +2 -2
  282. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +55 -0
  283. package/node/internals/hooks/useField/useFieldState.js +2 -2
  284. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  285. package/node/internals/hooks/useField/useFieldV7TextField.js +3 -3
  286. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  287. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  288. package/node/internals/hooks/useOpenState.js +4 -2
  289. package/node/internals/hooks/usePicker/usePicker.js +0 -10
  290. package/node/internals/hooks/usePicker/usePickerProvider.js +26 -4
  291. package/node/internals/hooks/usePicker/usePickerValue.js +62 -185
  292. package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
  293. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  294. package/node/internals/hooks/useUtils.js +1 -1
  295. package/node/internals/index.js +45 -19
  296. package/node/internals/models/index.js +11 -0
  297. package/node/internals/models/manager.js +5 -0
  298. package/node/internals/utils/date-utils.js +1 -1
  299. package/node/internals/utils/valueManagers.js +4 -4
  300. package/node/locales/index.js +11 -0
  301. package/node/locales/nbNO.js +15 -19
  302. package/node/locales/utils/getPickersLocalization.js +2 -16
  303. package/node/locales/zhTW.js +79 -0
  304. package/node/managers/index.js +26 -0
  305. package/node/managers/useDateManager.js +63 -0
  306. package/node/managers/useDateTimeManager.js +68 -0
  307. package/node/managers/useTimeManager.js +59 -0
  308. package/node/models/index.js +11 -0
  309. package/node/models/manager.js +5 -0
  310. package/package.json +3 -3
  311. package/themeAugmentation/props.d.ts +1 -1
  312. package/validation/extractValidationProps.d.ts +1 -1
  313. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  314. package/AdapterDateFnsJalaliV3/index.js +0 -1
  315. package/AdapterDateFnsV3/index.d.ts +0 -1
  316. package/AdapterDateFnsV3/index.js +0 -1
  317. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  318. package/internals/hooks/defaultizedFieldProps.js +0 -40
  319. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  320. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  321. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  322. package/modern/AdapterDateFnsV3/index.js +0 -1
  323. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  324. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  325. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  326. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  327. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -1,49 +1,47 @@
1
1
  /* eslint-disable class-methods-use-this */
2
- import addDays from 'date-fns/addDays';
3
- import addSeconds from 'date-fns/addSeconds';
4
- import addMinutes from 'date-fns/addMinutes';
5
- import addHours from 'date-fns/addHours';
6
- import addWeeks from 'date-fns/addWeeks';
7
- import addMonths from 'date-fns/addMonths';
8
- import addYears from 'date-fns/addYears';
9
- import endOfDay from 'date-fns/endOfDay';
10
- import endOfWeek from 'date-fns/endOfWeek';
11
- import endOfYear from 'date-fns/endOfYear';
12
- import dateFnsFormat from 'date-fns/format';
13
- import getDate from 'date-fns/getDate';
14
- import getDaysInMonth from 'date-fns/getDaysInMonth';
15
- import getHours from 'date-fns/getHours';
16
- import getMinutes from 'date-fns/getMinutes';
17
- import getMonth from 'date-fns/getMonth';
18
- import getSeconds from 'date-fns/getSeconds';
19
- import getMilliseconds from 'date-fns/getMilliseconds';
20
- import getWeek from 'date-fns/getWeek';
21
- import getYear from 'date-fns/getYear';
22
- import isAfter from 'date-fns/isAfter';
23
- import isBefore from 'date-fns/isBefore';
24
- import isEqual from 'date-fns/isEqual';
25
- import isSameDay from 'date-fns/isSameDay';
26
- import isSameYear from 'date-fns/isSameYear';
27
- import isSameMonth from 'date-fns/isSameMonth';
28
- import isSameHour from 'date-fns/isSameHour';
29
- import isValid from 'date-fns/isValid';
30
- import dateFnsParse from 'date-fns/parse';
31
- import setDate from 'date-fns/setDate';
32
- import setHours from 'date-fns/setHours';
33
- import setMinutes from 'date-fns/setMinutes';
34
- import setMonth from 'date-fns/setMonth';
35
- import setSeconds from 'date-fns/setSeconds';
36
- import setMilliseconds from 'date-fns/setMilliseconds';
37
- import setYear from 'date-fns/setYear';
38
- import startOfDay from 'date-fns/startOfDay';
39
- import startOfMonth from 'date-fns/startOfMonth';
40
- import endOfMonth from 'date-fns/endOfMonth';
41
- import startOfWeek from 'date-fns/startOfWeek';
42
- import startOfYear from 'date-fns/startOfYear';
43
- import isWithinInterval from 'date-fns/isWithinInterval';
44
- import defaultLocale from 'date-fns/locale/en-US';
45
- // @ts-ignore
46
- import longFormatters from 'date-fns/_lib/format/longFormatters';
2
+ import { addDays } from 'date-fns/addDays';
3
+ import { addSeconds } from 'date-fns/addSeconds';
4
+ import { addMinutes } from 'date-fns/addMinutes';
5
+ import { addHours } from 'date-fns/addHours';
6
+ import { addWeeks } from 'date-fns/addWeeks';
7
+ import { addMonths } from 'date-fns/addMonths';
8
+ import { addYears } from 'date-fns/addYears';
9
+ import { endOfDay } from 'date-fns/endOfDay';
10
+ import { endOfWeek } from 'date-fns/endOfWeek';
11
+ import { endOfYear } from 'date-fns/endOfYear';
12
+ import { format as dateFnsFormat, longFormatters } from 'date-fns/format';
13
+ import { getDate } from 'date-fns/getDate';
14
+ import { getDaysInMonth } from 'date-fns/getDaysInMonth';
15
+ import { getHours } from 'date-fns/getHours';
16
+ import { getMinutes } from 'date-fns/getMinutes';
17
+ import { getMonth } from 'date-fns/getMonth';
18
+ import { getSeconds } from 'date-fns/getSeconds';
19
+ import { getMilliseconds } from 'date-fns/getMilliseconds';
20
+ import { getWeek } from 'date-fns/getWeek';
21
+ import { getYear } from 'date-fns/getYear';
22
+ import { isAfter } from 'date-fns/isAfter';
23
+ import { isBefore } from 'date-fns/isBefore';
24
+ import { isEqual } from 'date-fns/isEqual';
25
+ import { isSameDay } from 'date-fns/isSameDay';
26
+ import { isSameYear } from 'date-fns/isSameYear';
27
+ import { isSameMonth } from 'date-fns/isSameMonth';
28
+ import { isSameHour } from 'date-fns/isSameHour';
29
+ import { isValid } from 'date-fns/isValid';
30
+ import { parse as dateFnsParse } from 'date-fns/parse';
31
+ import { setDate } from 'date-fns/setDate';
32
+ import { setHours } from 'date-fns/setHours';
33
+ import { setMinutes } from 'date-fns/setMinutes';
34
+ import { setMonth } from 'date-fns/setMonth';
35
+ import { setSeconds } from 'date-fns/setSeconds';
36
+ import { setMilliseconds } from 'date-fns/setMilliseconds';
37
+ import { setYear } from 'date-fns/setYear';
38
+ import { startOfDay } from 'date-fns/startOfDay';
39
+ import { startOfMonth } from 'date-fns/startOfMonth';
40
+ import { endOfMonth } from 'date-fns/endOfMonth';
41
+ import { startOfWeek } from 'date-fns/startOfWeek';
42
+ import { startOfYear } from 'date-fns/startOfYear';
43
+ import { isWithinInterval } from 'date-fns/isWithinInterval';
44
+ import { enUS } from 'date-fns/locale/en-US';
47
45
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
48
46
  /**
49
47
  * Based on `@date-io/date-fns`
@@ -78,14 +76,18 @@ export class AdapterDateFns extends AdapterDateFnsBase {
78
76
  /* istanbul ignore next */
79
77
  if (process.env.NODE_ENV !== 'production') {
80
78
  if (typeof addDays !== 'function') {
81
- throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
79
+ throw new Error(['MUI: The `date-fns` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsV2` instead.'].join('\n'));
80
+ }
81
+ if (!longFormatters) {
82
+ throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
82
83
  }
83
84
  }
84
85
  super({
85
- locale: locale ?? defaultLocale,
86
+ locale: locale ?? enUS,
86
87
  formats,
87
88
  longFormatters
88
89
  });
90
+ // TODO: explicit return types can be removed once there is only one date-fns version supported
89
91
  this.parse = (value, format) => {
90
92
  if (value === '') {
91
93
  return null;
@@ -1,50 +1,48 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  /* eslint-disable class-methods-use-this */
3
- import addSeconds from 'date-fns-jalali/addSeconds';
4
- import addMinutes from 'date-fns-jalali/addMinutes';
5
- import addHours from 'date-fns-jalali/addHours';
6
- import addDays from 'date-fns-jalali/addDays';
7
- import addWeeks from 'date-fns-jalali/addWeeks';
8
- import addMonths from 'date-fns-jalali/addMonths';
9
- import addYears from 'date-fns-jalali/addYears';
10
- import endOfDay from 'date-fns-jalali/endOfDay';
11
- import endOfWeek from 'date-fns-jalali/endOfWeek';
12
- import endOfYear from 'date-fns-jalali/endOfYear';
13
- import dateFnsFormat from 'date-fns-jalali/format';
14
- import getHours from 'date-fns-jalali/getHours';
15
- import getSeconds from 'date-fns-jalali/getSeconds';
16
- import getMilliseconds from 'date-fns-jalali/getMilliseconds';
17
- import getWeek from 'date-fns-jalali/getWeek';
18
- import getYear from 'date-fns-jalali/getYear';
19
- import getMonth from 'date-fns-jalali/getMonth';
20
- import getDate from 'date-fns-jalali/getDate';
21
- import getDaysInMonth from 'date-fns-jalali/getDaysInMonth';
22
- import getMinutes from 'date-fns-jalali/getMinutes';
23
- import isAfter from 'date-fns-jalali/isAfter';
24
- import isBefore from 'date-fns-jalali/isBefore';
25
- import isEqual from 'date-fns-jalali/isEqual';
26
- import isSameDay from 'date-fns-jalali/isSameDay';
27
- import isSameYear from 'date-fns-jalali/isSameYear';
28
- import isSameMonth from 'date-fns-jalali/isSameMonth';
29
- import isSameHour from 'date-fns-jalali/isSameHour';
30
- import isValid from 'date-fns-jalali/isValid';
31
- import dateFnsParse from 'date-fns-jalali/parse';
32
- import setDate from 'date-fns-jalali/setDate';
33
- import setHours from 'date-fns-jalali/setHours';
34
- import setMinutes from 'date-fns-jalali/setMinutes';
35
- import setMonth from 'date-fns-jalali/setMonth';
36
- import setSeconds from 'date-fns-jalali/setSeconds';
37
- import setMilliseconds from 'date-fns-jalali/setMilliseconds';
38
- import setYear from 'date-fns-jalali/setYear';
39
- import startOfDay from 'date-fns-jalali/startOfDay';
40
- import startOfMonth from 'date-fns-jalali/startOfMonth';
41
- import endOfMonth from 'date-fns-jalali/endOfMonth';
42
- import startOfWeek from 'date-fns-jalali/startOfWeek';
43
- import startOfYear from 'date-fns-jalali/startOfYear';
44
- import isWithinInterval from 'date-fns-jalali/isWithinInterval';
45
- import defaultLocale from 'date-fns-jalali/locale/fa-IR';
46
- // @ts-ignore
47
- import longFormatters from 'date-fns-jalali/_lib/format/longFormatters';
3
+ import { addSeconds } from 'date-fns-jalali/addSeconds';
4
+ import { addMinutes } from 'date-fns-jalali/addMinutes';
5
+ import { addHours } from 'date-fns-jalali/addHours';
6
+ import { addDays } from 'date-fns-jalali/addDays';
7
+ import { addWeeks } from 'date-fns-jalali/addWeeks';
8
+ import { addMonths } from 'date-fns-jalali/addMonths';
9
+ import { addYears } from 'date-fns-jalali/addYears';
10
+ import { endOfDay } from 'date-fns-jalali/endOfDay';
11
+ import { endOfWeek } from 'date-fns-jalali/endOfWeek';
12
+ import { endOfYear } from 'date-fns-jalali/endOfYear';
13
+ import { format as dateFnsFormat, longFormatters } from 'date-fns-jalali/format';
14
+ import { getHours } from 'date-fns-jalali/getHours';
15
+ import { getSeconds } from 'date-fns-jalali/getSeconds';
16
+ import { getMilliseconds } from 'date-fns-jalali/getMilliseconds';
17
+ import { getWeek } from 'date-fns-jalali/getWeek';
18
+ import { getYear } from 'date-fns-jalali/getYear';
19
+ import { getMonth } from 'date-fns-jalali/getMonth';
20
+ import { getDate } from 'date-fns-jalali/getDate';
21
+ import { getDaysInMonth } from 'date-fns-jalali/getDaysInMonth';
22
+ import { getMinutes } from 'date-fns-jalali/getMinutes';
23
+ import { isAfter } from 'date-fns-jalali/isAfter';
24
+ import { isBefore } from 'date-fns-jalali/isBefore';
25
+ import { isEqual } from 'date-fns-jalali/isEqual';
26
+ import { isSameDay } from 'date-fns-jalali/isSameDay';
27
+ import { isSameYear } from 'date-fns-jalali/isSameYear';
28
+ import { isSameMonth } from 'date-fns-jalali/isSameMonth';
29
+ import { isSameHour } from 'date-fns-jalali/isSameHour';
30
+ import { isValid } from 'date-fns-jalali/isValid';
31
+ import { parse as dateFnsParse } from 'date-fns-jalali/parse';
32
+ import { setDate } from 'date-fns-jalali/setDate';
33
+ import { setHours } from 'date-fns-jalali/setHours';
34
+ import { setMinutes } from 'date-fns-jalali/setMinutes';
35
+ import { setMonth } from 'date-fns-jalali/setMonth';
36
+ import { setSeconds } from 'date-fns-jalali/setSeconds';
37
+ import { setMilliseconds } from 'date-fns-jalali/setMilliseconds';
38
+ import { setYear } from 'date-fns-jalali/setYear';
39
+ import { startOfDay } from 'date-fns-jalali/startOfDay';
40
+ import { startOfMonth } from 'date-fns-jalali/startOfMonth';
41
+ import { endOfMonth } from 'date-fns-jalali/endOfMonth';
42
+ import { startOfWeek } from 'date-fns-jalali/startOfWeek';
43
+ import { startOfYear } from 'date-fns-jalali/startOfYear';
44
+ import { isWithinInterval } from 'date-fns-jalali/isWithinInterval';
45
+ import { faIR as defaultLocale } from 'date-fns-jalali/locale/fa-IR';
48
46
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
49
47
  const defaultFormats = {
50
48
  year: 'yyyy',
@@ -116,7 +114,10 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
116
114
  /* istanbul ignore next */
117
115
  if (process.env.NODE_ENV !== 'production') {
118
116
  if (typeof addDays !== 'function') {
119
- throw new Error(['MUI: The `date-fns-jalali` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalaliV3` instead.'].join('\n'));
117
+ throw new Error(['MUI: The `date-fns-jalali` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsJalaliV2` instead.'].join('\n'));
118
+ }
119
+ if (!longFormatters) {
120
+ throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
120
121
  }
121
122
  }
122
123
  super({
@@ -127,6 +128,7 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
127
128
  longFormatters,
128
129
  lib: 'date-fns-jalali'
129
130
  });
131
+ // TODO: explicit return types can be removed once there is only one date-fns version supported
130
132
  this.parse = (value, format) => {
131
133
  if (value === '') {
132
134
  return null;
@@ -1,53 +1,50 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  /* eslint-disable class-methods-use-this */
3
- // TODO remove when date-fns-jalali-v3 is the default
4
3
  // @ts-nocheck
5
- import { addSeconds } from 'date-fns-jalali/addSeconds';
6
- import { addMinutes } from 'date-fns-jalali/addMinutes';
7
- import { addHours } from 'date-fns-jalali/addHours';
8
- import { addDays } from 'date-fns-jalali/addDays';
9
- import { addWeeks } from 'date-fns-jalali/addWeeks';
10
- import { addMonths } from 'date-fns-jalali/addMonths';
11
- import { addYears } from 'date-fns-jalali/addYears';
12
- import { endOfDay } from 'date-fns-jalali/endOfDay';
13
- import { endOfWeek } from 'date-fns-jalali/endOfWeek';
14
- import { endOfYear } from 'date-fns-jalali/endOfYear';
15
- import { format as dateFnsFormat, longFormatters } from 'date-fns-jalali/format';
16
- import { getHours } from 'date-fns-jalali/getHours';
17
- import { getSeconds } from 'date-fns-jalali/getSeconds';
18
- import { getMilliseconds } from 'date-fns-jalali/getMilliseconds';
19
- import { getWeek } from 'date-fns-jalali/getWeek';
20
- import { getYear } from 'date-fns-jalali/getYear';
21
- import { getMonth } from 'date-fns-jalali/getMonth';
22
- import { getDate } from 'date-fns-jalali/getDate';
23
- import { getDaysInMonth } from 'date-fns-jalali/getDaysInMonth';
24
- import { getMinutes } from 'date-fns-jalali/getMinutes';
25
- import { isAfter } from 'date-fns-jalali/isAfter';
26
- import { isBefore } from 'date-fns-jalali/isBefore';
27
- import { isEqual } from 'date-fns-jalali/isEqual';
28
- import { isSameDay } from 'date-fns-jalali/isSameDay';
29
- import { isSameYear } from 'date-fns-jalali/isSameYear';
30
- import { isSameMonth } from 'date-fns-jalali/isSameMonth';
31
- import { isSameHour } from 'date-fns-jalali/isSameHour';
32
- import { isValid } from 'date-fns-jalali/isValid';
33
- import { parse as dateFnsParse } from 'date-fns-jalali/parse';
34
- import { setDate } from 'date-fns-jalali/setDate';
35
- import { setHours } from 'date-fns-jalali/setHours';
36
- import { setMinutes } from 'date-fns-jalali/setMinutes';
37
- import { setMonth } from 'date-fns-jalali/setMonth';
38
- import { setSeconds } from 'date-fns-jalali/setSeconds';
39
- import { setMilliseconds } from 'date-fns-jalali/setMilliseconds';
40
- import { setYear } from 'date-fns-jalali/setYear';
41
- import { startOfDay } from 'date-fns-jalali/startOfDay';
42
- import { startOfMonth } from 'date-fns-jalali/startOfMonth';
43
- import { endOfMonth } from 'date-fns-jalali/endOfMonth';
44
- import { startOfWeek } from 'date-fns-jalali/startOfWeek';
45
- import { startOfYear } from 'date-fns-jalali/startOfYear';
46
- import { isWithinInterval } from 'date-fns-jalali/isWithinInterval';
47
- import { faIR as defaultLocale } from 'date-fns-jalali/locale/fa-IR';
48
- // date-fns-jalali v2 does not export types
49
- // @ts-ignore TODO remove when date-fns-jalali-v3 is the default
50
-
4
+ import addSeconds from 'date-fns-jalali/addSeconds';
5
+ import addMinutes from 'date-fns-jalali/addMinutes';
6
+ import addHours from 'date-fns-jalali/addHours';
7
+ import addDays from 'date-fns-jalali/addDays';
8
+ import addWeeks from 'date-fns-jalali/addWeeks';
9
+ import addMonths from 'date-fns-jalali/addMonths';
10
+ import addYears from 'date-fns-jalali/addYears';
11
+ import endOfDay from 'date-fns-jalali/endOfDay';
12
+ import endOfWeek from 'date-fns-jalali/endOfWeek';
13
+ import endOfYear from 'date-fns-jalali/endOfYear';
14
+ import dateFnsFormat from 'date-fns-jalali/format';
15
+ import getHours from 'date-fns-jalali/getHours';
16
+ import getSeconds from 'date-fns-jalali/getSeconds';
17
+ import getMilliseconds from 'date-fns-jalali/getMilliseconds';
18
+ import getWeek from 'date-fns-jalali/getWeek';
19
+ import getYear from 'date-fns-jalali/getYear';
20
+ import getMonth from 'date-fns-jalali/getMonth';
21
+ import getDate from 'date-fns-jalali/getDate';
22
+ import getDaysInMonth from 'date-fns-jalali/getDaysInMonth';
23
+ import getMinutes from 'date-fns-jalali/getMinutes';
24
+ import isAfter from 'date-fns-jalali/isAfter';
25
+ import isBefore from 'date-fns-jalali/isBefore';
26
+ import isEqual from 'date-fns-jalali/isEqual';
27
+ import isSameDay from 'date-fns-jalali/isSameDay';
28
+ import isSameYear from 'date-fns-jalali/isSameYear';
29
+ import isSameMonth from 'date-fns-jalali/isSameMonth';
30
+ import isSameHour from 'date-fns-jalali/isSameHour';
31
+ import isValid from 'date-fns-jalali/isValid';
32
+ import dateFnsParse from 'date-fns-jalali/parse';
33
+ import setDate from 'date-fns-jalali/setDate';
34
+ import setHours from 'date-fns-jalali/setHours';
35
+ import setMinutes from 'date-fns-jalali/setMinutes';
36
+ import setMonth from 'date-fns-jalali/setMonth';
37
+ import setSeconds from 'date-fns-jalali/setSeconds';
38
+ import setMilliseconds from 'date-fns-jalali/setMilliseconds';
39
+ import setYear from 'date-fns-jalali/setYear';
40
+ import startOfDay from 'date-fns-jalali/startOfDay';
41
+ import startOfMonth from 'date-fns-jalali/startOfMonth';
42
+ import endOfMonth from 'date-fns-jalali/endOfMonth';
43
+ import startOfWeek from 'date-fns-jalali/startOfWeek';
44
+ import startOfYear from 'date-fns-jalali/startOfYear';
45
+ import isWithinInterval from 'date-fns-jalali/isWithinInterval';
46
+ import defaultLocale from 'date-fns-jalali/locale/fa-IR';
47
+ import longFormatters from 'date-fns-jalali/_lib/format/longFormatters';
51
48
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
52
49
  const defaultFormats = {
53
50
  year: 'yyyy',
@@ -119,10 +116,7 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
119
116
  /* istanbul ignore next */
120
117
  if (process.env.NODE_ENV !== 'production') {
121
118
  if (typeof addDays !== 'function') {
122
- throw new Error([`MUI: The \`date-fns-jalali\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
123
- }
124
- if (!longFormatters) {
125
- throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
119
+ throw new Error(['MUI: This adapter is only compatible with `date-fns-jalali` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
126
120
  }
127
121
  }
128
122
  super({
@@ -133,7 +127,6 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
133
127
  longFormatters,
134
128
  lib: 'date-fns-jalali'
135
129
  });
136
- // TODO: explicit return types can be removed once there is only one date-fns version supported
137
130
  this.parse = (value, format) => {
138
131
  if (value === '') {
139
132
  return null;
@@ -0,0 +1 @@
1
+ export { AdapterDateFnsJalali } from "./AdapterDateFnsJalaliV2.js";
@@ -1,53 +1,49 @@
1
1
  /* eslint-disable class-methods-use-this */
2
- // TODO remove when date-fns-v3 is the default
3
2
  // @ts-nocheck
4
- import { addDays } from 'date-fns/addDays';
5
- import { addSeconds } from 'date-fns/addSeconds';
6
- import { addMinutes } from 'date-fns/addMinutes';
7
- import { addHours } from 'date-fns/addHours';
8
- import { addWeeks } from 'date-fns/addWeeks';
9
- import { addMonths } from 'date-fns/addMonths';
10
- import { addYears } from 'date-fns/addYears';
11
- import { endOfDay } from 'date-fns/endOfDay';
12
- import { endOfWeek } from 'date-fns/endOfWeek';
13
- import { endOfYear } from 'date-fns/endOfYear';
14
- // @ts-ignore TODO remove when date-fns-v3 is the default
15
- import { format as dateFnsFormat, longFormatters } from 'date-fns/format';
16
- import { getDate } from 'date-fns/getDate';
17
- import { getDaysInMonth } from 'date-fns/getDaysInMonth';
18
- import { getHours } from 'date-fns/getHours';
19
- import { getMinutes } from 'date-fns/getMinutes';
20
- import { getMonth } from 'date-fns/getMonth';
21
- import { getSeconds } from 'date-fns/getSeconds';
22
- import { getMilliseconds } from 'date-fns/getMilliseconds';
23
- import { getWeek } from 'date-fns/getWeek';
24
- import { getYear } from 'date-fns/getYear';
25
- import { isAfter } from 'date-fns/isAfter';
26
- import { isBefore } from 'date-fns/isBefore';
27
- import { isEqual } from 'date-fns/isEqual';
28
- import { isSameDay } from 'date-fns/isSameDay';
29
- import { isSameYear } from 'date-fns/isSameYear';
30
- import { isSameMonth } from 'date-fns/isSameMonth';
31
- import { isSameHour } from 'date-fns/isSameHour';
32
- import { isValid } from 'date-fns/isValid';
33
- import { parse as dateFnsParse } from 'date-fns/parse';
34
- import { setDate } from 'date-fns/setDate';
35
- import { setHours } from 'date-fns/setHours';
36
- import { setMinutes } from 'date-fns/setMinutes';
37
- import { setMonth } from 'date-fns/setMonth';
38
- import { setSeconds } from 'date-fns/setSeconds';
39
- import { setMilliseconds } from 'date-fns/setMilliseconds';
40
- import { setYear } from 'date-fns/setYear';
41
- import { startOfDay } from 'date-fns/startOfDay';
42
- import { startOfMonth } from 'date-fns/startOfMonth';
43
- import { endOfMonth } from 'date-fns/endOfMonth';
44
- import { startOfWeek } from 'date-fns/startOfWeek';
45
- import { startOfYear } from 'date-fns/startOfYear';
46
- import { isWithinInterval } from 'date-fns/isWithinInterval';
47
- import { enUS } from 'date-fns/locale/en-US';
48
- // date-fns v2 does not export types
49
- // @ts-ignore TODO remove when date-fns-v3 is the default
50
-
3
+ import addDays from 'date-fns/addDays';
4
+ import addSeconds from 'date-fns/addSeconds';
5
+ import addMinutes from 'date-fns/addMinutes';
6
+ import addHours from 'date-fns/addHours';
7
+ import addWeeks from 'date-fns/addWeeks';
8
+ import addMonths from 'date-fns/addMonths';
9
+ import addYears from 'date-fns/addYears';
10
+ import endOfDay from 'date-fns/endOfDay';
11
+ import endOfWeek from 'date-fns/endOfWeek';
12
+ import endOfYear from 'date-fns/endOfYear';
13
+ import dateFnsFormat from 'date-fns/format';
14
+ import getDate from 'date-fns/getDate';
15
+ import getDaysInMonth from 'date-fns/getDaysInMonth';
16
+ import getHours from 'date-fns/getHours';
17
+ import getMinutes from 'date-fns/getMinutes';
18
+ import getMonth from 'date-fns/getMonth';
19
+ import getSeconds from 'date-fns/getSeconds';
20
+ import getMilliseconds from 'date-fns/getMilliseconds';
21
+ import getWeek from 'date-fns/getWeek';
22
+ import getYear from 'date-fns/getYear';
23
+ import isAfter from 'date-fns/isAfter';
24
+ import isBefore from 'date-fns/isBefore';
25
+ import isEqual from 'date-fns/isEqual';
26
+ import isSameDay from 'date-fns/isSameDay';
27
+ import isSameYear from 'date-fns/isSameYear';
28
+ import isSameMonth from 'date-fns/isSameMonth';
29
+ import isSameHour from 'date-fns/isSameHour';
30
+ import isValid from 'date-fns/isValid';
31
+ import dateFnsParse from 'date-fns/parse';
32
+ import setDate from 'date-fns/setDate';
33
+ import setHours from 'date-fns/setHours';
34
+ import setMinutes from 'date-fns/setMinutes';
35
+ import setMonth from 'date-fns/setMonth';
36
+ import setSeconds from 'date-fns/setSeconds';
37
+ import setMilliseconds from 'date-fns/setMilliseconds';
38
+ import setYear from 'date-fns/setYear';
39
+ import startOfDay from 'date-fns/startOfDay';
40
+ import startOfMonth from 'date-fns/startOfMonth';
41
+ import endOfMonth from 'date-fns/endOfMonth';
42
+ import startOfWeek from 'date-fns/startOfWeek';
43
+ import startOfYear from 'date-fns/startOfYear';
44
+ import isWithinInterval from 'date-fns/isWithinInterval';
45
+ import defaultLocale from 'date-fns/locale/en-US';
46
+ import longFormatters from 'date-fns/_lib/format/longFormatters';
51
47
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
52
48
  /**
53
49
  * Based on `@date-io/date-fns`
@@ -82,18 +78,14 @@ export class AdapterDateFns extends AdapterDateFnsBase {
82
78
  /* istanbul ignore next */
83
79
  if (process.env.NODE_ENV !== 'production') {
84
80
  if (typeof addDays !== 'function') {
85
- throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x or v4.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
86
- }
87
- if (!longFormatters) {
88
- throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
81
+ throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
89
82
  }
90
83
  }
91
84
  super({
92
- locale: locale ?? enUS,
85
+ locale: locale ?? defaultLocale,
93
86
  formats,
94
87
  longFormatters
95
88
  });
96
- // TODO: explicit return types can be removed once there is only one date-fns version supported
97
89
  this.parse = (value, format) => {
98
90
  if (value === '') {
99
91
  return null;
@@ -0,0 +1 @@
1
+ export { AdapterDateFns } from "./AdapterDateFnsV2.js";
@@ -260,7 +260,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
260
260
  return handleValueChange(day, 'finish', view);
261
261
  });
262
262
  React.useEffect(() => {
263
- if (value != null && utils.isValid(value)) {
263
+ if (utils.isValid(value)) {
264
264
  changeMonth(value);
265
265
  }
266
266
  }, [value]); // eslint-disable-line
@@ -1,19 +1,14 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
4
+ const _excluded = ["slots", "slotProps"];
6
5
  import * as React from 'react';
7
6
  import PropTypes from 'prop-types';
8
- import MuiTextField from '@mui/material/TextField';
9
7
  import { useThemeProps } from '@mui/material/styles';
10
- import useSlotProps from '@mui/utils/useSlotProps';
11
8
  import { refType } from '@mui/utils';
12
9
  import { useDateField } from "./useDateField.js";
13
- import { useClearableField } from "../hooks/index.js";
14
- import { PickersTextField } from "../PickersTextField/index.js";
15
- import { convertFieldResponseIntoMuiTextFieldProps } from "../internals/utils/convertFieldResponseIntoMuiTextFieldProps.js";
16
- import { useFieldOwnerState } from "../internals/hooks/useFieldOwnerState.js";
10
+ import { PickerFieldUI, useFieldTextFieldProps } from "../internals/components/PickerFieldUI.js";
11
+ import { CalendarIcon } from "../icons/index.js";
17
12
  import { jsx as _jsx } from "react/jsx-runtime";
18
13
  /**
19
14
  * Demos:
@@ -32,33 +27,21 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRe
32
27
  });
33
28
  const {
34
29
  slots,
35
- slotProps,
36
- InputProps,
37
- inputProps
30
+ slotProps
38
31
  } = themeProps,
39
32
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
40
- const ownerState = useFieldOwnerState(themeProps);
41
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
42
- const textFieldProps = useSlotProps({
43
- elementType: TextField,
44
- externalSlotProps: slotProps?.textField,
45
- externalForwardedProps: other,
46
- additionalProps: {
47
- ref: inRef
48
- },
49
- ownerState
33
+ const textFieldProps = useFieldTextFieldProps({
34
+ slotProps,
35
+ ref: inRef,
36
+ externalForwardedProps: other
50
37
  });
51
-
52
- // TODO: Remove when mui/material-ui#35088 will be merged
53
- textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
54
- textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
55
38
  const fieldResponse = useDateField(textFieldProps);
56
- const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
57
- const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
58
- slots,
59
- slotProps
60
- }));
61
- return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
39
+ return /*#__PURE__*/_jsx(PickerFieldUI, {
40
+ slots: slots,
41
+ slotProps: slotProps,
42
+ fieldResponse: fieldResponse,
43
+ defaultOpenPickerIcon: CalendarIcon
44
+ });
62
45
  });
63
46
  process.env.NODE_ENV !== "production" ? DateField.propTypes = {
64
47
  // ----------------------------- Warning --------------------------------
@@ -76,6 +59,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
76
59
  * @default false
77
60
  */
78
61
  clearable: PropTypes.bool,
62
+ /**
63
+ * The position at which the clear button is placed.
64
+ * If the field is not clearable, the button is not rendered.
65
+ * @default 'end'
66
+ */
67
+ clearButtonPosition: PropTypes.oneOf(['end', 'start']),
79
68
  /**
80
69
  * The color of the component.
81
70
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -219,6 +208,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
219
208
  * @param {FieldSelectedSections} newValue The new selected sections.
220
209
  */
221
210
  onSelectedSectionsChange: PropTypes.func,
211
+ /**
212
+ * The position at which the opening button is placed.
213
+ * If there is no picker to open, the button is not rendered
214
+ * @default 'end'
215
+ */
216
+ openPickerButtonPosition: PropTypes.oneOf(['end', 'start']),
222
217
  /**
223
218
  * If `true`, the component is read-only.
224
219
  * When read-only, the value cannot be changed but the user can interact with the interface.
@@ -1,22 +1,25 @@
1
1
  'use client';
2
2
 
3
- import { singleItemFieldValueManager, singleItemValueManager } from "../internals/utils/valueManagers.js";
4
- import { useField } from "../internals/hooks/useField/index.js";
5
- import { validateDate } from "../validation/index.js";
3
+ import { useField, useFieldInternalPropsWithDefaults } from "../internals/hooks/useField/index.js";
6
4
  import { useSplitFieldProps } from "../hooks/index.js";
7
- import { useDefaultizedDateField } from "../internals/hooks/defaultizedFieldProps.js";
8
- export const useDateField = inProps => {
9
- const props = useDefaultizedDateField(inProps);
5
+ import { useDateManager } from "../managers/index.js";
6
+ export const useDateField = props => {
7
+ const manager = useDateManager(props);
10
8
  const {
11
9
  forwardedProps,
12
10
  internalProps
13
11
  } = useSplitFieldProps(props, 'date');
12
+ const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
13
+ manager,
14
+ internalProps
15
+ });
14
16
  return useField({
15
17
  forwardedProps,
16
- internalProps,
17
- valueManager: singleItemValueManager,
18
- fieldValueManager: singleItemFieldValueManager,
19
- validator: validateDate,
20
- valueType: 'date'
18
+ internalProps: internalPropsWithDefaults,
19
+ valueManager: manager.internal_valueManager,
20
+ fieldValueManager: manager.internal_fieldValueManager,
21
+ validator: manager.validator,
22
+ valueType: manager.valueType,
23
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
21
24
  });
22
25
  };
@@ -59,7 +59,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
59
59
  autoFocus: PropTypes.bool,
60
60
  className: PropTypes.string,
61
61
  /**
62
- * If `true`, the popover or modal will close after submitting the full date.
62
+ * If `true`, the Picker will close after submitting the full date.
63
63
  * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
64
64
  */
65
65
  closeOnSelect: PropTypes.bool,