@mui/x-date-pickers 6.3.1 → 6.5.0

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 (243) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +3 -7
  2. package/AdapterDateFns/AdapterDateFns.js +2 -8
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +3 -7
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
  5. package/AdapterDayjs/AdapterDayjs.d.ts +3 -9
  6. package/AdapterDayjs/AdapterDayjs.js +2 -3
  7. package/AdapterLuxon/AdapterLuxon.d.ts +3 -8
  8. package/AdapterLuxon/AdapterLuxon.js +6 -5
  9. package/AdapterMoment/AdapterMoment.d.ts +3 -9
  10. package/AdapterMoment/AdapterMoment.js +2 -2
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +5 -14
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +6 -16
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
  15. package/CHANGELOG.md +113 -0
  16. package/DateCalendar/DateCalendar.js +2 -2
  17. package/DateCalendar/DayCalendar.js +11 -10
  18. package/DateCalendar/PickersCalendarHeader.js +2 -2
  19. package/DateCalendar/useCalendarState.d.ts +1 -1
  20. package/DateField/DateField.types.d.ts +1 -1
  21. package/DateField/index.d.ts +1 -1
  22. package/DateField/useDateField.d.ts +1 -1
  23. package/DateField/useDateField.js +9 -46
  24. package/DatePicker/shared.d.ts +1 -1
  25. package/DateTimeField/DateTimeField.types.d.ts +1 -1
  26. package/DateTimeField/index.d.ts +1 -1
  27. package/DateTimeField/useDateTimeField.d.ts +1 -1
  28. package/DateTimeField/useDateTimeField.js +9 -60
  29. package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
  30. package/DesktopTimePicker/DesktopTimePicker.js +1 -2
  31. package/LocalizationProvider/LocalizationProvider.d.ts +10 -8
  32. package/LocalizationProvider/LocalizationProvider.js +3 -3
  33. package/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  34. package/MobileTimePicker/MobileTimePicker.js +1 -2
  35. package/MonthCalendar/MonthCalendar.js +2 -2
  36. package/TimeField/index.d.ts +1 -1
  37. package/TimeField/useTimeField.d.ts +1 -1
  38. package/TimeField/useTimeField.js +9 -50
  39. package/index.js +1 -1
  40. package/internals/hooks/useField/useField.js +10 -2
  41. package/internals/hooks/useField/useField.utils.d.ts +13 -13
  42. package/internals/hooks/useField/useField.utils.js +3 -2
  43. package/internals/hooks/useUtils.d.ts +1 -1
  44. package/internals/hooks/useViews.js +2 -0
  45. package/internals/index.d.ts +2 -1
  46. package/internals/index.js +2 -1
  47. package/internals/utils/date-utils.d.ts +6 -4
  48. package/internals/utils/date-utils.js +16 -0
  49. package/internals/utils/fields.d.ts +5 -0
  50. package/internals/utils/fields.js +28 -0
  51. package/internals/utils/time-utils.d.ts +4 -4
  52. package/internals/utils/validation/extractValidationProps.d.ts +5 -1
  53. package/internals/utils/validation/extractValidationProps.js +4 -1
  54. package/legacy/AdapterDateFns/AdapterDateFns.js +2 -8
  55. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
  56. package/legacy/AdapterDayjs/AdapterDayjs.js +2 -3
  57. package/legacy/AdapterLuxon/AdapterLuxon.js +6 -5
  58. package/legacy/AdapterMoment/AdapterMoment.js +2 -2
  59. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
  60. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
  61. package/legacy/DateCalendar/DateCalendar.js +2 -2
  62. package/legacy/DateCalendar/DayCalendar.js +11 -10
  63. package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
  64. package/legacy/DateField/useDateField.js +8 -44
  65. package/legacy/DateTimeField/useDateTimeField.js +8 -60
  66. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
  67. package/legacy/DesktopTimePicker/DesktopTimePicker.js +1 -2
  68. package/legacy/LocalizationProvider/LocalizationProvider.js +3 -3
  69. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  70. package/legacy/MobileTimePicker/MobileTimePicker.js +1 -2
  71. package/legacy/MonthCalendar/MonthCalendar.js +2 -2
  72. package/legacy/TimeField/useTimeField.js +8 -48
  73. package/legacy/index.js +1 -1
  74. package/legacy/internals/hooks/useField/useField.js +12 -4
  75. package/legacy/internals/hooks/useField/useField.utils.js +5 -4
  76. package/legacy/internals/hooks/useViews.js +2 -0
  77. package/legacy/internals/index.js +2 -1
  78. package/legacy/internals/utils/date-utils.js +16 -0
  79. package/legacy/internals/utils/fields.js +28 -0
  80. package/legacy/internals/utils/validation/extractValidationProps.js +4 -1
  81. package/legacy/locales/csCZ.js +3 -3
  82. package/legacy/locales/index.js +1 -0
  83. package/legacy/locales/skSK.js +93 -0
  84. package/legacy/locales/ukUA.js +3 -1
  85. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
  86. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
  87. package/legacy/tests/describeGregorianAdapter/index.js +2 -1
  88. package/legacy/tests/describeGregorianAdapter/testCalculations.js +272 -200
  89. package/legacy/tests/describeGregorianAdapter/testLocalization.js +34 -0
  90. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
  91. package/legacy/tests/describeHijriAdapter/testCalculations.js +101 -28
  92. package/legacy/tests/describeHijriAdapter/testLocalization.js +8 -0
  93. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
  94. package/legacy/tests/describeJalaliAdapter/testCalculations.js +157 -24
  95. package/legacy/tests/describeJalaliAdapter/testLocalization.js +8 -0
  96. package/legacy/tests/describeValue/describeValue.js +30 -3
  97. package/legacy/tests/describeValue/testControlledUnControlled.js +27 -21
  98. package/legacy/tests/describeValue/testPickerActionBar.js +40 -36
  99. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +92 -71
  100. package/locales/beBY.d.ts +3 -3
  101. package/locales/caES.d.ts +3 -3
  102. package/locales/csCZ.d.ts +3 -3
  103. package/locales/csCZ.js +3 -3
  104. package/locales/daDK.d.ts +3 -3
  105. package/locales/deDE.d.ts +3 -3
  106. package/locales/enUS.d.ts +3 -3
  107. package/locales/esES.d.ts +3 -3
  108. package/locales/faIR.d.ts +3 -3
  109. package/locales/fiFI.d.ts +3 -3
  110. package/locales/frFR.d.ts +3 -3
  111. package/locales/heIL.d.ts +3 -3
  112. package/locales/huHU.d.ts +3 -3
  113. package/locales/index.d.ts +1 -0
  114. package/locales/index.js +1 -0
  115. package/locales/isIS.d.ts +3 -3
  116. package/locales/itIT.d.ts +3 -3
  117. package/locales/jaJP.d.ts +3 -3
  118. package/locales/koKR.d.ts +3 -3
  119. package/locales/kzKZ.d.ts +3 -3
  120. package/locales/nbNO.d.ts +3 -3
  121. package/locales/nlNL.d.ts +3 -3
  122. package/locales/plPL.d.ts +3 -3
  123. package/locales/ptBR.d.ts +3 -3
  124. package/locales/ruRU.d.ts +3 -3
  125. package/locales/skSK.d.ts +53 -0
  126. package/locales/skSK.js +61 -0
  127. package/locales/svSE.d.ts +3 -3
  128. package/locales/trTR.d.ts +3 -3
  129. package/locales/ukUA.d.ts +3 -3
  130. package/locales/ukUA.js +1 -1
  131. package/locales/urPK.d.ts +3 -3
  132. package/locales/utils/getPickersLocalization.d.ts +3 -3
  133. package/locales/zhCN.d.ts +3 -3
  134. package/models/adapters.d.ts +43 -35
  135. package/modern/AdapterDateFns/AdapterDateFns.js +2 -8
  136. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
  137. package/modern/AdapterDayjs/AdapterDayjs.js +2 -2
  138. package/modern/AdapterLuxon/AdapterLuxon.js +6 -5
  139. package/modern/AdapterMoment/AdapterMoment.js +2 -2
  140. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
  141. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
  142. package/modern/DateCalendar/DateCalendar.js +2 -2
  143. package/modern/DateCalendar/DayCalendar.js +11 -10
  144. package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
  145. package/modern/DateField/useDateField.js +9 -46
  146. package/modern/DateTimeField/useDateTimeField.js +9 -60
  147. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
  148. package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -2
  149. package/modern/LocalizationProvider/LocalizationProvider.js +3 -3
  150. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  151. package/modern/MobileTimePicker/MobileTimePicker.js +1 -2
  152. package/modern/MonthCalendar/MonthCalendar.js +2 -2
  153. package/modern/TimeField/useTimeField.js +9 -50
  154. package/modern/index.js +1 -1
  155. package/modern/internals/hooks/useField/useField.js +10 -2
  156. package/modern/internals/hooks/useField/useField.utils.js +3 -2
  157. package/modern/internals/hooks/useViews.js +2 -0
  158. package/modern/internals/index.js +2 -1
  159. package/modern/internals/utils/date-utils.js +16 -0
  160. package/modern/internals/utils/fields.js +28 -0
  161. package/modern/internals/utils/validation/extractValidationProps.js +4 -1
  162. package/modern/locales/csCZ.js +3 -3
  163. package/modern/locales/index.js +1 -0
  164. package/modern/locales/skSK.js +58 -0
  165. package/modern/locales/ukUA.js +1 -1
  166. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
  167. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
  168. package/modern/tests/describeGregorianAdapter/index.js +2 -1
  169. package/modern/tests/describeGregorianAdapter/testCalculations.js +272 -198
  170. package/modern/tests/describeGregorianAdapter/testLocalization.js +34 -0
  171. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
  172. package/modern/tests/describeHijriAdapter/testCalculations.js +101 -28
  173. package/modern/tests/describeHijriAdapter/testLocalization.js +8 -0
  174. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
  175. package/modern/tests/describeJalaliAdapter/testCalculations.js +157 -24
  176. package/modern/tests/describeJalaliAdapter/testLocalization.js +8 -0
  177. package/modern/tests/describeValue/describeValue.js +29 -3
  178. package/modern/tests/describeValue/testControlledUnControlled.js +23 -15
  179. package/modern/tests/describeValue/testPickerActionBar.js +21 -14
  180. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
  181. package/node/AdapterDateFns/AdapterDateFns.js +2 -8
  182. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
  183. package/node/AdapterDayjs/AdapterDayjs.js +2 -2
  184. package/node/AdapterLuxon/AdapterLuxon.js +6 -5
  185. package/node/AdapterMoment/AdapterMoment.js +2 -2
  186. package/node/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
  187. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
  188. package/node/DateCalendar/DateCalendar.js +1 -1
  189. package/node/DateCalendar/DayCalendar.js +11 -10
  190. package/node/DateCalendar/PickersCalendarHeader.js +2 -2
  191. package/node/DateField/useDateField.js +9 -46
  192. package/node/DateTimeField/useDateTimeField.js +9 -60
  193. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
  194. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -2
  195. package/node/LocalizationProvider/LocalizationProvider.js +5 -5
  196. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  197. package/node/MobileTimePicker/MobileTimePicker.js +1 -2
  198. package/node/MonthCalendar/MonthCalendar.js +1 -1
  199. package/node/TimeField/useTimeField.js +9 -50
  200. package/node/index.js +1 -1
  201. package/node/internals/hooks/useField/useField.js +10 -2
  202. package/node/internals/hooks/useField/useField.utils.js +3 -2
  203. package/node/internals/hooks/useViews.js +2 -0
  204. package/node/internals/index.js +13 -0
  205. package/node/internals/utils/date-utils.js +20 -2
  206. package/node/internals/utils/fields.js +36 -0
  207. package/node/internals/utils/validation/extractValidationProps.js +8 -2
  208. package/node/locales/csCZ.js +3 -3
  209. package/node/locales/index.js +11 -0
  210. package/node/locales/skSK.js +65 -0
  211. package/node/locales/ukUA.js +1 -1
  212. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -9
  213. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +10 -0
  214. package/node/tests/describeGregorianAdapter/index.js +4 -3
  215. package/node/tests/describeGregorianAdapter/testCalculations.js +272 -198
  216. package/node/tests/describeGregorianAdapter/testLocalization.js +35 -0
  217. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
  218. package/node/tests/describeHijriAdapter/testCalculations.js +100 -27
  219. package/node/tests/describeHijriAdapter/testLocalization.js +8 -0
  220. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
  221. package/node/tests/describeJalaliAdapter/testCalculations.js +156 -23
  222. package/node/tests/describeJalaliAdapter/testLocalization.js +8 -0
  223. package/node/tests/describeValue/describeValue.js +29 -3
  224. package/node/tests/describeValue/testControlledUnControlled.js +23 -15
  225. package/node/tests/describeValue/testPickerActionBar.js +21 -14
  226. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
  227. package/package.json +2 -2
  228. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
  229. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
  230. package/tests/describeGregorianAdapter/index.js +2 -1
  231. package/tests/describeGregorianAdapter/testCalculations.js +272 -198
  232. package/tests/describeGregorianAdapter/testLocalization.js +34 -0
  233. package/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
  234. package/tests/describeHijriAdapter/testCalculations.js +101 -28
  235. package/tests/describeHijriAdapter/testLocalization.js +8 -0
  236. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
  237. package/tests/describeJalaliAdapter/testCalculations.js +157 -24
  238. package/tests/describeJalaliAdapter/testLocalization.js +8 -0
  239. package/tests/describeValue/describeValue.js +29 -3
  240. package/tests/describeValue/testControlledUnControlled.js +23 -15
  241. package/tests/describeValue/testPickerActionBar.js +21 -14
  242. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
  243. package/themeAugmentation/props.d.ts +1 -1
