@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["PaperComponent", "
|
|
3
|
+
const _excluded = ["PaperComponent", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
6
6
|
import Grow from '@mui/material/Grow';
|
|
@@ -10,22 +10,20 @@ import MuiPopper from '@mui/material/Popper';
|
|
|
10
10
|
import BaseFocusTrap from '@mui/material/Unstable_TrapFocus';
|
|
11
11
|
import { unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_ownerDocument as ownerDocument, unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
12
12
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
13
|
-
import {
|
|
14
|
-
import { getActiveElement } from "
|
|
15
|
-
import {
|
|
13
|
+
import { getPickerPopperUtilityClass } from "./pickerPopperClasses.js";
|
|
14
|
+
import { getActiveElement } from "../../utils/utils.js";
|
|
15
|
+
import { usePickerPrivateContext } from "../../hooks/usePickerPrivateContext.js";
|
|
16
|
+
import { usePickerContext } from "../../../hooks/index.js";
|
|
16
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
const useUtilityClasses =
|
|
18
|
-
const {
|
|
19
|
-
classes
|
|
20
|
-
} = ownerState;
|
|
18
|
+
const useUtilityClasses = classes => {
|
|
21
19
|
const slots = {
|
|
22
20
|
root: ['root'],
|
|
23
21
|
paper: ['paper']
|
|
24
22
|
};
|
|
25
|
-
return composeClasses(slots,
|
|
23
|
+
return composeClasses(slots, getPickerPopperUtilityClass, classes);
|
|
26
24
|
};
|
|
27
|
-
const
|
|
28
|
-
name: '
|
|
25
|
+
const PickerPopperRoot = styled(MuiPopper, {
|
|
26
|
+
name: 'MuiPickerPopper',
|
|
29
27
|
slot: 'Root',
|
|
30
28
|
overridesResolver: (_, styles) => styles.root
|
|
31
29
|
})(({
|
|
@@ -33,8 +31,8 @@ const PickersPopperRoot = styled(MuiPopper, {
|
|
|
33
31
|
}) => ({
|
|
34
32
|
zIndex: theme.zIndex.modal
|
|
35
33
|
}));
|
|
36
|
-
const
|
|
37
|
-
name: '
|
|
34
|
+
const PickerPopperPaper = styled(MuiPaper, {
|
|
35
|
+
name: 'MuiPickerPopper',
|
|
38
36
|
slot: 'Paper',
|
|
39
37
|
overridesResolver: (_, styles) => styles.paper
|
|
40
38
|
})({
|
|
@@ -42,8 +40,8 @@ const PickersPopperPaper = styled(MuiPaper, {
|
|
|
42
40
|
transformOrigin: 'top center',
|
|
43
41
|
variants: [{
|
|
44
42
|
props: ({
|
|
45
|
-
|
|
46
|
-
}) => ['top', 'top-start', 'top-end'].includes(
|
|
43
|
+
popperPlacement
|
|
44
|
+
}) => ['top', 'top-start', 'top-end'].includes(popperPlacement),
|
|
47
45
|
style: {
|
|
48
46
|
transformOrigin: 'bottom center'
|
|
49
47
|
}
|
|
@@ -164,11 +162,10 @@ function useClickAwayListener(active, onClickAway) {
|
|
|
164
162
|
}, [active, handleClickAway]);
|
|
165
163
|
return [nodeRef, handleSynthetic, handleSynthetic];
|
|
166
164
|
}
|
|
167
|
-
const
|
|
165
|
+
const PickerPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
168
166
|
const {
|
|
169
167
|
PaperComponent,
|
|
170
|
-
|
|
171
|
-
ownerState: inOwnerState,
|
|
168
|
+
ownerState,
|
|
172
169
|
children,
|
|
173
170
|
paperSlotProps,
|
|
174
171
|
paperClasses,
|
|
@@ -178,9 +175,6 @@ const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) =>
|
|
|
178
175
|
// https://mui.com/material-ui/transitions/#child-requirement
|
|
179
176
|
} = props,
|
|
180
177
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
181
|
-
const ownerState = _extends({}, inOwnerState, {
|
|
182
|
-
placement: popperPlacement
|
|
183
|
-
});
|
|
184
178
|
const paperProps = useSlotProps({
|
|
185
179
|
elementType: PaperComponent,
|
|
186
180
|
externalSlotProps: paperSlotProps,
|
|
@@ -205,39 +199,44 @@ const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) =>
|
|
|
205
199
|
children: children
|
|
206
200
|
}));
|
|
207
201
|
});
|
|
208
|
-
export function
|
|
202
|
+
export function PickerPopper(inProps) {
|
|
209
203
|
const props = useThemeProps({
|
|
210
204
|
props: inProps,
|
|
211
|
-
name: '
|
|
205
|
+
name: 'MuiPickerPopper'
|
|
212
206
|
});
|
|
213
207
|
const {
|
|
214
|
-
anchorEl,
|
|
215
208
|
children,
|
|
216
209
|
containerRef = null,
|
|
217
|
-
shouldRestoreFocus,
|
|
218
210
|
onBlur,
|
|
219
|
-
onDismiss,
|
|
220
|
-
open,
|
|
221
211
|
role,
|
|
222
|
-
placement,
|
|
212
|
+
placement = 'bottom-start',
|
|
223
213
|
slots,
|
|
224
214
|
slotProps,
|
|
225
|
-
|
|
215
|
+
classes: classesProp
|
|
226
216
|
} = props;
|
|
217
|
+
const {
|
|
218
|
+
open,
|
|
219
|
+
triggerRef,
|
|
220
|
+
reduceAnimations
|
|
221
|
+
} = usePickerContext();
|
|
222
|
+
const {
|
|
223
|
+
dismissViews,
|
|
224
|
+
doesTheCurrentViewHasAnUI
|
|
225
|
+
} = usePickerPrivateContext();
|
|
227
226
|
React.useEffect(() => {
|
|
228
227
|
function handleKeyDown(nativeEvent) {
|
|
229
228
|
if (open && nativeEvent.key === 'Escape') {
|
|
230
|
-
|
|
229
|
+
dismissViews();
|
|
231
230
|
}
|
|
232
231
|
}
|
|
233
232
|
document.addEventListener('keydown', handleKeyDown);
|
|
234
233
|
return () => {
|
|
235
234
|
document.removeEventListener('keydown', handleKeyDown);
|
|
236
235
|
};
|
|
237
|
-
}, [
|
|
236
|
+
}, [dismissViews, open]);
|
|
238
237
|
const lastFocusedElementRef = React.useRef(null);
|
|
239
238
|
React.useEffect(() => {
|
|
240
|
-
if (role === 'tooltip' ||
|
|
239
|
+
if (role === 'tooltip' || !doesTheCurrentViewHasAnUI()) {
|
|
241
240
|
return;
|
|
242
241
|
}
|
|
243
242
|
if (open) {
|
|
@@ -251,26 +250,29 @@ export function PickersPopper(inProps) {
|
|
|
251
250
|
}
|
|
252
251
|
});
|
|
253
252
|
}
|
|
254
|
-
}, [open, role,
|
|
255
|
-
const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ??
|
|
253
|
+
}, [open, role, doesTheCurrentViewHasAnUI]);
|
|
254
|
+
const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? dismissViews);
|
|
256
255
|
const paperRef = React.useRef(null);
|
|
257
256
|
const handleRef = useForkRef(paperRef, containerRef);
|
|
258
257
|
const handlePaperRef = useForkRef(handleRef, clickAwayRef);
|
|
259
|
-
const
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
|
|
258
|
+
const classes = useUtilityClasses(classesProp);
|
|
259
|
+
const {
|
|
260
|
+
ownerState: pickerOwnerState
|
|
261
|
+
} = usePickerPrivateContext();
|
|
262
|
+
const ownerState = _extends({}, pickerOwnerState, {
|
|
263
|
+
popperPlacement: placement
|
|
264
|
+
});
|
|
263
265
|
const handleKeyDown = event => {
|
|
264
266
|
if (event.key === 'Escape') {
|
|
265
267
|
// stop the propagation to avoid closing parent modal
|
|
266
268
|
event.stopPropagation();
|
|
267
|
-
|
|
269
|
+
dismissViews();
|
|
268
270
|
}
|
|
269
271
|
};
|
|
270
272
|
const Transition = slots?.desktopTransition ?? reduceAnimations ? Fade : Grow;
|
|
271
273
|
const FocusTrap = slots?.desktopTrapFocus ?? BaseFocusTrap;
|
|
272
|
-
const Paper = slots?.desktopPaper ??
|
|
273
|
-
const Popper = slots?.popper ??
|
|
274
|
+
const Paper = slots?.desktopPaper ?? PickerPopperPaper;
|
|
275
|
+
const Popper = slots?.popper ?? PickerPopperRoot;
|
|
274
276
|
const popperProps = useSlotProps({
|
|
275
277
|
elementType: Popper,
|
|
276
278
|
externalSlotProps: slotProps?.popper,
|
|
@@ -278,17 +280,16 @@ export function PickersPopper(inProps) {
|
|
|
278
280
|
transition: true,
|
|
279
281
|
role,
|
|
280
282
|
open,
|
|
281
|
-
anchorEl,
|
|
282
283
|
placement,
|
|
284
|
+
anchorEl: triggerRef.current,
|
|
283
285
|
onKeyDown: handleKeyDown
|
|
284
286
|
},
|
|
285
287
|
className: classes.root,
|
|
286
|
-
ownerState
|
|
288
|
+
ownerState
|
|
287
289
|
});
|
|
288
290
|
return /*#__PURE__*/_jsx(Popper, _extends({}, popperProps, {
|
|
289
291
|
children: ({
|
|
290
|
-
TransitionProps
|
|
291
|
-
placement: popperPlacement
|
|
292
|
+
TransitionProps
|
|
292
293
|
}) => /*#__PURE__*/_jsx(FocusTrap, _extends({
|
|
293
294
|
open: open,
|
|
294
295
|
disableAutoFocus: true
|
|
@@ -301,10 +302,9 @@ export function PickersPopper(inProps) {
|
|
|
301
302
|
isEnabled: () => true
|
|
302
303
|
}, slotProps?.desktopTrapFocus, {
|
|
303
304
|
children: /*#__PURE__*/_jsx(Transition, _extends({}, TransitionProps, slotProps?.desktopTransition, {
|
|
304
|
-
children: /*#__PURE__*/_jsx(
|
|
305
|
+
children: /*#__PURE__*/_jsx(PickerPopperPaperWrapper, {
|
|
305
306
|
PaperComponent: Paper,
|
|
306
307
|
ownerState: ownerState,
|
|
307
|
-
popperPlacement: popperPlacement,
|
|
308
308
|
ref: handlePaperRef,
|
|
309
309
|
onPaperClick: onPaperClick,
|
|
310
310
|
onPaperTouchStart: onPaperTouchStart,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PickerPopper } from './PickerPopper';
|
|
2
|
+
export type { ExportedPickerPopperProps } from './PickerPopper';
|
|
3
|
+
export { pickerPopperClasses, getPickerPopperUtilityClass } from './pickerPopperClasses';
|
|
4
|
+
export type { PickerPopperClassKey, PickerPopperClasses } from './pickerPopperClasses';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface PickerPopperClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the paper element. */
|
|
5
|
+
paper: string;
|
|
6
|
+
}
|
|
7
|
+
export type PickerPopperClassKey = keyof PickerPopperClasses;
|
|
8
|
+
export declare function getPickerPopperUtilityClass(slot: string): string;
|
|
9
|
+
export declare const pickerPopperClasses: Record<"root" | "paper", string>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
+
export function getPickerPopperUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiPickerPopper', slot);
|
|
5
|
+
}
|
|
6
|
+
export const pickerPopperClasses = generateUtilityClasses('MuiPickerPopper', ['root', 'paper']);
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps } from '@mui/system';
|
|
3
|
+
import { Theme } from '@mui/material/styles';
|
|
2
4
|
import { PickerOwnerState } from '../../models';
|
|
3
5
|
import { PickersInputLocaleText } from '../../locales';
|
|
4
|
-
import { PickerOrientation, PickerVariant } from '../models';
|
|
5
|
-
|
|
6
|
+
import { DateOrTimeViewWithMeridiem, PickerOrientation, PickerValidValue, PickerVariant } from '../models';
|
|
7
|
+
import type { UsePickerValueActionsContextValue, UsePickerValueContextValue, UsePickerValuePrivateContextValue } from '../hooks/usePicker/usePickerValue.types';
|
|
8
|
+
import { UsePickerViewsActionsContextValue, UsePickerViewsContextValue, UsePickerViewsPrivateContextValue } from '../hooks/usePicker/usePickerViews';
|
|
9
|
+
import { PickerFieldPrivateContextValue } from '../hooks/useField/useFieldInternalPropsWithDefaults';
|
|
10
|
+
export declare const PickerActionsContext: React.Context<PickerActionsContextValue<any, any, any> | null>;
|
|
6
11
|
export declare const PickerPrivateContext: React.Context<PickerPrivateContextValue>;
|
|
7
12
|
/**
|
|
8
13
|
* Provides the context for the various parts of a picker component:
|
|
@@ -11,55 +16,104 @@ export declare const PickerPrivateContext: React.Context<PickerPrivateContextVal
|
|
|
11
16
|
*
|
|
12
17
|
* @ignore - do not document.
|
|
13
18
|
*/
|
|
14
|
-
export declare function PickerProvider(props: PickerProviderProps): React.JSX.Element;
|
|
15
|
-
export interface PickerProviderProps {
|
|
16
|
-
contextValue: PickerContextValue
|
|
19
|
+
export declare function PickerProvider<TValue extends PickerValidValue>(props: PickerProviderProps<TValue>): React.JSX.Element;
|
|
20
|
+
export interface PickerProviderProps<TValue extends PickerValidValue> {
|
|
21
|
+
contextValue: PickerContextValue<any, any, any>;
|
|
22
|
+
actionsContextValue: PickerActionsContextValue<any, any, any>;
|
|
17
23
|
privateContextValue: PickerPrivateContextValue;
|
|
24
|
+
fieldPrivateContextValue: PickerFieldPrivateContextValue;
|
|
25
|
+
isValidContextValue: (value: TValue) => boolean;
|
|
18
26
|
localeText: PickersInputLocaleText | undefined;
|
|
19
27
|
children: React.ReactNode;
|
|
20
28
|
}
|
|
21
|
-
export interface PickerContextValue {
|
|
29
|
+
export interface PickerContextValue<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError> extends UsePickerValueContextValue<TValue, TError>, UsePickerViewsContextValue<TView> {
|
|
22
30
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @param {React.UIEvent} event The DOM event that triggered the change.
|
|
25
|
-
*/
|
|
26
|
-
onOpen: (event: React.UIEvent) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Close the picker.
|
|
29
|
-
* @param {React.UIEvent} event The DOM event that triggered the change.
|
|
30
|
-
*/
|
|
31
|
-
onClose: (event: React.UIEvent) => void;
|
|
32
|
-
/**
|
|
33
|
-
* `true` if the picker is open, `false` otherwise.
|
|
34
|
-
*/
|
|
35
|
-
open: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* `true` if the picker is disabled, `false` otherwise.
|
|
31
|
+
* Whether the picker is disabled.
|
|
38
32
|
*/
|
|
39
33
|
disabled: boolean;
|
|
40
34
|
/**
|
|
41
|
-
*
|
|
35
|
+
* Whether the picker is read-only.
|
|
42
36
|
*/
|
|
43
37
|
readOnly: boolean;
|
|
44
38
|
/**
|
|
45
39
|
* The responsive variant of the picker.
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
40
|
+
* It is equal to "desktop" when using a desktop picker (like <DesktopDatePicker />).
|
|
41
|
+
* It is equal to "mobile" when using a mobile picker (like <MobileDatePicker />).
|
|
42
|
+
* It is equal to "mobile" or "desktop" when using a responsive picker (like <DatePicker />) depending on the `desktopModeMediaQuery` prop.
|
|
43
|
+
* It is equal to "mobile" or "desktop" when using a static picker (like <StaticDatePicker />) depending on the `displayStaticWrapperAs` prop.
|
|
44
|
+
* It is always equal to "desktop" if the component you are accessing the context from is not wrapped by a picker.
|
|
51
45
|
*/
|
|
52
46
|
variant: PickerVariant;
|
|
53
47
|
/**
|
|
54
48
|
* The orientation of the picker.
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* Is always equal to "portrait" if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
49
|
+
* On Time Pickers and Date Time Pickers, it is always equal to "portrait".
|
|
50
|
+
* On Date Pickers, it is equal to the picker `orientation` prop if defined, otherwise it is based on the current orientation of the user's screen.
|
|
51
|
+
* It is always equal to "portrait" if the component you are accessing the context from is not wrapped by a picker.
|
|
59
52
|
*/
|
|
60
53
|
orientation: PickerOrientation;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the heavy animations should be disabled.
|
|
56
|
+
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
57
|
+
*/
|
|
58
|
+
reduceAnimations?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* The ref to attach to the element that triggers the Picker opening.
|
|
61
|
+
* When using a built-in field component, this property is automatically attached to the right element.
|
|
62
|
+
*/
|
|
63
|
+
triggerRef: React.RefObject<any>;
|
|
64
|
+
/**
|
|
65
|
+
* The status of the element that triggers the Picker opening.
|
|
66
|
+
* If it is "hidden", the field should not render the UI to open the Picker.
|
|
67
|
+
* If it is "disabled", the field should render a disabled UI to open the Picker.
|
|
68
|
+
* If it is "enabled", the field should render an interactive UI to open the Picker.
|
|
69
|
+
*/
|
|
70
|
+
triggerStatus: 'hidden' | 'disabled' | 'enabled';
|
|
71
|
+
/**
|
|
72
|
+
* The format to use when rendering the value in the field.
|
|
73
|
+
* It is equal to the picker `format` prop if defined.
|
|
74
|
+
* It is generated based on the available views if not defined.
|
|
75
|
+
* It is always equal to an empty string if the picker does not have a field (static pickers).
|
|
76
|
+
* It is always equal to an empty string if the component you are accessing the context from is not wrapped by a picker.
|
|
77
|
+
*/
|
|
78
|
+
fieldFormat: string;
|
|
79
|
+
/**
|
|
80
|
+
* The name to apply to the <input /> element if the picker contains one.
|
|
81
|
+
* If the picker has a field, it should probably be applied to its input element.
|
|
82
|
+
* It is equal to the picker `name` prop if defined (the prop does not exist on static pickers).
|
|
83
|
+
* It is always equal to undefined if the component you are accessing the context from is not wrapped by a picker.
|
|
84
|
+
*/
|
|
85
|
+
name: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* The label to render by the field if the picker contains one.
|
|
88
|
+
* It is equal to the picker `label` prop if defined (the prop does not exist on static pickers).
|
|
89
|
+
* It is always equal to undefined if the component you are accessing the context from is not wrapped by a picker.
|
|
90
|
+
*/
|
|
91
|
+
label: React.ReactNode | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* The class name to apply to the root element.
|
|
94
|
+
* If the picker has a field, it should be applied to field root element, otherwise to the layout root element.
|
|
95
|
+
* It is equal to the picker `className` prop if defined.
|
|
96
|
+
* It is always equal to undefined if the component you are accessing the context from is not wrapped by a picker.
|
|
97
|
+
*/
|
|
98
|
+
rootClassName: string | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* The MUI style prop to apply to the root element.
|
|
101
|
+
* If the picker has a field, it should be applied to field root element, otherwise to the layout root element.
|
|
102
|
+
* It is equal to the picker `sx` prop if defined.
|
|
103
|
+
* It is always equal to undefined if the component you are accessing the context from is not wrapped by a picker.
|
|
104
|
+
*/
|
|
105
|
+
rootSx: SxProps<Theme> | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The ref to attach to the root element.
|
|
108
|
+
* If the picker has a field, it should be attached to field root element, otherwise to the layout root element.
|
|
109
|
+
* It is equal to the ref passed to the picker component if defined.
|
|
110
|
+
* It is always equal to undefined if the component you are accessing the context from is not wrapped by a picker.
|
|
111
|
+
*/
|
|
112
|
+
rootRef: React.ForwardedRef<HTMLDivElement> | undefined;
|
|
113
|
+
}
|
|
114
|
+
export interface PickerActionsContextValue<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError = string | null> extends UsePickerValueActionsContextValue<TValue, TError>, UsePickerViewsActionsContextValue<TView> {
|
|
61
115
|
}
|
|
62
|
-
export interface PickerPrivateContextValue {
|
|
116
|
+
export interface PickerPrivateContextValue extends UsePickerValuePrivateContextValue, UsePickerViewsPrivateContextValue {
|
|
63
117
|
/**
|
|
64
118
|
* The ownerState of the picker.
|
|
65
119
|
*/
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { LocalizationProvider } from "../../LocalizationProvider/index.js";
|
|
3
|
+
import { IsValidValueContext } from "../../hooks/useIsValidValue.js";
|
|
4
|
+
import { PickerFieldPrivateContext } from "../hooks/useField/useFieldInternalPropsWithDefaults.js";
|
|
5
|
+
import { PickerContext } from "../../hooks/usePickerContext.js";
|
|
3
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
export const
|
|
7
|
+
export const PickerActionsContext = /*#__PURE__*/React.createContext(null);
|
|
5
8
|
export const PickerPrivateContext = /*#__PURE__*/React.createContext({
|
|
6
9
|
ownerState: {
|
|
7
10
|
isPickerDisabled: false,
|
|
@@ -10,7 +13,10 @@ export const PickerPrivateContext = /*#__PURE__*/React.createContext({
|
|
|
10
13
|
isPickerOpen: false,
|
|
11
14
|
pickerVariant: 'desktop',
|
|
12
15
|
pickerOrientation: 'portrait'
|
|
13
|
-
}
|
|
16
|
+
},
|
|
17
|
+
dismissViews: () => {},
|
|
18
|
+
hasUIView: true,
|
|
19
|
+
doesTheCurrentViewHasAnUI: () => true
|
|
14
20
|
});
|
|
15
21
|
|
|
16
22
|
/**
|
|
@@ -23,17 +29,29 @@ export const PickerPrivateContext = /*#__PURE__*/React.createContext({
|
|
|
23
29
|
export function PickerProvider(props) {
|
|
24
30
|
const {
|
|
25
31
|
contextValue,
|
|
32
|
+
actionsContextValue,
|
|
26
33
|
privateContextValue,
|
|
34
|
+
fieldPrivateContextValue,
|
|
35
|
+
isValidContextValue,
|
|
27
36
|
localeText,
|
|
28
37
|
children
|
|
29
38
|
} = props;
|
|
30
39
|
return /*#__PURE__*/_jsx(PickerContext.Provider, {
|
|
31
40
|
value: contextValue,
|
|
32
|
-
children: /*#__PURE__*/_jsx(
|
|
33
|
-
value:
|
|
34
|
-
children: /*#__PURE__*/_jsx(
|
|
35
|
-
|
|
36
|
-
children:
|
|
41
|
+
children: /*#__PURE__*/_jsx(PickerActionsContext.Provider, {
|
|
42
|
+
value: actionsContextValue,
|
|
43
|
+
children: /*#__PURE__*/_jsx(PickerPrivateContext.Provider, {
|
|
44
|
+
value: privateContextValue,
|
|
45
|
+
children: /*#__PURE__*/_jsx(PickerFieldPrivateContext.Provider, {
|
|
46
|
+
value: fieldPrivateContextValue,
|
|
47
|
+
children: /*#__PURE__*/_jsx(IsValidValueContext.Provider, {
|
|
48
|
+
value: isValidContextValue,
|
|
49
|
+
children: /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
50
|
+
localeText: localeText,
|
|
51
|
+
children: children
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
})
|
|
37
55
|
})
|
|
38
56
|
})
|
|
39
57
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["children", "className", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel", "labelId"],
|
|
3
|
+
const _excluded = ["children", "className", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel", "labelId", "classes"],
|
|
4
4
|
_excluded2 = ["ownerState"],
|
|
5
5
|
_excluded3 = ["ownerState"];
|
|
6
6
|
import * as React from 'react';
|
|
@@ -13,6 +13,7 @@ import useSlotProps from '@mui/utils/useSlotProps';
|
|
|
13
13
|
import IconButton from '@mui/material/IconButton';
|
|
14
14
|
import { ArrowLeftIcon, ArrowRightIcon } from "../../../icons/index.js";
|
|
15
15
|
import { getPickersArrowSwitcherUtilityClass } from "./pickersArrowSwitcherClasses.js";
|
|
16
|
+
import { usePickerPrivateContext } from "../../hooks/usePickerPrivateContext.js";
|
|
16
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
18
|
const PickersArrowSwitcherRoot = styled('div', {
|
|
18
19
|
name: 'MuiPickersArrowSwitcher',
|
|
@@ -37,17 +38,14 @@ const PickersArrowSwitcherButton = styled(IconButton, {
|
|
|
37
38
|
})({
|
|
38
39
|
variants: [{
|
|
39
40
|
props: {
|
|
40
|
-
|
|
41
|
+
isButtonHidden: true
|
|
41
42
|
},
|
|
42
43
|
style: {
|
|
43
44
|
visibility: 'hidden'
|
|
44
45
|
}
|
|
45
46
|
}]
|
|
46
47
|
});
|
|
47
|
-
const useUtilityClasses =
|
|
48
|
-
const {
|
|
49
|
-
classes
|
|
50
|
-
} = ownerState;
|
|
48
|
+
const useUtilityClasses = classes => {
|
|
51
49
|
const slots = {
|
|
52
50
|
root: ['root'],
|
|
53
51
|
spacer: ['spacer'],
|
|
@@ -78,11 +76,14 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
78
76
|
isPreviousHidden,
|
|
79
77
|
onGoToPrevious,
|
|
80
78
|
previousLabel,
|
|
81
|
-
labelId
|
|
79
|
+
labelId,
|
|
80
|
+
classes: classesProp
|
|
82
81
|
} = props,
|
|
83
82
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
84
|
-
const
|
|
85
|
-
|
|
83
|
+
const {
|
|
84
|
+
ownerState
|
|
85
|
+
} = usePickerPrivateContext();
|
|
86
|
+
const classes = useUtilityClasses(classesProp);
|
|
86
87
|
const nextProps = {
|
|
87
88
|
isDisabled: isNextDisabled,
|
|
88
89
|
isHidden: isNextHidden,
|
|
@@ -108,7 +109,7 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
108
109
|
onClick: previousProps.goTo
|
|
109
110
|
},
|
|
110
111
|
ownerState: _extends({}, ownerState, {
|
|
111
|
-
|
|
112
|
+
isButtonHidden: previousProps.isHidden ?? false
|
|
112
113
|
}),
|
|
113
114
|
className: clsx(classes.button, classes.previousIconButton)
|
|
114
115
|
});
|
|
@@ -125,7 +126,7 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
125
126
|
onClick: nextProps.goTo
|
|
126
127
|
},
|
|
127
128
|
ownerState: _extends({}, ownerState, {
|
|
128
|
-
|
|
129
|
+
isButtonHidden: nextProps.isHidden ?? false
|
|
129
130
|
}),
|
|
130
131
|
className: clsx(classes.button, classes.nextIconButton)
|
|
131
132
|
});
|
|
@@ -3,6 +3,7 @@ import { SlotComponentProps } from '@mui/utils';
|
|
|
3
3
|
import IconButton from '@mui/material/IconButton';
|
|
4
4
|
import SvgIcon from '@mui/material/SvgIcon';
|
|
5
5
|
import { PickersArrowSwitcherClasses } from './pickersArrowSwitcherClasses';
|
|
6
|
+
import { PickerOwnerState } from '../../../models';
|
|
6
7
|
export interface ExportedPickersArrowSwitcherProps {
|
|
7
8
|
/**
|
|
8
9
|
* Overridable component slots.
|
|
@@ -36,7 +37,12 @@ export interface PickersArrowSwitcherProps extends ExportedPickersArrowSwitcherP
|
|
|
36
37
|
nextLabel: string;
|
|
37
38
|
labelId?: string;
|
|
38
39
|
}
|
|
39
|
-
export
|
|
40
|
+
export interface PickersArrowSwitcherOwnerState extends PickerOwnerState {
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, this button should be hidden.
|
|
43
|
+
*/
|
|
44
|
+
isButtonHidden: boolean;
|
|
45
|
+
}
|
|
40
46
|
export interface PickersArrowSwitcherSlotPropsOverrides {
|
|
41
47
|
}
|
|
42
48
|
export interface PickersArrowSwitcherSlots {
|
|
@@ -61,12 +67,9 @@ export interface PickersArrowSwitcherSlots {
|
|
|
61
67
|
*/
|
|
62
68
|
rightArrowIcon?: React.ElementType;
|
|
63
69
|
}
|
|
64
|
-
export interface PickersArrowSwitcherButtonSlotOwnerState extends PickersArrowSwitcherOwnerState {
|
|
65
|
-
hidden?: boolean;
|
|
66
|
-
}
|
|
67
70
|
export interface PickersArrowSwitcherSlotProps {
|
|
68
|
-
previousIconButton?: SlotComponentProps<typeof IconButton, PickersArrowSwitcherSlotPropsOverrides,
|
|
69
|
-
nextIconButton?: SlotComponentProps<typeof IconButton, PickersArrowSwitcherSlotPropsOverrides,
|
|
70
|
-
leftArrowIcon?: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherSlotPropsOverrides,
|
|
71
|
-
rightArrowIcon?: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherSlotPropsOverrides,
|
|
71
|
+
previousIconButton?: SlotComponentProps<typeof IconButton, PickersArrowSwitcherSlotPropsOverrides, PickersArrowSwitcherOwnerState>;
|
|
72
|
+
nextIconButton?: SlotComponentProps<typeof IconButton, PickersArrowSwitcherSlotPropsOverrides, PickersArrowSwitcherOwnerState>;
|
|
73
|
+
leftArrowIcon?: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherSlotPropsOverrides, PickerOwnerState>;
|
|
74
|
+
rightArrowIcon?: SlotComponentProps<typeof SvgIcon, PickersArrowSwitcherSlotPropsOverrides, PickerOwnerState>;
|
|
72
75
|
}
|
|
@@ -2,7 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import { DialogProps as MuiDialogProps } from '@mui/material/Dialog';
|
|
3
3
|
import { PaperProps as MuiPaperProps } from '@mui/material/Paper';
|
|
4
4
|
import { TransitionProps as MuiTransitionProps } from '@mui/material/transitions';
|
|
5
|
-
import { UsePickerValueActions } from '../hooks/usePicker/usePickerValue.types';
|
|
6
5
|
export interface PickersModalDialogSlots {
|
|
7
6
|
/**
|
|
8
7
|
* Custom component for the dialog inside which the views are rendered on mobile.
|
|
@@ -34,7 +33,7 @@ export interface PickersModalDialogSlotProps {
|
|
|
34
33
|
*/
|
|
35
34
|
mobileTransition?: Partial<MuiTransitionProps>;
|
|
36
35
|
}
|
|
37
|
-
export interface PickersModalDialogProps
|
|
36
|
+
export interface PickersModalDialogProps {
|
|
38
37
|
/**
|
|
39
38
|
* Overridable component slots.
|
|
40
39
|
* @default {}
|
|
@@ -45,6 +44,5 @@ export interface PickersModalDialogProps extends UsePickerValueActions {
|
|
|
45
44
|
* @default {}
|
|
46
45
|
*/
|
|
47
46
|
slotProps?: PickersModalDialogSlotProps;
|
|
48
|
-
open: boolean;
|
|
49
47
|
}
|
|
50
48
|
export declare function PickersModalDialog(props: React.PropsWithChildren<PickersModalDialogProps>): React.JSX.Element;
|
|
@@ -5,6 +5,8 @@ import Fade from '@mui/material/Fade';
|
|
|
5
5
|
import MuiDialog, { dialogClasses } from '@mui/material/Dialog';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
7
7
|
import { DIALOG_WIDTH } from "../constants/dimensions.js";
|
|
8
|
+
import { usePickerContext } from "../../hooks/index.js";
|
|
9
|
+
import { usePickerPrivateContext } from "../hooks/usePickerPrivateContext.js";
|
|
8
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
11
|
const PickersModalDialogRoot = styled(MuiDialog)({
|
|
10
12
|
[`& .${dialogClasses.container}`]: {
|
|
@@ -23,16 +25,20 @@ const PickersModalDialogContent = styled(DialogContent)({
|
|
|
23
25
|
export function PickersModalDialog(props) {
|
|
24
26
|
const {
|
|
25
27
|
children,
|
|
26
|
-
onDismiss,
|
|
27
|
-
open,
|
|
28
28
|
slots,
|
|
29
29
|
slotProps
|
|
30
30
|
} = props;
|
|
31
|
+
const {
|
|
32
|
+
open
|
|
33
|
+
} = usePickerContext();
|
|
34
|
+
const {
|
|
35
|
+
dismissViews
|
|
36
|
+
} = usePickerPrivateContext();
|
|
31
37
|
const Dialog = slots?.dialog ?? PickersModalDialogRoot;
|
|
32
38
|
const Transition = slots?.mobileTransition ?? Fade;
|
|
33
39
|
return /*#__PURE__*/_jsx(Dialog, _extends({
|
|
34
40
|
open: open,
|
|
35
|
-
onClose:
|
|
41
|
+
onClose: dismissViews
|
|
36
42
|
}, slotProps?.dialog, {
|
|
37
43
|
TransitionComponent: Transition,
|
|
38
44
|
TransitionProps: slotProps?.mobileTransition,
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseToolbarProps } from '../models/props/toolbar';
|
|
3
3
|
import { PickersToolbarClasses } from './pickersToolbarClasses';
|
|
4
|
-
|
|
5
|
-
export interface PickersToolbarProps<TValue, TView extends DateOrTimeViewWithMeridiem> extends Pick<BaseToolbarProps<TValue, TView>, 'isLandscape' | 'hidden' | 'titleId'> {
|
|
4
|
+
export interface PickersToolbarProps extends Pick<BaseToolbarProps, 'hidden' | 'titleId'> {
|
|
6
5
|
className?: string;
|
|
7
6
|
landscapeDirection?: 'row' | 'column';
|
|
8
7
|
toolbarTitle: React.ReactNode;
|
|
9
8
|
classes?: Partial<PickersToolbarClasses>;
|
|
10
9
|
}
|
|
11
|
-
type PickersToolbarComponent = (
|
|
10
|
+
type PickersToolbarComponent = ((props: React.PropsWithChildren<PickersToolbarProps> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
12
11
|
propTypes?: any;
|
|
13
12
|
};
|
|
14
13
|
export declare const PickersToolbar: PickersToolbarComponent;
|