@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
@@ -216,6 +216,7 @@ export function DayCalendar(inProps) {
216
216
  });
217
217
  const classes = useUtilityClasses(props);
218
218
  const theme = useTheme();
219
+ const isRTL = theme.direction === 'rtl';
219
220
  const {
220
221
  onFocusedDayChange,
221
222
  className,
@@ -290,13 +291,13 @@ export function DayCalendar(inProps) {
290
291
  break;
291
292
  case 'ArrowLeft':
292
293
  {
293
- const newFocusedDayDefault = utils.addDays(day, theme.direction === 'ltr' ? -1 : 1);
294
- const nextAvailableMonth = theme.direction === 'ltr' ? utils.getPreviousMonth(day) : utils.getNextMonth(day);
294
+ const newFocusedDayDefault = utils.addDays(day, isRTL ? 1 : -1);
295
+ const nextAvailableMonth = utils.addMonths(day, isRTL ? 1 : -1);
295
296
  const closestDayToFocus = findClosestEnabledDate({
296
297
  utils,
297
298
  date: newFocusedDayDefault,
298
- minDate: theme.direction === 'ltr' ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,
299
- maxDate: theme.direction === 'ltr' ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),
299
+ minDate: isRTL ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),
300
+ maxDate: isRTL ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,
300
301
  isDateDisabled
301
302
  });
302
303
  focusDay(closestDayToFocus || newFocusedDayDefault);
@@ -305,13 +306,13 @@ export function DayCalendar(inProps) {
305
306
  }
306
307
  case 'ArrowRight':
307
308
  {
308
- const newFocusedDayDefault = utils.addDays(day, theme.direction === 'ltr' ? 1 : -1);
309
- const nextAvailableMonth = theme.direction === 'ltr' ? utils.getNextMonth(day) : utils.getPreviousMonth(day);
309
+ const newFocusedDayDefault = utils.addDays(day, isRTL ? -1 : 1);
310
+ const nextAvailableMonth = utils.addMonths(day, isRTL ? -1 : 1);
310
311
  const closestDayToFocus = findClosestEnabledDate({
311
312
  utils,
312
313
  date: newFocusedDayDefault,
313
- minDate: theme.direction === 'ltr' ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),
314
- maxDate: theme.direction === 'ltr' ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,
314
+ minDate: isRTL ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,
315
+ maxDate: isRTL ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),
315
316
  isDateDisabled
316
317
  });
317
318
  focusDay(closestDayToFocus || newFocusedDayDefault);
@@ -327,11 +328,11 @@ export function DayCalendar(inProps) {
327
328
  event.preventDefault();
328
329
  break;
329
330
  case 'PageUp':
330
- focusDay(utils.getNextMonth(day));
331
+ focusDay(utils.addMonths(day, 1));
331
332
  event.preventDefault();
332
333
  break;
333
334
  case 'PageDown':
334
- focusDay(utils.getPreviousMonth(day));
335
+ focusDay(utils.addMonths(day, -1));
335
336
  event.preventDefault();
336
337
  break;
337
338
  default:
@@ -141,8 +141,8 @@ export function PickersCalendarHeader(inProps) {
141
141
  className: classes.switchViewIcon
142
142
  }),
143
143
  switchViewIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded);