@@ -3,7 +3,7 @@ import { PickersLocaleText } from '../../locales/utils/pickersLocaleTextApi';
3
3
  export declare const useLocalizationContext: <TDate>() => Omit<MuiPickersAdapterContextValue<TDate>, "localeText"> & {
4
4
  localeText: PickersLocaleText<TDate>;
5
5
  };
6
- export declare const useUtils: <TDate>() => import("../..").MuiPickersAdapter<TDate>;
6
+ export declare const useUtils: <TDate>() => import("../..").MuiPickersAdapter<TDate, any>;
7
7
  export declare const useDefaultDates: <TDate>() => {
8
8
  minDate: TDate;
9
9
  maxDate: TDate;
@@ -45,6 +45,8 @@ export function useViews({
45
45
  // Update the current view when `openTo` or `views` props change
46
46
  if (previousOpenTo.current && previousOpenTo.current !== openTo || previousViews.current && previousViews.current.some(previousView => !views.includes(previousView))) {
47
47
  setView(views.includes(openTo) ? openTo : views[0]);
48
+ previousViews.current = views;
49
+ previousOpenTo.current = openTo;
48
50
  }
49
51
  }, [openTo, setView, view, views]);
50
52
  const viewIndex = views.indexOf(view);
@@ -43,13 +43,14 @@ export type { DefaultizedProps, MakeOptional } from './models/helpers';
43
43
  export type { WrapperVariant } from './models/common';
44
44
  export type { BaseDateValidationProps, BaseTimeValidationProps, TimeValidationProps, MonthValidationProps, YearValidationProps, DayValidationProps, DateTimeValidationProps, } from './models/validation';
45
45
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual } from './utils/date-utils';
46
+ export { splitFieldInternalAndForwardedProps } from './utils/fields';
46
47
  export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, } from './utils/utils';
