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

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 (281) 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 +127 -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/useDateField.d.ts +1 -1
  24. package/DateField/useDateField.js +13 -11
  25. package/DatePicker/DatePicker.js +1 -1
  26. package/DatePicker/DatePicker.types.d.ts +5 -0
  27. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  28. package/DatePicker/DatePickerToolbar.js +7 -11
  29. package/DatePicker/shared.d.ts +1 -1
  30. package/DateTimeField/useDateTimeField.d.ts +1 -1
  31. package/DateTimeField/useDateTimeField.js +13 -11
  32. package/DateTimePicker/DateTimePicker.js +2 -2
  33. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  34. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
  35. package/DateTimePicker/DateTimePickerToolbar.js +36 -31
  36. package/DateTimePicker/shared.d.ts +1 -1
  37. package/DesktopDatePicker/DesktopDatePicker.js +9 -3
  38. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
  39. package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  40. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  41. package/DesktopTimePicker/DesktopTimePicker.js +3 -7
  42. package/MobileDatePicker/MobileDatePicker.js +2 -2
  43. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  44. package/MobileTimePicker/MobileTimePicker.js +2 -2
  45. package/PickersActionBar/PickersActionBar.d.ts +6 -3
  46. package/PickersActionBar/PickersActionBar.js +6 -3
  47. package/PickersLayout/PickersLayout.js +1 -5
  48. package/PickersLayout/PickersLayout.types.d.ts +2 -3
  49. package/PickersLayout/usePickerLayout.js +12 -31
  50. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  51. package/PickersShortcuts/PickersShortcuts.js +13 -10
  52. package/PickersShortcuts/index.d.ts +1 -1
  53. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  54. package/PickersTextField/PickersTextField.js +1 -1
  55. package/TimeField/useTimeField.d.ts +1 -1
  56. package/TimeField/useTimeField.js +13 -11
  57. package/TimePicker/TimePicker.js +2 -2
  58. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  59. package/TimePicker/TimePickerToolbar.js +20 -18
  60. package/TimePicker/shared.d.ts +1 -1
  61. package/hooks/index.d.ts +1 -0
  62. package/hooks/index.js +2 -1
  63. package/hooks/useIsValidValue.d.ts +7 -0
  64. package/hooks/useIsValidValue.js +11 -0
  65. package/hooks/usePickerActionsContext.d.ts +3 -1
  66. package/hooks/usePickerActionsContext.js +0 -1
  67. package/hooks/usePickerContext.d.ts +2 -2
  68. package/hooks/usePickerContext.js +1 -1
  69. package/index.d.ts +1 -0
  70. package/index.js +3 -2
  71. package/internals/components/PickerProvider.d.ts +11 -10
  72. package/internals/components/PickerProvider.js +8 -3
  73. package/internals/components/PickersToolbar.d.ts +2 -3
  74. package/internals/components/PickersToolbar.js +1 -1
  75. package/internals/hooks/date-helpers-hooks.js +4 -3
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  77. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  78. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  79. package/internals/hooks/useField/index.d.ts +1 -1
  80. package/internals/hooks/useField/index.js +1 -1
  81. package/internals/hooks/useField/useField.d.ts +10 -1
  82. package/internals/hooks/useField/useField.js +17 -1
  83. package/internals/hooks/useField/useField.utils.js +2 -2
  84. package/internals/hooks/useField/useFieldState.js +2 -2
  85. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  86. package/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  87. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
  88. package/internals/hooks/useOpenState.js +3 -2
  89. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  90. package/internals/hooks/usePicker/usePicker.js +0 -6
  91. package/internals/hooks/usePicker/usePicker.types.d.ts +5 -6
  92. package/internals/hooks/usePicker/usePickerProvider.d.ts +5 -5
  93. package/internals/hooks/usePicker/usePickerProvider.js +4 -2
  94. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  95. package/internals/hooks/usePicker/usePickerValue.js +67 -184
  96. package/internals/hooks/usePicker/usePickerValue.types.d.ts +48 -54
  97. package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
  98. package/internals/hooks/usePicker/usePickerViews.js +17 -11
  99. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  100. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  101. package/internals/hooks/useUtils.js +1 -1
  102. package/internals/index.d.ts +5 -3
  103. package/internals/index.js +5 -3
  104. package/internals/models/index.d.ts +1 -0
  105. package/internals/models/index.js +2 -1
  106. package/internals/models/manager.d.ts +12 -0
  107. package/internals/models/manager.js +1 -0
  108. package/internals/models/props/basePickerProps.d.ts +2 -2
  109. package/internals/models/props/toolbar.d.ts +1 -5
  110. package/internals/utils/date-utils.js +1 -1
  111. package/internals/utils/valueManagers.js +4 -4
  112. package/locales/index.d.ts +1 -0
  113. package/locales/index.js +1 -0
  114. package/locales/nbNO.js +15 -19
  115. package/locales/utils/getPickersLocalization.js +1 -1
  116. package/locales/zhTW.d.ts +80 -0
  117. package/locales/zhTW.js +73 -0
  118. package/managers/index.d.ts +6 -0
  119. package/managers/index.js +3 -0
  120. package/managers/package.json +6 -0
  121. package/managers/useDateManager.d.ts +27 -0
  122. package/managers/useDateManager.js +47 -0
  123. package/managers/useDateTimeManager.d.ts +28 -0
  124. package/managers/useDateTimeManager.js +52 -0
  125. package/managers/useTimeManager.d.ts +28 -0
  126. package/managers/useTimeManager.js +43 -0
  127. package/models/adapters.d.ts +1 -1
  128. package/models/index.d.ts +1 -0
  129. package/models/index.js +1 -0
  130. package/models/manager.d.ts +78 -0
  131. package/models/manager.js +1 -0
  132. package/models/pickers.d.ts +7 -0
  133. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  134. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  135. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  136. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  137. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  138. package/modern/AdapterDateFnsV2/index.js +1 -0
  139. package/modern/DateCalendar/DateCalendar.js +1 -1
  140. package/modern/DateField/useDateField.js +13 -11
  141. package/modern/DatePicker/DatePicker.js +1 -1
  142. package/modern/DatePicker/DatePickerToolbar.js +7 -11
  143. package/modern/DateTimeField/useDateTimeField.js +13 -11
  144. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  145. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  146. package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
  147. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -3
  148. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  149. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  150. package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -7
  151. package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
  152. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  153. package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
  154. package/modern/PickersActionBar/PickersActionBar.js +6 -3
  155. package/modern/PickersLayout/PickersLayout.js +1 -5
  156. package/modern/PickersLayout/usePickerLayout.js +12 -31
  157. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  158. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  159. package/modern/PickersTextField/PickersTextField.js +1 -1
  160. package/modern/TimeField/useTimeField.js +13 -11
  161. package/modern/TimePicker/TimePicker.js +2 -2
  162. package/modern/TimePicker/TimePickerToolbar.js +20 -18
  163. package/modern/hooks/index.js +2 -1
  164. package/modern/hooks/useIsValidValue.js +11 -0
  165. package/modern/hooks/usePickerActionsContext.js +0 -1
  166. package/modern/hooks/usePickerContext.js +1 -1
  167. package/modern/index.js +3 -2
  168. package/modern/internals/components/PickerProvider.js +8 -3
  169. package/modern/internals/components/PickersToolbar.js +1 -1
  170. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  171. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  172. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  173. package/modern/internals/hooks/useField/index.js +1 -1
  174. package/modern/internals/hooks/useField/useField.js +17 -1
  175. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  176. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  177. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  178. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  179. package/modern/internals/hooks/useOpenState.js +3 -2
  180. package/modern/internals/hooks/usePicker/usePicker.js +0 -6
  181. package/modern/internals/hooks/usePicker/usePickerProvider.js +4 -2
  182. package/modern/internals/hooks/usePicker/usePickerValue.js +67 -184
  183. package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
  184. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  185. package/modern/internals/hooks/useUtils.js +1 -1
  186. package/modern/internals/index.js +5 -3
  187. package/modern/internals/models/index.js +2 -1
  188. package/modern/internals/models/manager.js +1 -0
  189. package/modern/internals/utils/date-utils.js +1 -1
  190. package/modern/internals/utils/valueManagers.js +4 -4
  191. package/modern/locales/index.js +1 -0
  192. package/modern/locales/nbNO.js +15 -19
  193. package/modern/locales/utils/getPickersLocalization.js +1 -1
  194. package/modern/locales/zhTW.js +73 -0
  195. package/modern/managers/index.js +3 -0
  196. package/modern/managers/useDateManager.js +47 -0
  197. package/modern/managers/useDateTimeManager.js +52 -0
  198. package/modern/managers/useTimeManager.js +43 -0
  199. package/modern/models/index.js +1 -0
  200. package/modern/models/manager.js +1 -0
  201. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  202. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  203. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  204. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  205. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  206. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  207. package/node/DateCalendar/DateCalendar.js +1 -1
  208. package/node/DateField/useDateField.js +12 -10
  209. package/node/DatePicker/DatePicker.js +1 -1
  210. package/node/DatePicker/DatePickerToolbar.js +7 -11
  211. package/node/DateTimeField/useDateTimeField.js +12 -10
  212. package/node/DateTimePicker/DateTimePicker.js +2 -2
  213. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  214. package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
  215. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -3
  216. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  217. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  218. package/node/DesktopTimePicker/DesktopTimePicker.js +3 -7
  219. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  220. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  221. package/node/MobileTimePicker/MobileTimePicker.js +2 -2
  222. package/node/PickersActionBar/PickersActionBar.js +8 -5
  223. package/node/PickersLayout/PickersLayout.js +1 -5
  224. package/node/PickersLayout/usePickerLayout.js +16 -35
  225. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  226. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  227. package/node/PickersTextField/PickersTextField.js +1 -1
  228. package/node/TimeField/useTimeField.js +12 -10
  229. package/node/TimePicker/TimePicker.js +2 -2
  230. package/node/TimePicker/TimePickerToolbar.js +20 -18
  231. package/node/hooks/index.js +8 -1
  232. package/node/hooks/useIsValidValue.js +18 -0
  233. package/node/hooks/usePickerContext.js +1 -1
  234. package/node/index.js +13 -1
  235. package/node/internals/components/PickerProvider.js +8 -3
  236. package/node/internals/components/PickersToolbar.js +1 -1
  237. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  238. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  239. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  240. package/node/internals/hooks/useField/index.js +6 -0
  241. package/node/internals/hooks/useField/useField.js +18 -1
  242. package/node/internals/hooks/useField/useField.utils.js +2 -2
  243. package/node/internals/hooks/useField/useFieldState.js +2 -2
  244. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  245. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  246. package/node/internals/hooks/useOpenState.js +4 -2
  247. package/node/internals/hooks/usePicker/usePicker.js +0 -7
  248. package/node/internals/hooks/usePicker/usePickerProvider.js +4 -2
  249. package/node/internals/hooks/usePicker/usePickerValue.js +67 -184
  250. package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
  251. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  252. package/node/internals/hooks/useUtils.js +1 -1
  253. package/node/internals/index.js +26 -18
  254. package/node/internals/models/index.js +11 -0
  255. package/node/internals/models/manager.js +5 -0
  256. package/node/internals/utils/date-utils.js +1 -1
  257. package/node/internals/utils/valueManagers.js +4 -4
  258. package/node/locales/index.js +11 -0
  259. package/node/locales/nbNO.js +15 -19
  260. package/node/locales/utils/getPickersLocalization.js +1 -1
  261. package/node/locales/zhTW.js +79 -0
  262. package/node/managers/index.js +26 -0
  263. package/node/managers/useDateManager.js +55 -0
  264. package/node/managers/useDateTimeManager.js +60 -0
  265. package/node/managers/useTimeManager.js +51 -0
  266. package/node/models/index.js +11 -0
  267. package/node/models/manager.js +5 -0
  268. package/package.json +3 -3
  269. package/themeAugmentation/props.d.ts +1 -1
  270. package/validation/extractValidationProps.d.ts +1 -1
  271. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  272. package/AdapterDateFnsJalaliV3/index.js +0 -1
  273. package/AdapterDateFnsV3/index.d.ts +0 -1
  274. package/AdapterDateFnsV3/index.js +0 -1
  275. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  276. package/internals/hooks/defaultizedFieldProps.js +0 -40
  277. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  278. package/modern/AdapterDateFnsV3/index.js +0 -1
  279. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  280. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  281. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
