@mui/x-date-pickers 8.0.0-alpha.1 → 8.0.0-alpha.11
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 +2 -4
- package/AdapterDateFns/AdapterDateFns.js +49 -47
- package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
- package/AdapterDateFnsJalaliV2/index.js +1 -0
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
- package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
- package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/AdapterDateFnsV2/index.d.ts +1 -0
- package/AdapterDateFnsV2/index.js +1 -0
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
- package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
- package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.js +10 -0
- package/CHANGELOG.md +2007 -230
- package/DateCalendar/DateCalendar.js +41 -22
- package/DateCalendar/DateCalendar.types.d.ts +2 -1
- package/DateCalendar/DayCalendar.d.ts +1 -2
- package/DateCalendar/DayCalendar.js +12 -36
- package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
- package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/DateCalendar/PickersSlideTransition.d.ts +1 -1
- package/DateCalendar/PickersSlideTransition.js +12 -5
- package/DateCalendar/useCalendarState.d.ts +13 -27
- package/DateCalendar/useCalendarState.js +65 -55
- package/DateField/DateField.js +29 -33
- package/DateField/DateField.types.d.ts +7 -15
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +14 -11
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePicker.types.d.ts +7 -3
- package/DatePicker/DatePickerToolbar.d.ts +1 -2
- package/DatePicker/DatePickerToolbar.js +17 -33
- package/DatePicker/shared.d.ts +6 -5
- package/DateTimeField/DateTimeField.js +29 -33
- package/DateTimeField/DateTimeField.types.d.ts +7 -16
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +14 -11
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
- package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
- package/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
- package/DateTimePicker/DateTimePickerToolbar.js +88 -80
- package/DateTimePicker/shared.d.ts +8 -8
- package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
- package/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/DigitalClock/DigitalClock.js +13 -11
- package/DigitalClock/DigitalClock.types.d.ts +8 -2
- package/MobileDatePicker/MobileDatePicker.js +4 -14
- package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
- package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
- package/MobileTimePicker/MobileTimePicker.js +4 -14
- package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
- package/MonthCalendar/MonthCalendar.d.ts +1 -1
- package/MonthCalendar/MonthCalendar.js +31 -11
- package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
- package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
- package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
- package/MonthCalendar/index.d.ts +0 -3
- package/MonthCalendar/index.js +1 -2
- package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
- package/MonthCalendar/monthCalendarClasses.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
- package/PickersActionBar/PickersActionBar.d.ts +6 -7
- package/PickersActionBar/PickersActionBar.js +26 -17
- package/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +4 -6
- package/PickersLayout/PickersLayout.d.ts +7 -5
- package/PickersLayout/PickersLayout.js +23 -42
- package/PickersLayout/PickersLayout.types.d.ts +20 -22
- package/PickersLayout/usePickerLayout.d.ts +5 -4
- package/PickersLayout/usePickerLayout.js +26 -53
- package/PickersSectionList/PickersSectionList.js +21 -16
- package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
- package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
- package/PickersShortcuts/PickersShortcuts.js +21 -11
- package/PickersShortcuts/index.d.ts +1 -1
- package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
- package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
- package/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
- package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
- package/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
- package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
- package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/PickersTextField/PickersTextField.js +75 -62
- package/PickersTextField/PickersTextField.types.d.ts +43 -4
- package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
- package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/README.md +8 -5
- package/StaticDatePicker/StaticDatePicker.js +2 -2
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
- package/StaticTimePicker/StaticTimePicker.js +2 -2
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
- package/TimeClock/Clock.d.ts +4 -0
- package/TimeClock/Clock.js +27 -27
- package/TimeClock/ClockNumber.js +15 -11
- package/TimeClock/ClockPointer.d.ts +6 -1
- package/TimeClock/ClockPointer.js +16 -10
- package/TimeClock/TimeClock.js +30 -12
- package/TimeField/TimeField.js +28 -32
- package/TimeField/TimeField.types.d.ts +7 -16
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +14 -11
- package/TimePicker/TimePicker.js +2 -2
- package/TimePicker/TimePicker.types.d.ts +4 -5
- package/TimePicker/TimePickerToolbar.d.ts +1 -3
- package/TimePicker/TimePickerToolbar.js +36 -51
- package/TimePicker/shared.d.ts +6 -6
- package/YearCalendar/YearCalendar.js +46 -13
- package/YearCalendar/YearCalendar.types.d.ts +2 -2
- package/YearCalendar/YearCalendarButton.d.ts +23 -0
- package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
- package/YearCalendar/index.d.ts +0 -3
- package/YearCalendar/index.js +1 -2
- package/YearCalendar/yearCalendarClasses.d.ts +7 -1
- package/YearCalendar/yearCalendarClasses.js +1 -1
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +3 -1
- package/hooks/useClearableField.d.ts +5 -3
- package/hooks/useClearableField.js +4 -2
- package/hooks/useIsValidValue.d.ts +7 -0
- package/hooks/useIsValidValue.js +11 -0
- package/hooks/useParsedFormat.d.ts +9 -7
- package/hooks/useParsedFormat.js +11 -13
- package/hooks/usePickerActionsContext.d.ts +7 -0
- package/hooks/usePickerActionsContext.js +15 -0
- package/hooks/usePickerContext.d.ts +5 -1
- package/hooks/usePickerContext.js +2 -2
- package/hooks/useSplitFieldProps.d.ts +12 -3
- package/hooks/useSplitFieldProps.js +8 -3
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/PickerFieldUI.d.ts +133 -0
- package/internals/components/PickerFieldUI.js +317 -0
- package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
- package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
- package/internals/components/PickerPopper/index.d.ts +4 -0
- package/internals/components/PickerPopper/index.js +2 -0
- package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
- package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
- package/internals/components/PickerProvider.d.ts +86 -32
- package/internals/components/PickerProvider.js +25 -7
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
- package/internals/components/PickersModalDialog.d.ts +1 -3
- package/internals/components/PickersModalDialog.js +9 -3
- package/internals/components/PickersToolbar.d.ts +2 -3
- package/internals/components/PickersToolbar.js +15 -12
- package/internals/components/PickersToolbarButton.js +4 -6
- package/internals/components/PickersToolbarText.js +11 -13
- package/internals/hooks/date-helpers-hooks.js +4 -3
- package/internals/hooks/useClockReferenceDate.d.ts +2 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
- package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/internals/hooks/useField/index.d.ts +2 -0
- package/internals/hooks/useField/index.js +2 -1
- package/internals/hooks/useField/useField.d.ts +3 -3
- package/internals/hooks/useField/useField.js +17 -4
- package/internals/hooks/useField/useField.types.d.ts +55 -48
- package/internals/hooks/useField/useField.utils.d.ts +4 -3
- package/internals/hooks/useField/useField.utils.js +2 -2
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
- package/internals/hooks/useField/useFieldState.d.ts +9 -8
- package/internals/hooks/useField/useFieldState.js +2 -3
- package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
- package/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/internals/hooks/useFieldOwnerState.d.ts +6 -0
- package/internals/hooks/useFieldOwnerState.js +16 -0
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
- package/internals/hooks/useNullablePickerContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerContext.js +10 -0
- package/internals/hooks/useOpenState.d.ts +3 -2
- package/internals/hooks/useOpenState.js +11 -9
- package/internals/hooks/usePicker/index.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.d.ts +3 -4
- package/internals/hooks/usePicker/usePicker.js +4 -20
- package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
- package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
- package/internals/hooks/usePicker/usePickerProvider.js +50 -16
- package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
- package/internals/hooks/usePicker/usePickerValue.js +84 -214
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
- package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
- package/internals/hooks/usePicker/usePickerViews.js +31 -20
- package/internals/hooks/useReduceAnimations.d.ts +2 -0
- package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
- package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
- package/internals/hooks/useToolbarOwnerState.js +13 -0
- package/internals/hooks/useUtils.d.ts +4 -3
- package/internals/hooks/useUtils.js +1 -1
- package/internals/hooks/useValueWithTimezone.d.ts +5 -4
- package/internals/hooks/useViews.d.ts +5 -5
- package/internals/index.d.ts +27 -18
- package/internals/index.js +13 -8
- package/internals/models/common.d.ts +1 -1
- package/internals/models/fields.d.ts +8 -24
- package/internals/models/index.d.ts +1 -0
- package/internals/models/index.js +2 -1
- package/internals/models/manager.d.ts +15 -0
- package/internals/models/manager.js +1 -0
- package/internals/models/pickers.d.ts +1 -0
- package/internals/models/pickers.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +3 -33
- package/internals/models/props/tabs.d.ts +0 -13
- package/internals/models/props/time.d.ts +2 -1
- package/internals/models/props/toolbar.d.ts +1 -19
- package/internals/models/value.d.ts +9 -0
- package/internals/utils/date-utils.d.ts +1 -1
- package/internals/utils/date-utils.js +1 -1
- package/internals/utils/utils.d.ts +3 -0
- package/internals/utils/utils.js +11 -1
- package/internals/utils/valueManagers.d.ts +4 -3
- package/internals/utils/valueManagers.js +4 -4
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/nbNO.js +15 -19
- package/locales/nlNL.js +7 -7
- package/locales/roRO.js +15 -18
- package/locales/utils/getPickersLocalization.d.ts +0 -7
- package/locales/utils/getPickersLocalization.js +0 -13
- package/locales/zhTW.d.ts +80 -0
- package/locales/zhTW.js +73 -0
- package/managers/index.d.ts +6 -0
- package/managers/index.js +3 -0
- package/managers/package.json +6 -0
- package/managers/useDateManager.d.ts +27 -0
- package/managers/useDateManager.js +55 -0
- package/managers/useDateTimeManager.d.ts +28 -0
- package/managers/useDateTimeManager.js +60 -0
- package/managers/useTimeManager.d.ts +28 -0
- package/managers/useTimeManager.js +51 -0
- package/models/adapters.d.ts +5 -5
- package/models/fields.d.ts +33 -9
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/manager.d.ts +87 -0
- package/models/manager.js +1 -0
- package/models/pickers.d.ts +7 -0
- package/models/validation.d.ts +2 -1
- package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
- package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/modern/AdapterDateFnsV2/index.js +1 -0
- package/modern/AdapterMoment/AdapterMoment.js +10 -0
- package/modern/DateCalendar/DateCalendar.js +41 -22
- package/modern/DateCalendar/DayCalendar.js +12 -36
- package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/modern/DateCalendar/PickersSlideTransition.js +12 -5
- package/modern/DateCalendar/useCalendarState.js +65 -55
- package/modern/DateField/DateField.js +29 -33
- package/modern/DateField/useDateField.js +14 -11
- package/modern/DatePicker/DatePicker.js +1 -1
- package/modern/DatePicker/DatePickerToolbar.js +17 -33
- package/modern/DateTimeField/DateTimeField.js +29 -33
- package/modern/DateTimeField/useDateTimeField.js +14 -11
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
- package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
- package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/modern/DigitalClock/DigitalClock.js +13 -11
- package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
- package/modern/MonthCalendar/MonthCalendar.js +31 -11
- package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
- package/modern/MonthCalendar/index.js +1 -2
- package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
- package/modern/PickersActionBar/PickersActionBar.js +26 -17
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/modern/PickersLayout/PickersLayout.js +23 -42
- package/modern/PickersLayout/usePickerLayout.js +26 -53
- package/modern/PickersSectionList/PickersSectionList.js +21 -16
- package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
- package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/modern/PickersTextField/PickersTextField.js +75 -62
- package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
- package/modern/TimeClock/Clock.js +27 -27
- package/modern/TimeClock/ClockNumber.js +15 -11
- package/modern/TimeClock/ClockPointer.js +16 -10
- package/modern/TimeClock/TimeClock.js +30 -12
- package/modern/TimeField/TimeField.js +28 -32
- package/modern/TimeField/useTimeField.js +14 -11
- package/modern/TimePicker/TimePicker.js +2 -2
- package/modern/TimePicker/TimePickerToolbar.js +36 -51
- package/modern/YearCalendar/YearCalendar.js +46 -13
- package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
- package/modern/YearCalendar/index.js +1 -2
- package/modern/YearCalendar/yearCalendarClasses.js +1 -1
- package/modern/hooks/index.js +3 -1
- package/modern/hooks/useClearableField.js +4 -2
- package/modern/hooks/useIsValidValue.js +11 -0
- package/modern/hooks/useParsedFormat.js +11 -13
- package/modern/hooks/usePickerActionsContext.js +15 -0
- package/modern/hooks/usePickerContext.js +2 -2
- package/modern/hooks/useSplitFieldProps.js +8 -3
- package/modern/index.js +3 -2
- package/modern/internals/components/PickerFieldUI.js +317 -0
- package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
- package/modern/internals/components/PickerPopper/index.js +2 -0
- package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
- package/modern/internals/components/PickerProvider.js +25 -7
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/modern/internals/components/PickersModalDialog.js +9 -3
- package/modern/internals/components/PickersToolbar.js +15 -12
- package/modern/internals/components/PickersToolbarButton.js +4 -6
- package/modern/internals/components/PickersToolbarText.js +11 -13
- package/modern/internals/hooks/date-helpers-hooks.js +4 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
- package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/modern/internals/hooks/useField/index.js +2 -1
- package/modern/internals/hooks/useField/useField.js +17 -4
- package/modern/internals/hooks/useField/useField.utils.js +2 -2
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
- package/modern/internals/hooks/useField/useFieldState.js +2 -3
- package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/modern/internals/hooks/useFieldOwnerState.js +16 -0
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
- package/modern/internals/hooks/useNullablePickerContext.js +10 -0
- package/modern/internals/hooks/useOpenState.js +11 -9
- package/modern/internals/hooks/usePicker/usePicker.js +4 -20
- package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
- package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
- package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
- package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
- package/modern/internals/hooks/useUtils.js +1 -1
- package/modern/internals/index.js +13 -8
- package/modern/internals/models/index.js +2 -1
- package/modern/internals/models/manager.js +1 -0
- package/modern/internals/models/pickers.js +1 -0
- package/modern/internals/utils/date-utils.js +1 -1
- package/modern/internals/utils/utils.js +11 -1
- package/modern/internals/utils/valueManagers.js +4 -4
- package/modern/locales/index.js +1 -0
- package/modern/locales/nbNO.js +15 -19
- package/modern/locales/nlNL.js +7 -7
- package/modern/locales/roRO.js +15 -18
- package/modern/locales/utils/getPickersLocalization.js +0 -13
- package/modern/locales/zhTW.js +73 -0
- package/modern/managers/index.js +3 -0
- package/modern/managers/useDateManager.js +55 -0
- package/modern/managers/useDateTimeManager.js +60 -0
- package/modern/managers/useTimeManager.js +51 -0
- package/modern/models/index.js +1 -0
- package/modern/models/manager.js +1 -0
- package/modern/validation/useValidation.js +1 -1
- package/modern/validation/validateDate.js +8 -0
- package/modern/validation/validateDateTime.js +8 -0
- package/modern/validation/validateTime.js +8 -0
- package/node/AdapterDateFns/AdapterDateFns.js +97 -97
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
- package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/AdapterMoment/AdapterMoment.js +10 -0
- package/node/DateCalendar/DateCalendar.js +41 -22
- package/node/DateCalendar/DayCalendar.js +12 -37
- package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/node/DateCalendar/PickersSlideTransition.js +12 -5
- package/node/DateCalendar/useCalendarState.js +66 -57
- package/node/DateField/DateField.js +29 -33
- package/node/DateField/useDateField.js +13 -10
- package/node/DatePicker/DatePicker.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +17 -33
- package/node/DateTimeField/DateTimeField.js +29 -33
- package/node/DateTimeField/useDateTimeField.js +13 -10
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
- package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
- package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/node/DigitalClock/DigitalClock.js +13 -11
- package/node/MobileDatePicker/MobileDatePicker.js +4 -14
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/node/MobileTimePicker/MobileTimePicker.js +4 -14
- package/node/MonthCalendar/MonthCalendar.js +31 -11
- package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
- package/node/MonthCalendar/index.js +1 -8
- package/node/MonthCalendar/monthCalendarClasses.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
- package/node/PickersActionBar/PickersActionBar.js +28 -19
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/node/PickersLayout/PickersLayout.js +23 -42
- package/node/PickersLayout/usePickerLayout.js +30 -57
- package/node/PickersSectionList/PickersSectionList.js +21 -16
- package/node/PickersShortcuts/PickersShortcuts.js +21 -11
- package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/node/PickersTextField/PickersTextField.js +75 -62
- package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/node/StaticTimePicker/StaticTimePicker.js +2 -2
- package/node/TimeClock/Clock.js +27 -27
- package/node/TimeClock/ClockNumber.js +15 -11
- package/node/TimeClock/ClockPointer.js +15 -10
- package/node/TimeClock/TimeClock.js +30 -12
- package/node/TimeField/TimeField.js +28 -32
- package/node/TimeField/useTimeField.js +13 -10
- package/node/TimePicker/TimePicker.js +2 -2
- package/node/TimePicker/TimePickerToolbar.js +36 -51
- package/node/YearCalendar/YearCalendar.js +45 -12
- package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
- package/node/YearCalendar/index.js +1 -8
- package/node/YearCalendar/yearCalendarClasses.js +1 -1
- package/node/hooks/index.js +15 -1
- package/node/hooks/useClearableField.js +4 -2
- package/node/hooks/useIsValidValue.js +18 -0
- package/node/hooks/useParsedFormat.js +11 -13
- package/node/hooks/usePickerActionsContext.js +22 -0
- package/node/hooks/usePickerContext.js +5 -4
- package/node/hooks/useSplitFieldProps.js +7 -2
- package/node/index.js +13 -1
- package/node/internals/components/PickerFieldUI.js +329 -0
- package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
- package/node/internals/components/PickerPopper/index.js +25 -0
- package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
- package/node/internals/components/PickerProvider.js +27 -9
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/node/internals/components/PickersModalDialog.js +9 -3
- package/node/internals/components/PickersToolbar.js +15 -12
- package/node/internals/components/PickersToolbarButton.js +4 -6
- package/node/internals/components/PickersToolbarText.js +10 -12
- package/node/internals/hooks/date-helpers-hooks.js +4 -3
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
- package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/node/internals/hooks/useField/index.js +8 -1
- package/node/internals/hooks/useField/useField.js +16 -3
- package/node/internals/hooks/useField/useField.utils.js +2 -2
- package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
- package/node/internals/hooks/useField/useFieldState.js +2 -3
- package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/node/internals/hooks/useFieldOwnerState.js +24 -0
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
- package/node/internals/hooks/useNullablePickerContext.js +16 -0
- package/node/internals/hooks/useOpenState.js +12 -9
- package/node/internals/hooks/usePicker/usePicker.js +4 -20
- package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
- package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
- package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
- package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/node/internals/hooks/useToolbarOwnerState.js +21 -0
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/index.js +87 -34
- package/node/internals/models/index.js +11 -0
- package/node/internals/models/manager.js +5 -0
- package/node/internals/models/pickers.js +5 -0
- package/node/internals/utils/date-utils.js +1 -1
- package/node/internals/utils/utils.js +14 -2
- package/node/internals/utils/valueManagers.js +4 -4
- package/node/locales/index.js +11 -0
- package/node/locales/nbNO.js +15 -19
- package/node/locales/nlNL.js +7 -7
- package/node/locales/roRO.js +15 -18
- package/node/locales/utils/getPickersLocalization.js +2 -16
- package/node/locales/zhTW.js +79 -0
- package/node/managers/index.js +26 -0
- package/node/managers/useDateManager.js +63 -0
- package/node/managers/useDateTimeManager.js +68 -0
- package/node/managers/useTimeManager.js +59 -0
- package/node/models/index.js +11 -0
- package/node/models/manager.js +5 -0
- package/node/validation/useValidation.js +1 -1
- package/node/validation/validateDate.js +8 -0
- package/node/validation/validateDateTime.js +8 -0
- package/node/validation/validateTime.js +8 -0
- package/package.json +5 -5
- package/themeAugmentation/components.d.ts +3 -11
- package/themeAugmentation/overrides.d.ts +5 -7
- package/themeAugmentation/props.d.ts +7 -9
- package/validation/extractValidationProps.d.ts +1 -1
- package/validation/useValidation.d.ts +7 -6
- package/validation/useValidation.js +1 -1
- package/validation/validateDate.d.ts +12 -3
- package/validation/validateDate.js +8 -0
- package/validation/validateDateTime.d.ts +12 -4
- package/validation/validateDateTime.js +8 -0
- package/validation/validateTime.d.ts +12 -3
- package/validation/validateTime.js +8 -0
- package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
- package/AdapterDateFnsJalaliV3/index.js +0 -1
- package/AdapterDateFnsV3/index.d.ts +0 -1
- package/AdapterDateFnsV3/index.js +0 -1
- package/MonthCalendar/PickersMonth.d.ts +0 -28
- package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
- package/MonthCalendar/pickersMonthClasses.js +0 -5
- package/YearCalendar/PickersYear.d.ts +0 -27
- package/YearCalendar/pickersYearClasses.d.ts +0 -13
- package/YearCalendar/pickersYearClasses.js +0 -5
- package/internals/components/pickersPopperClasses.d.ts +0 -9
- package/internals/components/pickersPopperClasses.js +0 -5
- package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
- package/internals/hooks/defaultizedFieldProps.js +0 -40
- package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
- package/internals/hooks/useIsLandscape.d.ts +0 -4
- package/internals/hooks/useIsLandscape.js +0 -35
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
- package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
- package/modern/AdapterDateFnsV3/index.js +0 -1
- package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
- package/modern/YearCalendar/pickersYearClasses.js +0 -5
- package/modern/internals/components/pickersPopperClasses.js +0 -5
- package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
- package/modern/internals/hooks/useIsLandscape.js +0 -35
- package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
- package/node/MonthCalendar/pickersMonthClasses.js +0 -12
- package/node/YearCalendar/pickersYearClasses.js +0 -12
- package/node/internals/components/pickersPopperClasses.js +0 -12
- package/node/internals/hooks/defaultizedFieldProps.js +0 -50
- package/node/internals/hooks/useIsLandscape.js +0 -43
- package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
|
@@ -25,7 +25,7 @@ var _useViews = require("../internals/hooks/useViews");
|
|
|
25
25
|
var _PickersCalendarHeader = require("../PickersCalendarHeader");
|
|
26
26
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
27
27
|
var _PickerViewRoot = require("../internals/components/PickerViewRoot");
|
|
28
|
-
var
|
|
28
|
+
var _useReduceAnimations = require("../internals/hooks/useReduceAnimations");
|
|
29
29
|
var _dateCalendarClasses = require("./dateCalendarClasses");
|
|
30
30
|
var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
31
31
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
@@ -43,18 +43,18 @@ const useUtilityClasses = classes => {
|
|
|
43
43
|
function useDateCalendarDefaultizedProps(props, name) {
|
|
44
44
|
const utils = (0, _useUtils.useUtils)();
|
|
45
45
|
const defaultDates = (0, _useUtils.useDefaultDates)();
|
|
46
|
-
const defaultReduceAnimations = (0, _useDefaultReduceAnimations.useDefaultReduceAnimations)();
|
|
47
46
|
const themeProps = (0, _styles.useThemeProps)({
|
|
48
47
|
props,
|
|
49
48
|
name
|
|
50
49
|
});
|
|
50
|
+
const reduceAnimations = (0, _useReduceAnimations.useReduceAnimations)(themeProps.reduceAnimations);
|
|
51
51
|
return (0, _extends2.default)({}, themeProps, {
|
|
52
52
|
loading: themeProps.loading ?? false,
|
|
53
53
|
disablePast: themeProps.disablePast ?? false,
|
|
54
54
|
disableFuture: themeProps.disableFuture ?? false,
|
|
55
55
|
openTo: themeProps.openTo ?? 'day',
|
|
56
56
|
views: themeProps.views ?? ['year', 'day'],
|
|
57
|
-
reduceAnimations
|
|
57
|
+
reduceAnimations,
|
|
58
58
|
renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
59
59
|
children: "..."
|
|
60
60
|
})),
|
|
@@ -103,7 +103,6 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
103
103
|
disableFuture,
|
|
104
104
|
disablePast,
|
|
105
105
|
onChange,
|
|
106
|
-
onYearChange,
|
|
107
106
|
onMonthChange,
|
|
108
107
|
reduceAnimations,
|
|
109
108
|
shouldDisableDate,
|
|
@@ -119,7 +118,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
119
118
|
minDate,
|
|
120
119
|
maxDate,
|
|
121
120
|
disableHighlightToday,
|
|
122
|
-
focusedView:
|
|
121
|
+
focusedView: focusedViewProp,
|
|
123
122
|
onFocusedViewChange,
|
|
124
123
|
showDaysOutsideCurrentMonth,
|
|
125
124
|
fixedWeekNumber,
|
|
@@ -162,15 +161,13 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
162
161
|
onChange: handleValueChange,
|
|
163
162
|
onViewChange,
|
|
164
163
|
autoFocus,
|
|
165
|
-
focusedView:
|
|
164
|
+
focusedView: focusedViewProp,
|
|
166
165
|
onFocusedViewChange
|
|
167
166
|
});
|
|
168
167
|
const {
|
|
169
168
|
referenceDate,
|
|
170
169
|
calendarState,
|
|
171
|
-
|
|
172
|
-
changeMonth,
|
|
173
|
-
handleChangeMonth,
|
|
170
|
+
setVisibleDate,
|
|
174
171
|
isDateDisabled,
|
|
175
172
|
onMonthSwitchingAnimationEnd
|
|
176
173
|
} = (0, _useCalendarState.useCalendarState)({
|
|
@@ -183,7 +180,13 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
183
180
|
shouldDisableDate,
|
|
184
181
|
disablePast,
|
|
185
182
|
disableFuture,
|
|
186
|
-
timezone
|
|
183
|
+
timezone,
|
|
184
|
+
getCurrentMonthFromVisibleDate: (visibleDate, prevMonth) => {
|
|
185
|
+
if (utils.isSameMonth(visibleDate, prevMonth)) {
|
|
186
|
+
return prevMonth;
|
|
187
|
+
}
|
|
188
|
+
return utils.startOfMonth(visibleDate);
|
|
189
|
+
}
|
|
187
190
|
});
|
|
188
191
|
|
|
189
192
|
// When disabled, limit the view to the selected date
|
|
@@ -200,9 +203,9 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
200
203
|
view,
|
|
201
204
|
currentMonth: calendarState.currentMonth,
|
|
202
205
|
onViewChange: setView,
|
|
203
|
-
onMonthChange:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
+
onMonthChange: month => setVisibleDate({
|
|
207
|
+
target: month,
|
|
208
|
+
reason: 'header-navigation'
|
|
206
209
|
}),
|
|
207
210
|
minDate: minDateWithDisabled,
|
|
208
211
|
maxDate: maxDateWithDisabled,
|
|
@@ -230,12 +233,17 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
230
233
|
}) : newDate;
|
|
231
234
|
if (closestEnabledDate) {
|
|
232
235
|
setValueAndGoToNextView(closestEnabledDate, 'finish');
|
|
233
|
-
|
|
236
|
+
setVisibleDate({
|
|
237
|
+
target: closestEnabledDate,
|
|
238
|
+
reason: 'cell-interaction'
|
|
239
|
+
});
|
|
234
240
|
} else {
|
|
235
241
|
goToNextView();
|
|
236
|
-
|
|
242
|
+
setVisibleDate({
|
|
243
|
+
target: startOfMonth,
|
|
244
|
+
reason: 'cell-interaction'
|
|
245
|
+
});
|
|
237
246
|
}
|
|
238
|
-
changeFocusedDay(closestEnabledDate, true);
|
|
239
247
|
});
|
|
240
248
|
const handleDateYearChange = (0, _utils.unstable_useEventCallback)(newDate => {
|
|
241
249
|
const startOfYear = utils.startOfYear(newDate);
|
|
@@ -252,12 +260,17 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
252
260
|
}) : newDate;
|
|
253
261
|
if (closestEnabledDate) {
|
|
254
262
|
setValueAndGoToNextView(closestEnabledDate, 'finish');
|
|
255
|
-
|
|
263
|
+
setVisibleDate({
|
|
264
|
+
target: closestEnabledDate,
|
|
265
|
+
reason: 'cell-interaction'
|
|
266
|
+
});
|
|
256
267
|
} else {
|
|
257
268
|
goToNextView();
|
|
258
|
-
|
|
269
|
+
setVisibleDate({
|
|
270
|
+
target: startOfYear,
|
|
271
|
+
reason: 'cell-interaction'
|
|
272
|
+
});
|
|
259
273
|
}
|
|
260
|
-
changeFocusedDay(closestEnabledDate, true);
|
|
261
274
|
});
|
|
262
275
|
const handleSelectedDayChange = (0, _utils.unstable_useEventCallback)(day => {
|
|
263
276
|
if (day) {
|
|
@@ -267,8 +280,11 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
267
280
|
return handleValueChange(day, 'finish', view);
|
|
268
281
|
});
|
|
269
282
|
React.useEffect(() => {
|
|
270
|
-
if (
|
|
271
|
-
|
|
283
|
+
if (utils.isValid(value)) {
|
|
284
|
+
setVisibleDate({
|
|
285
|
+
target: value,
|
|
286
|
+
reason: 'controlled-value-change'
|
|
287
|
+
});
|
|
272
288
|
}
|
|
273
289
|
}, [value]); // eslint-disable-line
|
|
274
290
|
|
|
@@ -335,7 +351,10 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
335
351
|
referenceDate: referenceDate
|
|
336
352
|
})), view === 'day' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayCalendar.DayCalendar, (0, _extends2.default)({}, calendarState, baseDateValidationProps, commonViewProps, {
|
|
337
353
|
onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,
|
|
338
|
-
onFocusedDayChange:
|
|
354
|
+
onFocusedDayChange: focusedDate => setVisibleDate({
|
|
355
|
+
target: focusedDate,
|
|
356
|
+
reason: 'cell-interaction'
|
|
357
|
+
}),
|
|
339
358
|
reduceAnimations: reduceAnimations,
|
|
340
359
|
selectedDays: selectedDays,
|
|
341
360
|
onSelectedDaysChange: handleSelectedDayChange,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -14,7 +15,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
|
14
15
|
var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
15
16
|
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
16
17
|
var _styles = require("@mui/material/styles");
|
|
17
|
-
var
|
|
18
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
18
19
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
19
20
|
var _PickersDay = require("../PickersDay/PickersDay");
|
|
20
21
|
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
@@ -26,7 +27,7 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
26
27
|
var _dayCalendarClasses = require("./dayCalendarClasses");
|
|
27
28
|
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
28
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
const _excluded = ["parentProps", "day", "
|
|
30
|
+
const _excluded = ["parentProps", "day", "focusedDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"],
|
|
30
31
|
_excluded2 = ["ownerState"];
|
|
31
32
|
const useUtilityClasses = classes => {
|
|
32
33
|
const slots = {
|
|
@@ -40,7 +41,7 @@ const useUtilityClasses = classes => {
|
|
|
40
41
|
weekNumberLabel: ['weekNumberLabel'],
|
|
41
42
|
weekNumber: ['weekNumber']
|
|
42
43
|
};
|
|
43
|
-
return (0,
|
|
44
|
+
return (0, _composeClasses.default)(slots, _dayCalendarClasses.getDayCalendarUtilityClass, classes);
|
|
44
45
|
};
|
|
45
46
|
const weeksContainerHeight = (_dimensions.DAY_SIZE + _dimensions.DAY_MARGIN * 2) * 6;
|
|
46
47
|
const PickersCalendarDayRoot = (0, _styles.styled)('div', {
|
|
@@ -143,7 +144,7 @@ function WrappedDay(_ref) {
|
|
|
143
144
|
let {
|
|
144
145
|
parentProps,
|
|
145
146
|
day,
|
|
146
|
-
|
|
147
|
+
focusedDay,
|
|
147
148
|
selectedDays,
|
|
148
149
|
isDateDisabled,
|
|
149
150
|
currentMonthNumber,
|
|
@@ -164,7 +165,8 @@ function WrappedDay(_ref) {
|
|
|
164
165
|
const {
|
|
165
166
|
ownerState
|
|
166
167
|
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
167
|
-
const isFocusableDay =
|
|
168
|
+
const isFocusableDay = focusedDay != null && utils.isSameDay(day, focusedDay);
|
|
169
|
+
const isFocusedDay = isViewFocused && isFocusableDay;
|
|
168
170
|
const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
|
|
169
171
|
const isToday = utils.isSameDay(day, now);
|
|
170
172
|
const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
|
|
@@ -206,7 +208,7 @@ function WrappedDay(_ref) {
|
|
|
206
208
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Day, (0, _extends2.default)({}, dayProps, {
|
|
207
209
|
day: day,
|
|
208
210
|
disabled: isDisabled,
|
|
209
|
-
autoFocus:
|
|
211
|
+
autoFocus: !outsideCurrentMonth && isFocusedDay,
|
|
210
212
|
today: isToday,
|
|
211
213
|
outsideCurrentMonth: outsideCurrentMonth,
|
|
212
214
|
isFirstVisibleCell: isFirstVisibleCell,
|
|
@@ -257,7 +259,6 @@ function DayCalendar(inProps) {
|
|
|
257
259
|
gridLabelId,
|
|
258
260
|
displayWeekNumber,
|
|
259
261
|
fixedWeekNumber,
|
|
260
|
-
autoFocus,
|
|
261
262
|
timezone
|
|
262
263
|
} = props;
|
|
263
264
|
const now = (0, _useUtils.useNow)(timezone);
|
|
@@ -274,13 +275,6 @@ function DayCalendar(inProps) {
|
|
|
274
275
|
timezone
|
|
275
276
|
});
|
|
276
277
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
277
|
-
const [internalHasFocus, setInternalHasFocus] = (0, _utils.unstable_useControlled)({
|
|
278
|
-
name: 'DayCalendar',
|
|
279
|
-
state: 'hasFocus',
|
|
280
|
-
controlled: hasFocus,
|
|
281
|
-
default: autoFocus ?? false
|
|
282
|
-
});
|
|
283
|
-
const [internalFocusedDay, setInternalFocusedDay] = React.useState(() => focusedDay || now);
|
|
284
278
|
const handleDaySelect = (0, _useEventCallback.default)(day => {
|
|
285
279
|
if (readOnly) {
|
|
286
280
|
return;
|
|
@@ -290,9 +284,7 @@ function DayCalendar(inProps) {
|
|
|
290
284
|
const focusDay = day => {
|
|
291
285
|
if (!isDateDisabled(day)) {
|
|
292
286
|
onFocusedDayChange(day);
|
|
293
|
-
setInternalFocusedDay(day);
|
|
294
287
|
onFocusedViewChange?.(true);
|
|
295
|
-
setInternalHasFocus(true);
|
|
296
288
|
}
|
|
297
289
|
};
|
|
298
290
|
const handleKeyDown = (0, _useEventCallback.default)((event, day) => {
|
|
@@ -359,7 +351,7 @@ function DayCalendar(inProps) {
|
|
|
359
351
|
});
|
|
360
352
|
const handleFocus = (0, _useEventCallback.default)((event, day) => focusDay(day));
|
|
361
353
|
const handleBlur = (0, _useEventCallback.default)((event, day) => {
|
|
362
|
-
if (
|
|
354
|
+
if (focusedDay != null && utils.isSameDay(focusedDay, day)) {
|
|
363
355
|
onFocusedViewChange?.(false);
|
|
364
356
|
}
|
|
365
357
|
});
|
|
@@ -371,23 +363,6 @@ function DayCalendar(inProps) {
|
|
|
371
363
|
const transitionKey = `${currentYearNumber}-${currentMonthNumber}`;
|
|
372
364
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
373
365
|
const slideNodeRef = React.useMemo(() => /*#__PURE__*/React.createRef(), [transitionKey]);
|
|
374
|
-
const focusableDay = React.useMemo(() => {
|
|
375
|
-
const startOfMonth = utils.startOfMonth(currentMonth);
|
|
376
|
-
const endOfMonth = utils.endOfMonth(currentMonth);
|
|
377
|
-
if (isDateDisabled(internalFocusedDay) || utils.isAfterDay(internalFocusedDay, endOfMonth) || utils.isBeforeDay(internalFocusedDay, startOfMonth)) {
|
|
378
|
-
return (0, _dateUtils.findClosestEnabledDate)({
|
|
379
|
-
utils,
|
|
380
|
-
date: internalFocusedDay,
|
|
381
|
-
minDate: startOfMonth,
|
|
382
|
-
maxDate: endOfMonth,
|
|
383
|
-
disablePast,
|
|
384
|
-
disableFuture,
|
|
385
|
-
isDateDisabled,
|
|
386
|
-
timezone
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
return internalFocusedDay;
|
|
390
|
-
}, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
|
|
391
366
|
const weeksToDisplay = React.useMemo(() => {
|
|
392
367
|
const toDisplay = utils.getWeekArray(currentMonth);
|
|
393
368
|
let nextMonth = utils.addMonths(currentMonth, 1);
|
|
@@ -454,14 +429,14 @@ function DayCalendar(inProps) {
|
|
|
454
429
|
parentProps: props,
|
|
455
430
|
day: day,
|
|
456
431
|
selectedDays: validSelectedDays,
|
|
457
|
-
|
|
432
|
+
isViewFocused: hasFocus,
|
|
433
|
+
focusedDay: focusedDay,
|
|
458
434
|
onKeyDown: handleKeyDown,
|
|
459
435
|
onFocus: handleFocus,
|
|
460
436
|
onBlur: handleBlur,
|
|
461
437
|
onDaySelect: handleDaySelect,
|
|
462
438
|
isDateDisabled: isDateDisabled,
|
|
463
|
-
currentMonthNumber: currentMonthNumber
|
|
464
|
-
isViewFocused: internalHasFocus
|
|
439
|
+
currentMonthNumber: currentMonthNumber
|
|
465
440
|
// fix issue of announcing column 1 as column 2 when `displayWeekNumber` is enabled
|
|
466
441
|
,
|
|
467
442
|
"aria-colindex": dayIndex + 1
|
|
@@ -14,10 +14,7 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _pickersFadeTransitionGroupClasses = require("./pickersFadeTransitionGroupClasses");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const useUtilityClasses =
|
|
18
|
-
const {
|
|
19
|
-
classes
|
|
20
|
-
} = ownerState;
|
|
17
|
+
const useUtilityClasses = classes => {
|
|
21
18
|
const slots = {
|
|
22
19
|
root: ['root']
|
|
23
20
|
};
|
|
@@ -44,9 +41,10 @@ function PickersFadeTransitionGroup(inProps) {
|
|
|
44
41
|
children,
|
|
45
42
|
className,
|
|
46
43
|
reduceAnimations,
|
|
47
|
-
transKey
|
|
44
|
+
transKey,
|
|
45
|
+
classes: classesProp
|
|
48
46
|
} = props;
|
|
49
|
-
const classes = useUtilityClasses(
|
|
47
|
+
const classes = useUtilityClasses(classesProp);
|
|
50
48
|
const theme = (0, _styles.useTheme)();
|
|
51
49
|
if (reduceAnimations) {
|
|
52
50
|
return children;
|
|
@@ -14,11 +14,11 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _reactTransitionGroup = require("react-transition-group");
|
|
16
16
|
var _pickersSlideTransitionClasses = require("./pickersSlideTransitionClasses");
|
|
17
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
const _excluded = ["children", "className", "reduceAnimations", "slideDirection", "transKey", "classes"];
|
|
19
|
-
const useUtilityClasses = ownerState => {
|
|
20
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
20
21
|
const {
|
|
21
|
-
classes,
|
|
22
22
|
slideDirection
|
|
23
23
|
} = ownerState;
|
|
24
24
|
const slots = {
|
|
@@ -107,11 +107,18 @@ function PickersSlideTransition(inProps) {
|
|
|
107
107
|
children,
|
|
108
108
|
className,
|
|
109
109
|
reduceAnimations,
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
slideDirection,
|
|
111
|
+
transKey,
|
|
112
|
+
classes: classesProp
|
|
112
113
|
} = props,
|
|
113
114
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
114
|
-
const
|
|
115
|
+
const {
|
|
116
|
+
ownerState: pickerOwnerState
|
|
117
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
118
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
119
|
+
slideDirection
|
|
120
|
+
});
|
|
121
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
115
122
|
const theme = (0, _styles.useTheme)();
|
|
116
123
|
if (reduceAnimations) {
|
|
117
124
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.useCalendarState =
|
|
9
|
+
exports.useCalendarState = void 0;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
@@ -14,13 +14,15 @@ var _useIsDateDisabled = require("./useIsDateDisabled");
|
|
|
14
14
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
|
|
17
|
-
|
|
17
|
+
var _dateUtils = require("../internals/utils/date-utils");
|
|
18
|
+
const createCalendarStateReducer = (reduceAnimations, utils) => (state, action) => {
|
|
18
19
|
switch (action.type) {
|
|
19
|
-
case '
|
|
20
|
+
case 'setVisibleDate':
|
|
20
21
|
return (0, _extends2.default)({}, state, {
|
|
21
22
|
slideDirection: action.direction,
|
|
22
|
-
currentMonth: action.
|
|
23
|
-
isMonthSwitchingAnimating: !reduceAnimations
|
|
23
|
+
currentMonth: action.month,
|
|
24
|
+
isMonthSwitchingAnimating: !utils.isSameMonth(action.month, state.currentMonth) && !reduceAnimations && !action.skipAnimation,
|
|
25
|
+
focusedDay: action.focusedDay
|
|
24
26
|
});
|
|
25
27
|
case 'changeMonthTimezone':
|
|
26
28
|
{
|
|
@@ -40,40 +42,27 @@ const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayF
|
|
|
40
42
|
return (0, _extends2.default)({}, state, {
|
|
41
43
|
isMonthSwitchingAnimating: false
|
|
42
44
|
});
|
|
43
|
-
case 'changeFocusedDay':
|
|
44
|
-
{
|
|
45
|
-
if (state.focusedDay != null && action.focusedDay != null && utils.isSameDay(action.focusedDay, state.focusedDay)) {
|
|
46
|
-
return state;
|
|
47
|
-
}
|
|
48
|
-
const needMonthSwitch = action.focusedDay != null && !disableSwitchToMonthOnDayFocus && !utils.isSameMonth(state.currentMonth, action.focusedDay);
|
|
49
|
-
return (0, _extends2.default)({}, state, {
|
|
50
|
-
focusedDay: action.focusedDay,
|
|
51
|
-
isMonthSwitchingAnimating: needMonthSwitch && !reduceAnimations && !action.withoutMonthSwitchingAnimation,
|
|
52
|
-
currentMonth: needMonthSwitch ? utils.startOfMonth(action.focusedDay) : state.currentMonth,
|
|
53
|
-
slideDirection: action.focusedDay != null && utils.isAfterDay(action.focusedDay, state.currentMonth) ? 'left' : 'right'
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
45
|
default:
|
|
57
46
|
throw new Error('missing support');
|
|
58
47
|
}
|
|
59
48
|
};
|
|
60
|
-
exports.createCalendarStateReducer = createCalendarStateReducer;
|
|
61
49
|
const useCalendarState = params => {
|
|
62
50
|
const {
|
|
63
51
|
value,
|
|
64
52
|
referenceDate: referenceDateProp,
|
|
65
53
|
disableFuture,
|
|
66
54
|
disablePast,
|
|
67
|
-
disableSwitchToMonthOnDayFocus = false,
|
|
68
55
|
maxDate,
|
|
69
56
|
minDate,
|
|
70
57
|
onMonthChange,
|
|
58
|
+
onYearChange,
|
|
71
59
|
reduceAnimations,
|
|
72
60
|
shouldDisableDate,
|
|
73
|
-
timezone
|
|
61
|
+
timezone,
|
|
62
|
+
getCurrentMonthFromVisibleDate
|
|
74
63
|
} = params;
|
|
75
64
|
const utils = (0, _useUtils.useUtils)();
|
|
76
|
-
const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations),
|
|
65
|
+
const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), utils)).current;
|
|
77
66
|
const referenceDate = React.useMemo(() => {
|
|
78
67
|
return _valueManagers.singleItemValueManager.getInitialReferenceValue({
|
|
79
68
|
value,
|
|
@@ -93,6 +82,14 @@ const useCalendarState = params => {
|
|
|
93
82
|
currentMonth: utils.startOfMonth(referenceDate),
|
|
94
83
|
slideDirection: 'left'
|
|
95
84
|
});
|
|
85
|
+
const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
|
|
86
|
+
shouldDisableDate,
|
|
87
|
+
minDate,
|
|
88
|
+
maxDate,
|
|
89
|
+
disableFuture,
|
|
90
|
+
disablePast,
|
|
91
|
+
timezone
|
|
92
|
+
});
|
|
96
93
|
|
|
97
94
|
// Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)
|
|
98
95
|
// https://github.com/mui/mui-x/issues/10804
|
|
@@ -102,54 +99,66 @@ const useCalendarState = params => {
|
|
|
102
99
|
newTimezone: utils.getTimezone(referenceDate)
|
|
103
100
|
});
|
|
104
101
|
}, [referenceDate, utils]);
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
onMonthChange(payload.newMonth);
|
|
111
|
-
}
|
|
112
|
-
}, [onMonthChange]);
|
|
113
|
-
const changeMonth = React.useCallback(newDate => {
|
|
114
|
-
const newDateRequested = newDate;
|
|
115
|
-
if (utils.isSameMonth(newDateRequested, calendarState.currentMonth)) {
|
|
102
|
+
const setVisibleDate = (0, _useEventCallback.default)(({
|
|
103
|
+
target,
|
|
104
|
+
reason
|
|
105
|
+
}) => {
|
|
106
|
+
if (reason === 'cell-interaction' && calendarState.focusedDay != null && utils.isSameDay(target, calendarState.focusedDay)) {
|
|
116
107
|
return;
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
109
|
+
const skipAnimation = reason === 'cell-interaction';
|
|
110
|
+
let month;
|
|
111
|
+
let focusedDay;
|
|
112
|
+
if (reason === 'cell-interaction') {
|
|
113
|
+
month = getCurrentMonthFromVisibleDate(target, calendarState.currentMonth);
|
|
114
|
+
focusedDay = target;
|
|
115
|
+
} else {
|
|
116
|
+
month = utils.isSameMonth(target, calendarState.currentMonth) ? calendarState.currentMonth : utils.startOfMonth(target);
|
|
117
|
+
focusedDay = target;
|
|
118
|
+
|
|
119
|
+
// If the date is disabled, we try to find a non-disabled date inside the same month.
|
|
120
|
+
if (isDateDisabled(focusedDay)) {
|
|
121
|
+
const startOfMonth = utils.startOfMonth(target);
|
|
122
|
+
const endOfMonth = utils.endOfMonth(target);
|
|
123
|
+
focusedDay = (0, _dateUtils.findClosestEnabledDate)({
|
|
124
|
+
utils,
|
|
125
|
+
date: focusedDay,
|
|
126
|
+
minDate: utils.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,
|
|
127
|
+
maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
|
|
128
|
+
disablePast,
|
|
129
|
+
disableFuture,
|
|
130
|
+
isDateDisabled,
|
|
131
|
+
timezone
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const hasChangedMonth = !utils.isSameMonth(calendarState.currentMonth, month);
|
|
136
|
+
const hasChangedYear = !utils.isSameYear(calendarState.currentMonth, month);
|
|
137
|
+
if (hasChangedMonth) {
|
|
138
|
+
onMonthChange?.(month);
|
|
139
|
+
}
|
|
140
|
+
if (hasChangedYear) {
|
|
141
|
+
onYearChange?.(utils.startOfYear(month));
|
|
142
|
+
}
|
|
143
|
+
dispatch({
|
|
144
|
+
type: 'setVisibleDate',
|
|
145
|
+
month,
|
|
146
|
+
direction: utils.isAfterDay(month, calendarState.currentMonth) ? 'left' : 'right',
|
|
147
|
+
focusedDay: calendarState.focusedDay != null && focusedDay != null && utils.isSameDay(focusedDay, calendarState.focusedDay) ? calendarState.focusedDay : focusedDay,
|
|
148
|
+
skipAnimation
|
|
121
149
|
});
|
|
122
|
-
}, [calendarState.currentMonth, handleChangeMonth, utils]);
|
|
123
|
-
const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
|
|
124
|
-
shouldDisableDate,
|
|
125
|
-
minDate,
|
|
126
|
-
maxDate,
|
|
127
|
-
disableFuture,
|
|
128
|
-
disablePast,
|
|
129
|
-
timezone
|
|
130
150
|
});
|
|
131
151
|
const onMonthSwitchingAnimationEnd = React.useCallback(() => {
|
|
132
152
|
dispatch({
|
|
133
153
|
type: 'finishMonthSwitchingAnimation'
|
|
134
154
|
});
|
|
135
155
|
}, []);
|
|
136
|
-
const changeFocusedDay = (0, _useEventCallback.default)((newFocusedDate, withoutMonthSwitchingAnimation) => {
|
|
137
|
-
if (!isDateDisabled(newFocusedDate)) {
|
|
138
|
-
dispatch({
|
|
139
|
-
type: 'changeFocusedDay',
|
|
140
|
-
focusedDay: newFocusedDate,
|
|
141
|
-
withoutMonthSwitchingAnimation
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
156
|
return {
|
|
146
157
|
referenceDate,
|
|
147
158
|
calendarState,
|
|
148
|
-
|
|
149
|
-
changeFocusedDay,
|
|
159
|
+
setVisibleDate,
|
|
150
160
|
isDateDisabled,
|
|
151
|
-
onMonthSwitchingAnimationEnd
|
|
152
|
-
handleChangeMonth
|
|
161
|
+
onMonthSwitchingAnimationEnd
|
|
153
162
|
};
|
|
154
163
|
};
|
|
155
164
|
exports.useCalendarState = useCalendarState;
|
|
@@ -7,20 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.DateField = void 0;
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
11
|
var React = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
15
13
|
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
17
14
|
var _utils = require("@mui/utils");
|
|
18
15
|
var _useDateField = require("./useDateField");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
|
|
16
|
+
var _PickerFieldUI = require("../internals/components/PickerFieldUI");
|
|
17
|
+
var _icons = require("../icons");
|
|
22
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["slots", "slotProps"
|
|
19
|
+
const _excluded = ["slots", "slotProps"];
|
|
24
20
|
/**
|
|
25
21
|
* Demos:
|
|
26
22
|
*
|
|
@@ -38,33 +34,21 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
|
|
|
38
34
|
});
|
|
39
35
|
const {
|
|
40
36
|
slots,
|
|
41
|
-
slotProps
|
|
42
|
-
InputProps,
|
|
43
|
-
inputProps
|
|
37
|
+
slotProps
|
|
44
38
|
} = themeProps,
|
|
45
39
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
externalSlotProps: slotProps?.textField,
|
|
51
|
-
externalForwardedProps: other,
|
|
52
|
-
additionalProps: {
|
|
53
|
-
ref: inRef
|
|
54
|
-
},
|
|
55
|
-
ownerState
|
|
40
|
+
const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
|
|
41
|
+
slotProps,
|
|
42
|
+
ref: inRef,
|
|
43
|
+
externalForwardedProps: other
|
|
56
44
|
});
|
|
57
|
-
|
|
58
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
59
|
-
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
60
|
-
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
61
45
|
const fieldResponse = (0, _useDateField.useDateField)(textFieldProps);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerFieldUI.PickerFieldUI, {
|
|
47
|
+
slots: slots,
|
|
48
|
+
slotProps: slotProps,
|
|
49
|
+
fieldResponse: fieldResponse,
|
|
50
|
+
defaultOpenPickerIcon: _icons.CalendarIcon
|
|
51
|
+
});
|
|
68
52
|
});
|
|
69
53
|
process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
70
54
|
// ----------------------------- Warning --------------------------------
|
|
@@ -82,6 +66,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
82
66
|
* @default false
|
|
83
67
|
*/
|
|
84
68
|
clearable: _propTypes.default.bool,
|
|
69
|
+
/**
|
|
70
|
+
* The position at which the clear button is placed.
|
|
71
|
+
* If the field is not clearable, the button is not rendered.
|
|
72
|
+
* @default 'end'
|
|
73
|
+
*/
|
|
74
|
+
clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
85
75
|
/**
|
|
86
76
|
* The color of the component.
|
|
87
77
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -225,6 +215,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
225
215
|
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
226
216
|
*/
|
|
227
217
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
218
|
+
/**
|
|
219
|
+
* The position at which the opening button is placed.
|
|
220
|
+
* If there is no picker to open, the button is not rendered
|
|
221
|
+
* @default 'end'
|
|
222
|
+
*/
|
|
223
|
+
openPickerButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
228
224
|
/**
|
|
229
225
|
* If `true`, the component is read-only.
|
|
230
226
|
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
@@ -274,10 +270,10 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
274
270
|
*/
|
|
275
271
|
shouldDisableYear: _propTypes.default.func,
|
|
276
272
|
/**
|
|
277
|
-
* If `true`, the format will respect the leading zeroes (
|
|
278
|
-
* If `false`, the format will always add leading zeroes (
|
|
273
|
+
* If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
|
|
274
|
+
* If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
|
|
279
275
|
*
|
|
280
|
-
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (
|
|
276
|
+
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (for example "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
|
|
281
277
|
*
|
|
282
278
|
* Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
|
|
283
279
|
* If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
|