47
48
  export { defaultReduceAnimations } from './utils/defaultReduceAnimations';
48
49
  export { extractValidationProps } from './utils/validation/extractValidationProps';
49
50
  export { validateDate } from './utils/validation/validateDate';
50
51
  export { validateDateTime } from './utils/validation/validateDateTime';
51
52
  export { validateTime } from './utils/validation/validateTime';
52
- export { buildDeprecatedPropsWarning } from './utils/warning';
53
+ export { buildDeprecatedPropsWarning, buildWarning } from './utils/warning';
53
54
  export { uncapitalizeObjectKeys } from './utils/slots-migration';
54
55
  export type { UncapitalizeObjectKeys, SlotsAndSlotProps } from './utils/slots-migration';
55
56
  export { PickersCalendarHeader } from '../DateCalendar/PickersCalendarHeader';
@@ -16,13 +16,14 @@ export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNo
16
16
  export { useValidation } from './hooks/useValidation';
17
17
  export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
18
18
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual } from './utils/date-utils';
19
+ export { splitFieldInternalAndForwardedProps } from './utils/fields';
19
20
  export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './utils/utils';
20
21
  export { defaultReduceAnimations } from './utils/defaultReduceAnimations';
21
22
  export { extractValidationProps } from './utils/validation/extractValidationProps';
22
23
  export { validateDate } from './utils/validation/validateDate';
23
24
  export { validateDateTime } from './utils/validation/validateDateTime';
24
25
  export { validateTime } from './utils/validation/validateTime';
25
- export { buildDeprecatedPropsWarning } from './utils/warning';
26
+ export { buildDeprecatedPropsWarning, buildWarning } from './utils/warning';
26
27
  export { uncapitalizeObjectKeys } from './utils/slots-migration';
27
28
  export { PickersCalendarHeader } from '../DateCalendar/PickersCalendarHeader';
28
29
  export { DayCalendar } from '../DateCalendar/DayCalendar';
@@ -9,8 +9,10 @@ interface FindClosestDateParams<TDate> {
9
9
  utils: MuiPickersAdapter<TDate>;
10
10
  }
11
11
  export declare const findClosestEnabledDate: <TDate>({ date, disableFuture, disablePast, maxDate, minDate, isDateDisabled, utils, }: FindClosestDateParams<TDate>) => NonNullable<TDate> | null;