@@ -1,7 +1,6 @@
1
- import defaultLocale from 'date-fns/locale/en-US';
1
+ import { Locale as DateFnsLocale } from 'date-fns/locale';
2
2
  import { AdapterFormats, AdapterOptions, MuiPickersAdapter } from '../models';
3
3
  import { AdapterDateFnsBase } from '../AdapterDateFnsBase';
4
- type DateFnsLocale = typeof defaultLocale;
5
4
  declare module '@mui/x-date-pickers/models' {
6
5
  interface PickerValidDateLookup {
7
6
  'date-fns': Date;
@@ -35,7 +34,7 @@ declare module '@mui/x-date-pickers/models' {
35
34
  export declare class AdapterDateFns extends AdapterDateFnsBase<DateFnsLocale> implements MuiPickersAdapter<DateFnsLocale> {
36
35
  constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
37
36
  parse: (value: string, format: string) => Date | null;
38
- isValid: (value: Date | null) => boolean;
37
+ isValid: (value: Date | null) => value is Date;
39
38
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
40
39
  formatByString: (value: Date, formatString: string) => string;
41
40
  isEqual: (value: Date | null, comparing: Date | null) => boolean;
@@ -84,4 +83,3 @@ export declare class AdapterDateFns extends AdapterDateFnsBase<DateFnsLocale> im
84
83
  getWeekNumber: (value: Date) => number;
85
84
  getYearRange: ([start, end]: [Date, Date]) => Date[];
86
85
  }
87
- export {};
@@ -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,7 +1,7 @@
1
1
  import { MakeRequired } from '@mui/x-internals/types';
2
2
  import { AdapterFormats, AdapterOptions, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
3
3
  type DateFnsLocaleBase = {
4
- formatLong?: {
4
+ formatLong: {
5
5
  date: (...args: Array<any>) => any;
6
6
  time: (...args: Array<any>) => any;
7
7
  dateTime: (...args: Array<any>) => any;
@@ -1,7 +1,6 @@
1
- import defaultLocale from 'date-fns-jalali/locale/fa-IR';
1
+ import { Locale as DateFnsLocale } from 'date-fns-jalali/locale';
2
2
  import { AdapterFormats, AdapterOptions, MuiPickersAdapter } from '../models';
3
3
  import { AdapterDateFnsBase } from '../AdapterDateFnsBase';
4
- type DateFnsLocale = typeof defaultLocale;
5
4
  declare module '@mui/x-date-pickers/models' {
6
5
  interface PickerValidDateLookup {
7
6
  'date-fns-jalali': Date;
@@ -35,7 +34,7 @@ declare module '@mui/x-date-pickers/models' {
35
34
  export declare class AdapterDateFnsJalali extends AdapterDateFnsBase<DateFnsLocale> implements MuiPickersAdapter<DateFnsLocale> {
36
35
  constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
37
36
  parse: (value: string, format: string) => Date | null;
38
- isValid: (value: Date | null) => boolean;
37
+ isValid: (value: Date | null) => value is Date;
39
38
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
40
39
  formatByString: (value: Date, formatString: string) => string;
41
40
  formatNumber: (numberToFormat: string) => string;
@@ -85,4 +84,3 @@ export declare class AdapterDateFnsJalali extends AdapterDateFnsBase<DateFnsLoca
85
84
  getWeekNumber: (date: Date) => number;
86
85
  getYearRange: ([start, end]: [Date, Date]) => Date[];
87
86
  }
88
- export {};
@@ -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,4 +1,4 @@
1
- import { Locale as DateFnsLocale } from 'date-fns-jalali/locale/types';
1
+ import { Locale as DateFnsLocale } from 'date-fns-jalali/locale';
2
2
  import { AdapterFormats, AdapterOptions, MuiPickersAdapter } from '../models';
3
3
  import { AdapterDateFnsBase } from '../AdapterDateFnsBase';
4
4
  declare module '@mui/x-date-pickers/models' {
@@ -34,7 +34,7 @@ declare module '@mui/x-date-pickers/models' {
34
34
  export declare class AdapterDateFnsJalali extends AdapterDateFnsBase<DateFnsLocale> implements MuiPickersAdapter<DateFnsLocale> {
35
35
  constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
36
36
  parse: (value: string, format: string) => Date | null;
37
- isValid: (value: Date | null) => boolean;
37
+ isValid: (value: Date | null) => value is Date;
38
38
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
39
39
  formatByString: (value: Date, formatString: string) => string;
40
40
  formatNumber: (numberToFormat: string) => string;
@@ -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';
@@ -0,0 +1 @@
1
+ export { AdapterDateFnsJalali } from "./AdapterDateFnsJalaliV2.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/AdapterDateFnsJalaliV3/index.js",
4
+ "main": "../node/AdapterDateFnsJalaliV2/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -1,4 +1,4 @@
1
- import { Locale as DateFnsLocale } from 'date-fns/locale/types';
1
+ import { Locale as DateFnsLocale } from 'date-fns/locale';
2
2
  import { AdapterFormats, AdapterOptions, MuiPickersAdapter } from '../models';
3
3
  import { AdapterDateFnsBase } from '../AdapterDateFnsBase';
4
4
  declare module '@mui/x-date-pickers/models' {
@@ -34,7 +34,7 @@ declare module '@mui/x-date-pickers/models' {
34
34
  export declare class AdapterDateFns extends AdapterDateFnsBase<DateFnsLocale> implements MuiPickersAdapter<DateFnsLocale> {
35
35
  constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
36
36
  parse: (value: string, format: string) => Date | null;
37
- isValid: (value: Date | null) => boolean;
37
+ isValid: (value: Date | null) => value is Date;
38
38
  format: (value: Date, formatKey: keyof AdapterFormats) => string;
39
39
  formatByString: (value: Date, formatString: string) => string;
40
40
  isEqual: (value: Date | null, comparing: Date | null) => boolean;
@@ -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';
@@ -0,0 +1 @@
1
+ export { AdapterDateFns } from "./AdapterDateFnsV2.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/AdapterDateFnsV3/index.js",
4
+ "main": "../node/AdapterDateFnsV2/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -72,7 +72,7 @@ export declare class AdapterDayjs implements MuiPickersAdapter<string> {
72
72
  getCurrentLocaleCode: () => string;
73
73
  is12HourCycleInCurrentLocale: () => boolean;
74
74
  expandFormat: (format: string) => string;
75
- isValid: (value: Dayjs | null) => boolean;
75
+ isValid: (value: Dayjs | null) => value is Dayjs;
76
76
  format: (value: Dayjs, formatKey: keyof AdapterFormats) => string;
77
77
  formatByString: (value: Dayjs, formatString: string) => string;
78
78
  formatNumber: (numberToFormat: string) => string;
@@ -52,7 +52,7 @@ export declare class AdapterLuxon implements MuiPickersAdapter<string> {
52
52
  getCurrentLocaleCode: () => string;
53
53
  is12HourCycleInCurrentLocale: () => boolean;
54
54
  expandFormat: (format: string) => string;
55
- isValid: (value: DateTime | null) => boolean;
55
+ isValid: (value: DateTime | null) => value is DateTime;
56
56
  format: (value: DateTime, formatKey: keyof AdapterFormats) => string;
57
57
  formatByString: (value: DateTime, format: string) => string;
58
58
  formatNumber: (numberToFormat: string) => string;