@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
|
@@ -3,11 +3,11 @@ import { SxProps } from '@mui/system';
|
|
|
3
3
|
import { Theme } from '@mui/material/styles';
|
|
4
4
|
import { UseViewsOptions } from '../useViews';
|
|
5
5
|
import type { UsePickerValueViewsResponse } from './usePickerValue.types';
|
|
6
|
-
import { DateOrTimeViewWithMeridiem } from '../../models';
|
|
7
|
-
import { FieldRef,
|
|
8
|
-
interface PickerViewsRendererBaseExternalProps
|
|
6
|
+
import { DateOrTimeViewWithMeridiem, PickerRangeValue, PickerValidValue, PickerValue } from '../../models';
|
|
7
|
+
import { FieldRef, PickerValidDate, TimezoneProps } from '../../../models';
|
|
8
|
+
export interface PickerViewsRendererBaseExternalProps extends Omit<UsePickerViewsProps<any, any, any>, 'openTo' | 'viewRenderers'> {
|
|
9
9
|
}
|
|
10
|
-
export type PickerViewsRendererProps<TValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps
|
|
10
|
+
export type PickerViewsRendererProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps> = Omit<TExternalProps, 'className' | 'sx'> & Pick<UsePickerValueViewsResponse<TValue>, 'value' | 'onChange'> & {
|
|
11
11
|
view: TView;
|
|
12
12
|
views: readonly TView[];
|
|
13
13
|
focusedView: TView | null;
|
|
@@ -15,77 +15,96 @@ export type PickerViewsRendererProps<TValue, TView extends DateOrTimeViewWithMer
|
|
|
15
15
|
showViewSwitcher: boolean;
|
|
16
16
|
timeViewsCount: number;
|
|
17
17
|
};
|
|
18
|
-
export type PickerViewRenderer<TValue
|
|
19
|
-
export type PickerViewRendererLookup<TValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps<
|
|
20
|
-
[K in TView]: PickerViewRenderer<TValue, K, TExternalProps, TAdditionalProps> | null;
|
|
21
|
-
};
|
|
18
|
+
export type PickerViewRenderer<TValue extends PickerValidValue, TExternalProps extends PickerViewsRendererBaseExternalProps> = (props: PickerViewsRendererProps<TValue, any, TExternalProps>) => React.ReactNode;
|
|
19
|
+
export type PickerViewRendererLookup<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps> = Record<TView, PickerViewRenderer<TValue, TExternalProps> | null>;
|
|
22
20
|
/**
|
|
23
21
|
* Props used to handle the views that are common to all pickers.
|
|
24
22
|
*/
|
|
25
|
-
export interface UsePickerViewsBaseProps<TValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any
|
|
23
|
+
export interface UsePickerViewsBaseProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends Omit<UseViewsOptions<any, TView>, 'onChange' | 'onFocusedViewChange' | 'focusedView'>, TimezoneProps {
|
|
26
24
|
/**
|
|
27
25
|
* If `null`, the section will only have field editing.
|
|
28
26
|
* If `undefined`, internally defined view will be used.
|
|
29
27
|
*/
|
|
30
|
-
viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps
|
|
31
|
-
/**
|
|
32
|
-
* If `true`, disable heavy animations.
|
|
33
|
-
* @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
|
|
34
|
-
*/
|
|
35
|
-
reduceAnimations?: boolean;
|
|
28
|
+
viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps>;
|
|
36
29
|
/**
|
|
37
30
|
* The date used to generate the new value when both `value` and `defaultValue` are empty.
|
|
38
31
|
* @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
|
|
39
32
|
*/
|
|
40
33
|
referenceDate?: PickerValidDate;
|
|
41
34
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Props used to handle the views of the pickers.
|
|
44
|
-
*/
|
|
45
|
-
export interface UsePickerViewsNonStaticProps {
|
|
46
|
-
/**
|
|
47
|
-
* If `true`, the open picker button will not be rendered (renders only the field).
|
|
48
|
-
* @default false
|
|
49
|
-
*/
|
|
50
|
-
disableOpenPicker?: boolean;
|
|
51
|
-
}
|
|
52
35
|
/**
|
|
53
36
|
* Props used to handle the value of the pickers.
|
|
54
37
|
*/
|
|
55
|
-
export interface UsePickerViewsProps<TValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any
|
|
38
|
+
export interface UsePickerViewsProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends UsePickerViewsBaseProps<TValue, TView, TExternalProps> {
|
|
56
39
|
className?: string;
|
|
57
40
|
sx?: SxProps<Theme>;
|
|
58
41
|
}
|
|
59
|
-
export interface UsePickerViewParams<TValue
|
|
42
|
+
export interface UsePickerViewParams<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, TExternalProps>> {
|
|
60
43
|
props: TExternalProps;
|
|
61
44
|
propsFromPickerValue: UsePickerValueViewsResponse<TValue>;
|
|
62
|
-
additionalViewProps: TAdditionalProps;
|
|
63
45
|
autoFocusView: boolean;
|
|
64
|
-
fieldRef
|
|
46
|
+
fieldRef?: React.RefObject<FieldRef<PickerValue> | FieldRef<PickerRangeValue> | null>;
|
|
65
47
|
/**
|
|
66
48
|
* A function that intercepts the regular picker rendering.
|
|
67
49
|
* Can be used to consume the provided `viewRenderers` and render a custom component wrapping them.
|
|
68
|
-
* @param {PickerViewRendererLookup<TValue, TView, TExternalProps
|
|
50
|
+
* @param {PickerViewRendererLookup<TValue, TView, TExternalProps>} viewRenderers The `viewRenderers` that were provided to the picker component.
|
|
69
51
|
* @param {TView} popperView The current picker view.
|
|
70
52
|
* @param {any} rendererProps All the props that are being passed down to the renderer.
|
|
71
53
|
* @returns {React.ReactNode} A React node that will be rendered instead of the default renderer.
|
|
72
54
|
*/
|
|
73
|
-
rendererInterceptor?:
|
|
55
|
+
rendererInterceptor?: React.JSXElementConstructor<PickerRendererInterceptorProps<TValue, TView, TExternalProps>>;
|
|
56
|
+
}
|
|
57
|
+
export interface PickerRendererInterceptorProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, TExternalProps>> {
|
|
58
|
+
viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps>;
|
|
59
|
+
popperView: TView;
|
|
60
|
+
rendererProps: PickerViewsRendererProps<TValue, TView, TExternalProps>;
|
|
74
61
|
}
|
|
75
62
|
export interface UsePickerViewsResponse<TView extends DateOrTimeViewWithMeridiem> {
|
|
63
|
+
renderCurrentView: () => React.ReactNode;
|
|
64
|
+
provider: UsePickerViewsProviderParams<TView>;
|
|
65
|
+
}
|
|
66
|
+
export interface UsePickerViewsActionsContextValue<TView extends DateOrTimeViewWithMeridiem> {
|
|
76
67
|
/**
|
|
77
|
-
*
|
|
68
|
+
* Set the current view.
|
|
69
|
+
* @template TView
|
|
70
|
+
* @param {TView} view The view to render
|
|
78
71
|
*/
|
|
79
|
-
|
|
80
|
-
views: readonly TView[];
|
|
81
|
-
renderCurrentView: () => React.ReactNode;
|
|
82
|
-
shouldRestoreFocus: () => boolean;
|
|
83
|
-
layoutProps: UsePickerViewsLayoutResponse<TView>;
|
|
72
|
+
setView: (view: TView) => void;
|
|
84
73
|
}
|
|
85
|
-
export interface
|
|
74
|
+
export interface UsePickerViewsContextValue<TView extends DateOrTimeViewWithMeridiem> extends UsePickerViewsActionsContextValue<TView> {
|
|
75
|
+
/**
|
|
76
|
+
* The views that the picker must render.
|
|
77
|
+
* It is equal to the picker `views` prop if defined.
|
|
78
|
+
* Otherwise, a default set of views is provided based on the component you are using:
|
|
79
|
+
* - Date Pickers: ['year', 'day']
|
|
80
|
+
* - Time Pickers: ['hours', 'minutes']
|
|
81
|
+
* - Date Time Pickers: ['year', 'day', 'hours', 'minutes']
|
|
82
|
+
* - Date Range Pickers: ['day']
|
|
83
|
+
* - Date Time Range Pickers: ['day', 'hours', 'minutes']
|
|
84
|
+
*/
|
|
85
|
+
views: readonly TView[];
|
|
86
|
+
/**
|
|
87
|
+
* The view currently rendered.
|
|
88
|
+
*/
|
|
86
89
|
view: TView | null;
|
|
87
|
-
|
|
90
|
+
}
|
|
91
|
+
export interface UsePickerViewsPrivateContextValue {
|
|
92
|
+
/**
|
|
93
|
+
* Whether one of the view has an UI (it has a view renderer associated).
|
|
94
|
+
*/
|
|
95
|
+
hasUIView: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Check whether the current view has an UI.
|
|
98
|
+
* @returns {boolean} Whether the current view has an UI.
|
|
99
|
+
*/
|
|
100
|
+
doesTheCurrentViewHasAnUI: () => boolean;
|
|
101
|
+
}
|
|
102
|
+
export interface UsePickerViewsProviderParams<TView extends DateOrTimeViewWithMeridiem> {
|
|
103
|
+
hasUIView: boolean;
|
|
88
104
|
views: readonly TView[];
|
|
105
|
+
contextValue: UsePickerViewsContextValue<TView>;
|
|
106
|
+
actionsContextValue: UsePickerViewsActionsContextValue<TView>;
|
|
107
|
+
privateContextValue: UsePickerViewsPrivateContextValue;
|
|
89
108
|
}
|
|
90
109
|
/**
|
|
91
110
|
* Manage the views of all the pickers:
|
|
@@ -93,5 +112,4 @@ export interface UsePickerViewsLayoutResponse<TView extends DateOrTimeViewWithMe
|
|
|
93
112
|
* - Handles the switch between UI views and field views
|
|
94
113
|
* - Handles the focus management when switching views
|
|
95
114
|
*/
|
|
96
|
-
export declare const usePickerViews: <TValue
|
|
97
|
-
export {};
|
|
115
|
+
export declare const usePickerViews: <TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>>({ props, propsFromPickerValue, autoFocusView, rendererInterceptor: RendererInterceptor, fieldRef, }: UsePickerViewParams<TValue, TView, TExternalProps>) => UsePickerViewsResponse<TView>;
|
|
@@ -11,14 +11,10 @@ import { isTimeView } from "../../utils/time-utils.js";
|
|
|
11
11
|
* Props used to handle the views that are common to all pickers.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* Props used to handle the views of the pickers.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
14
|
/**
|
|
19
15
|
* Props used to handle the value of the pickers.
|
|
20
16
|
*/
|
|
21
|
-
|
|
17
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
18
|
/**
|
|
23
19
|
* Manage the views of all the pickers:
|
|
24
20
|
* - Handles the view switch
|
|
@@ -28,15 +24,15 @@ import { isTimeView } from "../../utils/time-utils.js";
|
|
|
28
24
|
export const usePickerViews = ({
|
|
29
25
|
props,
|
|
30
26
|
propsFromPickerValue,
|
|
31
|
-
additionalViewProps,
|
|
32
27
|
autoFocusView,
|
|
33
|
-
rendererInterceptor,
|
|
28
|
+
rendererInterceptor: RendererInterceptor,
|
|
34
29
|
fieldRef
|
|
35
30
|
}) => {
|
|
36
31
|
const {
|
|
37
32
|
onChange,
|
|
33
|
+
value,
|
|
38
34
|
open,
|
|
39
|
-
|
|
35
|
+
setOpen
|
|
40
36
|
} = propsFromPickerValue;
|
|
41
37
|
const {
|
|
42
38
|
view: inView,
|
|
@@ -88,7 +84,7 @@ export const usePickerViews = ({
|
|
|
88
84
|
return acc;
|
|
89
85
|
}, 0), [viewRenderers, views]);
|
|
90
86
|
const currentViewMode = viewModeLookup[view];
|
|
91
|
-
const
|
|
87
|
+
const doesTheCurrentViewHasAnUI = useEventCallback(() => currentViewMode === 'UI');
|
|
92
88
|
const [popperView, setPopperView] = React.useState(currentViewMode === 'UI' ? view : null);
|
|
93
89
|
if (popperView !== view && viewModeLookup[view] === 'UI') {
|
|
94
90
|
setPopperView(view);
|
|
@@ -96,7 +92,7 @@ export const usePickerViews = ({
|
|
|
96
92
|
useEnhancedEffect(() => {
|
|
97
93
|
// Handle case of `DateTimePicker` without time renderers
|
|
98
94
|
if (currentViewMode === 'field' && open) {
|
|
99
|
-
|
|
95
|
+
setOpen(false);
|
|
100
96
|
setTimeout(() => {
|
|
101
97
|
fieldRef?.current?.setSelectedSections(view);
|
|
102
98
|
// focusing the input before the range selection is done
|
|
@@ -127,16 +123,26 @@ export const usePickerViews = ({
|
|
|
127
123
|
setFocusedView(newView, true);
|
|
128
124
|
}, [open]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
129
125
|
|
|
130
|
-
const
|
|
126
|
+
const actionsContextValue = React.useMemo(() => ({
|
|
127
|
+
setView
|
|
128
|
+
}), [setView]);
|
|
129
|
+
const contextValue = React.useMemo(() => _extends({}, actionsContextValue, {
|
|
131
130
|
views,
|
|
132
|
-
view: popperView
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
131
|
+
view: popperView
|
|
132
|
+
}), [actionsContextValue, views, popperView]);
|
|
133
|
+
const privateContextValue = React.useMemo(() => ({
|
|
134
|
+
hasUIView,
|
|
135
|
+
doesTheCurrentViewHasAnUI
|
|
136
|
+
}), [hasUIView, doesTheCurrentViewHasAnUI]);
|
|
137
|
+
const providerParams = {
|
|
136
138
|
hasUIView,
|
|
137
139
|
views,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
+
contextValue,
|
|
141
|
+
actionsContextValue,
|
|
142
|
+
privateContextValue
|
|
143
|
+
};
|
|
144
|
+
return {
|
|
145
|
+
provider: providerParams,
|
|
140
146
|
renderCurrentView: () => {
|
|
141
147
|
if (popperView == null) {
|
|
142
148
|
return null;
|
|
@@ -145,9 +151,10 @@ export const usePickerViews = ({
|
|
|
145
151
|
if (renderer == null) {
|
|
146
152
|
return null;
|
|
147
153
|
}
|
|
148
|
-
const rendererProps = _extends({}, propsToForwardToView,
|
|
154
|
+
const rendererProps = _extends({}, propsToForwardToView, {
|
|
149
155
|
views,
|
|
150
156
|
timezone,
|
|
157
|
+
value,
|
|
151
158
|
onChange: setValueAndGoToNextView,
|
|
152
159
|
view: popperView,
|
|
153
160
|
onViewChange: setView,
|
|
@@ -156,8 +163,12 @@ export const usePickerViews = ({
|
|
|
156
163
|
showViewSwitcher: timeViewsCount > 1,
|
|
157
164
|
timeViewsCount
|
|
158
165
|
});
|
|
159
|
-
if (
|
|
160
|
-
return
|
|
166
|
+
if (RendererInterceptor) {
|
|
167
|
+
return /*#__PURE__*/_jsx(RendererInterceptor, {
|
|
168
|
+
viewRenderers: viewRenderers,
|
|
169
|
+
popperView: popperView,
|
|
170
|
+
rendererProps: rendererProps
|
|
171
|
+
});
|
|
161
172
|
}
|
|
162
173
|
return renderer(rendererProps);
|
|
163
174
|
}
|
|
@@ -6,9 +6,12 @@ const mobileVersionMatches = typeof navigator !== 'undefined' && navigator.userA
|
|
|
6
6
|
const androidVersion = mobileVersionMatches && mobileVersionMatches[1] ? parseInt(mobileVersionMatches[1], 10) : null;
|
|
7
7
|
const iOSVersion = mobileVersionMatches && mobileVersionMatches[2] ? parseInt(mobileVersionMatches[2], 10) : null;
|
|
8
8
|
export const slowAnimationDevices = androidVersion && androidVersion < 10 || iOSVersion && iOSVersion < 13 || false;
|
|
9
|
-
export
|
|
9
|
+
export function useReduceAnimations(customReduceAnimations) {
|
|
10
10
|
const prefersReduced = useMediaQuery(PREFERS_REDUCED_MOTION, {
|
|
11
11
|
defaultMatches: false
|
|
12
12
|
});
|
|
13
|
+
if (customReduceAnimations != null) {
|
|
14
|
+
return customReduceAnimations;
|
|
15
|
+
}
|
|
13
16
|
return prefersReduced || slowAnimationDevices;
|
|
14
|
-
}
|
|
17
|
+
}
|
|
@@ -7,6 +7,6 @@ import { DateOrTimeViewWithMeridiem } from '../../models';
|
|
|
7
7
|
* - StaticDateTimePicker
|
|
8
8
|
* - StaticTimePicker
|
|
9
9
|
*/
|
|
10
|
-
export declare const useStaticPicker: <TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>>({ props,
|
|
10
|
+
export declare const useStaticPicker: <TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>>({ props, ...pickerParams }: UseStaticPickerParams<TView, TExternalProps>) => {
|
|
11
11
|
renderPicker: () => React.JSX.Element;
|
|
12
12
|
};
|
|
@@ -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 = ["props"
|
|
3
|
+
const _excluded = ["props"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
@@ -8,6 +8,7 @@ import { usePicker } from "../usePicker/index.js";
|
|
|
8
8
|
import { PickerProvider } from "../../components/PickerProvider.js";
|
|
9
9
|
import { PickersLayout } from "../../../PickersLayout/index.js";
|
|
10
10
|
import { DIALOG_WIDTH } from "../../constants/dimensions.js";
|
|
11
|
+
import { mergeSx } from "../../utils/utils.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
const PickerStaticLayout = styled(PickersLayout)(({
|
|
13
14
|
theme
|
|
@@ -25,39 +26,33 @@ const PickerStaticLayout = styled(PickersLayout)(({
|
|
|
25
26
|
*/
|
|
26
27
|
export const useStaticPicker = _ref => {
|
|
27
28
|
let {
|
|
28
|
-
props
|
|
29
|
-
ref
|
|
29
|
+
props
|
|
30
30
|
} = _ref,
|
|
31
31
|
pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
32
32
|
const {
|
|
33
33
|
localeText,
|
|
34
34
|
slots,
|
|
35
35
|
slotProps,
|
|
36
|
-
className,
|
|
37
|
-
sx,
|
|
38
36
|
displayStaticWrapperAs,
|
|
39
37
|
autoFocus
|
|
40
38
|
} = props;
|
|
41
39
|
const {
|
|
42
|
-
layoutProps,
|
|
43
40
|
providerProps,
|
|
44
41
|
renderCurrentView
|
|
45
42
|
} = usePicker(_extends({}, pickerParams, {
|
|
46
43
|
props,
|
|
47
44
|
autoFocusView: autoFocus ?? false,
|
|
48
|
-
fieldRef: undefined,
|
|
49
45
|
localeText,
|
|
50
|
-
additionalViewProps: {},
|
|
51
46
|
variant: displayStaticWrapperAs
|
|
52
47
|
}));
|
|
53
48
|
const Layout = slots?.layout ?? PickerStaticLayout;
|
|
54
49
|
const renderPicker = () => /*#__PURE__*/_jsx(PickerProvider, _extends({}, providerProps, {
|
|
55
|
-
children: /*#__PURE__*/_jsx(Layout, _extends({},
|
|
50
|
+
children: /*#__PURE__*/_jsx(Layout, _extends({}, slotProps?.layout, {
|
|
56
51
|
slots: slots,
|
|
57
52
|
slotProps: slotProps,
|
|
58
|
-
sx:
|
|
59
|
-
className: clsx(
|
|
60
|
-
ref:
|
|
53
|
+
sx: mergeSx(providerProps.contextValue.rootSx, slotProps?.layout?.sx),
|
|
54
|
+
className: clsx(providerProps.contextValue.rootClassName, slotProps?.layout?.className),
|
|
55
|
+
ref: providerProps.contextValue.rootRef,
|
|
61
56
|
children: renderCurrentView()
|
|
62
57
|
}))
|
|
63
58
|
}));
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '../../../PickersLayout/PickersLayout.types';
|
|
3
2
|
import { BasePickerProps } from '../../models/props/basePickerProps';
|
|
4
3
|
import { UsePickerParams } from '../usePicker';
|
|
5
4
|
import { UsePickerViewsProps } from '../usePicker/usePickerViews';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
export interface UseStaticPickerSlots<TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<PickerValidDate | null, TView> {
|
|
5
|
+
import { DateOrTimeViewWithMeridiem, PickerValue } from '../../models';
|
|
6
|
+
export interface UseStaticPickerSlots extends ExportedPickersLayoutSlots<PickerValue> {
|
|
9
7
|
}
|
|
10
|
-
export interface UseStaticPickerSlotProps
|
|
8
|
+
export interface UseStaticPickerSlotProps extends ExportedPickersLayoutSlotProps<PickerValue> {
|
|
11
9
|
}
|
|
12
10
|
export interface StaticOnlyPickerProps {
|
|
13
11
|
/**
|
|
@@ -27,22 +25,18 @@ export interface StaticOnlyPickerProps {
|
|
|
27
25
|
*/
|
|
28
26
|
onClose?: () => void;
|
|
29
27
|
}
|
|
30
|
-
export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<
|
|
28
|
+
export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<PickerValue, TView, any>> extends BasePickerProps<PickerValue, TView, TError, TExternalProps>, StaticOnlyPickerProps {
|
|
31
29
|
/**
|
|
32
30
|
* Overridable component slots.
|
|
33
31
|
* @default {}
|
|
34
32
|
*/
|
|
35
|
-
slots?: UseStaticPickerSlots
|
|
33
|
+
slots?: UseStaticPickerSlots;
|
|
36
34
|
/**
|
|
37
35
|
* The props used for each component slot.
|
|
38
36
|
* @default {}
|
|
39
37
|
*/
|
|
40
|
-
slotProps?: UseStaticPickerSlotProps
|
|
38
|
+
slotProps?: UseStaticPickerSlotProps;
|
|
41
39
|
}
|
|
42
|
-
export interface UseStaticPickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<
|
|
40
|
+
export interface UseStaticPickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<PickerValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
|
|
43
41
|
props: TExternalProps;
|
|
44
|
-
/**
|
|
45
|
-
* Ref to pass to the root element
|
|
46
|
-
*/
|
|
47
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
48
42
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PickerOwnerState } from '../../models';
|
|
2
|
+
export declare function useToolbarOwnerState(): PickerToolbarOwnerState;
|
|
3
|
+
export interface PickerToolbarOwnerState extends PickerOwnerState {
|
|
4
|
+
/**
|
|
5
|
+
* The direction of the toolbar.
|
|
6
|
+
* Is equal to "ltr" when the toolbar is in left-to-right direction.
|
|
7
|
+
* Is equal to "rtl" when the toolbar is in right-to-left direction.
|
|
8
|
+
*/
|
|
9
|
+
toolbarDirection: 'ltr' | 'rtl';
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useRtl } from '@mui/system/RtlProvider';
|
|
4
|
+
import { usePickerPrivateContext } from "./usePickerPrivateContext.js";
|
|
5
|
+
export function useToolbarOwnerState() {
|
|
6
|
+
const {
|
|
7
|
+
ownerState: pickerOwnerState
|
|
8
|
+
} = usePickerPrivateContext();
|
|
9
|
+
const isRtl = useRtl();
|
|
10
|
+
return React.useMemo(() => _extends({}, pickerOwnerState, {
|
|
11
|
+
toolbarDirection: isRtl ? 'rtl' : 'ltr'
|
|
12
|
+
}), [pickerOwnerState, isRtl]);
|
|
13
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { MuiPickersAdapterContextValue } from '../../LocalizationProvider/LocalizationProvider';
|
|
2
2
|
import { PickersLocaleText } from '../../locales/utils/pickersLocaleTextApi';
|
|
3
3
|
import { PickersTimezone, PickerValidDate } from '../../models';
|
|
4
|
-
export declare const useLocalizationContext: () =>
|
|
5
|
-
localeText: PickersLocaleText;
|
|
6
|
-
};
|
|
4
|
+
export declare const useLocalizationContext: () => UseLocalizationContextReturnValue;
|
|
7
5
|
export declare const useUtils: () => import("@mui/x-date-pickers/models").MuiPickersAdapter<any>;
|
|
8
6
|
export declare const useDefaultDates: () => {
|
|
9
7
|
minDate: PickerValidDate;
|
|
10
8
|
maxDate: PickerValidDate;
|
|
11
9
|
};
|
|
12
10
|
export declare const useNow: (timezone: PickersTimezone) => PickerValidDate;
|
|
11
|
+
export interface UseLocalizationContextReturnValue extends Omit<MuiPickersAdapterContextValue, 'localeText'> {
|
|
12
|
+
localeText: PickersLocaleText;
|
|
13
|
+
}
|
|
@@ -19,7 +19,7 @@ export const useUtils = () => useLocalizationContext().utils;
|
|
|
19
19
|
export const useDefaultDates = () => useLocalizationContext().defaultDates;
|
|
20
20
|
export const useNow = timezone => {
|
|
21
21
|
const utils = useUtils();
|
|
22
|
-
const now = React.useRef();
|
|
22
|
+
const now = React.useRef(undefined);
|
|
23
23
|
if (now.current === undefined) {
|
|
24
24
|
now.current = utils.date(undefined, timezone);
|
|
25
25
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { PickerValueManager } from './usePicker';
|
|
2
2
|
import { PickersTimezone, PickerValidDate } from '../../models';
|
|
3
|
+
import { PickerValidValue } from '../models';
|
|
3
4
|
/**
|
|
4
5
|
* Hooks making sure that:
|
|
5
6
|
* - The value returned by `onChange` always have the timezone of `props.value` or `props.defaultValue` if defined
|
|
6
7
|
* - The value rendered is always the one from `props.timezone` if defined
|
|
7
8
|
*/
|
|
8
|
-
export declare const useValueWithTimezone: <TValue, TChange extends (...params: any[]) => void>({ timezone: timezoneProp, value: valueProp, defaultValue, referenceDate, onChange, valueManager, }: UseValueWithTimezoneParameters<TValue, TChange>) => {
|
|
9
|
+
export declare const useValueWithTimezone: <TValue extends PickerValidValue, TChange extends (...params: any[]) => void>({ timezone: timezoneProp, value: valueProp, defaultValue, referenceDate, onChange, valueManager, }: UseValueWithTimezoneParameters<TValue, TChange>) => {
|
|
9
10
|
value: TValue;
|
|
10
11
|
handleValueChange: TChange;
|
|
11
12
|
timezone: string;
|
|
@@ -13,12 +14,12 @@ export declare const useValueWithTimezone: <TValue, TChange extends (...params:
|
|
|
13
14
|
/**
|
|
14
15
|
* Wrapper around `useControlled` and `useValueWithTimezone`
|
|
15
16
|
*/
|
|
16
|
-
export declare const useControlledValueWithTimezone: <TValue, TChange extends (...params: any[]) => void>({ name, timezone: timezoneProp, value: valueProp, defaultValue, referenceDate, onChange: onChangeProp, valueManager, }: UseControlledValueWithTimezoneParameters<TValue, TChange>) => {
|
|
17
|
+
export declare const useControlledValueWithTimezone: <TValue extends PickerValidValue, TChange extends (...params: any[]) => void>({ name, timezone: timezoneProp, value: valueProp, defaultValue, referenceDate, onChange: onChangeProp, valueManager, }: UseControlledValueWithTimezoneParameters<TValue, TChange>) => {
|
|
17
18
|
value: TValue;
|
|
18
19
|
handleValueChange: TChange;
|
|
19
20
|
timezone: string;
|
|
20
21
|
};
|
|
21
|
-
interface UseValueWithTimezoneParameters<TValue, TChange extends (...params: any[]) => void> {
|
|
22
|
+
interface UseValueWithTimezoneParameters<TValue extends PickerValidValue, TChange extends (...params: any[]) => void> {
|
|
22
23
|
timezone: PickersTimezone | undefined;
|
|
23
24
|
value: TValue | undefined;
|
|
24
25
|
defaultValue: TValue | undefined;
|
|
@@ -31,7 +32,7 @@ interface UseValueWithTimezoneParameters<TValue, TChange extends (...params: any
|
|
|
31
32
|
onChange: TChange | undefined;
|
|
32
33
|
valueManager: PickerValueManager<TValue, any>;
|
|
33
34
|
}
|
|
34
|
-
interface UseControlledValueWithTimezoneParameters<TValue, TChange extends (...params: any[]) => void> extends UseValueWithTimezoneParameters<TValue, TChange> {
|
|
35
|
+
interface UseControlledValueWithTimezoneParameters<TValue extends PickerValidValue, TChange extends (...params: any[]) => void> extends UseValueWithTimezoneParameters<TValue, TChange> {
|
|
35
36
|
name: string;
|
|
36
37
|
}
|
|
37
38
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-internals/types';
|
|
2
2
|
import type { PickerSelectionState } from './usePicker';
|
|
3
|
-
import { DateOrTimeViewWithMeridiem } from '../models';
|
|
3
|
+
import { DateOrTimeViewWithMeridiem, PickerValidValue } from '../models';
|
|
4
4
|
import { PickerValidDate } from '../../models';
|
|
5
5
|
export type PickerOnChangeFn = (date: PickerValidDate | null, selectionState?: PickerSelectionState) => void;
|
|
6
|
-
export interface UseViewsOptions<TValue, TView extends DateOrTimeViewWithMeridiem> {
|
|
6
|
+
export interface UseViewsOptions<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem> {
|
|
7
7
|
/**
|
|
8
8
|
* Callback fired when the value changes.
|
|
9
9
|
* @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
|
|
@@ -54,9 +54,9 @@ export interface UseViewsOptions<TValue, TView extends DateOrTimeViewWithMeridie
|
|
|
54
54
|
*/
|
|
55
55
|
onFocusedViewChange?: (view: TView, hasFocus: boolean) => void;
|
|
56
56
|
}
|
|
57
|
-
export interface ExportedUseViewsOptions<TValue, TView extends DateOrTimeViewWithMeridiem> extends MakeOptional<UseViewsOptions<TValue, TView>, 'onChange' | 'openTo' | 'views'> {
|
|
57
|
+
export interface ExportedUseViewsOptions<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem> extends MakeOptional<UseViewsOptions<TValue, TView>, 'onChange' | 'openTo' | 'views'> {
|
|
58
58
|
}
|
|
59
|
-
interface UseViewsResponse<TValue, TView extends DateOrTimeViewWithMeridiem> {
|
|
59
|
+
interface UseViewsResponse<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem> {
|
|
60
60
|
view: TView;
|
|
61
61
|
setView: (view: TView) => void;
|
|
62
62
|
focusedView: TView | null;
|
|
@@ -67,5 +67,5 @@ interface UseViewsResponse<TValue, TView extends DateOrTimeViewWithMeridiem> {
|
|
|
67
67
|
goToNextView: () => void;
|
|
68
68
|
setValueAndGoToNextView: (value: TValue, currentViewSelectionState?: PickerSelectionState, selectedView?: TView) => void;
|
|
69
69
|
}
|
|
70
|
-
export declare function useViews<TValue, TView extends DateOrTimeViewWithMeridiem>({ onChange, onViewChange, openTo, view: inView, views, autoFocus, focusedView: inFocusedView, onFocusedViewChange, }: UseViewsOptions<TValue, TView>): UseViewsResponse<TValue, TView>;
|
|
70
|
+
export declare function useViews<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem>({ onChange, onViewChange, openTo, view: inView, views, autoFocus, focusedView: inFocusedView, onFocusedViewChange, }: UseViewsOptions<TValue, TView>): UseViewsResponse<TValue, TView>;
|
|
71
71
|
export {};
|
package/internals/index.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export { PickersArrowSwitcher } from './components/PickersArrowSwitcher/PickersArrowSwitcher';
|
|
2
2
|
export type { ExportedPickersArrowSwitcherProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, } from './components/PickersArrowSwitcher';
|
|
3
|
+
export { PickerFieldUI, PickerFieldUIContextProvider, cleanFieldResponse, useFieldTextFieldProps, } from './components/PickerFieldUI';
|
|
4
|
+
export type { ExportedPickerFieldUIProps, PickerFieldUISlots, PickerFieldUISlotProps, } from './components/PickerFieldUI';
|
|
3
5
|
export { PickerProvider } from './components/PickerProvider';
|
|
6
|
+
export type { PickerContextValue } from './components/PickerProvider';
|
|
4
7
|
export { PickersModalDialog } from './components/PickersModalDialog';
|
|
5
8
|
export type { PickersModalDialogSlots, PickersModalDialogSlotProps, } from './components/PickersModalDialog';
|
|
6
|
-
export {
|
|
7
|
-
export type {
|
|
9
|
+
export { PickerPopper } from './components/PickerPopper/PickerPopper';
|
|
10
|
+
export type { PickerPopperSlots, PickerPopperSlotProps, } from './components/PickerPopper/PickerPopper';
|
|
8
11
|
export { PickersToolbar } from './components/PickersToolbar';
|
|
9
12
|
export type { PickersToolbarProps } from './components/PickersToolbar';
|
|
10
13
|
export { pickersToolbarClasses } from './components/pickersToolbarClasses';
|
|
@@ -17,46 +20,52 @@ export { pickersToolbarTextClasses } from './components/pickersToolbarTextClasse
|
|
|
17
20
|
export type { PickersToolbarTextClassKey, PickersToolbarTextClasses, } from './components/pickersToolbarTextClasses';
|
|
18
21
|
export { pickersArrowSwitcherClasses } from './components/PickersArrowSwitcher/pickersArrowSwitcherClasses';
|
|
19
22
|
export type { PickersArrowSwitcherClassKey, PickersArrowSwitcherClasses, } from './components/PickersArrowSwitcher/pickersArrowSwitcherClasses';
|
|
20
|
-
export type { PickerPopperProps } from './components/PickersPopper';
|
|
21
|
-
export { pickersPopperClasses } from './components/pickersPopperClasses';
|
|
22
|
-
export type { PickersPopperClassKey, PickersPopperClasses, } from './components/pickersPopperClasses';
|
|
23
23
|
export { PickersToolbarButton } from './components/PickersToolbarButton';
|
|
24
24
|
export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from './constants/dimensions';
|
|
25
25
|
export { useControlledValueWithTimezone } from './hooks/useValueWithTimezone';
|
|
26
26
|
export type { DesktopOnlyPickerProps } from './hooks/useDesktopPicker';
|
|
27
|
-
export { useField, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections, } from './hooks/useField';
|
|
28
|
-
export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, } from './hooks/useField';
|
|
27
|
+
export { useField, useFieldInternalPropsWithDefaults, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections, } from './hooks/useField';
|
|
28
|
+
export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, PickerFieldPrivateContextValue, } from './hooks/useField';
|
|
29
|
+
export { useFieldOwnerState } from './hooks/useFieldOwnerState';
|
|
29
30
|
export type { MobileOnlyPickerProps } from './hooks/useMobilePicker';
|
|
31
|
+
export { useNullablePickerContext } from './hooks/useNullablePickerContext';
|
|
30
32
|
export { usePicker } from './hooks/usePicker';
|
|
31
|
-
export type {
|
|
32
|
-
export type { UsePickerValueNonStaticProps, PickerValueManager, PickerSelectionState, } from './hooks/usePicker/usePickerValue.types';
|
|
33
|
-
export type {
|
|
33
|
+
export type { UsePickerParams, UsePickerProps, UsePickerValueFieldResponse, PickerViewsRendererProps, } from './hooks/usePicker';
|
|
34
|
+
export type { UsePickerValueContextValue, UsePickerValueNonStaticProps, PickerValueManager, PickerSelectionState, } from './hooks/usePicker/usePickerValue.types';
|
|
35
|
+
export type { PickerViewRendererLookup, PickerRendererInterceptorProps, PickerViewRenderer, UsePickerViewsProps, } from './hooks/usePicker/usePickerViews';
|
|
36
|
+
export type { UsePickerProviderNonStaticProps } from './hooks/usePicker/usePickerProvider';
|
|
34
37
|
export { usePickerPrivateContext } from './hooks/usePickerPrivateContext';
|
|
35
38
|
export { useStaticPicker } from './hooks/useStaticPicker';
|
|
36
39
|
export type { StaticOnlyPickerProps, UseStaticPickerSlots, UseStaticPickerSlotProps, } from './hooks/useStaticPicker';
|
|
40
|
+
export { useToolbarOwnerState } from './hooks/useToolbarOwnerState';
|
|
41
|
+
export type { PickerToolbarOwnerState } from './hooks/useToolbarOwnerState';
|
|
37
42
|
export { useLocalizationContext, useDefaultDates, useUtils, useNow } from './hooks/useUtils';
|
|
38
43
|
export type { ExportedUseViewsOptions, UseViewsOptions } from './hooks/useViews';
|
|
39
44
|
export { useViews } from './hooks/useViews';
|
|
40
45
|
export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
|
|
41
|
-
export type {
|
|
42
|
-
export type {
|
|
46
|
+
export type { PickerAnyManager, PickerManagerFieldInternalProps, PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerError, } from './models/manager';
|
|
47
|
+
export type { RangePosition } from './models/pickers';
|
|
48
|
+
export type { BaseSingleInputFieldProps, FieldRangeSection } from './models/fields';
|
|
49
|
+
export type { BasePickerProps, BasePickerInputProps } from './models/props/basePickerProps';
|
|
43
50
|
export type { BaseClockProps, DesktopOnlyTimePickerProps, AmPmProps } from './models/props/time';
|
|
44
|
-
export type {
|
|
51
|
+
export type { ExportedBaseTabsProps } from './models/props/tabs';
|
|
45
52
|
export type { BaseToolbarProps, ExportedBaseToolbarProps } from './models/props/toolbar';
|
|
46
53
|
export type { FormProps } from './models/formProps';
|
|
47
54
|
export type { PickerVariant, TimeViewWithMeridiem, DateOrTimeViewWithMeridiem, } from './models/common';
|
|
48
55
|
export type { BaseDateValidationProps, BaseTimeValidationProps, TimeValidationProps, MonthValidationProps, YearValidationProps, DayValidationProps, DateTimeValidationProps, } from './models/validation';
|
|
49
|
-
export type { PickerRangeValue } from './models/value';
|
|
50
|
-
export { convertFieldResponseIntoMuiTextFieldProps } from './utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
56
|
+
export type { PickerValue, PickerRangeValue, PickerNonNullableRangeValue, InferNonNullablePickerValue, PickerValidValue, } from './models/value';
|
|
51
57
|
export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, isDatePickerView, mergeDateAndTime, formatMeridiem, } from './utils/date-utils';
|
|
52
58
|
export { resolveTimeViewsResponse, resolveDateTimeFormat } from './utils/date-time-utils';
|
|
53
59
|
export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
|
|
54
|
-
export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, } from './utils/utils';
|
|
55
|
-
export {
|
|
56
|
-
export { useDefaultReduceAnimations } from './hooks/useDefaultReduceAnimations';
|
|
60
|
+
export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, mergeSx, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, } from './utils/utils';
|
|
61
|
+
export { useReduceAnimations } from './hooks/useReduceAnimations';
|
|
57
62
|
export { applyDefaultViewProps } from './utils/views';
|
|
58
63
|
export { DayCalendar } from '../DateCalendar/DayCalendar';
|
|
59
64
|
export type { DayCalendarProps, DayCalendarSlots, DayCalendarSlotProps, ExportedDayCalendarProps, } from '../DateCalendar/DayCalendar';
|
|
60
65
|
export type { ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
|
|
61
66
|
export { useCalendarState } from '../DateCalendar/useCalendarState';
|
|
62
67
|
export { isInternalTimeView, isTimeView } from './utils/time-utils';
|
|
68
|
+
export { DateTimePickerToolbarOverrideContext } from '../DateTimePicker/DateTimePickerToolbar';
|
|
69
|
+
export { getDateFieldInternalPropsDefaults } from '../managers/useDateManager';
|
|
70
|
+
export { getTimeFieldInternalPropsDefaults } from '../managers/useTimeManager';
|
|
71
|
+
export { getDateTimeFieldInternalPropsDefaults } from '../managers/useDateTimeManager';
|