@mui/x-date-pickers 8.0.0-alpha.0 → 8.0.0-alpha.10
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 +2215 -119
- package/DateCalendar/DateCalendar.js +5 -4
- package/DateCalendar/DateCalendar.types.d.ts +2 -1
- package/DateCalendar/DayCalendar.js +2 -0
- 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 +6 -4
- 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 -45
- 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 +92 -93
- 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 -46
- package/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/DigitalClock/DigitalClock.js +14 -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 +32 -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 +12 -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 +10 -7
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +3 -4
- package/PickersLayout/PickersLayout.d.ts +7 -5
- package/PickersLayout/PickersLayout.js +23 -54
- package/PickersLayout/PickersLayout.types.d.ts +20 -22
- package/PickersLayout/usePickerLayout.d.ts +5 -4
- package/PickersLayout/usePickerLayout.js +26 -57
- 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 +51 -44
- 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 +10 -7
- 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 +28 -27
- package/TimeClock/ClockNumber.js +15 -11
- package/TimeClock/ClockPointer.d.ts +6 -1
- package/TimeClock/ClockPointer.js +16 -10
- package/TimeClock/TimeClock.js +31 -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 +40 -64
- package/TimePicker/shared.d.ts +6 -6
- package/YearCalendar/YearCalendar.js +47 -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 +15 -6
- 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 +94 -14
- package/internals/components/PickerProvider.js +28 -8
- 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 +16 -15
- 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 +36 -121
- 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 +56 -49
- 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 +3 -3
- package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
- package/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/internals/hooks/useField/useFieldV7TextField.js +8 -4
- 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 +35 -69
- 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 +10 -29
- package/internals/hooks/usePicker/usePicker.types.d.ts +11 -11
- package/internals/hooks/usePicker/usePickerProvider.d.ts +58 -7
- package/internals/hooks/usePicker/usePickerProvider.js +102 -12
- package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
- package/internals/hooks/usePicker/usePickerValue.js +100 -218
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +135 -79
- package/internals/hooks/usePicker/usePickerViews.d.ts +59 -40
- package/internals/hooks/usePicker/usePickerViews.js +31 -19
- 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 +8 -13
- 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 +20 -15
- package/internals/hooks/useValueWithTimezone.js +13 -1
- package/internals/hooks/useViews.d.ts +5 -5
- package/internals/index.d.ts +28 -19
- package/internals/index.js +13 -8
- package/internals/models/common.d.ts +2 -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 -20
- package/internals/models/value.d.ts +9 -0
- package/internals/utils/date-utils.d.ts +3 -3
- 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/common.d.ts +1 -0
- package/models/fields.d.ts +33 -10
- 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 +25 -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 +5 -4
- package/modern/DateCalendar/DayCalendar.js +2 -0
- package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/modern/DateCalendar/PickersSlideTransition.js +12 -5
- 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 -45
- 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 +92 -93
- 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 -46
- package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/modern/DigitalClock/DigitalClock.js +14 -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 +32 -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 +12 -7
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
- package/modern/PickersActionBar/PickersActionBar.js +26 -17
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
- package/modern/PickersLayout/PickersLayout.js +23 -54
- package/modern/PickersLayout/usePickerLayout.js +26 -57
- 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 +51 -44
- 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 +28 -27
- package/modern/TimeClock/ClockNumber.js +15 -11
- package/modern/TimeClock/ClockPointer.js +16 -10
- package/modern/TimeClock/TimeClock.js +31 -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 +40 -64
- package/modern/YearCalendar/YearCalendar.js +47 -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 +28 -8
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/modern/internals/components/PickersModalDialog.js +9 -3
- package/modern/internals/components/PickersToolbar.js +16 -15
- 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 +36 -121
- 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 +3 -3
- package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/modern/internals/hooks/useField/useFieldV7TextField.js +8 -4
- package/modern/internals/hooks/useFieldOwnerState.js +16 -0
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
- package/modern/internals/hooks/useNullablePickerContext.js +10 -0
- package/modern/internals/hooks/useOpenState.js +11 -9
- package/modern/internals/hooks/usePicker/usePicker.js +10 -29
- package/modern/internals/hooks/usePicker/usePickerProvider.js +102 -12
- package/modern/internals/hooks/usePicker/usePickerValue.js +100 -218
- package/modern/internals/hooks/usePicker/usePickerViews.js +31 -19
- package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
- package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
- package/modern/internals/hooks/useUtils.js +1 -1
- package/modern/internals/hooks/useValueWithTimezone.js +13 -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 +5 -4
- package/node/DateCalendar/DayCalendar.js +1 -0
- package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/node/DateCalendar/PickersSlideTransition.js +12 -5
- 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 -45
- 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 +93 -93
- 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 -47
- package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/node/DigitalClock/DigitalClock.js +14 -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 +32 -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 +12 -7
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
- package/node/PickersActionBar/PickersActionBar.js +28 -19
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
- package/node/PickersLayout/PickersLayout.js +23 -54
- package/node/PickersLayout/usePickerLayout.js +30 -61
- 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 +51 -44
- 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 +28 -27
- package/node/TimeClock/ClockNumber.js +15 -11
- package/node/TimeClock/ClockPointer.js +15 -10
- package/node/TimeClock/TimeClock.js +31 -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 +40 -64
- package/node/YearCalendar/YearCalendar.js +46 -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 +30 -10
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/node/internals/components/PickersModalDialog.js +9 -3
- package/node/internals/components/PickersToolbar.js +16 -15
- 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 +38 -123
- 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 +3 -3
- package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/node/internals/hooks/useField/useFieldV7TextField.js +8 -4
- package/node/internals/hooks/useFieldOwnerState.js +24 -0
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +36 -70
- package/node/internals/hooks/useNullablePickerContext.js +16 -0
- package/node/internals/hooks/useOpenState.js +12 -9
- package/node/internals/hooks/usePicker/usePicker.js +10 -29
- package/node/internals/hooks/usePicker/usePickerProvider.js +105 -12
- package/node/internals/hooks/usePicker/usePickerValue.js +100 -217
- package/node/internals/hooks/usePicker/usePickerViews.js +31 -20
- package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +8 -13
- package/node/internals/hooks/useToolbarOwnerState.js +21 -0
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/hooks/useValueWithTimezone.js +13 -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 +7 -7
- 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 -33
- package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -34
- package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -10
- package/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
- 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 -34
- package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -16
- 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 -41
- package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -23
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
|
@@ -19,7 +19,7 @@ import { useViews } from "../internals/hooks/useViews.js";
|
|
|
19
19
|
import { PickersCalendarHeader } from "../PickersCalendarHeader/index.js";
|
|
20
20
|
import { findClosestEnabledDate, applyDefaultDate, mergeDateAndTime } from "../internals/utils/date-utils.js";
|
|
21
21
|
import { PickerViewRoot } from "../internals/components/PickerViewRoot/index.js";
|
|
22
|
-
import {
|
|
22
|
+
import { useReduceAnimations } from "../internals/hooks/useReduceAnimations.js";
|
|
23
23
|
import { getDateCalendarUtilityClass } from "./dateCalendarClasses.js";
|
|
24
24
|
import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
|
|
25
25
|
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
@@ -36,18 +36,18 @@ const useUtilityClasses = classes => {
|
|
|
36
36
|
function useDateCalendarDefaultizedProps(props, name) {
|
|
37
37
|
const utils = useUtils();
|
|
38
38
|
const defaultDates = useDefaultDates();
|
|
39
|
-
const defaultReduceAnimations = useDefaultReduceAnimations();
|
|
40
39
|
const themeProps = useThemeProps({
|
|
41
40
|
props,
|
|
42
41
|
name
|
|
43
42
|
});
|
|
43
|
+
const reduceAnimations = useReduceAnimations(themeProps.reduceAnimations);
|
|
44
44
|
return _extends({}, themeProps, {
|
|
45
45
|
loading: themeProps.loading ?? false,
|
|
46
46
|
disablePast: themeProps.disablePast ?? false,
|
|
47
47
|
disableFuture: themeProps.disableFuture ?? false,
|
|
48
48
|
openTo: themeProps.openTo ?? 'day',
|
|
49
49
|
views: themeProps.views ?? ['year', 'day'],
|
|
50
|
-
reduceAnimations
|
|
50
|
+
reduceAnimations,
|
|
51
51
|
renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx("span", {
|
|
52
52
|
children: "..."
|
|
53
53
|
})),
|
|
@@ -137,6 +137,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
137
137
|
timezone: timezoneProp,
|
|
138
138
|
value: valueProp,
|
|
139
139
|
defaultValue,
|
|
140
|
+
referenceDate: referenceDateProp,
|
|
140
141
|
onChange,
|
|
141
142
|
valueManager: singleItemValueManager
|
|
142
143
|
});
|
|
@@ -259,7 +260,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
259
260
|
return handleValueChange(day, 'finish', view);
|
|
260
261
|
});
|
|
261
262
|
React.useEffect(() => {
|
|
262
|
-
if (
|
|
263
|
+
if (utils.isValid(value)) {
|
|
263
264
|
changeMonth(value);
|
|
264
265
|
}
|
|
265
266
|
}, [value]); // eslint-disable-line
|
|
@@ -13,6 +13,7 @@ import { ExportedYearCalendarProps, YearCalendarSlots, YearCalendarSlotProps } f
|
|
|
13
13
|
import { ExportedMonthCalendarProps, MonthCalendarSlots, MonthCalendarSlotProps } from '../MonthCalendar/MonthCalendar.types';
|
|
14
14
|
import { ExportedValidateDateProps } from '../validation/validateDate';
|
|
15
15
|
import { FormProps } from '../internals/models/formProps';
|
|
16
|
+
import { PickerValue } from '../internals/models';
|
|
16
17
|
export interface DateCalendarSlots extends PickersCalendarHeaderSlots, DayCalendarSlots, MonthCalendarSlots, YearCalendarSlots {
|
|
17
18
|
/**
|
|
18
19
|
* Custom component for calendar header.
|
|
@@ -47,7 +48,7 @@ export interface ExportedDateCalendarProps extends ExportedDayCalendarProps, Exp
|
|
|
47
48
|
*/
|
|
48
49
|
onMonthChange?: (month: PickerValidDate) => void;
|
|
49
50
|
}
|
|
50
|
-
export interface DateCalendarProps extends ExportedDateCalendarProps, ExportedUseViewsOptions<
|
|
51
|
+
export interface DateCalendarProps extends ExportedDateCalendarProps, ExportedUseViewsOptions<PickerValue, DateView> {
|
|
51
52
|
/**
|
|
52
53
|
* The selected value.
|
|
53
54
|
* Used when the component is controlled.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
5
|
const _excluded = ["parentProps", "day", "focusableDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PickersFadeTransitionGroupClasses } from './pickersFadeTransitionGroupClasses';
|
|
3
3
|
export interface PickersFadeTransitionGroupProps {
|
|
4
|
-
children: React.ReactElement
|
|
4
|
+
children: React.ReactElement<any>;
|
|
5
5
|
className?: string;
|
|
6
6
|
reduceAnimations: boolean;
|
|
7
7
|
transKey: React.Key;
|
|
@@ -6,10 +6,7 @@ import { styled, useTheme, useThemeProps } from '@mui/material/styles';
|
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { getPickersFadeTransitionGroupUtilityClass } from "./pickersFadeTransitionGroupClasses.js";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
const useUtilityClasses =
|
|
10
|
-
const {
|
|
11
|
-
classes
|
|
12
|
-
} = ownerState;
|
|
9
|
+
const useUtilityClasses = classes => {
|
|
13
10
|
const slots = {
|
|
14
11
|
root: ['root']
|
|
15
12
|
};
|
|
@@ -36,9 +33,10 @@ export function PickersFadeTransitionGroup(inProps) {
|
|
|
36
33
|
children,
|
|
37
34
|
className,
|
|
38
35
|
reduceAnimations,
|
|
39
|
-
transKey
|
|
36
|
+
transKey,
|
|
37
|
+
classes: classesProp
|
|
40
38
|
} = props;
|
|
41
|
-
const classes = useUtilityClasses(
|
|
39
|
+
const classes = useUtilityClasses(classesProp);
|
|
42
40
|
const theme = useTheme();
|
|
43
41
|
if (reduceAnimations) {
|
|
44
42
|
return children;
|
|
@@ -9,7 +9,7 @@ export interface ExportedSlideTransitionProps {
|
|
|
9
9
|
classes?: Partial<PickersSlideTransitionClasses>;
|
|
10
10
|
}
|
|
11
11
|
export interface SlideTransitionProps extends Omit<CSSTransitionProps, 'timeout'>, ExportedSlideTransitionProps {
|
|
12
|
-
children: React.ReactElement
|
|
12
|
+
children: React.ReactElement<any>;
|
|
13
13
|
className?: string;
|
|
14
14
|
reduceAnimations: boolean;
|
|
15
15
|
slideDirection: SlideDirection;
|
|
@@ -7,10 +7,10 @@ import { styled, useTheme, useThemeProps } from '@mui/material/styles';
|
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
|
9
9
|
import { getPickersSlideTransitionUtilityClass, pickersSlideTransitionClasses } from "./pickersSlideTransitionClasses.js";
|
|
10
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
const useUtilityClasses = ownerState => {
|
|
12
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
12
13
|
const {
|
|
13
|
-
classes,
|
|
14
14
|
slideDirection
|
|
15
15
|
} = ownerState;
|
|
16
16
|
const slots = {
|
|
@@ -99,11 +99,18 @@ export function PickersSlideTransition(inProps) {
|
|
|
99
99
|
children,
|
|
100
100
|
className,
|
|
101
101
|
reduceAnimations,
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
slideDirection,
|
|
103
|
+
transKey,
|
|
104
|
+
classes: classesProp
|
|
104
105
|
} = props,
|
|
105
106
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
106
|
-
const
|
|
107
|
+
const {
|
|
108
|
+
ownerState: pickerOwnerState
|
|
109
|
+
} = usePickerPrivateContext();
|
|
110
|
+
const ownerState = _extends({}, pickerOwnerState, {
|
|
111
|
+
slideDirection
|
|
112
|
+
});
|
|
113
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
107
114
|
const theme = useTheme();
|
|
108
115
|
if (reduceAnimations) {
|
|
109
116
|
return /*#__PURE__*/_jsx("div", {
|
|
@@ -25,17 +25,19 @@ interface ChangeFocusedDayPayload {
|
|
|
25
25
|
export declare const createCalendarStateReducer: (reduceAnimations: boolean, disableSwitchToMonthOnDayFocus: boolean, utils: MuiPickersAdapter) => (state: CalendarState, action: ReducerAction<"finishMonthSwitchingAnimation"> | ReducerAction<"changeMonth", ChangeMonthPayload> | ReducerAction<"changeMonthTimezone", {
|
|
26
26
|
newTimezone: string;
|
|
27
27
|
}> | ReducerAction<"changeFocusedDay", ChangeFocusedDayPayload>) => CalendarState;
|
|
28
|
-
interface
|
|
28
|
+
interface UseCalendarStateParameters extends Pick<DateCalendarDefaultizedProps, 'referenceDate' | 'disableFuture' | 'disablePast' | 'minDate' | 'maxDate' | 'onMonthChange' | 'reduceAnimations' | 'shouldDisableDate'> {
|
|
29
|
+
value: PickerValidDate | null;
|
|
29
30
|
disableSwitchToMonthOnDayFocus?: boolean;
|
|
30
31
|
timezone: PickersTimezone;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
referenceDate:
|
|
33
|
+
interface UseCalendarStateReturnValue {
|
|
34
|
+
referenceDate: PickerValidDate;
|
|
34
35
|
calendarState: CalendarState;
|
|
35
36
|
changeMonth: (newDate: PickerValidDate) => void;
|
|
36
37
|
changeFocusedDay: (newFocusedDate: PickerValidDate | null, withoutMonthSwitchingAnimation?: boolean) => void;
|
|
37
38
|
isDateDisabled: (day: PickerValidDate | null) => boolean;
|
|
38
39
|
onMonthSwitchingAnimationEnd: () => void;
|
|
39
40
|
handleChangeMonth: (payload: ChangeMonthPayload) => void;
|
|
40
|
-
}
|
|
41
|
+
}
|
|
42
|
+
export declare const useCalendarState: (params: UseCalendarStateParameters) => UseCalendarStateReturnValue;
|
|
41
43
|
export {};
|
package/DateField/DateField.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["slots", "slotProps"
|
|
4
|
+
const _excluded = ["slots", "slotProps"];
|
|
6
5
|
import * as React from 'react';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
|
-
import MuiTextField from '@mui/material/TextField';
|
|
9
7
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
|
-
import useSlotProps from '@mui/utils/useSlotProps';
|
|
11
8
|
import { refType } from '@mui/utils';
|
|
12
9
|
import { useDateField } from "./useDateField.js";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { convertFieldResponseIntoMuiTextFieldProps } from "../internals/utils/convertFieldResponseIntoMuiTextFieldProps.js";
|
|
10
|
+
import { PickerFieldUI, useFieldTextFieldProps } from "../internals/components/PickerFieldUI.js";
|
|
11
|
+
import { CalendarIcon } from "../icons/index.js";
|
|
16
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
13
|
/**
|
|
18
14
|
* Demos:
|
|
@@ -31,33 +27,21 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRe
|
|
|
31
27
|
});
|
|
32
28
|
const {
|
|
33
29
|
slots,
|
|
34
|
-
slotProps
|
|
35
|
-
InputProps,
|
|
36
|
-
inputProps
|
|
30
|
+
slotProps
|
|
37
31
|
} = themeProps,
|
|
38
32
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
externalSlotProps: slotProps?.textField,
|
|
44
|
-
externalForwardedProps: other,
|
|
45
|
-
additionalProps: {
|
|
46
|
-
ref: inRef
|
|
47
|
-
},
|
|
48
|
-
ownerState
|
|
33
|
+
const textFieldProps = useFieldTextFieldProps({
|
|
34
|
+
slotProps,
|
|
35
|
+
ref: inRef,
|
|
36
|
+
externalForwardedProps: other
|
|
49
37
|
});
|
|
50
|
-
|
|
51
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
|
-
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
|
-
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
38
|
const fieldResponse = useDateField(textFieldProps);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
39
|
+
return /*#__PURE__*/_jsx(PickerFieldUI, {
|
|
40
|
+
slots: slots,
|
|
41
|
+
slotProps: slotProps,
|
|
42
|
+
fieldResponse: fieldResponse,
|
|
43
|
+
defaultOpenPickerIcon: CalendarIcon
|
|
44
|
+
});
|
|
61
45
|
});
|
|
62
46
|
process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
63
47
|
// ----------------------------- Warning --------------------------------
|
|
@@ -75,6 +59,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
75
59
|
* @default false
|
|
76
60
|
*/
|
|
77
61
|
clearable: PropTypes.bool,
|
|
62
|
+
/**
|
|
63
|
+
* The position at which the clear button is placed.
|
|
64
|
+
* If the field is not clearable, the button is not rendered.
|
|
65
|
+
* @default 'end'
|
|
66
|
+
*/
|
|
67
|
+
clearButtonPosition: PropTypes.oneOf(['end', 'start']),
|
|
78
68
|
/**
|
|
79
69
|
* The color of the component.
|
|
80
70
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -218,6 +208,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
218
208
|
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
219
209
|
*/
|
|
220
210
|
onSelectedSectionsChange: PropTypes.func,
|
|
211
|
+
/**
|
|
212
|
+
* The position at which the opening button is placed.
|
|
213
|
+
* If there is no picker to open, the button is not rendered
|
|
214
|
+
* @default 'end'
|
|
215
|
+
*/
|
|
216
|
+
openPickerButtonPosition: PropTypes.oneOf(['end', 'start']),
|
|
221
217
|
/**
|
|
222
218
|
* If `true`, the component is read-only.
|
|
223
219
|
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
@@ -267,10 +263,10 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
267
263
|
*/
|
|
268
264
|
shouldDisableYear: PropTypes.func,
|
|
269
265
|
/**
|
|
270
|
-
* If `true`, the format will respect the leading zeroes (
|
|
271
|
-
* If `false`, the format will always add leading zeroes (
|
|
266
|
+
* If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
|
|
267
|
+
* If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
|
|
272
268
|
*
|
|
273
|
-
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (
|
|
269
|
+
* 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`.
|
|
274
270
|
*
|
|
275
271
|
* 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.
|
|
276
272
|
* If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { SlotComponentProps } from '@mui/utils';
|
|
3
1
|
import { MakeOptional } from '@mui/x-internals/types';
|
|
4
|
-
import
|
|
5
|
-
import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
|
|
6
|
-
import { DateValidationError, FieldSection, PickerValidDate, BuiltInFieldTextFieldProps } from '../models';
|
|
2
|
+
import { DateValidationError, BuiltInFieldTextFieldProps } from '../models';
|
|
7
3
|
import { UseFieldInternalProps } from '../internals/hooks/useField';
|
|
8
4
|
import { ExportedValidateDateProps } from '../validation/validateDate';
|
|
9
|
-
|
|
5
|
+
import { PickerValue } from '../internals/models';
|
|
6
|
+
import { ExportedPickerFieldUIProps, PickerFieldUISlotProps, PickerFieldUISlots } from '../internals/components/PickerFieldUI';
|
|
7
|
+
export interface UseDateFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, DateValidationError>, 'format'>, ExportedValidateDateProps, ExportedPickerFieldUIProps {
|
|
10
8
|
}
|
|
11
9
|
export type DateFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = UseDateFieldProps<TEnableAccessibleFieldDOMStructure> & Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseDateFieldProps<TEnableAccessibleFieldDOMStructure>> & {
|
|
12
10
|
/**
|
|
@@ -18,16 +16,10 @@ export type DateFieldProps<TEnableAccessibleFieldDOMStructure extends boolean =
|
|
|
18
16
|
* The props used for each component slot.
|
|
19
17
|
* @default {}
|
|
20
18
|
*/
|
|
21
|
-
slotProps?: DateFieldSlotProps
|
|
19
|
+
slotProps?: DateFieldSlotProps;
|
|
22
20
|
};
|
|
23
21
|
export type DateFieldOwnerState<TEnableAccessibleFieldDOMStructure extends boolean> = DateFieldProps<TEnableAccessibleFieldDOMStructure>;
|
|
24
|
-
export interface DateFieldSlots extends
|
|
25
|
-
/**
|
|
26
|
-
* Form control with an input to render the value.
|
|
27
|
-
* @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
|
|
28
|
-
*/
|
|
29
|
-
textField?: React.ElementType;
|
|
22
|
+
export interface DateFieldSlots extends PickerFieldUISlots {
|
|
30
23
|
}
|
|
31
|
-
export interface DateFieldSlotProps
|
|
32
|
-
textField?: SlotComponentProps<typeof TextField, {}, DateFieldOwnerState<TEnableAccessibleFieldDOMStructure>>;
|
|
24
|
+
export interface DateFieldSlotProps extends PickerFieldUISlotProps {
|
|
33
25
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { UseDateFieldProps } from './DateField.types';
|
|
2
|
-
export declare const useDateField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateFieldProps<TEnableAccessibleFieldDOMStructure>>(
|
|
2
|
+
export declare const useDateField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "timezone" | keyof import("../internals").BaseDateValidationProps | "shouldDisableYear" | "shouldDisableMonth" | "shouldDisableDate" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "unstableFieldRef" | "unstableStartFieldRef" | "unstableEndFieldRef" | "enableAccessibleFieldDOMStructure" | "dateSeparator">>;
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { useField } from "../internals/hooks/useField/index.js";
|
|
5
|
-
import { validateDate } from "../validation/index.js";
|
|
3
|
+
import { useField, useFieldInternalPropsWithDefaults } from "../internals/hooks/useField/index.js";
|
|
6
4
|
import { useSplitFieldProps } from "../hooks/index.js";
|
|
7
|
-
import {
|
|
8
|
-
export const useDateField =
|
|
9
|
-
const
|
|
5
|
+
import { useDateManager } from "../managers/index.js";
|
|
6
|
+
export const useDateField = props => {
|
|
7
|
+
const manager = useDateManager(props);
|
|
10
8
|
const {
|
|
11
9
|
forwardedProps,
|
|
12
10
|
internalProps
|
|
13
11
|
} = useSplitFieldProps(props, 'date');
|
|
12
|
+
const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
|
|
13
|
+
manager,
|
|
14
|
+
internalProps
|
|
15
|
+
});
|
|
14
16
|
return useField({
|
|
15
17
|
forwardedProps,
|
|
16
|
-
internalProps,
|
|
17
|
-
valueManager:
|
|
18
|
-
fieldValueManager:
|
|
19
|
-
validator:
|
|
20
|
-
valueType:
|
|
18
|
+
internalProps: internalPropsWithDefaults,
|
|
19
|
+
valueManager: manager.internal_valueManager,
|
|
20
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
21
|
+
validator: manager.validator,
|
|
22
|
+
valueType: manager.valueType,
|
|
23
|
+
getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
|
|
21
24
|
});
|
|
22
25
|
};
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -59,7 +59,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
59
59
|
autoFocus: PropTypes.bool,
|
|
60
60
|
className: PropTypes.string,
|
|
61
61
|
/**
|
|
62
|
-
* If `true`, the
|
|
62
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
63
63
|
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
64
64
|
*/
|
|
65
65
|
closeOnSelect: PropTypes.bool,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DesktopDatePickerProps, DesktopDatePickerSlots, DesktopDatePickerSlotProps } from '../DesktopDatePicker';
|
|
2
|
-
import { BaseSingleInputFieldProps } from '../internals/models';
|
|
2
|
+
import { BaseSingleInputFieldProps, PickerValue } from '../internals/models';
|
|
3
3
|
import { MobileDatePickerProps, MobileDatePickerSlots, MobileDatePickerSlotProps } from '../MobileDatePicker';
|
|
4
|
-
import { DateValidationError, FieldSection, PickerValidDate } from '../models';
|
|
5
4
|
import { ValidateDateProps } from '../validation/validateDate';
|
|
6
5
|
export interface DatePickerSlots extends DesktopDatePickerSlots, MobileDatePickerSlots {
|
|
7
6
|
}
|
|
@@ -29,8 +28,13 @@ export interface DatePickerProps<TEnableAccessibleFieldDOMStructure extends bool
|
|
|
29
28
|
* @default 4 on desktop, 3 on mobile
|
|
30
29
|
*/
|
|
31
30
|
yearsPerRow?: 3 | 4;
|
|
31
|
+
/**
|
|
32
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
33
|
+
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
34
|
+
*/
|
|
35
|
+
closeOnSelect?: boolean;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
38
|
* Props the field can receive when used inside a date picker (<DatePicker />, <DesktopDatePicker /> or <MobileDatePicker /> component).
|
|
35
39
|
*/
|
|
36
|
-
export type DatePickerFieldProps
|
|
40
|
+
export type DatePickerFieldProps = ValidateDateProps & BaseSingleInputFieldProps<PickerValue>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseToolbarProps, ExportedBaseToolbarProps } from '../internals/models/props/toolbar';
|
|
3
|
-
import { DateView, PickerValidDate } from '../models';
|
|
4
3
|
import { DatePickerToolbarClasses } from './datePickerToolbarClasses';
|
|
5
|
-
export interface DatePickerToolbarProps extends BaseToolbarProps
|
|
4
|
+
export interface DatePickerToolbarProps extends BaseToolbarProps, ExportedDatePickerToolbarProps {
|
|
6
5
|
}
|
|
7
6
|
export interface ExportedDatePickerToolbarProps extends ExportedBaseToolbarProps {
|
|
8
7
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["
|
|
5
|
+
const _excluded = ["toolbarFormat", "toolbarPlaceholder", "className", "classes"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
@@ -14,11 +14,10 @@ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
|
14
14
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
15
15
|
import { getDatePickerToolbarUtilityClass } from "./datePickerToolbarClasses.js";
|
|
16
16
|
import { resolveDateFormat } from "../internals/utils/date-utils.js";
|
|
17
|
+
import { useToolbarOwnerState } from "../internals/hooks/useToolbarOwnerState.js";
|
|
18
|
+
import { usePickerContext } from "../hooks/index.js";
|
|
17
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
const useUtilityClasses =
|
|
19
|
-
const {
|
|
20
|
-
classes
|
|
21
|
-
} = ownerState;
|
|
20
|
+
const useUtilityClasses = classes => {
|
|
22
21
|
const slots = {
|
|
23
22
|
root: ['root'],
|
|
24
23
|
title: ['title']
|
|
@@ -37,7 +36,7 @@ const DatePickerToolbarTitle = styled(Typography, {
|
|
|
37
36
|
})({
|
|
38
37
|
variants: [{
|
|
39
38
|
props: {
|
|
40
|
-
|
|
39
|
+
pickerOrientation: 'landscape'
|
|
41
40
|
},
|
|
42
41
|
style: {
|
|
43
42
|
margin: 'auto 16px auto auto'
|
|
@@ -60,19 +59,23 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
|
|
|
60
59
|
name: 'MuiDatePickerToolbar'
|
|
61
60
|
});
|
|
62
61
|
const {
|
|
63
|
-
value,
|
|
64
|
-
isLandscape,
|
|
65
62
|
toolbarFormat,
|
|
66
63
|
toolbarPlaceholder = '––',
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
className,
|
|
65
|
+
classes: classesProp
|
|
69
66
|
} = props,
|
|
70
67
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
71
68
|
const utils = useUtils();
|
|
69
|
+
const {
|
|
70
|
+
value,
|
|
71
|
+
views,
|
|
72
|
+
orientation
|
|
73
|
+
} = usePickerContext();
|
|
72
74
|
const translations = usePickerTranslations();
|
|
73
|
-
const
|
|
75
|
+
const ownerState = useToolbarOwnerState();
|
|
76
|
+
const classes = useUtilityClasses(classesProp);
|
|
74
77
|
const dateText = React.useMemo(() => {
|
|
75
|
-
if (!value) {
|
|
78
|
+
if (!utils.isValid(value)) {
|
|
76
79
|
return toolbarPlaceholder;
|
|
77
80
|
}
|
|
78
81
|
const formatFromViews = resolveDateFormat(utils, {
|
|
@@ -81,16 +84,14 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
|
|
|
81
84
|
}, true);
|
|
82
85
|
return utils.formatByString(value, formatFromViews);
|
|
83
86
|
}, [value, toolbarFormat, toolbarPlaceholder, utils, views]);
|
|
84
|
-
const ownerState = props;
|
|
85
87
|
return /*#__PURE__*/_jsx(DatePickerToolbarRoot, _extends({
|
|
86
88
|
ref: ref,
|
|
87
89
|
toolbarTitle: translations.datePickerToolbarTitle,
|
|
88
|
-
isLandscape: isLandscape,
|
|
89
90
|
className: clsx(classes.root, className)
|
|
90
91
|
}, other, {
|
|
91
92
|
children: /*#__PURE__*/_jsx(DatePickerToolbarTitle, {
|
|
92
93
|
variant: "h4",
|
|
93
|
-
align:
|
|
94
|
+
align: orientation === 'landscape' ? 'left' : 'center',
|
|
94
95
|
ownerState: ownerState,
|
|
95
96
|
className: classes.title,
|
|
96
97
|
children: dateText
|
|
@@ -107,31 +108,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
107
108
|
*/
|
|
108
109
|
classes: PropTypes.object,
|
|
109
110
|
className: PropTypes.string,
|
|
110
|
-
/**
|
|
111
|
-
* If `true`, the component is disabled.
|
|
112
|
-
* When disabled, the value cannot be changed and no interaction is possible.
|
|
113
|
-
* @default false
|
|
114
|
-
*/
|
|
115
|
-
disabled: PropTypes.bool,
|
|
116
111
|
/**
|
|
117
112
|
* If `true`, show the toolbar even in desktop mode.
|
|
118
113
|
* @default `true` for Desktop, `false` for Mobile.
|
|
119
114
|
*/
|
|
120
115
|
hidden: PropTypes.bool,
|
|
121
|
-
isLandscape: PropTypes.bool.isRequired,
|
|
122
|
-
onChange: PropTypes.func.isRequired,
|
|
123
|
-
/**
|
|
124
|
-
* Callback called when a toolbar is clicked
|
|
125
|
-
* @template TView
|
|
126
|
-
* @param {TView} view The view to open
|
|
127
|
-
*/
|
|
128
|
-
onViewChange: PropTypes.func.isRequired,
|
|
129
|
-
/**
|
|
130
|
-
* If `true`, the component is read-only.
|
|
131
|
-
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
132
|
-
* @default false
|
|
133
|
-
*/
|
|
134
|
-
readOnly: PropTypes.bool,
|
|
135
116
|
/**
|
|
136
117
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
137
118
|
*/
|
|
@@ -145,14 +126,5 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
145
126
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
146
127
|
* @default "––"
|
|
147
128
|
*/
|
|
148
|
-
toolbarPlaceholder: PropTypes.node
|
|
149
|
-
value: PropTypes.object,
|
|
150
|
-
/**
|
|
151
|
-
* Currently visible picker view.
|
|
152
|
-
*/
|
|
153
|
-
view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,
|
|
154
|
-
/**
|
|
155
|
-
* Available views.
|
|
156
|
-
*/
|
|
157
|
-
views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired
|
|
129
|
+
toolbarPlaceholder: PropTypes.node
|
|
158
130
|
} : void 0;
|
package/DatePicker/shared.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
3
|
import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
|
|
4
|
-
import { DateValidationError, DateView
|
|
4
|
+
import { DateValidationError, DateView } from '../models';
|
|
5
5
|
import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
|
|
6
|
-
import { BaseDateValidationProps } from '../internals/models/validation';
|
|
7
6
|
import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
|
|
8
7
|
import { DatePickerToolbarProps, ExportedDatePickerToolbarProps } from './DatePickerToolbar';
|
|
9
8
|
import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
|
|
10
9
|
import { DateViewRendererProps } from '../dateViewRenderers';
|
|
10
|
+
import { PickerValue } from '../internals/models';
|
|
11
|
+
import { ValidateDatePropsToDefault } from '../validation/validateDate';
|
|
11
12
|
export interface BaseDatePickerSlots extends DateCalendarSlots {
|
|
12
13
|
/**
|
|
13
14
|
* Custom component for the toolbar rendered above the views.
|
|
@@ -18,8 +19,8 @@ export interface BaseDatePickerSlots extends DateCalendarSlots {
|
|
|
18
19
|
export interface BaseDatePickerSlotProps extends DateCalendarSlotProps {
|
|
19
20
|
toolbar?: ExportedDatePickerToolbarProps;
|
|
20
21
|
}
|
|
21
|
-
export type DatePickerViewRenderers<TView extends DateView
|
|
22
|
-
export interface BaseDatePickerProps extends BasePickerInputProps<
|
|
22
|
+
export type DatePickerViewRenderers<TView extends DateView> = PickerViewRendererLookup<PickerValue, TView, DateViewRendererProps<TView>>;
|
|
23
|
+
export interface BaseDatePickerProps extends BasePickerInputProps<PickerValue, DateView, DateValidationError>, ExportedDateCalendarProps {
|
|
23
24
|
/**
|
|
24
25
|
* Overridable component slots.
|
|
25
26
|
* @default {}
|
|
@@ -37,6 +38,6 @@ export interface BaseDatePickerProps extends BasePickerInputProps<PickerValidDat
|
|
|
37
38
|
*/
|
|
38
39
|
viewRenderers?: Partial<DatePickerViewRenderers<DateView>>;
|
|
39
40
|
}
|
|
40
|
-
type UseDatePickerDefaultizedProps<Props extends BaseDatePickerProps> = LocalizedComponent<DefaultizedProps<Props, 'views' | 'openTo' |
|
|
41
|
+
type UseDatePickerDefaultizedProps<Props extends BaseDatePickerProps> = LocalizedComponent<DefaultizedProps<Props, 'views' | 'openTo' | ValidateDatePropsToDefault>>;
|
|
41
42
|
export declare function useDatePickerDefaultizedProps<Props extends BaseDatePickerProps>(props: Props, name: string): UseDatePickerDefaultizedProps<Props>;
|
|
42
43
|
export {};
|