12
- export declare const clamp: <TDate>(utils: MuiPickersAdapter<TDate>, value: TDate, minDate: TDate, maxDate: TDate) => TDate;
13
- export declare const replaceInvalidDateByNull: <TDate>(utils: MuiPickersAdapter<TDate>, value: TDate | null) => NonNullable<TDate> | null;
14
- export declare const applyDefaultDate: <TDate>(utils: MuiPickersAdapter<TDate>, value: TDate | null | undefined, defaultValue: TDate) => TDate;
15
- export declare const areDatesEqual: <TDate>(utils: MuiPickersAdapter<TDate>, a: TDate, b: TDate) => boolean;
12
+ export declare const clamp: <TDate>(utils: MuiPickersAdapter<TDate, any>, value: TDate, minDate: TDate, maxDate: TDate) => TDate;
13
+ export declare const replaceInvalidDateByNull: <TDate>(utils: MuiPickersAdapter<TDate, any>, value: TDate | null) => NonNullable<TDate> | null;
14
+ export declare const applyDefaultDate: <TDate>(utils: MuiPickersAdapter<TDate, any>, value: TDate | null | undefined, defaultValue: TDate) => TDate;
15
+ export declare const areDatesEqual: <TDate>(utils: MuiPickersAdapter<TDate, any>, a: TDate, b: TDate) => boolean;
16
+ export declare const getMonthsInYear: <TDate>(utils: MuiPickersAdapter<TDate, any>, year: TDate) => TDate[];
17
+ export declare const mergeDateAndTime: <TDate>(utils: MuiPickersAdapter<TDate, any>, dateParam: TDate, timeParam: TDate) => TDate;
16
18
  export {};
@@ -69,4 +69,20 @@ export const areDatesEqual = (utils, a, b) => {
69
69
  return true;
70
70
  }
71
71
  return utils.isEqual(a, b);
72
+ };
73
+ export const getMonthsInYear = (utils, year) => {
74
+ const firstMonth = utils.startOfYear(year);
75
+ const months = [firstMonth];
76
+ while (months.length < 12) {
77
+ const prevMonth = months[months.length - 1];
78
+ months.push(utils.addMonths(prevMonth, 1));
79
+ }
80
+ return months;
81
+ };
82
+ export const mergeDateAndTime = (utils, dateParam, timeParam) => {
83
+ let mergedDate = dateParam;
84
+ mergedDate = utils.setHours(mergedDate, utils.getHours(timeParam));
85
+ mergedDate = utils.setMinutes(mergedDate, utils.getMinutes(timeParam));
86
+ mergedDate = utils.setSeconds(mergedDate, utils.getSeconds(timeParam));
87
+ return mergedDate;
72
88
  };
@@ -0,0 +1,5 @@
1
+ import { FieldValueType } from '../../models';
2
+ export declare const splitFieldInternalAndForwardedProps: <TProps extends {}, TInternalPropNames extends keyof TProps>(props: TProps, valueType: FieldValueType) => {
3
+ forwardedProps: Omit<TProps, TInternalPropNames>;
4
+ internalProps: Pick<TProps, TInternalPropNames>;
5
+ };
@@ -0,0 +1,28 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from './validation/extractValidationProps';
3
+ const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'format', 'formatDensity', 'onChange', 'readOnly', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef'];
4
+ export const splitFieldInternalAndForwardedProps = (props, valueType) => {
5
+ const forwardedProps = _extends({}, props);
6
+ const internalProps = {};
7
+ const extractProp = propName => {
8
+ if (forwardedProps.hasOwnProperty(propName)) {
9
+ // @ts-ignore
10
+ internalProps[propName] = forwardedProps[propName];
11
+ delete forwardedProps[propName];
12
+ }
13
+ };
14
+ SHARED_FIELD_INTERNAL_PROP_NAMES.forEach(extractProp);
15
+ if (valueType === 'date') {
16
+ DATE_VALIDATION_PROP_NAMES.forEach(extractProp);
17
+ } else if (valueType === 'time') {
18
+ TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
19
+ } else if (valueType === 'date-time') {
20
+ DATE_VALIDATION_PROP_NAMES.forEach(extractProp);
21
+ TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
22
+ DATE_TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
23
+ }
24
+ return {
25
+ forwardedProps,
26
+ internalProps
27
+ };
28
+ };
@@ -2,8 +2,8 @@ import { MuiPickersAdapter } from '../../models';
2
2
  import { DateOrTimeViewWithMeridiem } from '../models';
3
3
  export declare const isTimeView: (view: DateOrTimeViewWithMeridiem) => boolean;
4
4
  export type Meridiem = 'am' | 'pm';
5
- export declare const getMeridiem: <TDate>(date: TDate | null, utils: MuiPickersAdapter<TDate>) => Meridiem | null;
5
+ export declare const getMeridiem: <TDate>(date: TDate | null, utils: MuiPickersAdapter<TDate, any>) => Meridiem | null;
6
6
  export declare const convertValueToMeridiem: (value: number, meridiem: Meridiem | null, ampm: boolean) => number;
7
- export declare const convertToMeridiem: <TDate>(time: TDate, meridiem: Meridiem, ampm: boolean, utils: MuiPickersAdapter<TDate>) => TDate;
8
- export declare const getSecondsInDay: <TDate>(date: TDate, utils: MuiPickersAdapter<TDate>) => number;
9
- export declare const createIsAfterIgnoreDatePart: <TDate>(disableIgnoringDatePartForTimeValidation: boolean, utils: MuiPickersAdapter<TDate>) => (dateLeft: TDate, dateRight: TDate) => boolean;
7
+ export declare const convertToMeridiem: <TDate>(time: TDate, meridiem: Meridiem, ampm: boolean, utils: MuiPickersAdapter<TDate, any>) => TDate;
8
+ export declare const getSecondsInDay: <TDate>(date: TDate, utils: MuiPickersAdapter<TDate, any>) => number;
9
+ export declare const createIsAfterIgnoreDatePart: <TDate>(disableIgnoringDatePartForTimeValidation: boolean, utils: MuiPickersAdapter<TDate, any>) => (dateLeft: TDate, dateRight: TDate) => boolean;
@@ -1,7 +1,11 @@
1
+ import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps, DayValidationProps, MonthValidationProps, TimeValidationProps, YearValidationProps } from '../../models/validation';
2
+ export declare const DATE_VALIDATION_PROP_NAMES: (keyof BaseDateValidationProps<any> | keyof YearValidationProps<any> | keyof MonthValidationProps<any> | keyof DayValidationProps<any>)[];
3
+ export declare const TIME_VALIDATION_PROP_NAMES: (keyof BaseTimeValidationProps | keyof TimeValidationProps<any> | 'ampm')[];
4
+ export declare const DATE_TIME_VALIDATION_PROP_NAMES: (keyof DateTimeValidationProps<any>)[];
1
5
  /**
2
6
  * Extract the validation props for the props received by a component.
3
7
  * Limit the risk of forgetting some of them and reduce the bundle size.
4
8
  */
