@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.
- package/AdapterDateFns/AdapterDateFns.d.ts +3 -7
- package/AdapterDateFns/AdapterDateFns.js +2 -8
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +3 -7
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
- package/AdapterDayjs/AdapterDayjs.d.ts +3 -9
- package/AdapterDayjs/AdapterDayjs.js +2 -3
- package/AdapterLuxon/AdapterLuxon.d.ts +3 -8
- package/AdapterLuxon/AdapterLuxon.js +6 -5
- package/AdapterMoment/AdapterMoment.d.ts +3 -9
- package/AdapterMoment/AdapterMoment.js +2 -2
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +5 -14
- package/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +6 -16
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
- package/CHANGELOG.md +113 -0
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/DayCalendar.js +11 -10
- package/DateCalendar/PickersCalendarHeader.js +2 -2
- package/DateCalendar/useCalendarState.d.ts +1 -1
- package/DateField/DateField.types.d.ts +1 -1
- package/DateField/index.d.ts +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +9 -46
- package/DatePicker/shared.d.ts +1 -1
- package/DateTimeField/DateTimeField.types.d.ts +1 -1
- package/DateTimeField/index.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +9 -60
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/DesktopTimePicker/DesktopTimePicker.js +1 -2
- package/LocalizationProvider/LocalizationProvider.d.ts +10 -8
- package/LocalizationProvider/LocalizationProvider.js +3 -3
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/MobileTimePicker/MobileTimePicker.js +1 -2
- package/MonthCalendar/MonthCalendar.js +2 -2
- package/TimeField/index.d.ts +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +9 -50
- package/index.js +1 -1
- package/internals/hooks/useField/useField.js +10 -2
- package/internals/hooks/useField/useField.utils.d.ts +13 -13
- package/internals/hooks/useField/useField.utils.js +3 -2
- package/internals/hooks/useUtils.d.ts +1 -1
- package/internals/hooks/useViews.js +2 -0
- package/internals/index.d.ts +2 -1
- package/internals/index.js +2 -1
- package/internals/utils/date-utils.d.ts +6 -4
- package/internals/utils/date-utils.js +16 -0
- package/internals/utils/fields.d.ts +5 -0
- package/internals/utils/fields.js +28 -0
- package/internals/utils/time-utils.d.ts +4 -4
- package/internals/utils/validation/extractValidationProps.d.ts +5 -1
- package/internals/utils/validation/extractValidationProps.js +4 -1
- package/legacy/AdapterDateFns/AdapterDateFns.js +2 -8
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
- package/legacy/AdapterDayjs/AdapterDayjs.js +2 -3
- package/legacy/AdapterLuxon/AdapterLuxon.js +6 -5
- package/legacy/AdapterMoment/AdapterMoment.js +2 -2
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
- package/legacy/DateCalendar/DateCalendar.js +2 -2
- package/legacy/DateCalendar/DayCalendar.js +11 -10
- package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
- package/legacy/DateField/useDateField.js +8 -44
- package/legacy/DateTimeField/useDateTimeField.js +8 -60
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +1 -2
- package/legacy/LocalizationProvider/LocalizationProvider.js +3 -3
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/legacy/MobileTimePicker/MobileTimePicker.js +1 -2
- package/legacy/MonthCalendar/MonthCalendar.js +2 -2
- package/legacy/TimeField/useTimeField.js +8 -48
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/useField/useField.js +12 -4
- package/legacy/internals/hooks/useField/useField.utils.js +5 -4
- package/legacy/internals/hooks/useViews.js +2 -0
- package/legacy/internals/index.js +2 -1
- package/legacy/internals/utils/date-utils.js +16 -0
- package/legacy/internals/utils/fields.js +28 -0
- package/legacy/internals/utils/validation/extractValidationProps.js +4 -1
- package/legacy/locales/csCZ.js +3 -3
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/skSK.js +93 -0
- package/legacy/locales/ukUA.js +3 -1
- package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
- package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
- package/legacy/tests/describeGregorianAdapter/index.js +2 -1
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +272 -200
- package/legacy/tests/describeGregorianAdapter/testLocalization.js +34 -0
- package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
- package/legacy/tests/describeHijriAdapter/testCalculations.js +101 -28
- package/legacy/tests/describeHijriAdapter/testLocalization.js +8 -0
- package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
- package/legacy/tests/describeJalaliAdapter/testCalculations.js +157 -24
- package/legacy/tests/describeJalaliAdapter/testLocalization.js +8 -0
- package/legacy/tests/describeValue/describeValue.js +30 -3
- package/legacy/tests/describeValue/testControlledUnControlled.js +27 -21
- package/legacy/tests/describeValue/testPickerActionBar.js +40 -36
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +92 -71
- package/locales/beBY.d.ts +3 -3
- package/locales/caES.d.ts +3 -3
- package/locales/csCZ.d.ts +3 -3
- package/locales/csCZ.js +3 -3
- package/locales/daDK.d.ts +3 -3
- package/locales/deDE.d.ts +3 -3
- package/locales/enUS.d.ts +3 -3
- package/locales/esES.d.ts +3 -3
- package/locales/faIR.d.ts +3 -3
- package/locales/fiFI.d.ts +3 -3
- package/locales/frFR.d.ts +3 -3
- package/locales/heIL.d.ts +3 -3
- package/locales/huHU.d.ts +3 -3
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/isIS.d.ts +3 -3
- package/locales/itIT.d.ts +3 -3
- package/locales/jaJP.d.ts +3 -3
- package/locales/koKR.d.ts +3 -3
- package/locales/kzKZ.d.ts +3 -3
- package/locales/nbNO.d.ts +3 -3
- package/locales/nlNL.d.ts +3 -3
- package/locales/plPL.d.ts +3 -3
- package/locales/ptBR.d.ts +3 -3
- package/locales/ruRU.d.ts +3 -3
- package/locales/skSK.d.ts +53 -0
- package/locales/skSK.js +61 -0
- package/locales/svSE.d.ts +3 -3
- package/locales/trTR.d.ts +3 -3
- package/locales/ukUA.d.ts +3 -3
- package/locales/ukUA.js +1 -1
- package/locales/urPK.d.ts +3 -3
- package/locales/utils/getPickersLocalization.d.ts +3 -3
- package/locales/zhCN.d.ts +3 -3
- package/models/adapters.d.ts +43 -35
- package/modern/AdapterDateFns/AdapterDateFns.js +2 -8
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
- package/modern/AdapterDayjs/AdapterDayjs.js +2 -2
- package/modern/AdapterLuxon/AdapterLuxon.js +6 -5
- package/modern/AdapterMoment/AdapterMoment.js +2 -2
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
- package/modern/DateCalendar/DateCalendar.js +2 -2
- package/modern/DateCalendar/DayCalendar.js +11 -10
- package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
- package/modern/DateField/useDateField.js +9 -46
- package/modern/DateTimeField/useDateTimeField.js +9 -60
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -2
- package/modern/LocalizationProvider/LocalizationProvider.js +3 -3
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -2
- package/modern/MonthCalendar/MonthCalendar.js +2 -2
- package/modern/TimeField/useTimeField.js +9 -50
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useField/useField.js +10 -2
- package/modern/internals/hooks/useField/useField.utils.js +3 -2
- package/modern/internals/hooks/useViews.js +2 -0
- package/modern/internals/index.js +2 -1
- package/modern/internals/utils/date-utils.js +16 -0
- package/modern/internals/utils/fields.js +28 -0
- package/modern/internals/utils/validation/extractValidationProps.js +4 -1
- package/modern/locales/csCZ.js +3 -3
- package/modern/locales/index.js +1 -0
- package/modern/locales/skSK.js +58 -0
- package/modern/locales/ukUA.js +1 -1
- package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
- package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
- package/modern/tests/describeGregorianAdapter/index.js +2 -1
- package/modern/tests/describeGregorianAdapter/testCalculations.js +272 -198
- package/modern/tests/describeGregorianAdapter/testLocalization.js +34 -0
- package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
- package/modern/tests/describeHijriAdapter/testCalculations.js +101 -28
- package/modern/tests/describeHijriAdapter/testLocalization.js +8 -0
- package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
- package/modern/tests/describeJalaliAdapter/testCalculations.js +157 -24
- package/modern/tests/describeJalaliAdapter/testLocalization.js +8 -0
- package/modern/tests/describeValue/describeValue.js +29 -3
- package/modern/tests/describeValue/testControlledUnControlled.js +23 -15
- package/modern/tests/describeValue/testPickerActionBar.js +21 -14
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
- package/node/AdapterDateFns/AdapterDateFns.js +2 -8
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -8
- package/node/AdapterDayjs/AdapterDayjs.js +2 -2
- package/node/AdapterLuxon/AdapterLuxon.js +6 -5
- package/node/AdapterMoment/AdapterMoment.js +2 -2
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +4 -10
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +15 -12
- package/node/DateCalendar/DateCalendar.js +1 -1
- package/node/DateCalendar/DayCalendar.js +11 -10
- package/node/DateCalendar/PickersCalendarHeader.js +2 -2
- package/node/DateField/useDateField.js +9 -46
- package/node/DateTimeField/useDateTimeField.js +9 -60
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -2
- package/node/LocalizationProvider/LocalizationProvider.js +5 -5
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/node/MobileTimePicker/MobileTimePicker.js +1 -2
- package/node/MonthCalendar/MonthCalendar.js +1 -1
- package/node/TimeField/useTimeField.js +9 -50
- package/node/index.js +1 -1
- package/node/internals/hooks/useField/useField.js +10 -2
- package/node/internals/hooks/useField/useField.utils.js +3 -2
- package/node/internals/hooks/useViews.js +2 -0
- package/node/internals/index.js +13 -0
- package/node/internals/utils/date-utils.js +20 -2
- package/node/internals/utils/fields.js +36 -0
- package/node/internals/utils/validation/extractValidationProps.js +8 -2
- package/node/locales/csCZ.js +3 -3
- package/node/locales/index.js +11 -0
- package/node/locales/skSK.js +65 -0
- package/node/locales/ukUA.js +1 -1
- package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -9
- package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +10 -0
- package/node/tests/describeGregorianAdapter/index.js +4 -3
- package/node/tests/describeGregorianAdapter/testCalculations.js +272 -198
- package/node/tests/describeGregorianAdapter/testLocalization.js +35 -0
- package/node/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
- package/node/tests/describeHijriAdapter/testCalculations.js +100 -27
- package/node/tests/describeHijriAdapter/testLocalization.js +8 -0
- package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
- package/node/tests/describeJalaliAdapter/testCalculations.js +156 -23
- package/node/tests/describeJalaliAdapter/testLocalization.js +8 -0
- package/node/tests/describeValue/describeValue.js +29 -3
- package/node/tests/describeValue/testControlledUnControlled.js +23 -15
- package/node/tests/describeValue/testPickerActionBar.js +21 -14
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
- package/package.json +2 -2
- package/tests/describeGregorianAdapter/describeGregorianAdapter.js +2 -7
- package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +2 -0
- package/tests/describeGregorianAdapter/index.js +2 -1
- package/tests/describeGregorianAdapter/testCalculations.js +272 -198
- package/tests/describeGregorianAdapter/testLocalization.js +34 -0
- package/tests/describeHijriAdapter/describeHijriAdapter.js +1 -3
- package/tests/describeHijriAdapter/testCalculations.js +101 -28
- package/tests/describeHijriAdapter/testLocalization.js +8 -0
- package/tests/describeJalaliAdapter/describeJalaliAdapter.js +2 -6
- package/tests/describeJalaliAdapter/testCalculations.js +157 -24
- package/tests/describeJalaliAdapter/testLocalization.js +8 -0
- package/tests/describeValue/describeValue.js +29 -3
- package/tests/describeValue/testControlledUnControlled.js +23 -15
- package/tests/describeValue/testPickerActionBar.js +21 -14
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +79 -51
- 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);
|
package/internals/index.d.ts
CHANGED
|
@@ -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';
|
package/internals/index.js
CHANGED
|
@@ -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" | "
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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:
|
|
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.
|
|
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 =
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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(
|
|
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,
|
|
327
|
-
var nextAvailableMonth =
|
|
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:
|
|
332
|
-
maxDate:
|
|
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,
|
|
342
|
-
var _nextAvailableMonth =
|
|
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:
|
|
347
|
-
maxDate:
|
|
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.
|
|
364
|
+
focusDay(utils.addMonths(day, 1));
|
|
364
365
|
event.preventDefault();
|
|
365
366
|
break;
|
|
366
367
|
case 'PageDown':
|
|
367
|
-
focusDay(utils.
|
|
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.
|
|
154
|
+
return onMonthChange(utils.addMonths(month, 1), 'left');
|
|
155
155
|
};
|
|
156
156
|
var selectPreviousMonth = function selectPreviousMonth() {
|
|
157
|
-
return onMonthChange(utils.
|
|
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
|
|
21
|
+
var inProps = _ref.props,
|
|
23
22
|
inputRef = _ref.inputRef;
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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:
|
|
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,
|