@mui/x-date-pickers 6.5.0 → 6.7.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 +6 -0
- package/AdapterDateFns/AdapterDateFns.js +38 -19
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
- package/AdapterDayjs/AdapterDayjs.d.ts +14 -1
- package/AdapterDayjs/AdapterDayjs.js +143 -25
- package/AdapterLuxon/AdapterLuxon.d.ts +7 -1
- package/AdapterLuxon/AdapterLuxon.js +78 -28
- package/AdapterMoment/AdapterMoment.d.ts +12 -1
- package/AdapterMoment/AdapterMoment.js +103 -13
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +4 -0
- package/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +4 -0
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
- package/CHANGELOG.md +150 -2
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/DayCalendar.d.ts +1 -1
- package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
- package/DateCalendar/PickersCalendarHeader.js +2 -2
- package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
- package/DateCalendar/PickersSlideTransition.d.ts +1 -1
- package/DateField/DateField.js +6 -0
- package/DateField/DateField.types.d.ts +1 -1
- package/DatePicker/DatePickerToolbar.js +6 -15
- package/DatePicker/shared.d.ts +1 -5
- package/DatePicker/shared.js +1 -16
- package/DateTimeField/DateTimeField.js +6 -0
- package/DateTimeField/DateTimeField.types.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.js +19 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +4 -3
- package/DateTimePicker/DateTimePickerTabs.d.ts +3 -3
- package/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -4
- package/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/DateTimePicker/shared.d.ts +6 -6
- package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +5 -4
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +58 -11
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +10 -3
- package/DesktopTimePicker/DesktopTimePicker.js +7 -3
- package/LocalizationProvider/LocalizationProvider.js +1 -0
- package/MobileDatePicker/MobileDatePicker.js +3 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +8 -7
- package/MobileTimePicker/MobileTimePicker.js +5 -1
- package/MonthCalendar/MonthCalendar.js +2 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/PickersActionBar/PickersActionBar.d.ts +2 -2
- package/PickersLayout/PickersLayout.d.ts +1 -1
- package/PickersShortcuts/PickersShortcuts.d.ts +2 -2
- package/README.md +5 -5
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -1
- package/TimeClock/Clock.d.ts +1 -1
- package/TimeClock/ClockNumber.d.ts +1 -1
- package/TimeClock/ClockNumbers.d.ts +2 -2
- package/TimeClock/ClockPointer.d.ts +1 -1
- package/TimeField/TimeField.js +6 -0
- package/TimeField/TimeField.types.d.ts +1 -1
- package/TimePicker/TimePickerToolbar.d.ts +2 -2
- package/TimePicker/shared.d.ts +1 -1
- package/YearCalendar/YearCalendar.js +2 -2
- package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +13 -0
- package/dateTimeViewRenderers/dateTimeViewRenderers.js +148 -0
- package/dateTimeViewRenderers/index.d.ts +2 -0
- package/dateTimeViewRenderers/index.js +1 -0
- package/dateTimeViewRenderers/package.json +6 -0
- package/dateViewRenderers/dateViewRenderers.d.ts +3 -2
- package/dateViewRenderers/dateViewRenderers.js +2 -2
- package/icons/index.d.ts +42 -0
- package/{internals/components/icons → icons}/index.js +7 -7
- package/icons/package.json +6 -0
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.d.ts +2 -0
- package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/internals/components/DateTimeViewWrapper/index.d.ts +1 -0
- package/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/internals/components/PickersModalDialog.d.ts +1 -1
- package/internals/components/PickersPopper.d.ts +1 -1
- package/internals/components/PickersToolbarButton.d.ts +1 -0
- package/internals/components/PickersToolbarButton.js +8 -3
- package/internals/constants/dimensions.d.ts +1 -0
- package/internals/constants/dimensions.js +2 -1
- package/internals/demo/DemoContainer.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
- package/internals/hooks/useField/useField.d.ts +1 -1
- package/internals/hooks/useField/useField.js +8 -3
- package/internals/hooks/useField/useField.types.d.ts +8 -2
- package/internals/hooks/useField/useFieldState.d.ts +1 -1
- package/internals/hooks/useField/useFieldState.js +22 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -2
- package/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
- package/internals/hooks/useViews.js +10 -9
- package/internals/index.d.ts +2 -1
- package/internals/index.js +2 -1
- package/internals/models/fields.d.ts +1 -1
- package/internals/utils/date-time-utils.d.ts +6 -0
- package/internals/utils/date-time-utils.js +41 -0
- package/internals/utils/date-utils.d.ts +8 -1
- package/internals/utils/date-utils.js +35 -0
- package/internals/utils/fields.js +1 -1
- package/internals/utils/getDefaultReferenceDate.d.ts +15 -0
- package/internals/utils/getDefaultReferenceDate.js +62 -0
- package/internals/utils/time-utils.d.ts +8 -2
- package/internals/utils/time-utils.js +28 -0
- package/internals/utils/validation/extractValidationProps.d.ts +1 -1
- package/internals/utils/valueManagers.js +21 -3
- package/internals/utils/views.d.ts +2 -3
- package/internals/utils/views.js +6 -2
- package/legacy/AdapterDateFns/AdapterDateFns.js +38 -19
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
- package/legacy/AdapterDayjs/AdapterDayjs.js +147 -25
- package/legacy/AdapterLuxon/AdapterLuxon.js +78 -28
- package/legacy/AdapterMoment/AdapterMoment.js +109 -17
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
- package/legacy/DateCalendar/DateCalendar.js +2 -2
- package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
- package/legacy/DateField/DateField.js +6 -0
- package/legacy/DatePicker/DatePickerToolbar.js +6 -15
- package/legacy/DatePicker/shared.js +1 -15
- package/legacy/DateTimeField/DateTimeField.js +6 -0
- package/legacy/DateTimePicker/DateTimePicker.js +19 -2
- package/legacy/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/legacy/DateTimePicker/DateTimePickerToolbar.js +51 -23
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +5 -4
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +59 -11
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +7 -3
- package/legacy/LocalizationProvider/LocalizationProvider.js +1 -0
- package/legacy/MobileDatePicker/MobileDatePicker.js +3 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
- package/legacy/MonthCalendar/MonthCalendar.js +2 -2
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/legacy/TimeField/TimeField.js +6 -0
- package/legacy/YearCalendar/YearCalendar.js +2 -2
- package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
- package/legacy/dateTimeViewRenderers/index.js +1 -0
- package/legacy/dateViewRenderers/dateViewRenderers.js +2 -4
- package/legacy/{internals/components/icons → icons}/index.js +7 -7
- package/legacy/index.js +3 -2
- package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/legacy/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/legacy/internals/components/PickersToolbarButton.js +7 -2
- package/legacy/internals/constants/dimensions.js +2 -1
- package/legacy/internals/hooks/useField/useField.js +8 -3
- package/legacy/internals/hooks/useField/useFieldState.js +22 -2
- package/legacy/internals/hooks/usePicker/usePickerViews.js +4 -4
- package/legacy/internals/hooks/useViews.js +10 -9
- package/legacy/internals/index.js +2 -1
- package/legacy/internals/utils/date-time-utils.js +39 -0
- package/legacy/internals/utils/date-utils.js +38 -0
- package/legacy/internals/utils/fields.js +1 -1
- package/legacy/internals/utils/getDefaultReferenceDate.js +64 -0
- package/legacy/internals/utils/time-utils.js +29 -0
- package/legacy/internals/utils/valueManagers.js +20 -4
- package/legacy/internals/utils/views.js +7 -5
- package/legacy/locales/deDE.js +2 -2
- package/legacy/locales/index.js +17 -15
- package/legacy/locales/roRO.js +81 -0
- package/legacy/locales/viVN.js +93 -0
- package/legacy/models/index.js +1 -0
- package/legacy/models/timezone.js +1 -0
- package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +16 -1
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +349 -79
- package/legacy/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/legacy/tests/describeValidation/testDayViewValidation.js +129 -52
- package/legacy/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/legacy/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/legacy/tests/describeValidation/testYearViewValidation.js +3 -10
- package/legacy/tests/describeValue/describeValue.js +12 -5
- package/legacy/tests/describeValue/testControlledUnControlled.js +19 -4
- package/legacy/tests/describeValue/testPickerActionBar.js +12 -10
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
- package/legacy/timeViewRenderers/timeViewRenderers.js +1 -1
- package/locales/deDE.js +2 -2
- package/locales/index.d.ts +17 -15
- package/locales/index.js +17 -15
- package/locales/roRO.d.ts +53 -0
- package/locales/roRO.js +63 -0
- package/locales/viVN.d.ts +53 -0
- package/locales/viVN.js +57 -0
- package/models/adapters.d.ts +187 -46
- package/models/fields.d.ts +1 -1
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/timezone.d.ts +1 -0
- package/models/timezone.js +1 -0
- package/modern/AdapterDateFns/AdapterDateFns.js +38 -19
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
- package/modern/AdapterDayjs/AdapterDayjs.js +142 -25
- package/modern/AdapterLuxon/AdapterLuxon.js +77 -28
- package/modern/AdapterMoment/AdapterMoment.js +102 -13
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
- package/modern/DateCalendar/DateCalendar.js +2 -2
- package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
- package/modern/DateField/DateField.js +6 -0
- package/modern/DatePicker/DatePickerToolbar.js +6 -15
- package/modern/DatePicker/shared.js +1 -16
- package/modern/DateTimeField/DateTimeField.js +6 -0
- package/modern/DateTimePicker/DateTimePicker.js +19 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/modern/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/modern/DesktopDatePicker/DesktopDatePicker.js +5 -4
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +57 -10
- package/modern/DesktopTimePicker/DesktopTimePicker.js +7 -3
- package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
- package/modern/MobileDatePicker/MobileDatePicker.js +3 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
- package/modern/MonthCalendar/MonthCalendar.js +2 -2
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/modern/TimeField/TimeField.js +6 -0
- package/modern/YearCalendar/YearCalendar.js +2 -2
- package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
- package/modern/dateTimeViewRenderers/index.js +1 -0
- package/modern/dateViewRenderers/dateViewRenderers.js +2 -2
- package/modern/{internals/components/icons → icons}/index.js +7 -7
- package/modern/index.js +3 -2
- package/modern/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/modern/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/modern/internals/components/PickersToolbarButton.js +8 -3
- package/modern/internals/constants/dimensions.js +2 -1
- package/modern/internals/hooks/useField/useField.js +8 -3
- package/modern/internals/hooks/useField/useFieldState.js +22 -2
- package/modern/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/modern/internals/hooks/useViews.js +10 -9
- package/modern/internals/index.js +2 -1
- package/modern/internals/utils/date-time-utils.js +41 -0
- package/modern/internals/utils/date-utils.js +35 -0
- package/modern/internals/utils/fields.js +1 -1
- package/modern/internals/utils/getDefaultReferenceDate.js +58 -0
- package/modern/internals/utils/time-utils.js +28 -0
- package/modern/internals/utils/valueManagers.js +21 -3
- package/modern/internals/utils/views.js +6 -2
- package/modern/locales/deDE.js +2 -2
- package/modern/locales/index.js +17 -15
- package/modern/locales/roRO.js +60 -0
- package/modern/locales/viVN.js +57 -0
- package/modern/models/index.js +1 -0
- package/modern/models/timezone.js +1 -0
- package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
- package/modern/tests/describeGregorianAdapter/testCalculations.js +347 -79
- package/modern/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/modern/tests/describeValidation/testDayViewValidation.js +129 -52
- package/modern/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/modern/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/modern/tests/describeValidation/testYearViewValidation.js +3 -10
- package/modern/tests/describeValue/describeValue.js +13 -4
- package/modern/tests/describeValue/testControlledUnControlled.js +15 -4
- package/modern/tests/describeValue/testPickerActionBar.js +19 -17
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
- package/modern/timeViewRenderers/timeViewRenderers.js +1 -1
- package/node/AdapterDateFns/AdapterDateFns.js +38 -19
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +35 -16
- package/node/AdapterDayjs/AdapterDayjs.js +142 -25
- package/node/AdapterLuxon/AdapterLuxon.js +77 -28
- package/node/AdapterMoment/AdapterMoment.js +102 -13
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +30 -19
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +30 -19
- package/node/DateCalendar/DateCalendar.js +2 -2
- package/node/DateCalendar/PickersCalendarHeader.js +2 -2
- package/node/DateField/DateField.js +6 -0
- package/node/DatePicker/DatePickerToolbar.js +6 -15
- package/node/DatePicker/shared.js +0 -17
- package/node/DateTimeField/DateTimeField.js +6 -0
- package/node/DateTimePicker/DateTimePicker.js +19 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/node/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/node/DesktopDatePicker/DesktopDatePicker.js +4 -3
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +59 -12
- package/node/DesktopTimePicker/DesktopTimePicker.js +9 -5
- package/node/LocalizationProvider/LocalizationProvider.js +1 -0
- package/node/MobileDatePicker/MobileDatePicker.js +2 -1
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -3
- package/node/MobileTimePicker/MobileTimePicker.js +7 -3
- package/node/MonthCalendar/MonthCalendar.js +2 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +3 -2
- package/node/TimeField/TimeField.js +6 -0
- package/node/YearCalendar/YearCalendar.js +2 -2
- package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +156 -0
- package/node/dateTimeViewRenderers/index.js +12 -0
- package/node/dateViewRenderers/dateViewRenderers.js +3 -3
- package/node/{internals/components/icons → icons}/index.js +15 -15
- package/node/index.js +13 -1
- package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +12 -0
- package/node/internals/components/DateTimeViewWrapper/index.js +12 -0
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/node/internals/components/PickersToolbarButton.js +8 -3
- package/node/internals/constants/dimensions.js +4 -2
- package/node/internals/hooks/useField/useField.js +8 -3
- package/node/internals/hooks/useField/useFieldState.js +22 -2
- package/node/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/node/internals/hooks/useViews.js +10 -9
- package/node/internals/index.js +13 -0
- package/node/internals/utils/date-time-utils.js +49 -0
- package/node/internals/utils/date-utils.js +40 -2
- package/node/internals/utils/fields.js +1 -1
- package/node/internals/utils/getDefaultReferenceDate.js +66 -0
- package/node/internals/utils/time-utils.js +32 -2
- package/node/internals/utils/valueManagers.js +21 -2
- package/node/internals/utils/views.js +8 -5
- package/node/locales/deDE.js +2 -2
- package/node/locales/index.js +119 -97
- package/node/locales/roRO.js +67 -0
- package/node/locales/viVN.js +64 -0
- package/node/models/index.js +11 -0
- package/node/models/timezone.js +5 -0
- package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
- package/node/tests/describeGregorianAdapter/testCalculations.js +347 -79
- package/node/tests/describeGregorianAdapter/testLocalization.js +3 -4
- package/node/tests/describeValidation/testDayViewValidation.js +129 -52
- package/node/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/node/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/node/tests/describeValidation/testYearViewValidation.js +3 -10
- package/node/tests/describeValue/describeValue.js +13 -4
- package/node/tests/describeValue/testControlledUnControlled.js +15 -4
- package/node/tests/describeValue/testPickerActionBar.js +19 -16
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +9 -6
- package/node/timeViewRenderers/timeViewRenderers.js +1 -1
- package/package.json +4 -4
- package/tests/describeGregorianAdapter/describeGregorianAdapter.js +14 -1
- package/tests/describeGregorianAdapter/testCalculations.js +347 -79
- package/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/tests/describeValidation/testDayViewValidation.js +129 -52
- package/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/tests/describeValidation/testYearViewValidation.js +3 -10
- package/tests/describeValue/describeValue.js +13 -4
- package/tests/describeValue/testControlledUnControlled.js +15 -4
- package/tests/describeValue/testPickerActionBar.js +19 -17
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +10 -7
- package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
- package/timeViewRenderers/timeViewRenderers.js +1 -1
- package/internals/components/icons/index.d.ts +0 -42
|
@@ -28,6 +28,7 @@ type DateFnsLocale = typeof defaultLocale;
|
|
|
28
28
|
*/
|
|
29
29
|
export declare class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLocale> {
|
|
30
30
|
isMUIAdapter: boolean;
|
|
31
|
+
isTimezoneCompatible: boolean;
|
|
31
32
|
lib: string;
|
|
32
33
|
locale?: DateFnsLocale;
|
|
33
34
|
formats: AdapterFormats;
|
|
@@ -38,6 +39,9 @@ export declare class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
|
|
|
38
39
|
};
|
|
39
40
|
constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
|
|
40
41
|
date: (value?: any) => Date | null;
|
|
42
|
+
dateWithTimezone: (value: string | null | undefined) => Date | null;
|
|
43
|
+
getTimezone: () => string;
|
|
44
|
+
setTimezone: (value: Date) => Date;
|
|
41
45
|
toJsDate: (value: Date) => Date;
|
|
42
46
|
parseISO: (isoString: string) => Date;
|
|
43
47
|
toISO: (value: Date) => string;
|
|
@@ -85,12 +89,14 @@ export declare class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
|
|
|
85
89
|
getHours: (value: Date) => number;
|
|
86
90
|
getMinutes: (value: Date) => number;
|
|
87
91
|
getSeconds: (value: Date) => number;
|
|
92
|
+
getMilliseconds: (value: Date) => number;
|
|
88
93
|
setYear: (value: Date, year: number) => Date;
|
|
89
94
|
setMonth: (value: Date, month: number) => Date;
|
|
90
95
|
setDate: (value: Date, date: number) => Date;
|
|
91
96
|
setHours: (value: Date, hours: number) => Date;
|
|
92
97
|
setMinutes: (value: Date, minutes: number) => Date;
|
|
93
98
|
setSeconds: (value: Date, seconds: number) => Date;
|
|
99
|
+
setMilliseconds: (value: Date, milliseconds: number) => Date;
|
|
94
100
|
getDaysInMonth: (value: Date) => number;
|
|
95
101
|
getNextMonth: (value: Date) => Date;
|
|
96
102
|
getPreviousMonth: (value: Date) => Date;
|
|
@@ -27,6 +27,7 @@ import getHours from 'date-fns/getHours';
|
|
|
27
27
|
import getMinutes from 'date-fns/getMinutes';
|
|
28
28
|
import getMonth from 'date-fns/getMonth';
|
|
29
29
|
import getSeconds from 'date-fns/getSeconds';
|
|
30
|
+
import getMilliseconds from 'date-fns/getMilliseconds';
|
|
30
31
|
import getWeek from 'date-fns/getWeek';
|
|
31
32
|
import getYear from 'date-fns/getYear';
|
|
32
33
|
import isAfter from 'date-fns/isAfter';
|
|
@@ -43,6 +44,7 @@ import setHours from 'date-fns/setHours';
|
|
|
43
44
|
import setMinutes from 'date-fns/setMinutes';
|
|
44
45
|
import setMonth from 'date-fns/setMonth';
|
|
45
46
|
import setSeconds from 'date-fns/setSeconds';
|
|
47
|
+
import setMilliseconds from 'date-fns/setMilliseconds';
|
|
46
48
|
import setYear from 'date-fns/setYear';
|
|
47
49
|
import startOfDay from 'date-fns/startOfDay';
|
|
48
50
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
@@ -221,33 +223,34 @@ const formatTokenMap = {
|
|
|
221
223
|
ss: 'seconds'
|
|
222
224
|
};
|
|
223
225
|
const defaultFormats = {
|
|
226
|
+
year: 'yyyy',
|
|
227
|
+
month: 'LLLL',
|
|
228
|
+
monthShort: 'MMM',
|
|
224
229
|
dayOfMonth: 'd',
|
|
230
|
+
weekday: 'EEEE',
|
|
231
|
+
weekdayShort: 'EEE',
|
|
232
|
+
hours24h: 'HH',
|
|
233
|
+
hours12h: 'hh',
|
|
234
|
+
meridiem: 'aa',
|
|
235
|
+
minutes: 'mm',
|
|
236
|
+
seconds: 'ss',
|
|
225
237
|
fullDate: 'PP',
|
|
226
238
|
fullDateWithWeekday: 'PPPP',
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
239
|
+
keyboardDate: 'P',
|
|
240
|
+
shortDate: 'MMM d',
|
|
241
|
+
normalDate: 'd MMMM',
|
|
242
|
+
normalDateWithWeekday: 'EEE, MMM d',
|
|
243
|
+
monthAndYear: 'LLLL yyyy',
|
|
244
|
+
monthAndDate: 'MMMM d',
|
|
230
245
|
fullTime: 'p',
|
|
231
246
|
fullTime12h: 'hh:mm aa',
|
|
232
247
|
fullTime24h: 'HH:mm',
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
248
|
+
fullDateTime: 'PP p',
|
|
249
|
+
fullDateTime12h: 'PP hh:mm aa',
|
|
250
|
+
fullDateTime24h: 'PP HH:mm',
|
|
236
251
|
keyboardDateTime: 'P p',
|
|
237
252
|
keyboardDateTime12h: 'P hh:mm aa',
|
|
238
|
-
keyboardDateTime24h: 'P HH:mm'
|
|
239
|
-
minutes: 'mm',
|
|
240
|
-
month: 'LLLL',
|
|
241
|
-
monthAndDate: 'MMMM d',
|
|
242
|
-
monthAndYear: 'LLLL yyyy',
|
|
243
|
-
monthShort: 'MMM',
|
|
244
|
-
weekday: 'EEEE',
|
|
245
|
-
weekdayShort: 'EEE',
|
|
246
|
-
normalDate: 'd MMMM',
|
|
247
|
-
normalDateWithWeekday: 'EEE, MMM d',
|
|
248
|
-
seconds: 'ss',
|
|
249
|
-
shortDate: 'MMM d',
|
|
250
|
-
year: 'yyyy'
|
|
253
|
+
keyboardDateTime24h: 'P HH:mm'
|
|
251
254
|
};
|
|
252
255
|
|
|
253
256
|
/**
|
|
@@ -281,6 +284,7 @@ export class AdapterDateFns {
|
|
|
281
284
|
formats
|
|
282
285
|
} = {}) {
|
|
283
286
|
this.isMUIAdapter = true;
|
|
287
|
+
this.isTimezoneCompatible = false;
|
|
284
288
|
this.lib = 'date-fns';
|
|
285
289
|
this.locale = void 0;
|
|
286
290
|
this.formats = void 0;
|
|
@@ -298,6 +302,15 @@ export class AdapterDateFns {
|
|
|
298
302
|
}
|
|
299
303
|
return new Date(value);
|
|
300
304
|
};
|
|
305
|
+
this.dateWithTimezone = value => {
|
|
306
|
+
return this.date(value);
|
|
307
|
+
};
|
|
308
|
+
this.getTimezone = () => {
|
|
309
|
+
return 'default';
|
|
310
|
+
};
|
|
311
|
+
this.setTimezone = value => {
|
|
312
|
+
return value;
|
|
313
|
+
};
|
|
301
314
|
this.toJsDate = value => {
|
|
302
315
|
return value;
|
|
303
316
|
};
|
|
@@ -498,6 +511,9 @@ export class AdapterDateFns {
|
|
|
498
511
|
this.getSeconds = value => {
|
|
499
512
|
return getSeconds(value);
|
|
500
513
|
};
|
|
514
|
+
this.getMilliseconds = value => {
|
|
515
|
+
return getMilliseconds(value);
|
|
516
|
+
};
|
|
501
517
|
this.setYear = (value, year) => {
|
|
502
518
|
return setYear(value, year);
|
|
503
519
|
};
|
|
@@ -516,6 +532,9 @@ export class AdapterDateFns {
|
|
|
516
532
|
this.setSeconds = (value, seconds) => {
|
|
517
533
|
return setSeconds(value, seconds);
|
|
518
534
|
};
|
|
535
|
+
this.setMilliseconds = (value, milliseconds) => {
|
|
536
|
+
return setMilliseconds(value, milliseconds);
|
|
537
|
+
};
|
|
519
538
|
this.getDaysInMonth = value => {
|
|
520
539
|
return getDaysInMonth(value);
|
|
521
540
|
};
|
|
@@ -28,6 +28,7 @@ type DateFnsLocale = typeof defaultLocale;
|
|
|
28
28
|
*/
|
|
29
29
|
export declare class AdapterDateFnsJalali implements MuiPickersAdapter<Date, DateFnsLocale> {
|
|
30
30
|
isMUIAdapter: boolean;
|
|
31
|
+
isTimezoneCompatible: boolean;
|
|
31
32
|
lib: string;
|
|
32
33
|
locale?: DateFnsLocale;
|
|
33
34
|
formats: AdapterFormats;
|
|
@@ -38,6 +39,9 @@ export declare class AdapterDateFnsJalali implements MuiPickersAdapter<Date, Dat
|
|
|
38
39
|
};
|
|
39
40
|
constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
|
|
40
41
|
date: (value?: any) => Date | null;
|
|
42
|
+
dateWithTimezone: (value: string | null | undefined) => Date | null;
|
|
43
|
+
getTimezone: () => string;
|
|
44
|
+
setTimezone: (value: Date) => Date;
|
|
41
45
|
toJsDate: (value: Date) => Date;
|
|
42
46
|
parseISO: (isoString: string) => Date;
|
|
43
47
|
toISO: (value: Date) => string;
|
|
@@ -85,12 +89,14 @@ export declare class AdapterDateFnsJalali implements MuiPickersAdapter<Date, Dat
|
|
|
85
89
|
getHours: (value: Date) => number;
|
|
86
90
|
getMinutes: (value: Date) => number;
|
|
87
91
|
getSeconds: (value: Date) => number;
|
|
92
|
+
getMilliseconds: (value: Date) => number;
|
|
88
93
|
setYear: (value: Date, year: number) => Date;
|
|
89
94
|
setMonth: (value: Date, month: number) => Date;
|
|
90
95
|
setDate: (value: Date, date: number) => Date;
|
|
91
96
|
setHours: (value: Date, hours: number) => Date;
|
|
92
97
|
setMinutes: (value: Date, minutes: number) => Date;
|
|
93
98
|
setSeconds: (value: Date, seconds: number) => Date;
|
|
99
|
+
setMilliseconds: (value: Date, milliseconds: number) => Date;
|
|
94
100
|
getDaysInMonth: (value: Date) => number;
|
|
95
101
|
getNextMonth: (value: Date) => Date;
|
|
96
102
|
getPreviousMonth: (value: Date) => Date;
|
|
@@ -24,6 +24,7 @@ import dateFnsFormat from 'date-fns-jalali/format';
|
|
|
24
24
|
import formatISO from 'date-fns-jalali/formatISO';
|
|
25
25
|
import getHours from 'date-fns-jalali/getHours';
|
|
26
26
|
import getSeconds from 'date-fns-jalali/getSeconds';
|
|
27
|
+
import getMilliseconds from 'date-fns-jalali/getMilliseconds';
|
|
27
28
|
import getWeek from 'date-fns-jalali/getWeek';
|
|
28
29
|
import getYear from 'date-fns-jalali/getYear';
|
|
29
30
|
import getMonth from 'date-fns-jalali/getMonth';
|
|
@@ -45,6 +46,7 @@ import setHours from 'date-fns-jalali/setHours';
|
|
|
45
46
|
import setMinutes from 'date-fns-jalali/setMinutes';
|
|
46
47
|
import setMonth from 'date-fns-jalali/setMonth';
|
|
47
48
|
import setSeconds from 'date-fns-jalali/setSeconds';
|
|
49
|
+
import setMilliseconds from 'date-fns-jalali/setMilliseconds';
|
|
48
50
|
import setYear from 'date-fns-jalali/setYear';
|
|
49
51
|
import startOfDay from 'date-fns-jalali/startOfDay';
|
|
50
52
|
import startOfMonth from 'date-fns-jalali/startOfMonth';
|
|
@@ -221,33 +223,34 @@ const formatTokenMap = {
|
|
|
221
223
|
ss: 'seconds'
|
|
222
224
|
};
|
|
223
225
|
const defaultFormats = {
|
|
226
|
+
year: 'yyyy',
|
|
227
|
+
month: 'LLLL',
|
|
228
|
+
monthShort: 'MMM',
|
|
224
229
|
dayOfMonth: 'd',
|
|
230
|
+
weekday: 'EEEE',
|
|
231
|
+
weekdayShort: 'EEE',
|
|
232
|
+
hours24h: 'HH',
|
|
233
|
+
hours12h: 'hh',
|
|
234
|
+
meridiem: 'aa',
|
|
235
|
+
minutes: 'mm',
|
|
236
|
+
seconds: 'ss',
|
|
225
237
|
fullDate: 'PPP',
|
|
226
238
|
fullDateWithWeekday: 'PPPP',
|
|
239
|
+
keyboardDate: 'P',
|
|
240
|
+
shortDate: 'd MMM',
|
|
241
|
+
normalDate: 'd MMMM',
|
|
242
|
+
normalDateWithWeekday: 'EEE, d MMMM',
|
|
243
|
+
monthAndYear: 'LLLL yyyy',
|
|
244
|
+
monthAndDate: 'd MMMM',
|
|
227
245
|
fullDateTime: 'PPP p',
|
|
228
246
|
fullDateTime12h: 'PPP hh:mm aa',
|
|
229
247
|
fullDateTime24h: 'PPP HH:mm',
|
|
230
248
|
fullTime: 'p',
|
|
231
249
|
fullTime12h: 'hh:mm aaa',
|
|
232
250
|
fullTime24h: 'HH:mm',
|
|
233
|
-
hours12h: 'hh',
|
|
234
|
-
hours24h: 'HH',
|
|
235
|
-
keyboardDate: 'P',
|
|
236
251
|
keyboardDateTime: 'P p',
|
|
237
252
|
keyboardDateTime12h: 'P hh:mm aa',
|
|
238
|
-
keyboardDateTime24h: 'P HH:mm'
|
|
239
|
-
minutes: 'mm',
|
|
240
|
-
month: 'LLLL',
|
|
241
|
-
monthAndDate: 'd MMMM',
|
|
242
|
-
monthAndYear: 'LLLL yyyy',
|
|
243
|
-
monthShort: 'MMM',
|
|
244
|
-
weekday: 'EEEE',
|
|
245
|
-
weekdayShort: 'EEE',
|
|
246
|
-
normalDate: 'd MMMM',
|
|
247
|
-
normalDateWithWeekday: 'EEE, d MMMM',
|
|
248
|
-
seconds: 'ss',
|
|
249
|
-
shortDate: 'd MMM',
|
|
250
|
-
year: 'yyyy'
|
|
253
|
+
keyboardDateTime24h: 'P HH:mm'
|
|
251
254
|
};
|
|
252
255
|
const NUMBER_SYMBOL_MAP = {
|
|
253
256
|
'1': '۱',
|
|
@@ -293,6 +296,7 @@ export class AdapterDateFnsJalali {
|
|
|
293
296
|
formats
|
|
294
297
|
} = {}) {
|
|
295
298
|
this.isMUIAdapter = true;
|
|
299
|
+
this.isTimezoneCompatible = false;
|
|
296
300
|
this.lib = 'date-fns-jalali';
|
|
297
301
|
this.locale = void 0;
|
|
298
302
|
this.formats = void 0;
|
|
@@ -310,6 +314,15 @@ export class AdapterDateFnsJalali {
|
|
|
310
314
|
}
|
|
311
315
|
return new Date(value);
|
|
312
316
|
};
|
|
317
|
+
this.dateWithTimezone = value => {
|
|
318
|
+
return this.date(value);
|
|
319
|
+
};
|
|
320
|
+
this.getTimezone = () => {
|
|
321
|
+
return 'default';
|
|
322
|
+
};
|
|
323
|
+
this.setTimezone = value => {
|
|
324
|
+
return value;
|
|
325
|
+
};
|
|
313
326
|
this.toJsDate = value => {
|
|
314
327
|
return value;
|
|
315
328
|
};
|
|
@@ -510,6 +523,9 @@ export class AdapterDateFnsJalali {
|
|
|
510
523
|
this.getSeconds = value => {
|
|
511
524
|
return getSeconds(value);
|
|
512
525
|
};
|
|
526
|
+
this.getMilliseconds = value => {
|
|
527
|
+
return getMilliseconds(value);
|
|
528
|
+
};
|
|
513
529
|
this.setYear = (value, year) => {
|
|
514
530
|
return setYear(value, year);
|
|
515
531
|
};
|
|
@@ -528,6 +544,9 @@ export class AdapterDateFnsJalali {
|
|
|
528
544
|
this.setSeconds = (value, seconds) => {
|
|
529
545
|
return setSeconds(value, seconds);
|
|
530
546
|
};
|
|
547
|
+
this.setMilliseconds = (value, milliseconds) => {
|
|
548
|
+
return setMilliseconds(value, milliseconds);
|
|
549
|
+
};
|
|
531
550
|
this.getDaysInMonth = value => {
|
|
532
551
|
return getDaysInMonth(value);
|
|
533
552
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import defaultDayjs, { Dayjs } from 'dayjs';
|
|
2
|
-
import { FieldFormatTokenMap, MuiPickersAdapter, AdapterFormats, AdapterUnits, AdapterOptions } from '../models';
|
|
2
|
+
import { FieldFormatTokenMap, MuiPickersAdapter, AdapterFormats, AdapterUnits, AdapterOptions, PickersTimezone } from '../models';
|
|
3
3
|
type Constructor = (...args: Parameters<typeof defaultDayjs>) => Dayjs;
|
|
4
4
|
/**
|
|
5
5
|
* Based on `@date-io/dayjs`
|
|
@@ -28,6 +28,7 @@ type Constructor = (...args: Parameters<typeof defaultDayjs>) => Dayjs;
|
|
|
28
28
|
*/
|
|
29
29
|
export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
|
|
30
30
|
isMUIAdapter: boolean;
|
|
31
|
+
isTimezoneCompatible: boolean;
|
|
31
32
|
lib: string;
|
|
32
33
|
rawDayJsInstance: typeof defaultDayjs;
|
|
33
34
|
dayjs: Constructor;
|
|
@@ -39,8 +40,18 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
|
|
|
39
40
|
};
|
|
40
41
|
formatTokenMap: FieldFormatTokenMap;
|
|
41
42
|
constructor({ locale, formats, instance }?: AdapterOptions<string, typeof defaultDayjs>);
|
|
43
|
+
private setLocaleToValue;
|
|
44
|
+
private hasUTCPlugin;
|
|
45
|
+
private hasTimezonePlugin;
|
|
46
|
+
private isSame;
|
|
47
|
+
private createSystemDate;
|
|
48
|
+
private createUTCDate;
|
|
49
|
+
private createTZDate;
|
|
42
50
|
private getLocaleFormats;
|
|
43
51
|
date: (value?: any) => defaultDayjs.Dayjs | null;
|
|
52
|
+
dateWithTimezone: (value: string | null | undefined, timezone: PickersTimezone) => Dayjs | null;
|
|
53
|
+
getTimezone: (value: Dayjs) => string;
|
|
54
|
+
setTimezone: (value: Dayjs, timezone: PickersTimezone) => Dayjs;
|
|
44
55
|
toJsDate: (value: Dayjs) => Date;
|
|
45
56
|
parseISO: (isoString: string) => defaultDayjs.Dayjs;
|
|
46
57
|
toISO: (value: Dayjs) => string;
|
|
@@ -88,12 +99,14 @@ export declare class AdapterDayjs implements MuiPickersAdapter<Dayjs, string> {
|
|
|
88
99
|
getHours: (value: Dayjs) => number;
|
|
89
100
|
getMinutes: (value: Dayjs) => number;
|
|
90
101
|
getSeconds: (value: Dayjs) => number;
|
|
102
|
+
getMilliseconds: (value: Dayjs) => number;
|
|
91
103
|
setYear: (value: Dayjs, year: number) => defaultDayjs.Dayjs;
|
|
92
104
|
setMonth: (value: Dayjs, month: number) => defaultDayjs.Dayjs;
|
|
93
105
|
setDate: (value: Dayjs, date: number) => defaultDayjs.Dayjs;
|
|
94
106
|
setHours: (value: Dayjs, hours: number) => defaultDayjs.Dayjs;
|
|
95
107
|
setMinutes: (value: Dayjs, minutes: number) => defaultDayjs.Dayjs;
|
|
96
108
|
setSeconds: (value: Dayjs, seconds: number) => defaultDayjs.Dayjs;
|
|
109
|
+
setMilliseconds: (value: Dayjs, milliseconds: number) => defaultDayjs.Dayjs;
|
|
97
110
|
getDaysInMonth: (value: Dayjs) => number;
|
|
98
111
|
getNextMonth: (value: Dayjs) => defaultDayjs.Dayjs;
|
|
99
112
|
getPreviousMonth: (value: Dayjs) => defaultDayjs.Dayjs;
|
|
@@ -94,34 +94,37 @@ const formatTokenMap = {
|
|
|
94
94
|
ss: 'seconds'
|
|
95
95
|
};
|
|
96
96
|
const defaultFormats = {
|
|
97
|
-
normalDateWithWeekday: 'ddd, MMM D',
|
|
98
|
-
normalDate: 'D MMMM',
|
|
99
|
-
shortDate: 'MMM D',
|
|
100
|
-
monthAndDate: 'MMMM D',
|
|
101
|
-
dayOfMonth: 'D',
|
|
102
97
|
year: 'YYYY',
|
|
103
98
|
month: 'MMMM',
|
|
104
99
|
monthShort: 'MMM',
|
|
105
|
-
|
|
100
|
+
dayOfMonth: 'D',
|
|
106
101
|
weekday: 'dddd',
|
|
107
102
|
weekdayShort: 'ddd',
|
|
108
|
-
minutes: 'mm',
|
|
109
|
-
hours12h: 'hh',
|
|
110
103
|
hours24h: 'HH',
|
|
104
|
+
hours12h: 'hh',
|
|
105
|
+
meridiem: 'A',
|
|
106
|
+
minutes: 'mm',
|
|
111
107
|
seconds: 'ss',
|
|
108
|
+
fullDate: 'll',
|
|
109
|
+
fullDateWithWeekday: 'dddd, LL',
|
|
110
|
+
keyboardDate: 'L',
|
|
111
|
+
shortDate: 'MMM D',
|
|
112
|
+
normalDate: 'D MMMM',
|
|
113
|
+
normalDateWithWeekday: 'ddd, MMM D',
|
|
114
|
+
monthAndYear: 'MMMM YYYY',
|
|
115
|
+
monthAndDate: 'MMMM D',
|
|
112
116
|
fullTime: 'LT',
|
|
113
117
|
fullTime12h: 'hh:mm A',
|
|
114
118
|
fullTime24h: 'HH:mm',
|
|
115
|
-
fullDate: 'll',
|
|
116
|
-
fullDateWithWeekday: 'dddd, LL',
|
|
117
119
|
fullDateTime: 'lll',
|
|
118
120
|
fullDateTime12h: 'll hh:mm A',
|
|
119
121
|
fullDateTime24h: 'll HH:mm',
|
|
120
|
-
keyboardDate: 'L',
|
|
121
122
|
keyboardDateTime: 'L LT',
|
|
122
123
|
keyboardDateTime12h: 'L hh:mm A',
|
|
123
124
|
keyboardDateTime24h: 'L HH:mm'
|
|
124
125
|
};
|
|
126
|
+
const MISSING_UTC_PLUGIN = ['Missing UTC plugin', 'To be able to use UTC or timezones, you have to enable the `utc` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc'].join('\n');
|
|
127
|
+
const MISSING_TIMEZONE_PLUGIN = ['Missing timezone plugin', 'To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone'].join('\n');
|
|
125
128
|
const withLocale = (dayjs, locale) => !locale ? dayjs : (...args) => dayjs(...args).locale(locale);
|
|
126
129
|
|
|
127
130
|
/**
|
|
@@ -156,6 +159,7 @@ export class AdapterDayjs {
|
|
|
156
159
|
instance
|
|
157
160
|
} = {}) {
|
|
158
161
|
this.isMUIAdapter = true;
|
|
162
|
+
this.isTimezoneCompatible = true;
|
|
159
163
|
this.lib = 'dayjs';
|
|
160
164
|
this.rawDayJsInstance = void 0;
|
|
161
165
|
this.dayjs = void 0;
|
|
@@ -166,6 +170,44 @@ export class AdapterDayjs {
|
|
|
166
170
|
end: ']'
|
|
167
171
|
};
|
|
168
172
|
this.formatTokenMap = formatTokenMap;
|
|
173
|
+
this.setLocaleToValue = value => {
|
|
174
|
+
const expectedLocale = this.getCurrentLocaleCode();
|
|
175
|
+
if (expectedLocale === value.locale()) {
|
|
176
|
+
return value;
|
|
177
|
+
}
|
|
178
|
+
return value.locale(expectedLocale);
|
|
179
|
+
};
|
|
180
|
+
this.hasUTCPlugin = () => typeof defaultDayjs.utc !== 'undefined';
|
|
181
|
+
this.hasTimezonePlugin = () => typeof defaultDayjs.tz !== 'undefined';
|
|
182
|
+
this.isSame = (value, comparing, comparisonTemplate) => {
|
|
183
|
+
const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));
|
|
184
|
+
return value.format(comparisonTemplate) === comparingInValueTimezone.format(comparisonTemplate);
|
|
185
|
+
};
|
|
186
|
+
this.createSystemDate = value => {
|
|
187
|
+
// TODO v7: Stop using `this.rawDayJsInstance` (drop the `instance` param on the adapters)
|
|
188
|
+
return this.rawDayJsInstance(value);
|
|
189
|
+
};
|
|
190
|
+
this.createUTCDate = value => {
|
|
191
|
+
/* istanbul ignore next */
|
|
192
|
+
if (!this.hasUTCPlugin()) {
|
|
193
|
+
throw new Error(MISSING_UTC_PLUGIN);
|
|
194
|
+
}
|
|
195
|
+
return defaultDayjs.utc(value);
|
|
196
|
+
};
|
|
197
|
+
this.createTZDate = (value, timezone) => {
|
|
198
|
+
/* istanbul ignore next */
|
|
199
|
+
if (!this.hasUTCPlugin()) {
|
|
200
|
+
throw new Error(MISSING_UTC_PLUGIN);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/* istanbul ignore next */
|
|
204
|
+
if (!this.hasTimezonePlugin()) {
|
|
205
|
+
throw new Error(MISSING_TIMEZONE_PLUGIN);
|
|
206
|
+
}
|
|
207
|
+
const cleanTimezone = timezone === 'default' ? undefined : timezone;
|
|
208
|
+
const keepLocalTime = value !== undefined && !value.endsWith('Z');
|
|
209
|
+
return defaultDayjs(value).tz(cleanTimezone, keepLocalTime);
|
|
210
|
+
};
|
|
169
211
|
this.getLocaleFormats = () => {
|
|
170
212
|
const locales = defaultDayjs.Ls;
|
|
171
213
|
const locale = this.locale || 'en';
|
|
@@ -182,6 +224,63 @@ export class AdapterDayjs {
|
|
|
182
224
|
}
|
|
183
225
|
return this.dayjs(value);
|
|
184
226
|
};
|
|
227
|
+
this.dateWithTimezone = (value, timezone) => {
|
|
228
|
+
if (value === null) {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
let parsedValue;
|
|
232
|
+
if (timezone === 'UTC') {
|
|
233
|
+
parsedValue = this.createUTCDate(value);
|
|
234
|
+
} else if (timezone === 'system' || timezone === 'default' && !this.hasTimezonePlugin()) {
|
|
235
|
+
parsedValue = this.createSystemDate(value);
|
|
236
|
+
} else {
|
|
237
|
+
parsedValue = this.createTZDate(value, timezone);
|
|
238
|
+
}
|
|
239
|
+
if (this.locale === undefined) {
|
|
240
|
+
return parsedValue;
|
|
241
|
+
}
|
|
242
|
+
return parsedValue.locale(this.locale);
|
|
243
|
+
};
|
|
244
|
+
this.getTimezone = value => {
|
|
245
|
+
if (this.hasUTCPlugin() && value.isUTC()) {
|
|
246
|
+
return 'UTC';
|
|
247
|
+
}
|
|
248
|
+
if (this.hasTimezonePlugin()) {
|
|
249
|
+
var _value$$x;
|
|
250
|
+
// @ts-ignore
|
|
251
|
+
const zone = (_value$$x = value.$x) == null ? void 0 : _value$$x.$timezone;
|
|
252
|
+
return zone != null ? zone : 'system';
|
|
253
|
+
}
|
|
254
|
+
return 'system';
|
|
255
|
+
};
|
|
256
|
+
this.setTimezone = (value, timezone) => {
|
|
257
|
+
if (this.getTimezone(value) === timezone) {
|
|
258
|
+
return value;
|
|
259
|
+
}
|
|
260
|
+
if (timezone === 'UTC') {
|
|
261
|
+
/* istanbul ignore next */
|
|
262
|
+
if (!this.hasUTCPlugin()) {
|
|
263
|
+
throw new Error(MISSING_UTC_PLUGIN);
|
|
264
|
+
}
|
|
265
|
+
return value.utc();
|
|
266
|
+
}
|
|
267
|
+
if (timezone === 'system') {
|
|
268
|
+
if (this.hasUTCPlugin()) {
|
|
269
|
+
return value.local();
|
|
270
|
+
}
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
if (!this.hasTimezonePlugin()) {
|
|
274
|
+
if (timezone === 'default') {
|
|
275
|
+
return value;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/* istanbul ignore next */
|
|
279
|
+
throw new Error(MISSING_TIMEZONE_PLUGIN);
|
|
280
|
+
}
|
|
281
|
+
const cleanZone = timezone === 'default' ? undefined : timezone;
|
|
282
|
+
return defaultDayjs.tz(value, cleanZone);
|
|
283
|
+
};
|
|
185
284
|
this.toJsDate = value => {
|
|
186
285
|
return value.toDate();
|
|
187
286
|
};
|
|
@@ -242,37 +341,49 @@ export class AdapterDayjs {
|
|
|
242
341
|
return this.dayjs(value).isSame(comparing);
|
|
243
342
|
};
|
|
244
343
|
this.isSameYear = (value, comparing) => {
|
|
245
|
-
return
|
|
344
|
+
return this.isSame(value, comparing, 'YYYY');
|
|
246
345
|
};
|
|
247
346
|
this.isSameMonth = (value, comparing) => {
|
|
248
|
-
return
|
|
347
|
+
return this.isSame(value, comparing, 'YYYY-MM');
|
|
249
348
|
};
|
|
250
349
|
this.isSameDay = (value, comparing) => {
|
|
251
|
-
return
|
|
350
|
+
return this.isSame(value, comparing, 'YYYY-MM-DD');
|
|
252
351
|
};
|
|
253
352
|
this.isSameHour = (value, comparing) => {
|
|
254
353
|
return value.isSame(comparing, 'hour');
|
|
255
354
|
};
|
|
256
355
|
this.isAfter = (value, comparing) => {
|
|
257
|
-
return value
|
|
356
|
+
return value > comparing;
|
|
258
357
|
};
|
|
259
358
|
this.isAfterYear = (value, comparing) => {
|
|
260
|
-
|
|
359
|
+
if (!this.hasUTCPlugin()) {
|
|
360
|
+
return value.isAfter(comparing, 'year');
|
|
361
|
+
}
|
|
362
|
+
return !this.isSameYear(value, comparing) && value.utc() > comparing.utc();
|
|
261
363
|
};
|
|
262
364
|
this.isAfterDay = (value, comparing) => {
|
|
263
|
-
|
|
365
|
+
if (!this.hasUTCPlugin()) {
|
|
366
|
+
return value.isAfter(comparing, 'day');
|
|
367
|
+
}
|
|
368
|
+
return !this.isSameDay(value, comparing) && value.utc() > comparing.utc();
|
|
264
369
|
};
|
|
265
370
|
this.isBefore = (value, comparing) => {
|
|
266
|
-
return value
|
|
371
|
+
return value < comparing;
|
|
267
372
|
};
|
|
268
373
|
this.isBeforeYear = (value, comparing) => {
|
|
269
|
-
|
|
374
|
+
if (!this.hasUTCPlugin()) {
|
|
375
|
+
return value.isBefore(comparing, 'year');
|
|
376
|
+
}
|
|
377
|
+
return !this.isSameYear(value, comparing) && value.utc() < comparing.utc();
|
|
270
378
|
};
|
|
271
379
|
this.isBeforeDay = (value, comparing) => {
|
|
272
|
-
|
|
380
|
+
if (!this.hasUTCPlugin()) {
|
|
381
|
+
return value.isBefore(comparing, 'day');
|
|
382
|
+
}
|
|
383
|
+
return !this.isSameDay(value, comparing) && value.utc() < comparing.utc();
|
|
273
384
|
};
|
|
274
385
|
this.isWithinRange = (value, [start, end]) => {
|
|
275
|
-
return value
|
|
386
|
+
return value >= start && value <= end;
|
|
276
387
|
};
|
|
277
388
|
this.startOfYear = value => {
|
|
278
389
|
return value.startOf('year');
|
|
@@ -337,6 +448,9 @@ export class AdapterDayjs {
|
|
|
337
448
|
this.getSeconds = value => {
|
|
338
449
|
return value.second();
|
|
339
450
|
};
|
|
451
|
+
this.getMilliseconds = value => {
|
|
452
|
+
return value.millisecond();
|
|
453
|
+
};
|
|
340
454
|
this.setYear = (value, year) => {
|
|
341
455
|
return value.set('year', year);
|
|
342
456
|
};
|
|
@@ -355,6 +469,9 @@ export class AdapterDayjs {
|
|
|
355
469
|
this.setSeconds = (value, seconds) => {
|
|
356
470
|
return value.set('second', seconds);
|
|
357
471
|
};
|
|
472
|
+
this.setMilliseconds = (value, milliseconds) => {
|
|
473
|
+
return value.set('millisecond', milliseconds);
|
|
474
|
+
};
|
|
358
475
|
this.getDaysInMonth = value => {
|
|
359
476
|
return value.daysInMonth();
|
|
360
477
|
};
|
|
@@ -381,12 +498,13 @@ export class AdapterDayjs {
|
|
|
381
498
|
return [0, 1, 2, 3, 4, 5, 6].map(diff => this.formatByString(start.add(diff, 'day'), 'dd'));
|
|
382
499
|
};
|
|
383
500
|
this.getWeekArray = value => {
|
|
384
|
-
const
|
|
385
|
-
const
|
|
501
|
+
const cleanLocale = this.setLocaleToValue(value);
|
|
502
|
+
const start = cleanLocale.startOf('month').startOf('week');
|
|
503
|
+
const end = cleanLocale.endOf('month').endOf('week');
|
|
386
504
|
let count = 0;
|
|
387
505
|
let current = start;
|
|
388
506
|
const nestedWeeks = [];
|
|
389
|
-
while (current
|
|
507
|
+
while (current < end) {
|
|
390
508
|
const weekNumber = Math.floor(count / 7);
|
|
391
509
|
nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
|
|
392
510
|
nestedWeeks[weekNumber].push(current);
|
|
@@ -403,7 +521,7 @@ export class AdapterDayjs {
|
|
|
403
521
|
const endDate = end.endOf('year');
|
|
404
522
|
const years = [];
|
|
405
523
|
let current = startDate;
|
|
406
|
-
while (current
|
|
524
|
+
while (current < endDate) {
|
|
407
525
|
years.push(current);
|
|
408
526
|
current = current.add(1, 'year');
|
|
409
527
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
|
-
import { AdapterFormats, AdapterOptions, AdapterUnits, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
|
|
2
|
+
import { AdapterFormats, AdapterOptions, AdapterUnits, FieldFormatTokenMap, MuiPickersAdapter, PickersTimezone } from '../models';
|
|
3
3
|
/**
|
|
4
4
|
* Based on `@date-io/luxon`
|
|
5
5
|
*
|
|
@@ -27,6 +27,7 @@ import { AdapterFormats, AdapterOptions, AdapterUnits, FieldFormatTokenMap, MuiP
|
|
|
27
27
|
*/
|
|
28
28
|
export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string> {
|
|
29
29
|
isMUIAdapter: boolean;
|
|
30
|
+
isTimezoneCompatible: boolean;
|
|
30
31
|
lib: string;
|
|
31
32
|
locale: string;
|
|
32
33
|
formats: AdapterFormats;
|
|
@@ -37,6 +38,9 @@ export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string>
|
|
|
37
38
|
formatTokenMap: FieldFormatTokenMap;
|
|
38
39
|
constructor({ locale, formats }?: AdapterOptions<string, never>);
|
|
39
40
|
date: (value?: any) => DateTime | null;
|
|
41
|
+
dateWithTimezone: (value: string | null | undefined, timezone: PickersTimezone) => DateTime | null;
|
|
42
|
+
getTimezone: (value: DateTime) => string;
|
|
43
|
+
setTimezone: (value: DateTime, timezone: PickersTimezone) => DateTime;
|
|
40
44
|
toJsDate: (value: DateTime) => Date;
|
|
41
45
|
parseISO: (isoString: string) => DateTime;
|
|
42
46
|
toISO: (value: DateTime) => string;
|
|
@@ -84,12 +88,14 @@ export declare class AdapterLuxon implements MuiPickersAdapter<DateTime, string>
|
|
|
84
88
|
getHours: (value: DateTime) => number;
|
|
85
89
|
getMinutes: (value: DateTime) => number;
|
|
86
90
|
getSeconds: (value: DateTime) => number;
|
|
91
|
+
getMilliseconds: (value: DateTime) => number;
|
|
87
92
|
setYear: (value: DateTime, year: number) => DateTime;
|
|
88
93
|
setMonth: (value: DateTime, month: number) => DateTime;
|
|
89
94
|
setDate: (value: DateTime, date: number) => DateTime;
|
|
90
95
|
setHours: (value: DateTime, hours: number) => DateTime;
|
|
91
96
|
setMinutes: (value: DateTime, minutes: number) => DateTime;
|
|
92
97
|
setSeconds: (value: DateTime, seconds: number) => DateTime;
|
|
98
|
+
setMilliseconds: (value: DateTime, milliseconds: number) => DateTime;
|
|
93
99
|
getDaysInMonth: (value: DateTime) => import("luxon").PossibleDaysInMonth;
|
|
94
100
|
getNextMonth: (value: DateTime) => DateTime;
|
|
95
101
|
getPreviousMonth: (value: DateTime) => DateTime;
|