144
- const selectNextMonth = () => onMonthChange(utils.getNextMonth(month), 'left');
145
- const selectPreviousMonth = () => onMonthChange(utils.getPreviousMonth(month), 'right');
144
+ const selectNextMonth = () => onMonthChange(utils.addMonths(month, 1), 'left');
145
+ const selectPreviousMonth = () => onMonthChange(utils.addMonths(month, -1), 'right');
146
146
  const isNextMonthDisabled = useNextMonthDisabled(month, {
147
147
  disableFuture,
148
148
  maxDate
@@ -22,7 +22,7 @@ interface ChangeFocusedDayPayload<TDate> {
22
22
  */
23
23
  withoutMonthSwitchingAnimation?: boolean;
24
24
  }
25
- export declare const createCalendarStateReducer: <TDate extends unknown>(reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter<TDate>) => (state: CalendarState<TDate>, action: {
25
+ export declare const createCalendarStateReducer: <TDate extends unknown>(reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter<TDate, any>) => (state: CalendarState<TDate>, action: {
26
26
  type: "finishMonthSwitchingAnimation";
27
27
  } | ReducerAction<"changeMonth", ChangeMonthPayload<TDate>> | ReducerAction<"changeFocusedDay", ChangeFocusedDayPayload<TDate>>) => CalendarState<TDate>;
28
28
  interface CalendarStateInput<TDate> extends Pick<DateCalendarDefaultizedProps<TDate>, 'value' | 'defaultCalendarMonth' | 'disableFuture' | 'disablePast' | 'minDate' | 'maxDate' | 'onMonthChange' | 'reduceAnimations' | 'shouldDisableDate'> {
@@ -13,7 +13,7 @@ export interface UseDateFieldParams<TDate, TChildProps extends {}> {
13
13
  }
14
14
  export interface UseDateFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<TDate | null, FieldSection, DateValidationError>, 'format'>, DayValidationProps<TDate>, MonthValidationProps<TDate>, YearValidationProps<TDate>, BaseDateValidationProps<TDate> {
15
15
  }
16
- export type UseDateFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateFieldProps<TDate>, keyof BaseDateValidationProps<TDate> | 'format'>;
16
+ export type UseDateFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateFieldProps<TDate>, keyof BaseDateValidationProps<any> | 'format'>;
17
17
  export type UseDateFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseDateFieldProps<TDate>> & UseDateFieldProps<TDate>;
18
18
  export interface DateFieldProps<TDate> extends UseDateFieldComponentProps<TDate, FieldsTextFieldProps>, SlotsAndSlotProps<DateFieldSlotsComponent, DateFieldSlotsComponentsProps<TDate>> {
19
19
  }
@@ -1,3 +1,3 @@
1
1
  export { DateField } from './DateField';
2
2
  export { useDateField as unstable_useDateField } from './useDateField';
3
- export type { UseDateFieldProps, UseDateFieldComponentProps, DateFieldProps, } from './DateField.types';
3
+ export type { UseDateFieldProps, UseDateFieldComponentProps, DateFieldProps, UseDateFieldDefaultizedProps, } from './DateField.types';
@@ -1,2 +1,2 @@
1
1
  import { UseDateFieldProps, UseDateFieldParams } from './DateField.types';
2
- export declare const useDateField: <TDate, TChildProps extends {}>({ props, inputRef, }: UseDateFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps, keyof UseDateFieldProps<TDate>>>;
2
+ export declare const useDateField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseDateFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>> & Required<Pick<UseDateFieldProps<TDate>, "format" | keyof import("../internals").BaseDateValidationProps<any>>>, keyof UseDateFieldProps<TDate>>>;
@@ -1,11 +1,10 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _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
  const useDefaultizedDateField = props => {
10
9
  var _props$disablePast, _props$disableFuture, _props$format;
11
10
  const utils = useUtils();
@@ -19,54 +18,18 @@ const useDefaultizedDateField = props => {
19
18
  });
20
19
  };
21
20
  export const useDateField = ({
22
- props,
21
+ props: inProps,
23
22
  inputRef
24
23
  }) => {
25
- const _useDefaultizedDateFi = useDefaultizedDateField(props),
26
- {
27
- value,
28
- defaultValue,
29
- format,
30
- formatDensity,
31
- shouldRespectLeadingZeros,
32
- onChange,
33
- readOnly,
34
- onError,
35
- shouldDisableDate,
36
- shouldDisableMonth,
37
- shouldDisableYear,
38
- minDate,
39
- maxDate,
40
- disableFuture,
41
- disablePast,
42
- selectedSections,
43
- onSelectedSectionsChange,
44
- unstableFieldRef
45
- } = _useDefaultizedDateFi,
46
- other = _objectWithoutPropertiesLoose(_useDefaultizedDateFi, _excluded);
24
+ const props = useDefaultizedDateField(inProps);
25
+ const {
26
+ forwardedProps,
27
+ internalProps
28
+ } = splitFieldInternalAndForwardedProps(props, 'date');
47
29
  return useField({
48
30
  inputRef,
49
- forwardedProps: other,
50
- internalProps: {
51
- value,
52
- defaultValue,
53
- format,
54
- formatDensity,
55
- shouldRespectLeadingZeros,
56
- onChange,
57
- readOnly,
58
- onError,
59
- shouldDisableDate,
60
- shouldDisableMonth,
61
- shouldDisableYear,
62
- minDate,
63
- maxDate,
64
- disableFuture,
65
- disablePast,
66
- selectedSections,
67
- onSelectedSectionsChange,
68
- unstableFieldRef
69
- },
31
+ forwardedProps,
32
+ internalProps,
70
33
  valueManager: singleItemValueManager,
71
34
  fieldValueManager: singleItemFieldValueManager,
72
35
  validator: validateDate,
@@ -52,6 +52,6 @@ type UseDatePickerDefaultizedProps<TDate, Props extends BaseDatePickerProps<TDat
52
52
  export declare const getDatePickerFieldFormat: (utils: MuiPickersAdapter<any>, { format, views }: {
53
53
  format?: string | undefined;
54
54
  views: readonly DateView[];
55
- }) => any;
55
+ }) => string | undefined;
56
56
  export declare function useDatePickerDefaultizedProps<TDate, Props extends BaseDatePickerProps<TDate>>(props: Props, name: string): UseDatePickerDefaultizedProps<TDate, Props>;
57
57
  export {};
@@ -18,7 +18,7 @@ export interface UseDateTimeFieldProps<TDate> extends MakeOptional<UseFieldInter
18
18
  */
19
19
  ampm?: boolean;
20
20
  }
21
- export type UseDateTimeFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateTimeFieldProps<TDate>, keyof BaseDateValidationProps<TDate> | keyof BaseTimeValidationProps | 'format'>;
21
+ export type UseDateTimeFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateTimeFieldProps<TDate>, keyof BaseDateValidationProps<any> | keyof BaseTimeValidationProps | 'format'>;
22
22
  export type UseDateTimeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseDateTimeFieldProps<TDate>> & UseDateTimeFieldProps<TDate>;
23
23
  export interface DateTimeFieldProps<TDate> extends UseDateTimeFieldComponentProps<TDate, FieldsTextFieldProps> {
24
24
  /**
@@ -1,3 +1,3 @@
1
1
  export { DateTimeField } from './DateTimeField';
2
2
  export { useDateTimeField as unstable_useDateTimeField } from './useDateTimeField';
3
- export type { UseDateTimeFieldProps, UseDateTimeFieldComponentProps, DateTimeFieldProps, } from './DateTimeField.types';
3
+ export type { UseDateTimeFieldProps, UseDateTimeFieldComponentProps, DateTimeFieldProps, UseDateTimeFieldDefaultizedProps, } from './DateTimeField.types';
@@ -1,2 +1,2 @@
1
1
  import { UseDateTimeFieldProps, UseDateTimeFieldParams } from './DateTimeField.types';
2
- export declare const useDateTimeField: <TDate, TChildProps extends {}>({ props, inputRef, }: UseDateTimeFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps, keyof UseDateTimeFieldProps<TDate>>>;
2
+ export declare const useDateTimeField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseDateTimeFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate"> & Required<Pick<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate">>, keyof UseDateTimeFieldProps<any>>>;
@@ -1,11 +1,10 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "disableIgnoringDatePartForTimeValidation", "shouldDisableClock", "shouldDisableTime", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
4
2
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
3
  import { useField } from '../internals/hooks/useField';
6
4
  import { validateDateTime } from '../internals/utils/validation/validateDateTime';
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
  const useDefaultizedDateTimeField = props => {
10
9
  var _props$ampm, _props$disablePast, _props$disableFuture, _props$format, _props$minDateTime, _props$maxDateTime, _props$minDateTime2, _props$maxDateTime2;
11
10
  const utils = useUtils();
@@ -24,68 +23,18 @@ const useDefaultizedDateTimeField = props => {
24
23
  });
25
24
  };
26
25
  export const useDateTimeField = ({
27
- props,
26
+ props: inProps,
28
27
  inputRef
29
28
  }) => {
30
- const _useDefaultizedDateTi = useDefaultizedDateTimeField(props),
31
- {
32
- value,
33
- defaultValue,
34
- format,
35
- formatDensity,
36
- shouldRespectLeadingZeros,
37
- onChange,
38
- readOnly,
39
- onError,
40
- shouldDisableDate,
41
- shouldDisableMonth,
42
- shouldDisableYear,
43
- minDate,
44
- maxDate,
45
- disableFuture,
46
- disablePast,
47
- minTime,
48
- maxTime,
49
- minutesStep,
50
- disableIgnoringDatePartForTimeValidation,
51
- shouldDisableClock,
52
- shouldDisableTime,
53
- selectedSections,
54
- onSelectedSectionsChange,
55
- ampm,
56
- unstableFieldRef
57
- } = _useDefaultizedDateTi,
58
- other = _objectWithoutPropertiesLoose(_useDefaultizedDateTi, _excluded);
29
+ const props = useDefaultizedDateTimeField(inProps);
30
+ const {
31
+ forwardedProps,
32
+ internalProps
33
+ } = splitFieldInternalAndForwardedProps(props, 'date-time');
59
34
  return useField({
60
35
  inputRef,
61
- forwardedProps: other,
62
- internalProps: {
63
- value,
64
- defaultValue,
65
- format,
66
- formatDensity,
67
- shouldRespectLeadingZeros,
68
- onChange,
69
- readOnly,
70
- onError,
71
- shouldDisableDate,
72
- shouldDisableMonth,
73
- shouldDisableYear,
74
- minDate,
75
- maxDate,
76
- disableFuture,
77
- disablePast,
78
- minTime,
79
- maxTime,
80
- minutesStep,
81
- shouldDisableClock,
82
- shouldDisableTime,
83
- disableIgnoringDatePartForTimeValidation,
84
- selectedSections,
85
- onSelectedSectionsChange,
86
- ampm,
87
- unstableFieldRef
88
- },
36
+ forwardedProps,
37
+ internalProps,
89
38
  valueManager: singleItemValueManager,
90
39
  fieldValueManager: singleItemFieldValueManager,
91
40
  validator: validateDateTime,
@@ -39,8 +39,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
39
39
  field: ownerState => {
40
40
  var _defaultizedProps$slo;
41
41
  return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
42
- ref,
43
- ampm: defaultizedProps.ampm
42
+ ref
44
43
  });
45
44
  },
46
45
  toolbar: _extends({
@@ -52,8 +52,7 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
52
52
  field: ownerState => {
53
53
  var _defaultizedProps$slo;
54
54
  return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
55
- ref,
56
- ampm: defaultizedProps.ampm
55
+ ref
57
56
  });
58
57
  },
59
58
  toolbar: _extends({
@@ -13,13 +13,13 @@ export type MuiPickersAdapterContextNullableValue<TDate> = {
13
13
  [K in keyof MuiPickersAdapterContextValue<TDate>]: MuiPickersAdapterContextValue<TDate>[K] | null;
14
14
  };
15
15
  export declare const MuiPickersAdapterContext: React.Context<MuiPickersAdapterContextNullableValue<any> | null>;
16
- export interface LocalizationProviderProps<TDate> {
16
+ export interface LocalizationProviderProps<TDate, TLocale> {
17
17
  children?: React.ReactNode;
18
18
  /**
19
19
  * Date library adapter class function.
20
20
  * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
21
21
  */
22
- dateAdapter?: new (...args: any) => MuiPickersAdapter<TDate>;
22
+ dateAdapter?: new (...args: any) => MuiPickersAdapter<TDate, TLocale>;
23
23
  /** Formats that are used for any child pickers */
24
24
  dateFormats?: Partial<AdapterFormats>;
25
25
  /**
@@ -29,18 +29,20 @@ export interface LocalizationProviderProps<TDate> {
29
29
  * ```
30
30
  */
31
31
  dateLibInstance?: any;
32
- /** Locale for the date library you are using
32
+ /**
33
+ * Locale for the date library you are using
33
34
  */
34
- adapterLocale?: string | object;
35
+ adapterLocale?: TLocale;
35
36
  /**
36
37
  * Locale for components texts
37
38
  */
38
39
  localeText?: PickersInputLocaleText<TDate>;
39
40
  }
41
+ type LocalizationProviderComponent = (<TDate, TLocale>(props: LocalizationProviderProps<TDate, TLocale>) => JSX.Element) & {
42
+ propTypes?: any;
43
+ };
40
44
  /**
41
45
  * @ignore - do not document.
42
46
  */
43
- export declare function LocalizationProvider<TDate>(inProps: LocalizationProviderProps<TDate>): JSX.Element;
44
- export declare namespace LocalizationProvider {
45
- var propTypes: any;
46
- }
47
+ export declare const LocalizationProvider: LocalizationProviderComponent;
48
+ export {};
@@ -12,7 +12,7 @@ if (process.env.NODE_ENV !== 'production') {
12
12
  /**
13
13
  * @ignore - do not document.
14
14
  */
15
- export function LocalizationProvider(inProps) {
15
+ export const LocalizationProvider = function LocalizationProvider(inProps) {
16
16
  var _React$useContext;
17
17
  const {
18
18
  localeText: inLocaleText
@@ -77,7 +77,7 @@ export function LocalizationProvider(inProps) {
77
77
  value: contextValue,
78
78
  children: children
79
79
  });
80
- }
80
+ };
81
81
  process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
82
82
  // ----------------------------- Warning --------------------------------
83
83
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -86,7 +86,7 @@ process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
86
86
  /**
87
87
  * Locale for the date library you are using
88
88
  */
89
- adapterLocale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
89
+ adapterLocale: PropTypes.any,
90
90
  children: PropTypes.node,
91
91
  /**
92
92
  * Date library adapter class function.
@@ -37,8 +37,7 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
37
37
  field: ownerState => {
38
38
  var _defaultizedProps$slo;
39
39
  return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
40
- ref,
41
- ampm: defaultizedProps.ampm
40
+ ref
42
41
  });
43
42
  },
44
43
  toolbar: _extends({
@@ -33,8 +33,7 @@ const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker
33
33
  field: ownerState => {
34
34
  var _defaultizedProps$slo;
35
35
  return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
36
- ref,
37
- ampm: defaultizedProps.ampm
36
+ ref
38
37
  });
39
38
  },
40
39
  toolbar: _extends({
@@ -10,7 +10,7 @@ import { unstable_useControlled as useControlled, unstable_composeClasses as com
10
10
  import { PickersMonth } from './PickersMonth';
11
11
  import { useUtils, useNow, useDefaultDates } from '../internals/hooks/useUtils';
12
12
  import { getMonthCalendarUtilityClass } from './monthCalendarClasses';
13
- import { applyDefaultDate } from '../internals/utils/date-utils';
13
+ import { applyDefaultDate, getMonthsInYear } from '../internals/utils/date-utils';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
@@ -175,7 +175,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
175
175
  className: clsx(classes.root, className),
176
176
  ownerState: ownerState
177
177
  }, other, {
178
- children: utils.getMonthArray(selectedDateOrStartOfMonth).map(month => {
178
+ children: getMonthsInYear(utils, selectedDateOrStartOfMonth).map(month => {
179
179
  const monthNumber = utils.getMonth(month);
180
180
  const monthText = utils.format(month, 'monthShort');
181
181
  const isSelected = monthNumber === selectedMonth;
@@ -1,3 +1,3 @@
1
1
  export { TimeField } from './TimeField';
2
2
  export { useTimeField as unstable_useTimeField } from './useTimeField';
3
- export type { UseTimeFieldProps, UseTimeFieldComponentProps, TimeFieldProps, } from './TimeField.types';
3
+ export type { UseTimeFieldProps, UseTimeFieldComponentProps, TimeFieldProps, UseTimeFieldDefaultizedProps, } from './TimeField.types';
@@ -1,2 +1,2 @@
1
1
  import { UseTimeFieldProps, UseTimeFieldParams } from './TimeField.types';
2
- export declare const useTimeField: <TDate, TChildProps extends {}>({ props, inputRef, }: UseTimeFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps, keyof UseTimeFieldProps<TDate>>>;
2
+ export declare const useTimeField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseTimeFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps> & Required<Pick<UseTimeFieldProps<TDate>, "format" | keyof import("../internals").BaseTimeValidationProps>>, keyof UseTimeFieldProps<any>>>;
@@ -1,10 +1,9 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
4
2
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
3
  import { useField } from '../internals/hooks/useField';
6
4
  import { validateTime } from '../internals/utils/validation/validateTime';
7
5
  import { useUtils } from '../internals/hooks/useUtils';
6
+ import { splitFieldInternalAndForwardedProps } from '../internals/utils/fields';
8
7
  const useDefaultizedTimeField = props => {
9
8
  var _props$ampm, _props$disablePast, _props$disableFuture, _props$format;
10
9
  const utils = useUtils();
@@ -17,58 +16,18 @@ const useDefaultizedTimeField = props => {
17
16
  });
18
17
  };
19
18
  export const useTimeField = ({
20
- props,
19
+ props: inProps,
21
20
  inputRef
22
21
  }) => {
23
- const _useDefaultizedTimeFi = useDefaultizedTimeField(props),
24
- {
25
- value,
26
- defaultValue,
27
- format,
28
- formatDensity,
29
- shouldRespectLeadingZeros,
30
- onChange,
31
- readOnly,
32
- onError,
33
- disableFuture,
34
- disablePast,
35
- minTime,
36
- maxTime,
37
- minutesStep,
38
- shouldDisableClock,
39
- shouldDisableTime,
40
- disableIgnoringDatePartForTimeValidation,
41
- selectedSections,
42
- onSelectedSectionsChange,
43
- ampm,
44
- unstableFieldRef
45
- } = _useDefaultizedTimeFi,
46
- other = _objectWithoutPropertiesLoose(_useDefaultizedTimeFi, _excluded);
22
+ const props = useDefaultizedTimeField(inProps);
23
+ const {
24
+ forwardedProps,
25
+ internalProps
26
+ } = splitFieldInternalAndForwardedProps(props, 'time');
47
27
  return useField({
48
28
  inputRef,
49
- forwardedProps: other,
50
- internalProps: {
51
- value,
52
- defaultValue,
53
- format,
54
- formatDensity,
55
- shouldRespectLeadingZeros,
56
- onChange,
57
- readOnly,
58
- onError,
59
- disableFuture,
60
- disablePast,
61
- minTime,
62
- maxTime,
63
- minutesStep,
64
- shouldDisableClock,
65
- shouldDisableTime,
66
- disableIgnoringDatePartForTimeValidation,
67
- selectedSections,
68
- onSelectedSectionsChange,
69
- ampm,
70
- unstableFieldRef
71
- },
29
+ forwardedProps,
30
+ internalProps,
72
31
  valueManager: singleItemValueManager,
73
32
  fieldValueManager: singleItemFieldValueManager,
74
33
  validator: validateTime,
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.3.1
2
+ * @mui/x-date-pickers v6.5.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -69,8 +69,16 @@ export const useField = params => {
69
69
  return;
70
70
  }
71
71
  const browserStartIndex = (_selectionStart = inputRef.current.selectionStart) != null ? _selectionStart : 0;
72
- const nextSectionIndex = browserStartIndex <= state.sections[0].startInInput ? 1 // Special case if browser index is in invisible characters at the beginning.
73
- : state.sections.findIndex(section => section.startInInput - section.startSeparator.length > browserStartIndex);
72
+ let nextSectionIndex;
73
+ if (browserStartIndex <= state.sections[0].startInInput) {
74
+ // Special case if browser index is in invisible characters at the beginning
75
+ nextSectionIndex = 1;
76
+ } else if (browserStartIndex >= state.sections[state.sections.length - 1].endInInput) {
77
+ // If the click is after the last character of the input, then we want to select the 1st section.
78
+ nextSectionIndex = 1;
79
+ } else {
80
+ nextSectionIndex = state.sections.findIndex(section => section.startInInput - section.startSeparator.length > browserStartIndex);
81
+ }
74
82
  const sectionIndex = nextSectionIndex === -1 ? state.sections.length - 1 : nextSectionIndex - 1;
75
83
  setSelectedSections(sectionIndex);
76
84
  };
@@ -1,29 +1,29 @@
1
1
  import { AvailableAdjustKeyCode, FieldSectionsValueBoundaries, SectionOrdering, FieldSectionWithoutPosition, FieldSectionValueBoundaries } from './useField.types';
2
2
  import { FieldSectionType, FieldValueType, FieldSection, MuiPickersAdapter, FieldSectionContentType } from '../../../models';
3
3
  import { PickersLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
4
- export declare const getDateSectionConfigFromFormatToken: <TDate>(utils: MuiPickersAdapter<TDate>, formatToken: string) => Pick<FieldSection, 'type' | 'contentType'> & {
4
+ export declare const getDateSectionConfigFromFormatToken: <TDate>(utils: MuiPickersAdapter<TDate, any>, formatToken: string) => Pick<FieldSection, 'type' | 'contentType'> & {
5
5
  maxLength: number | undefined;
6
6
  };
7
- export declare const getDaysInWeekStr: <TDate>(utils: MuiPickersAdapter<TDate>, format: string) => string[];
8
- export declare const getLetterEditingOptions: <TDate>(utils: MuiPickersAdapter<TDate>, sectionType: FieldSectionType, format: string) => string[];
9
- export declare const cleanLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate>, valueStr: string, size: number) => string;
10
- export declare const cleanDigitSectionValue: <TDate>(utils: MuiPickersAdapter<TDate>, value: number, sectionBoundaries: FieldSectionValueBoundaries<TDate, any>, section: Pick<FieldSection, 'format' | 'type' | 'contentType' | 'hasLeadingZerosInFormat' | 'hasLeadingZerosInInput' | 'maxLength'>) => string;
11
- export declare const adjustSectionValue: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate>, section: TSection, keyCode: AvailableAdjustKeyCode, sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>, activeDate: TDate | null) => string;
7
+ export declare const getDaysInWeekStr: <TDate>(utils: MuiPickersAdapter<TDate, any>, format: string) => string[];
8
+ export declare const getLetterEditingOptions: <TDate>(utils: MuiPickersAdapter<TDate, any>, sectionType: FieldSectionType, format: string) => string[];
9
+ export declare const cleanLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate, any>, valueStr: string, size: number) => string;
10
+ export declare const cleanDigitSectionValue: <TDate>(utils: MuiPickersAdapter<TDate, any>, value: number, sectionBoundaries: FieldSectionValueBoundaries<TDate, any>, section: Pick<FieldSection, 'format' | 'type' | 'contentType' | 'hasLeadingZerosInFormat' | 'hasLeadingZerosInInput' | 'maxLength'>) => string;
11
+ export declare const adjustSectionValue: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate, any>, section: TSection, keyCode: AvailableAdjustKeyCode, sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>, activeDate: TDate | null) => string;
12
12
  export declare const getSectionVisibleValue: (section: FieldSectionWithoutPosition, target: 'input-rtl' | 'input-ltr' | 'non-input') => string;
13
13
  export declare const cleanString: (dirtyString: string) => string;
14
14
  export declare const addPositionPropertiesToSections: <TSection extends FieldSection>(sections: FieldSectionWithoutPosition<TSection>[], isRTL: boolean) => TSection[];
15
- export declare const changeSectionValueFormat: <TDate>(utils: MuiPickersAdapter<TDate>, valueStr: string, currentFormat: string, newFormat: string) => string;
16
- export declare const doesSectionFormatHaveLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate>, contentType: FieldSectionContentType, sectionType: FieldSectionType, format: string) => boolean;
17
- export declare const splitFormatIntoSections: <TDate>(utils: MuiPickersAdapter<TDate>, localeText: PickersLocaleText<TDate>, format: string, date: TDate | null, formatDensity: 'dense' | 'spacious', shouldRespectLeadingZeros: boolean, isRTL: boolean) => FieldSectionWithoutPosition[];
15
+ export declare const changeSectionValueFormat: <TDate>(utils: MuiPickersAdapter<TDate, any>, valueStr: string, currentFormat: string, newFormat: string) => string;
16
+ export declare const doesSectionFormatHaveLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate, any>, contentType: FieldSectionContentType, sectionType: FieldSectionType, format: string) => boolean;
17
+ export declare const splitFormatIntoSections: <TDate>(utils: MuiPickersAdapter<TDate, any>, localeText: PickersLocaleText<TDate>, format: string, date: TDate | null, formatDensity: 'dense' | 'spacious', shouldRespectLeadingZeros: boolean, isRTL: boolean) => FieldSectionWithoutPosition[];
18
18
  /**
19
19
  * Some date libraries like `dayjs` don't support parsing from date with escaped characters.
20
20
  * To make sure that the parsing works, we are building a format and a date without any separator.
21
21
  */
22
- export declare const getDateFromDateSections: <TDate>(utils: MuiPickersAdapter<TDate>, sections: FieldSection[]) => TDate | null;
22
+ export declare const getDateFromDateSections: <TDate>(utils: MuiPickersAdapter<TDate, any>, sections: FieldSection[]) => TDate | null;
23
23
  export declare const createDateStrForInputFromSections: (sections: FieldSection[], isRTL: boolean) => string;
24
- export declare const getSectionsBoundaries: <TDate>(utils: MuiPickersAdapter<TDate>) => FieldSectionsValueBoundaries<TDate>;
24
+ export declare const getSectionsBoundaries: <TDate>(utils: MuiPickersAdapter<TDate, any>) => FieldSectionsValueBoundaries<TDate>;
25
25
  export declare const validateSections: <TSection extends FieldSection>(sections: TSection[], valueType: FieldValueType) => void;
26
- export declare const mergeDateIntoReferenceDate: <TDate>(utils: MuiPickersAdapter<TDate>, dateToTransferFrom: TDate, sections: FieldSectionWithoutPosition[], referenceDate: TDate, shouldLimitToEditedSections: boolean) => TDate;
26
+ export declare const mergeDateIntoReferenceDate: <TDate>(utils: MuiPickersAdapter<TDate, any>, dateToTransferFrom: TDate, sections: FieldSectionWithoutPosition[], referenceDate: TDate, shouldLimitToEditedSections: boolean) => TDate;
27
27
  export declare const isAndroid: () => boolean;
28
- export declare const clampDaySectionIfPossible: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate>, sections: TSection[], sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>) => TSection[] | null;
28
+ export declare const clampDaySectionIfPossible: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate, any>, sections: TSection[], sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>) => TSection[] | null;
29
29
  export declare const getSectionOrder: (sections: FieldSectionWithoutPosition[], isRTL: boolean) => SectionOrdering;
@@ -1,4 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { getMonthsInYear } from '../../utils/date-utils';
2
3
  export const getDateSectionConfigFromFormatToken = (utils, formatToken) => {
3
4
  const config = utils.formatTokenMap[formatToken];
4
5
  if (config == null) {
@@ -47,7 +48,7 @@ export const getLetterEditingOptions = (utils, sectionType, format) => {
47
48
  switch (sectionType) {
48
49
  case 'month':
49
50
  {
50
- return utils.getMonthArray(utils.date()).map(month => utils.formatByString(month, format));
51
+ return getMonthsInYear(utils, utils.date()).map(month => utils.formatByString(month, format));
51
52
  }
52
53
  case 'weekDay':
53
54
  {
@@ -460,7 +461,7 @@ export const getSectionsBoundaries = utils => {
460
461
  const {
461
462
  maxDaysInMonth,
462
463
  longestMonth
463
- } = utils.getMonthArray(today).reduce((acc, month) => {
464
+ } = getMonthsInYear(utils, today).reduce((acc, month) => {
464
465
  const daysInMonth = utils.getDaysInMonth(month);
465
466
  if (daysInMonth > acc.maxDaysInMonth) {
466
467
  return {