5
9
  export declare const extractValidationProps: <Props extends {
6
10
  [key: string]: any;
7
- }>(props: Props) => Pick<Props, "disableFuture" | "disablePast" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minDate" | "maxDate" | "minutesStep" | "minTime" | "maxTime" | "shouldDisableTime" | "shouldDisableClock" | "disableIgnoringDatePartForTimeValidation" | "minDateTime" | "maxDateTime">;
11
+ }>(props: Props) => Pick<Props, "disableFuture" | "disablePast" | "maxDate" | "minDate" | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "minutesStep" | "minTime" | "maxTime" | "ampm" | "shouldDisableTime" | "shouldDisableClock" | "disableIgnoringDatePartForTimeValidation" | "minDateTime" | "maxDateTime">;
@@ -1,4 +1,7 @@
1
- const VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minDate', 'maxDate', 'minTime', 'maxTime', 'minDateTime', 'maxDateTime', 'shouldDisableDate', 'shouldDisableMonth', 'shouldDisableYear', 'shouldDisableClock', 'shouldDisableTime', 'minutesStep'];
1
+ export const DATE_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minDate', 'maxDate', 'shouldDisableDate', 'shouldDisableMonth', 'shouldDisableYear'];
2
+ export const TIME_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minTime', 'maxTime', 'shouldDisableClock', 'shouldDisableTime', 'minutesStep', 'ampm', 'disableIgnoringDatePartForTimeValidation'];
3
+ export const DATE_TIME_VALIDATION_PROP_NAMES = ['minDateTime', 'maxDateTime'];
4
+ const VALIDATION_PROP_NAMES = [...DATE_VALIDATION_PROP_NAMES, ...TIME_VALIDATION_PROP_NAMES, ...DATE_TIME_VALIDATION_PROP_NAMES];
2
5
  /**
3
6
  * Extract the validation props for the props received by a component.
4
7
  * Limit the risk of forgetting some of them and reduce the bundle size.
@@ -25,7 +25,6 @@ import endOfWeek from 'date-fns/endOfWeek';
25
25
  import endOfYear from 'date-fns/endOfYear';
26
26
  import dateFnsFormat from 'date-fns/format';
27
27
  import getDate from 'date-fns/getDate';
28
- import getDay from 'date-fns/getDay';
29
28
  import getDaysInMonth from 'date-fns/getDaysInMonth';
30
29
  import getHours from 'date-fns/getHours';
31
30
  import getMinutes from 'date-fns/getMinutes';
@@ -568,17 +567,12 @@ export var AdapterDateFns = /*#__PURE__*/_createClass(function AdapterDateFns()
568
567
  var count = 0;
569
568
  var current = start;
570
569
  var nestedWeeks = [];
571
- var lastDay = null;
572
570
  while (isBefore(current, end)) {
573
571
  var weekNumber = Math.floor(count / 7);
574
572
  nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
575
- var day = getDay(current);
576
- if (lastDay !== day) {
577
- lastDay = day;
578
- nestedWeeks[weekNumber].push(current);
579
- count += 1;
580
- }
573
+ nestedWeeks[weekNumber].push(current);
581
574
  current = addDays(current, 1);
575
+ count += 1;
582
576
  }
583
577
  return nestedWeeks;
584
578
  };
@@ -31,7 +31,6 @@ import getWeek from 'date-fns-jalali/getWeek';
31
31
  import getYear from 'date-fns-jalali/getYear';
32
32
  import getMonth from 'date-fns-jalali/getMonth';
33
33
  import getDate from 'date-fns-jalali/getDate';
34
- import getDay from 'date-fns-jalali/getDay';
35
34
  import getDaysInMonth from 'date-fns-jalali/getDaysInMonth';
36
35
  import getMinutes from 'date-fns-jalali/getMinutes';
37
36
  import isAfter from 'date-fns-jalali/isAfter';
@@ -582,17 +581,12 @@ export var AdapterDateFnsJalali = /*#__PURE__*/_createClass(function AdapterDate
582
581
  var count = 0;
583
582
  var current = start;
584
583
  var nestedWeeks = [];
585
- var lastDay = null;
586
584
  while (isBefore(current, end)) {
587
585
  var weekNumber = Math.floor(count / 7);
588
586
  nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
589
- var day = getDay(current);
590
- if (lastDay !== day) {
591
- lastDay = day;
592
- nestedWeeks[weekNumber].push(current);
593
- count += 1;
594
- }
587
+ nestedWeeks[weekNumber].push(current);
595
588
  current = addDays(current, 1);
589
+ count += 1;
596
590
  }
597
591
  return nestedWeeks;
598
592
  };
