@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
|
@@ -7,14 +7,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.DateTimePickerToolbar = DateTimePickerToolbar;
|
|
10
|
+
exports.DateTimePickerToolbarOverrideContext = void 0;
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
15
16
|
var _styles = require("@mui/material/styles");
|
|
16
17
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
17
|
-
var
|
|
18
|
+
var _createStyled = require("@mui/system/createStyled");
|
|
18
19
|
var _PickersToolbarText = require("../internals/components/PickersToolbarText");
|
|
19
20
|
var _PickersToolbar = require("../internals/components/PickersToolbar");
|
|
20
21
|
var _PickersToolbarButton = require("../internals/components/PickersToolbarButton");
|
|
@@ -27,21 +28,21 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
27
28
|
var _pickersToolbarTextClasses = require("../internals/components/pickersToolbarTextClasses");
|
|
28
29
|
var _pickersToolbarClasses = require("../internals/components/pickersToolbarClasses");
|
|
29
30
|
var _usePickerContext = require("../hooks/usePickerContext");
|
|
31
|
+
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
30
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
-
const _excluded = ["ampm", "ampmInClock", "
|
|
32
|
-
const useUtilityClasses = ownerState => {
|
|
33
|
+
const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
|
|
34
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
33
35
|
const {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
isRtl
|
|
36
|
+
pickerOrientation,
|
|
37
|
+
toolbarDirection
|
|
37
38
|
} = ownerState;
|
|
38
39
|
const slots = {
|
|
39
40
|
root: ['root'],
|
|
40
41
|
dateContainer: ['dateContainer'],
|
|
41
|
-
timeContainer: ['timeContainer',
|
|
42
|
-
timeDigitsContainer: ['timeDigitsContainer',
|
|
42
|
+
timeContainer: ['timeContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
|
|
43
|
+
timeDigitsContainer: ['timeDigitsContainer', toolbarDirection === 'rtl' && 'timeLabelReverse'],
|
|
43
44
|
separator: ['separator'],
|
|
44
|
-
ampmSelection: ['ampmSelection',
|
|
45
|
+
ampmSelection: ['ampmSelection', pickerOrientation === 'landscape' && 'ampmLandscape'],
|
|
45
46
|
ampmLabel: ['ampmLabel']
|
|
46
47
|
};
|
|
47
48
|
return (0, _composeClasses.default)(slots, _dateTimePickerToolbarClasses.getDateTimePickerToolbarUtilityClass, classes);
|
|
@@ -49,7 +50,8 @@ const useUtilityClasses = ownerState => {
|
|
|
49
50
|
const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToolbar, {
|
|
50
51
|
name: 'MuiDateTimePickerToolbar',
|
|
51
52
|
slot: 'Root',
|
|
52
|
-
overridesResolver: (props, styles) => styles.root
|
|
53
|
+
overridesResolver: (props, styles) => styles.root,
|
|
54
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
|
|
53
55
|
})(({
|
|
54
56
|
theme
|
|
55
57
|
}) => ({
|
|
@@ -71,7 +73,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
|
|
|
71
73
|
}, {
|
|
72
74
|
props: {
|
|
73
75
|
toolbarVariant: 'desktop',
|
|
74
|
-
|
|
76
|
+
pickerOrientation: 'landscape'
|
|
75
77
|
},
|
|
76
78
|
style: {
|
|
77
79
|
borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
|
|
@@ -79,7 +81,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
|
|
|
79
81
|
}, {
|
|
80
82
|
props: {
|
|
81
83
|
toolbarVariant: 'desktop',
|
|
82
|
-
|
|
84
|
+
pickerOrientation: 'portrait'
|
|
83
85
|
},
|
|
84
86
|
style: {
|
|
85
87
|
paddingLeft: 24,
|
|
@@ -99,13 +101,14 @@ const DateTimePickerToolbarDateContainer = (0, _styles.styled)('div', {
|
|
|
99
101
|
const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
|
|
100
102
|
name: 'MuiDateTimePickerToolbar',
|
|
101
103
|
slot: 'TimeContainer',
|
|
102
|
-
overridesResolver: (props, styles) => styles.timeContainer
|
|
104
|
+
overridesResolver: (props, styles) => styles.timeContainer,
|
|
105
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
|
|
103
106
|
})({
|
|
104
107
|
display: 'flex',
|
|
105
108
|
flexDirection: 'row',
|
|
106
109
|
variants: [{
|
|
107
110
|
props: {
|
|
108
|
-
|
|
111
|
+
toolbarDirection: 'rtl'
|
|
109
112
|
},
|
|
110
113
|
style: {
|
|
111
114
|
flexDirection: 'row-reverse'
|
|
@@ -113,7 +116,7 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
|
|
|
113
116
|
}, {
|
|
114
117
|
props: {
|
|
115
118
|
toolbarVariant: 'desktop',
|
|
116
|
-
|
|
119
|
+
pickerOrientation: 'portrait'
|
|
117
120
|
},
|
|
118
121
|
style: {
|
|
119
122
|
gap: 9,
|
|
@@ -122,18 +125,18 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
|
|
|
122
125
|
}
|
|
123
126
|
}, {
|
|
124
127
|
props: ({
|
|
125
|
-
|
|
128
|
+
pickerOrientation,
|
|
126
129
|
toolbarVariant
|
|
127
|
-
}) =>
|
|
130
|
+
}) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop',
|
|
128
131
|
style: {
|
|
129
132
|
flexDirection: 'column'
|
|
130
133
|
}
|
|
131
134
|
}, {
|
|
132
135
|
props: ({
|
|
133
|
-
|
|
136
|
+
pickerOrientation,
|
|
134
137
|
toolbarVariant,
|
|
135
|
-
|
|
136
|
-
}) =>
|
|
138
|
+
toolbarDirection
|
|
139
|
+
}) => pickerOrientation === 'landscape' && toolbarVariant !== 'desktop' && toolbarDirection === 'rtl',
|
|
137
140
|
style: {
|
|
138
141
|
flexDirection: 'column-reverse'
|
|
139
142
|
}
|
|
@@ -142,12 +145,13 @@ const DateTimePickerToolbarTimeContainer = (0, _styles.styled)('div', {
|
|
|
142
145
|
const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
|
|
143
146
|
name: 'MuiDateTimePickerToolbar',
|
|
144
147
|
slot: 'TimeDigitsContainer',
|
|
145
|
-
overridesResolver: (props, styles) => styles.timeDigitsContainer
|
|
148
|
+
overridesResolver: (props, styles) => styles.timeDigitsContainer,
|
|
149
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
|
|
146
150
|
})({
|
|
147
151
|
display: 'flex',
|
|
148
152
|
variants: [{
|
|
149
153
|
props: {
|
|
150
|
-
|
|
154
|
+
toolbarDirection: 'rtl'
|
|
151
155
|
},
|
|
152
156
|
style: {
|
|
153
157
|
flexDirection: 'row-reverse'
|
|
@@ -164,7 +168,8 @@ const DateTimePickerToolbarTimeDigitsContainer = (0, _styles.styled)('div', {
|
|
|
164
168
|
const DateTimePickerToolbarSeparator = (0, _styles.styled)(_PickersToolbarText.PickersToolbarText, {
|
|
165
169
|
name: 'MuiDateTimePickerToolbar',
|
|
166
170
|
slot: 'Separator',
|
|
167
|
-
overridesResolver: (props, styles) => styles.separator
|
|
171
|
+
overridesResolver: (props, styles) => styles.separator,
|
|
172
|
+
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'toolbarVariant'
|
|
168
173
|
})({
|
|
169
174
|
margin: '0 4px 0 2px',
|
|
170
175
|
cursor: 'default',
|
|
@@ -197,7 +202,7 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
|
|
|
197
202
|
},
|
|
198
203
|
variants: [{
|
|
199
204
|
props: {
|
|
200
|
-
|
|
205
|
+
pickerOrientation: 'landscape'
|
|
201
206
|
},
|
|
202
207
|
style: {
|
|
203
208
|
margin: '4px 0 auto',
|
|
@@ -208,6 +213,13 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
|
|
|
208
213
|
}]
|
|
209
214
|
});
|
|
210
215
|
|
|
216
|
+
/**
|
|
217
|
+
* If `forceDesktopVariant` is set to `true`, the toolbar will always be rendered in the desktop mode.
|
|
218
|
+
* If `onViewChange` is defined, the toolbar will call it instead of calling the default handler from `usePickerContext`.
|
|
219
|
+
* This is used by the Date Time Range Picker Toolbar.
|
|
220
|
+
*/
|
|
221
|
+
const DateTimePickerToolbarOverrideContext = exports.DateTimePickerToolbarOverrideContext = /*#__PURE__*/React.createContext(null);
|
|
222
|
+
|
|
211
223
|
/**
|
|
212
224
|
* Demos:
|
|
213
225
|
*
|
|
@@ -226,40 +238,45 @@ function DateTimePickerToolbar(inProps) {
|
|
|
226
238
|
const {
|
|
227
239
|
ampm,
|
|
228
240
|
ampmInClock,
|
|
229
|
-
value,
|
|
230
|
-
onChange,
|
|
231
|
-
view,
|
|
232
|
-
isLandscape,
|
|
233
|
-
onViewChange,
|
|
234
241
|
toolbarFormat,
|
|
235
242
|
toolbarPlaceholder = '––',
|
|
236
|
-
views,
|
|
237
|
-
toolbarVariant = 'mobile',
|
|
238
243
|
toolbarTitle: inToolbarTitle,
|
|
239
|
-
className
|
|
244
|
+
className,
|
|
245
|
+
classes: classesProp
|
|
240
246
|
} = props,
|
|
241
247
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
242
|
-
const isRtl = (0, _RtlProvider.useRtl)();
|
|
243
248
|
const {
|
|
249
|
+
value: valueContext,
|
|
250
|
+
setValue: setValueContext,
|
|
244
251
|
disabled,
|
|
245
|
-
readOnly
|
|
252
|
+
readOnly,
|
|
253
|
+
variant,
|
|
254
|
+
orientation,
|
|
255
|
+
view: viewContext,
|
|
256
|
+
setView: setViewContext,
|
|
257
|
+
views
|
|
246
258
|
} = (0, _usePickerContext.usePickerContext)();
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
259
|
+
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
260
|
+
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
261
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
250
262
|
const utils = (0, _useUtils.useUtils)();
|
|
263
|
+
const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
|
|
264
|
+
const value = overrides ? overrides.value : valueContext;
|
|
265
|
+
const setValue = overrides ? overrides.setValue : setValueContext;
|
|
266
|
+
const view = overrides ? overrides.view : viewContext;
|
|
267
|
+
const setView = overrides ? overrides.setView : setViewContext;
|
|
251
268
|
const {
|
|
252
269
|
meridiemMode,
|
|
253
270
|
handleMeridiemChange
|
|
254
|
-
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm,
|
|
255
|
-
|
|
271
|
+
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
|
|
272
|
+
changeImportance: 'set'
|
|
273
|
+
}));
|
|
274
|
+
const toolbarVariant = overrides?.forceDesktopVariant ? 'desktop' : variant;
|
|
256
275
|
const isDesktop = toolbarVariant === 'desktop';
|
|
257
|
-
const
|
|
258
|
-
const classes = useUtilityClasses(ownerState);
|
|
276
|
+
const showAmPmControl = Boolean(ampm && !ampmInClock);
|
|
259
277
|
const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
|
|
260
|
-
const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
|
|
261
278
|
const dateText = React.useMemo(() => {
|
|
262
|
-
if (!value) {
|
|
279
|
+
if (!utils.isValid(value)) {
|
|
263
280
|
return toolbarPlaceholder;
|
|
264
281
|
}
|
|
265
282
|
if (toolbarFormat) {
|
|
@@ -267,10 +284,16 @@ function DateTimePickerToolbar(inProps) {
|
|
|
267
284
|
}
|
|
268
285
|
return utils.format(value, 'shortDate');
|
|
269
286
|
}, [value, toolbarFormat, toolbarPlaceholder, utils]);
|
|
287
|
+
const formatSection = (format, fallback) => {
|
|
288
|
+
if (!utils.isValid(value)) {
|
|
289
|
+
return fallback;
|
|
290
|
+
}
|
|
291
|
+
return utils.format(value, format);
|
|
292
|
+
};
|
|
270
293
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
|
|
271
|
-
isLandscape: isLandscape,
|
|
272
294
|
className: (0, _clsx.default)(classes.root, className),
|
|
273
|
-
toolbarTitle: toolbarTitle
|
|
295
|
+
toolbarTitle: toolbarTitle,
|
|
296
|
+
toolbarVariant: toolbarVariant
|
|
274
297
|
}, other, {
|
|
275
298
|
ownerState: ownerState,
|
|
276
299
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarDateContainer, {
|
|
@@ -279,40 +302,43 @@ function DateTimePickerToolbar(inProps) {
|
|
|
279
302
|
children: [views.includes('year') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
280
303
|
tabIndex: -1,
|
|
281
304
|
variant: "subtitle1",
|
|
282
|
-
onClick: () =>
|
|
305
|
+
onClick: () => setView('year'),
|
|
283
306
|
selected: view === 'year',
|
|
284
|
-
value:
|
|
307
|
+
value: formatSection('year', '–')
|
|
285
308
|
}), views.includes('day') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
286
309
|
tabIndex: -1,
|
|
287
310
|
variant: isDesktop ? 'h5' : 'h4',
|
|
288
|
-
onClick: () =>
|
|
311
|
+
onClick: () => setView('day'),
|
|
289
312
|
selected: view === 'day',
|
|
290
313
|
value: dateText
|
|
291
314
|
})]
|
|
292
315
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeContainer, {
|
|
293
316
|
className: classes.timeContainer,
|
|
294
317
|
ownerState: ownerState,
|
|
318
|
+
toolbarVariant: toolbarVariant,
|
|
295
319
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarTimeDigitsContainer, {
|
|
296
320
|
className: classes.timeDigitsContainer,
|
|
297
321
|
ownerState: ownerState,
|
|
322
|
+
toolbarVariant: toolbarVariant,
|
|
298
323
|
children: [views.includes('hours') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
299
324
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
300
325
|
variant: isDesktop ? 'h5' : 'h3',
|
|
301
|
-
width: isDesktop &&
|
|
302
|
-
onClick: () =>
|
|
326
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
327
|
+
onClick: () => setView('hours'),
|
|
303
328
|
selected: view === 'hours',
|
|
304
|
-
value:
|
|
329
|
+
value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
|
|
305
330
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimePickerToolbarSeparator, {
|
|
306
331
|
variant: isDesktop ? 'h5' : 'h3',
|
|
307
332
|
value: ":",
|
|
308
333
|
className: classes.separator,
|
|
309
|
-
ownerState: ownerState
|
|
334
|
+
ownerState: ownerState,
|
|
335
|
+
toolbarVariant: toolbarVariant
|
|
310
336
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
311
337
|
variant: isDesktop ? 'h5' : 'h3',
|
|
312
|
-
width: isDesktop &&
|
|
313
|
-
onClick: () =>
|
|
338
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
339
|
+
onClick: () => setView('minutes'),
|
|
314
340
|
selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
|
|
315
|
-
value:
|
|
341
|
+
value: formatSection('minutes', '--'),
|
|
316
342
|
disabled: !views.includes('minutes')
|
|
317
343
|
})]
|
|
318
344
|
}), views.includes('seconds') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
@@ -320,13 +346,14 @@ function DateTimePickerToolbar(inProps) {
|
|
|
320
346
|
variant: isDesktop ? 'h5' : 'h3',
|
|
321
347
|
value: ":",
|
|
322
348
|
className: classes.separator,
|
|
323
|
-
ownerState: ownerState
|
|
349
|
+
ownerState: ownerState,
|
|
350
|
+
toolbarVariant: toolbarVariant
|
|
324
351
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
325
352
|
variant: isDesktop ? 'h5' : 'h3',
|
|
326
|
-
width: isDesktop &&
|
|
327
|
-
onClick: () =>
|
|
353
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
354
|
+
onClick: () => setView('seconds'),
|
|
328
355
|
selected: view === 'seconds',
|
|
329
|
-
value:
|
|
356
|
+
value: formatSection('seconds', '--')
|
|
330
357
|
})]
|
|
331
358
|
})]
|
|
332
359
|
}), showAmPmControl && !isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarAmPmSelection, {
|
|
@@ -349,7 +376,7 @@ function DateTimePickerToolbar(inProps) {
|
|
|
349
376
|
})]
|
|
350
377
|
}), ampm && isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
351
378
|
variant: "h5",
|
|
352
|
-
onClick: () =>
|
|
379
|
+
onClick: () => setView('meridiem'),
|
|
353
380
|
selected: view === 'meridiem',
|
|
354
381
|
value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(utils, meridiemMode) : '--',
|
|
355
382
|
width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
|
|
@@ -374,14 +401,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
|
|
|
374
401
|
* @default `true` for Desktop, `false` for Mobile.
|
|
375
402
|
*/
|
|
376
403
|
hidden: _propTypes.default.bool,
|
|
377
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
378
|
-
onChange: _propTypes.default.func.isRequired,
|
|
379
|
-
/**
|
|
380
|
-
* Callback called when a toolbar is clicked
|
|
381
|
-
* @template TView
|
|
382
|
-
* @param {TView} view The view to open
|
|
383
|
-
*/
|
|
384
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
385
404
|
/**
|
|
386
405
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
387
406
|
*/
|
|
@@ -399,15 +418,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
|
|
|
399
418
|
/**
|
|
400
419
|
* If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
|
|
401
420
|
*/
|
|
402
|
-
toolbarTitle: _propTypes.default.node
|
|
403
|
-
toolbarVariant: _propTypes.default.oneOf(['desktop', 'mobile']),
|
|
404
|
-
value: _propTypes.default.object,
|
|
405
|
-
/**
|
|
406
|
-
* Currently visible picker view.
|
|
407
|
-
*/
|
|
408
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
409
|
-
/**
|
|
410
|
-
* Available views.
|
|
411
|
-
*/
|
|
412
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
|
|
421
|
+
toolbarTitle: _propTypes.default.node
|
|
413
422
|
} : void 0;
|
|
@@ -18,11 +18,8 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
18
18
|
var _dimensions = require("../internals/constants/dimensions");
|
|
19
19
|
var _dayCalendarSkeletonClasses = require("./dayCalendarSkeletonClasses");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
const _excluded = ["className"];
|
|
22
|
-
const useUtilityClasses =
|
|
23
|
-
const {
|
|
24
|
-
classes
|
|
25
|
-
} = ownerState;
|
|
21
|
+
const _excluded = ["className", "classes"];
|
|
22
|
+
const useUtilityClasses = classes => {
|
|
26
23
|
const slots = {
|
|
27
24
|
root: ['root'],
|
|
28
25
|
week: ['week'],
|
|
@@ -52,14 +49,9 @@ const DayCalendarSkeletonDay = (0, _styles.styled)(_Skeleton.default, {
|
|
|
52
49
|
overridesResolver: (props, styles) => styles.daySkeleton
|
|
53
50
|
})({
|
|
54
51
|
margin: `0 ${_dimensions.DAY_MARGIN}px`,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
style: {
|
|
60
|
-
visibility: 'hidden'
|
|
61
|
-
}
|
|
62
|
-
}]
|
|
52
|
+
'&[data-day-in-month="0"]': {
|
|
53
|
+
visibility: 'hidden'
|
|
54
|
+
}
|
|
63
55
|
});
|
|
64
56
|
const monthMap = [[0, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0]];
|
|
65
57
|
|
|
@@ -78,23 +70,22 @@ function DayCalendarSkeleton(inProps) {
|
|
|
78
70
|
name: 'MuiDayCalendarSkeleton'
|
|
79
71
|
});
|
|
80
72
|
const {
|
|
81
|
-
className
|
|
73
|
+
className,
|
|
74
|
+
classes: classesProp
|
|
82
75
|
} = props,
|
|
83
76
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
84
|
-
const classes = useUtilityClasses(
|
|
77
|
+
const classes = useUtilityClasses(classesProp);
|
|
85
78
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonRoot, (0, _extends2.default)({
|
|
86
79
|
className: (0, _clsx.default)(classes.root, className)
|
|
87
80
|
}, other, {
|
|
88
81
|
children: monthMap.map((week, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonWeek, {
|
|
89
82
|
className: classes.week,
|
|
90
|
-
children: week.map((
|
|
83
|
+
children: week.map((dayInMonth, index2) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DayCalendarSkeletonDay, {
|
|
91
84
|
variant: "circular",
|
|
92
85
|
width: _dimensions.DAY_SIZE,
|
|
93
86
|
height: _dimensions.DAY_SIZE,
|
|
94
87
|
className: classes.daySkeleton,
|
|
95
|
-
|
|
96
|
-
day
|
|
97
|
-
}
|
|
88
|
+
"data-day-in-month": dayInMonth
|
|
98
89
|
}, index2))
|
|
99
90
|
}, index))
|
|
100
91
|
}));
|
|
@@ -14,15 +14,14 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
|
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _shared = require("../DatePicker/shared");
|
|
17
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
18
17
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
19
18
|
var _validation = require("../validation");
|
|
20
19
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
21
|
-
var _icons = require("../icons");
|
|
22
20
|
var _DateField = require("../DateField");
|
|
23
21
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
24
22
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
25
|
-
|
|
23
|
+
const emptyActions = [];
|
|
24
|
+
|
|
26
25
|
/**
|
|
27
26
|
* Demos:
|
|
28
27
|
*
|
|
@@ -34,7 +33,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
|
|
|
34
33
|
* - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
|
|
35
34
|
*/
|
|
36
35
|
const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
|
|
37
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
38
36
|
const utils = (0, _useUtils.useUtils)();
|
|
39
37
|
|
|
40
38
|
// Props with the default values common to all date pickers
|
|
@@ -47,34 +45,30 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
47
45
|
|
|
48
46
|
// Props with the default values specific to the desktop variant
|
|
49
47
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
48
|
+
closeOnSelect: defaultizedProps.closeOnSelect ?? true,
|
|
50
49
|
viewRenderers,
|
|
51
50
|
format: (0, _dateUtils.resolveDateFormat)(utils, defaultizedProps, false),
|
|
52
51
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
53
52
|
slots: (0, _extends2.default)({
|
|
54
|
-
openPickerIcon: _icons.CalendarIcon,
|
|
55
53
|
field: _DateField.DateField
|
|
56
54
|
}, defaultizedProps.slots),
|
|
57
55
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
58
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps),
|
|
59
|
-
ref
|
|
60
|
-
}),
|
|
56
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
|
|
61
57
|
toolbar: (0, _extends2.default)({
|
|
62
58
|
hidden: true
|
|
63
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
59
|
+
}, defaultizedProps.slotProps?.toolbar),
|
|
60
|
+
actionBar: ownerState => (0, _extends2.default)({
|
|
61
|
+
actions: emptyActions
|
|
62
|
+
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
64
63
|
})
|
|
65
64
|
});
|
|
66
65
|
const {
|
|
67
66
|
renderPicker
|
|
68
67
|
} = (0, _useDesktopPicker.useDesktopPicker)({
|
|
68
|
+
ref,
|
|
69
69
|
props,
|
|
70
70
|
valueManager: _valueManagers.singleItemValueManager,
|
|
71
71
|
valueType: 'date',
|
|
72
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
73
|
-
utils,
|
|
74
|
-
formatKey: 'fullDate',
|
|
75
|
-
contextTranslation: translations.openDatePickerDialogue,
|
|
76
|
-
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
77
|
-
}),
|
|
78
72
|
validator: _validation.validateDate
|
|
79
73
|
});
|
|
80
74
|
return renderPicker();
|
|
@@ -93,8 +87,8 @@ DesktopDatePicker.propTypes = {
|
|
|
93
87
|
autoFocus: _propTypes.default.bool,
|
|
94
88
|
className: _propTypes.default.string,
|
|
95
89
|
/**
|
|
96
|
-
* If `true`, the
|
|
97
|
-
* @default
|
|
90
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
91
|
+
* @default true
|
|
98
92
|
*/
|
|
99
93
|
closeOnSelect: _propTypes.default.bool,
|
|
100
94
|
/**
|
|
@@ -18,10 +18,8 @@ var _valueManagers = require("../internals/utils/valueManagers");
|
|
|
18
18
|
var _DateTimeField = require("../DateTimeField");
|
|
19
19
|
var _shared = require("../DateTimePicker/shared");
|
|
20
20
|
var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
|
|
21
|
-
var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
22
21
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
23
22
|
var _validation = require("../validation");
|
|
24
|
-
var _icons = require("../icons");
|
|
25
23
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
26
24
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
27
25
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
@@ -31,10 +29,14 @@ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
|
|
|
31
29
|
var _dimensions = require("../internals/constants/dimensions");
|
|
32
30
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
33
31
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
34
|
-
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
35
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
36
33
|
const _excluded = ["openTo", "focusedView", "timeViewsCount"];
|
|
37
|
-
const rendererInterceptor = function
|
|
34
|
+
const rendererInterceptor = function RendererInterceptor(props) {
|
|
35
|
+
const {
|
|
36
|
+
viewRenderers,
|
|
37
|
+
popperView,
|
|
38
|
+
rendererProps
|
|
39
|
+
} = props;
|
|
38
40
|
const {
|
|
39
41
|
openTo,
|
|
40
42
|
focusedView,
|
|
@@ -53,8 +55,10 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
53
55
|
}]
|
|
54
56
|
});
|
|
55
57
|
const isTimeViewActive = (0, _timeUtils.isInternalTimeView)(popperView);
|
|
58
|
+
const dateView = isTimeViewActive ? 'day' : popperView;
|
|
59
|
+
const timeView = isTimeViewActive ? popperView : 'hours';
|
|
56
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
57
|
-
children: [
|
|
61
|
+
children: [viewRenderers[dateView]?.((0, _extends2.default)({}, rendererProps, {
|
|
58
62
|
view: !isTimeViewActive ? popperView : 'day',
|
|
59
63
|
focusedView: focusedView && (0, _dateUtils.isDatePickerView)(focusedView) ? focusedView : null,
|
|
60
64
|
views: rendererProps.views.filter(_dateUtils.isDatePickerView),
|
|
@@ -67,7 +71,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
67
71
|
sx: {
|
|
68
72
|
gridColumn: 2
|
|
69
73
|
}
|
|
70
|
-
}),
|
|
74
|
+
}), viewRenderers[timeView]?.((0, _extends2.default)({}, finalProps, {
|
|
71
75
|
view: isTimeViewActive ? popperView : 'hours',
|
|
72
76
|
focusedView: focusedView && (0, _timeUtils.isInternalTimeView)(focusedView) ? focusedView : null,
|
|
73
77
|
openTo: (0, _timeUtils.isInternalTimeView)(openTo) ? openTo : 'hours',
|
|
@@ -90,7 +94,6 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
90
94
|
* - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
|
|
91
95
|
*/
|
|
92
96
|
const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
|
|
93
|
-
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
94
97
|
const utils = (0, _useUtils.useUtils)();
|
|
95
98
|
|
|
96
99
|
// Props with the default values common to all date time pickers
|
|
@@ -115,7 +118,6 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
115
118
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
116
119
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
117
120
|
const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
|
|
118
|
-
const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
119
121
|
|
|
120
122
|
// Props with the default values specific to the desktop variant
|
|
121
123
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
@@ -129,38 +131,26 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
129
131
|
shouldRenderTimeInASingleColumn,
|
|
130
132
|
slots: (0, _extends2.default)({
|
|
131
133
|
field: _DateTimeField.DateTimeField,
|
|
132
|
-
layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout
|
|
133
|
-
openPickerIcon: _icons.CalendarIcon
|
|
134
|
+
layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout
|
|
134
135
|
}, defaultizedProps.slots),
|
|
135
136
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
136
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps),
|
|
137
|
-
ref
|
|
138
|
-
}),
|
|
137
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
|
|
139
138
|
toolbar: (0, _extends2.default)({
|
|
140
139
|
hidden: true,
|
|
141
|
-
ampmInClock
|
|
142
|
-
toolbarVariant: 'desktop'
|
|
140
|
+
ampmInClock
|
|
143
141
|
}, defaultizedProps.slotProps?.toolbar),
|
|
144
142
|
tabs: (0, _extends2.default)({
|
|
145
143
|
hidden: true
|
|
146
|
-
}, defaultizedProps.slotProps?.tabs)
|
|
147
|
-
actionBar: ownerState => (0, _extends2.default)({
|
|
148
|
-
actions: actionBarActions
|
|
149
|
-
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
144
|
+
}, defaultizedProps.slotProps?.tabs)
|
|
150
145
|
})
|
|
151
146
|
});
|
|
152
147
|
const {
|
|
153
148
|
renderPicker
|
|
154
149
|
} = (0, _useDesktopPicker.useDesktopPicker)({
|
|
150
|
+
ref,
|
|
155
151
|
props,
|
|
156
152
|
valueManager: _valueManagers.singleItemValueManager,
|
|
157
153
|
valueType: 'date-time',
|
|
158
|
-
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
159
|
-
utils,
|
|
160
|
-
formatKey: 'fullDate',
|
|
161
|
-
contextTranslation: translations.openDatePickerDialogue,
|
|
162
|
-
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
163
|
-
}),
|
|
164
154
|
validator: _validation.validateDateTime,
|
|
165
155
|
rendererInterceptor
|
|
166
156
|
});
|
|
@@ -190,8 +180,8 @@ DesktopDateTimePicker.propTypes = {
|
|
|
190
180
|
autoFocus: _propTypes.default.bool,
|
|
191
181
|
className: _propTypes.default.string,
|
|
192
182
|
/**
|
|
193
|
-
* If `true`, the
|
|
194
|
-
* @default
|
|
183
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
184
|
+
* @default false
|
|
195
185
|
*/
|
|
196
186
|
closeOnSelect: _propTypes.default.bool,
|
|
197
187
|
/**
|