@@ -175,8 +175,7 @@ export var AdapterDayjs = /*#__PURE__*/_createClass(function AdapterDayjs() {
175
175
  };
176
176
  this.formatTokenMap = formatTokenMap;
177
177
  this.getLocaleFormats = function () {
178
- var _this$rawDayJsInstanc;
179
- var locales = (_this$rawDayJsInstanc = _this.rawDayJsInstance.Ls) != null ? _this$rawDayJsInstanc : defaultDayjs.Ls;
178
+ var locales = defaultDayjs.Ls;
180
179
  var locale = _this.locale || 'en';
181
180
  var localeObject = locales[locale];
182
181
  if (localeObject === undefined) {
@@ -385,7 +384,7 @@ export var AdapterDayjs = /*#__PURE__*/_createClass(function AdapterDayjs() {
385
384
  var monthArray = [firstMonth];
386
385
  while (monthArray.length < 12) {
387
386
  var prevMonth = monthArray[monthArray.length - 1];
388
- monthArray.push(_this.getNextMonth(prevMonth));
387
+ monthArray.push(_this.addMonths(prevMonth, 1));
389
388
  }
390
389
  return monthArray;
391
390
  };
@@ -12,7 +12,11 @@ var formatTokenMap = {
12
12
  maxLength: 4
13
13
  },
14
14
  yy: 'year',
15
- yyyy: 'year',
15
+ yyyy: {
16
+ sectionType: 'year',
17
+ contentType: 'digit',
18
+ maxLength: 4
19
+ },
16
20
  // Month
17
21
  L: {
18
22
  sectionType: 'month',
@@ -232,9 +236,6 @@ export var AdapterLuxon = /*#__PURE__*/_createClass(function AdapterLuxon() {
232
236
  })) == null ? void 0 : (_Intl$DateTimeFormat$ = _Intl$DateTimeFormat.resolvedOptions()) == null ? void 0 : _Intl$DateTimeFormat$.hour12);
233
237
  };
234
238
  this.expandFormat = function (format) {
235
- if (!DateTime.expandFormat) {
236
- throw Error('Your luxon version does not support `expandFormat`. Consider upgrading it to v3.0.2');
237
- }
238
239
  // Extract escaped section to avoid extending them
239
240
  var longFormatRegexp = /''|'(''|[^'])+('|$)|[^']*/g;
240
241
  return format.match(longFormatRegexp).map(function (token) {
@@ -461,7 +462,7 @@ export var AdapterLuxon = /*#__PURE__*/_createClass(function AdapterLuxon() {
461
462
  var monthArray = [firstMonth];
462
463
  while (monthArray.length < 12) {
463
464
  var prevMonth = monthArray[monthArray.length - 1];
464
- monthArray.push(_this.getNextMonth(prevMonth));
465
+ monthArray.push(_this.addMonths(prevMonth, 1));
465
466
  }
466
467
  return monthArray;
467
468
  };
@@ -366,7 +366,7 @@ export var AdapterMoment = /*#__PURE__*/_createClass(function AdapterMoment() {
366
366
  return value.clone().subtract(1, 'month');
367
367
  };
368
368
  this.getMonthArray = function (value) {
369
- var firstMonth = value.clone().startOf('year');
369
+ var firstMonth = _this.startOfYear(value);
370
370
  var monthArray = [firstMonth];
371
371
  while (monthArray.length < 12) {
372
372
  var prevMonth = monthArray[monthArray.length - 1];
@@ -412,7 +412,7 @@ export var AdapterMoment = /*#__PURE__*/_createClass(function AdapterMoment() {
412
412
  this.getMeridiemText = function (ampm) {
413
413
  if (_this.is12HourCycleInCurrentLocale()) {
414
414
  // AM/PM translation only possible in those who have 12 hour cycle in locale.
415
- return _this.moment.localeData(_this.getCurrentLocaleCode()).meridiem(ampm === 'am' ? 0 : 13, 0, false);
415
+ return defaultMoment.localeData(_this.getCurrentLocaleCode()).meridiem(ampm === 'am' ? 0 : 13, 0, false);
416
416
  }
417
417
  return ampm === 'am' ? 'AM' : 'PM'; // fallback for de, ru, ...etc
418
418
  };
@@ -153,15 +153,9 @@ export var AdapterMomentHijri = /*#__PURE__*/function (_AdapterMoment) {
153
153
  locale: 'ar-SA',
154
154
  instance: instance
155
155
  });
156
- _this.isMUIAdapter = true;
156
+ _this.lib = 'moment-hijri';
157
+ _this.moment = void 0;
157
158
  _this.formatTokenMap = formatTokenMap;
158
- _this.escapedCharacters = {
159
- start: '[',
160
- end: ']'
161
- };
162
- _this.toIMoment = function (value) {
163
- return _this.moment(value ? value.clone() : undefined).locale('ar-SA');
164
- };
165
159
  _this.date = function (value) {
166
160
  if (value === null) {
167
161
  return null;
@@ -232,7 +226,7 @@ export var AdapterMomentHijri = /*#__PURE__*/function (_AdapterMoment) {
232
226
  };
233
227
  _this.getWeekdays = function () {
234
228
  return [0, 1, 2, 3, 4, 5, 6].map(function (dayOfWeek) {
235
- return _this.toIMoment().weekday(dayOfWeek).format('dd');
229
+ return _this.date().weekday(dayOfWeek).format('dd');
236
230
  });
237
231
  };
238
232
  _this.getWeekArray = function (value) {
@@ -273,7 +267,7 @@ export var AdapterMomentHijri = /*#__PURE__*/function (_AdapterMoment) {
273
267
  return years;
274
268
  };
275
269
  _this.getMeridiemText = function (ampm) {
276
- return ampm === 'am' ? _this.toIMoment().hours(2).format('A') : _this.toIMoment().hours(14).format('A');
270
+ return ampm === 'am' ? _this.date().hours(2).format('A') : _this.date().hours(14).format('A');
277
271
  };
278
272
  _this.moment = instance || defaultHMoment;
279
273
  _this.locale = 'ar-SA';
@@ -151,25 +151,18 @@ export var AdapterMomentJalaali = /*#__PURE__*/function (_AdapterMoment) {
151
151
  locale: 'fa',
152
152
  instance: instance
153
153
  });
154
- _this.isMUIAdapter = true;
155
154
  _this.lib = 'moment-jalaali';
156
155
  _this.moment = void 0;
157
- _this.locale = void 0;
158
- _this.formats = void 0;
159
156
  _this.formatTokenMap = formatTokenMap;
160
- _this.escapedCharacters = {
161
- start: '[',
162
- end: ']'
163
- };
164
- _this.toJMoment = function (value) {
165
- return _this.moment(value ? value.clone() : undefined).locale('fa');
166
- };
167
157
  _this.date = function (value) {
168
158
  if (value === null) {
169
159
  return null;
170
160
  }
171
161
  return _this.moment(value).locale('fa');
172
162
  };
163
+ _this.parseISO = function (isoString) {
164
+ return _this.moment(isoString).locale('fa');
165
+ };
173
166
  _this.parse = function (value, format) {
174
167
  if (value === '') {
175
168
  return null;
@@ -197,6 +190,16 @@ export var AdapterMomentJalaali = /*#__PURE__*/function (_AdapterMoment) {
197
190
  }
198
191
  return _this.moment(value).isSame(comparing);
199
192
  };
193
+ _this.isSameYear = function (value, comparing) {
194
+ // `isSame` seems to mutate the date on `moment-jalaali`
195
+ // @ts-ignore
196
+ return value.clone().isSame(comparing, 'jYear');
197
+ };
198
+ _this.isSameMonth = function (value, comparing) {
199
+ // `isSame` seems to mutate the date on `moment-jalaali`
200
+ // @ts-ignore
201
+ return value.clone().isSame(comparing, 'jMonth');
202
+ };
200
203
  _this.isAfterYear = function (value, comparing) {
201
204
  return value.jYear() > comparing.jYear();
202
205
  };
@@ -247,7 +250,7 @@ export var AdapterMomentJalaali = /*#__PURE__*/function (_AdapterMoment) {
247
250
  };
248
251
  _this.getWeekdays = function () {
249
252
  return [0, 1, 2, 3, 4, 5, 6].map(function (dayOfWeek) {
250
- return _this.toJMoment().weekday(dayOfWeek).format('dd');
253
+ return _this.date().weekday(dayOfWeek).format('dd');
251
254
  });
252
255
  };
253
256
  _this.getWeekArray = function (value) {
@@ -280,7 +283,7 @@ export var AdapterMomentJalaali = /*#__PURE__*/function (_AdapterMoment) {
280
283
  return years;
281
284
  };
282
285
  _this.getMeridiemText = function (ampm) {
283
- return ampm === 'am' ? _this.toJMoment().hours(2).format('A') : _this.toJMoment().hours(14).format('A');
286
+ return ampm === 'am' ? _this.date().hours(2).format('A') : _this.date().hours(14).format('A');
284
287
  };
285
288
  _this.moment = instance || defaultJMoment;
286
289
  _this.locale = 'fa';
@@ -15,7 +15,7 @@ import { MonthCalendar } from '../MonthCalendar';
15
15
  import { YearCalendar } from '../YearCalendar';
16
16
  import { useViews } from '../internals/hooks/useViews';
17
17
  import { PickersCalendarHeader } from './PickersCalendarHeader';
18
- import { findClosestEnabledDate, applyDefaultDate } from '../internals/utils/date-utils';
18
+ import { findClosestEnabledDate, applyDefaultDate, mergeDateAndTime } from '../internals/utils/date-utils';
19
19
  import { PickerViewRoot } from '../internals/components/PickerViewRoot';
20
20
  import { defaultReduceAnimations } from '../internals/utils/defaultReduceAnimations';
21
21
  import { getDateCalendarUtilityClass } from './dateCalendarClasses';
@@ -213,7 +213,7 @@ export var DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(in
213
213
  var handleSelectedDayChange = useEventCallback(function (day) {
214
214
  if (value && day) {
215
215
  // If there is a date already selected, then we want to keep its time
216
- return setValueAndGoToNextView(utils.mergeDateAndTime(day, value), 'finish');
216
+ return setValueAndGoToNextView(mergeDateAndTime(utils, day, value), 'finish');
217
217
  }
218
218
  return setValueAndGoToNextView(day, 'finish');
219
219
  });
@@ -239,6 +239,7 @@ export function DayCalendar(inProps) {
239
239
  });
240
240
  var classes = useUtilityClasses(props);
241
241
  var theme = useTheme();
242
+ var isRTL = theme.direction === 'rtl';
242
243
  var onFocusedDayChange = props.onFocusedDayChange,
243
244
  className = props.className,
244
245
  currentMonth = props.currentMonth,
@@ -323,13 +324,13 @@ export function DayCalendar(inProps) {
323
324
  break;
324
325
  case 'ArrowLeft':
325
326
  {
326
- var newFocusedDayDefault = utils.addDays(day, theme.direction === 'ltr' ? -1 : 1);
327
- var nextAvailableMonth = theme.direction === 'ltr' ? utils.getPreviousMonth(day) : utils.getNextMonth(day);
327
+ var newFocusedDayDefault = utils.addDays(day, isRTL ? 1 : -1);
328
+ var nextAvailableMonth = utils.addMonths(day, isRTL ? 1 : -1);
328
329
  var closestDayToFocus = findClosestEnabledDate({
329
330
  utils: utils,
330
331
  date: newFocusedDayDefault,
331
- minDate: theme.direction === 'ltr' ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,
332
- maxDate: theme.direction === 'ltr' ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),
332
+ minDate: isRTL ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),
333
+ maxDate: isRTL ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,
333
334
  isDateDisabled: isDateDisabled
334
335
  });
335
336
  focusDay(closestDayToFocus || newFocusedDayDefault);
@@ -338,13 +339,13 @@ export function DayCalendar(inProps) {
338
339
  }
339
340
  case 'ArrowRight':
340
341
  {
341
- var _newFocusedDayDefault = utils.addDays(day, theme.direction === 'ltr' ? 1 : -1);
342
- var _nextAvailableMonth = theme.direction === 'ltr' ? utils.getNextMonth(day) : utils.getPreviousMonth(day);
342
+ var _newFocusedDayDefault = utils.addDays(day, isRTL ? -1 : 1);
343
+ var _nextAvailableMonth = utils.addMonths(day, isRTL ? -1 : 1);
343
344
  var _closestDayToFocus = findClosestEnabledDate({
344
345
  utils: utils,
345
346
  date: _newFocusedDayDefault,
346
- minDate: theme.direction === 'ltr' ? _newFocusedDayDefault : utils.startOfMonth(_nextAvailableMonth),
347
- maxDate: theme.direction === 'ltr' ? utils.endOfMonth(_nextAvailableMonth) : _newFocusedDayDefault,
347
+ minDate: isRTL ? utils.startOfMonth(_nextAvailableMonth) : _newFocusedDayDefault,
348
+ maxDate: isRTL ? _newFocusedDayDefault : utils.endOfMonth(_nextAvailableMonth),
348
349
  isDateDisabled: isDateDisabled
349
350
  });
350
351
  focusDay(_closestDayToFocus || _newFocusedDayDefault);
@@ -360,11 +361,11 @@ export function DayCalendar(inProps) {
360
361
  event.preventDefault();
361
362
  break;
362
363
  case 'PageUp':
363
- focusDay(utils.getNextMonth(day));
364
+ focusDay(utils.addMonths(day, 1));
364
365
  event.preventDefault();
365
366
  break;
366
367
  case 'PageDown':
367
- focusDay(utils.getPreviousMonth(day));
368
+ focusDay(utils.addMonths(day, -1));
368
369
  event.preventDefault();
369
370
  break;
370
371
  default:
@@ -151,10 +151,10 @@ export function PickersCalendarHeader(inProps) {
151
151
  switchViewIconOwnerState = _useSlotProps.ownerState,
152
152
  switchViewIconProps = _objectWithoutProperties(_useSlotProps, _excluded);
153
153
  var selectNextMonth = function selectNextMonth() {
154
- return onMonthChange(utils.getNextMonth(month), 'left');
154
+ return onMonthChange(utils.addMonths(month, 1), 'left');
155
155
  };
156
156
  var selectPreviousMonth = function selectPreviousMonth() {
157
- return onMonthChange(utils.getPreviousMonth(month), 'right');
157
+ return onMonthChange(utils.addMonths(month, -1), 'right');
158
158
  };
159
159
  var isNextMonthDisabled = useNextMonthDisabled(month, {
160
160
  disableFuture: disableFuture,
@@ -1,11 +1,10 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
2
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
3
  import { useField } from '../internals/hooks/useField';
6
4
  import { validateDate } from '../internals/utils/validation/validateDate';
7
5
  import { applyDefaultDate } from '../internals/utils/date-utils';
8
6
  import { useUtils, useDefaultDates } from '../internals/hooks/useUtils';
7
+ import { splitFieldInternalAndForwardedProps } from '../internals/utils/fields';
9
8
  var useDefaultizedDateField = function useDefaultizedDateField(props) {
10
9
  var _props$disablePast, _props$disableFuture, _props$format;
11
10
  var utils = useUtils();
@@ -19,51 +18,16 @@ var useDefaultizedDateField = function useDefaultizedDateField(props) {
19
18
  });
20
19
  };
21
20
  export var useDateField = function useDateField(_ref) {
22
- var props = _ref.props,
21
+ var inProps = _ref.props,
23
22
  inputRef = _ref.inputRef;
24
- var _useDefaultizedDateFi = useDefaultizedDateField(props),
25
- value = _useDefaultizedDateFi.value,
26
- defaultValue = _useDefaultizedDateFi.defaultValue,
27
- format = _useDefaultizedDateFi.format,
28
- formatDensity = _useDefaultizedDateFi.formatDensity,
29
- shouldRespectLeadingZeros = _useDefaultizedDateFi.shouldRespectLeadingZeros,
30
- onChange = _useDefaultizedDateFi.onChange,
31
- readOnly = _useDefaultizedDateFi.readOnly,
32
- onError = _useDefaultizedDateFi.onError,
33
- shouldDisableDate = _useDefaultizedDateFi.shouldDisableDate,
34
- shouldDisableMonth = _useDefaultizedDateFi.shouldDisableMonth,
35
- shouldDisableYear = _useDefaultizedDateFi.shouldDisableYear,
36
- minDate = _useDefaultizedDateFi.minDate,
37
- maxDate = _useDefaultizedDateFi.maxDate,
38
- disableFuture = _useDefaultizedDateFi.disableFuture,
39
- disablePast = _useDefaultizedDateFi.disablePast,
40
- selectedSections = _useDefaultizedDateFi.selectedSections,
41
- onSelectedSectionsChange = _useDefaultizedDateFi.onSelectedSectionsChange,
42
- unstableFieldRef = _useDefaultizedDateFi.unstableFieldRef,
43
- other = _objectWithoutProperties(_useDefaultizedDateFi, _excluded);
23
+ var props = useDefaultizedDateField(inProps);
24
+ var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'date'),
25
+ forwardedProps = _splitFieldInternalAn.forwardedProps,
26
+ internalProps = _splitFieldInternalAn.internalProps;
44
27
  return useField({
45
28
  inputRef: inputRef,
46
- forwardedProps: other,
47
- internalProps: {
48
- value: value,
49
- defaultValue: defaultValue,
50
- format: format,
51
- formatDensity: formatDensity,
52
- shouldRespectLeadingZeros: shouldRespectLeadingZeros,
53
- onChange: onChange,
54
- readOnly: readOnly,
55
- onError: onError,
56
- shouldDisableDate: shouldDisableDate,
57
- shouldDisableMonth: shouldDisableMonth,
58
- shouldDisableYear: shouldDisableYear,
59
- minDate: minDate,
60
- maxDate: maxDate,
61
- disableFuture: disableFuture,
62
- disablePast: disablePast,
63
- selectedSections: selectedSections,
64
- onSelectedSectionsChange: onSelectedSectionsChange,
65
- unstableFieldRef: unstableFieldRef
66
- },
29
+ forwardedProps: forwardedProps,
30
+ internalProps: internalProps,
67
31
  valueManager: singleItemValueManager,
68
32
  fieldValueManager: singleItemFieldValueManager,
69
33
  validator: validateDate,