@mui/x-date-pickers 7.22.3 → 8.0.0-alpha.1
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 +1 -1
- package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +3 -3
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -1
- package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +1 -1
- package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +1 -1
- package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
- package/AdapterLuxon/AdapterLuxon.d.ts +2 -2
- package/AdapterMoment/AdapterMoment.d.ts +2 -2
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -2
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -2
- package/CHANGELOG.md +348 -12
- package/DateCalendar/DateCalendar.d.ts +1 -2
- package/DateCalendar/DateCalendar.js +21 -22
- package/DateCalendar/DateCalendar.types.d.ts +21 -31
- package/DateCalendar/DayCalendar.d.ts +25 -24
- package/DateCalendar/DayCalendar.js +13 -10
- package/DateCalendar/index.d.ts +1 -0
- package/DateCalendar/useCalendarState.d.ts +16 -16
- package/DateCalendar/useIsDateDisabled.d.ts +2 -2
- package/DateField/DateField.d.ts +1 -2
- package/DateField/DateField.js +8 -10
- package/DateField/DateField.types.d.ts +8 -9
- package/DateField/index.d.ts +1 -1
- package/DateField/useDateField.d.ts +1 -2
- package/DatePicker/DatePicker.d.ts +1 -2
- package/DatePicker/DatePicker.js +15 -14
- package/DatePicker/DatePicker.types.d.ts +10 -11
- package/DatePicker/DatePickerToolbar.d.ts +2 -2
- package/DatePicker/DatePickerToolbar.js +2 -4
- package/DatePicker/shared.d.ts +11 -11
- package/DateTimeField/DateTimeField.d.ts +1 -2
- package/DateTimeField/DateTimeField.js +9 -12
- package/DateTimeField/DateTimeField.types.d.ts +9 -14
- package/DateTimeField/index.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -2
- package/DateTimePicker/DateTimePicker.d.ts +1 -2
- package/DateTimePicker/DateTimePicker.js +16 -16
- package/DateTimePicker/DateTimePicker.types.d.ts +10 -13
- package/DateTimePicker/DateTimePickerTabs.d.ts +1 -2
- package/DateTimePicker/DateTimePickerTabs.js +2 -2
- package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -5
- package/DateTimePicker/DateTimePickerToolbar.js +8 -7
- package/DateTimePicker/shared.d.ts +12 -12
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -2
- package/DesktopDatePicker/DesktopDatePicker.js +17 -16
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -7
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -2
- package/DesktopTimePicker/DesktopTimePicker.js +11 -6
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
- package/DigitalClock/DigitalClock.d.ts +1 -2
- package/DigitalClock/DigitalClock.js +8 -6
- package/DigitalClock/DigitalClock.types.d.ts +4 -4
- package/LocalizationProvider/LocalizationProvider.d.ts +12 -12
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -2
- package/MobileDatePicker/MobileDatePicker.js +17 -16
- package/MobileDatePicker/MobileDatePicker.types.d.ts +7 -7
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +7 -7
- package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
- package/MobileTimePicker/MobileTimePicker.js +11 -6
- package/MobileTimePicker/MobileTimePicker.types.d.ts +7 -7
- package/MonthCalendar/MonthCalendar.d.ts +3 -4
- package/MonthCalendar/MonthCalendar.js +18 -14
- package/MonthCalendar/MonthCalendar.types.d.ts +14 -15
- package/MonthCalendar/PickersMonth.js +17 -13
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +3 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +9 -9
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +2 -3
- package/PickersActionBar/PickersActionBar.js +2 -2
- package/PickersCalendarHeader/PickersCalendarHeader.d.ts +1 -2
- package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +9 -9
- package/PickersDay/PickersDay.d.ts +8 -8
- package/PickersLayout/PickersLayout.d.ts +2 -3
- package/PickersLayout/PickersLayout.js +0 -2
- package/PickersLayout/PickersLayout.types.d.ts +16 -19
- package/PickersLayout/index.d.ts +1 -1
- package/PickersLayout/usePickerLayout.d.ts +1 -2
- package/PickersLayout/usePickerLayout.js +18 -23
- package/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
- package/PickersTextField/PickersTextField.js +2 -2
- package/README.md +4 -4
- package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
- package/StaticDatePicker/StaticDatePicker.js +14 -13
- package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
- package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
- package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
- package/StaticTimePicker/StaticTimePicker.js +8 -3
- package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
- package/TimeClock/Clock.d.ts +4 -5
- package/TimeClock/Clock.js +4 -3
- package/TimeClock/ClockNumbers.d.ts +5 -5
- package/TimeClock/TimeClock.d.ts +1 -2
- package/TimeClock/TimeClock.js +8 -6
- package/TimeClock/TimeClock.types.d.ts +4 -4
- package/TimeField/TimeField.d.ts +1 -2
- package/TimeField/TimeField.js +6 -6
- package/TimeField/TimeField.types.d.ts +9 -14
- package/TimeField/index.d.ts +1 -1
- package/TimeField/useTimeField.d.ts +1 -2
- package/TimePicker/TimePicker.d.ts +1 -2
- package/TimePicker/TimePicker.js +9 -4
- package/TimePicker/TimePicker.types.d.ts +10 -13
- package/TimePicker/TimePickerToolbar.d.ts +2 -2
- package/TimePicker/TimePickerToolbar.js +8 -7
- package/TimePicker/shared.d.ts +10 -10
- package/YearCalendar/PickersYear.js +17 -13
- package/YearCalendar/YearCalendar.d.ts +1 -2
- package/YearCalendar/YearCalendar.js +18 -14
- package/YearCalendar/YearCalendar.types.d.ts +14 -15
- package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
- package/hooks/index.d.ts +2 -2
- package/hooks/index.js +2 -2
- package/hooks/useClearableField.js +4 -3
- package/hooks/useParsedFormat.d.ts +2 -3
- package/hooks/useParsedFormat.js +2 -2
- package/hooks/usePickerContext.d.ts +4 -0
- package/hooks/usePickerContext.js +15 -0
- package/hooks/usePickerTranslations.d.ts +1 -0
- package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
- package/hooks/useSplitFieldProps.d.ts +3 -3
- package/index.js +1 -1
- package/internals/components/PickerProvider.d.ts +67 -0
- package/internals/components/PickerProvider.js +40 -0
- package/internals/hooks/date-helpers-hooks.d.ts +6 -6
- package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
- package/internals/hooks/useClockReferenceDate.d.ts +5 -5
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
- package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
- package/internals/hooks/useField/useField.d.ts +3 -3
- package/internals/hooks/useField/useField.js +1 -1
- package/internals/hooks/useField/useField.types.d.ts +40 -50
- package/internals/hooks/useField/useField.utils.d.ts +15 -15
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
- package/internals/hooks/useField/useFieldState.d.ts +4 -4
- package/internals/hooks/useField/useFieldState.js +4 -3
- package/internals/hooks/useField/useFieldV7TextField.js +4 -3
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
- package/internals/hooks/usePicker/usePicker.d.ts +2 -2
- package/internals/hooks/usePicker/usePicker.js +15 -10
- package/internals/hooks/usePicker/usePicker.types.d.ts +9 -7
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +6 -8
- package/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
- package/internals/hooks/usePicker/usePickerProvider.d.ts +26 -0
- package/internals/hooks/usePicker/usePickerProvider.js +77 -0
- package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerValue.js +7 -10
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +38 -39
- package/internals/hooks/usePicker/usePickerViews.d.ts +7 -11
- package/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
- package/internals/hooks/usePickerPrivateContext.js +9 -0
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
- package/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
- package/internals/hooks/useUtils.d.ts +7 -7
- package/internals/hooks/useValueWithTimezone.d.ts +19 -15
- package/internals/hooks/useValueWithTimezone.js +13 -1
- package/internals/hooks/useViews.d.ts +3 -3
- package/internals/hooks/useViews.js +1 -1
- package/internals/index.d.ts +7 -5
- package/internals/index.js +2 -1
- package/internals/models/common.d.ts +2 -1
- package/internals/models/fields.d.ts +32 -7
- package/internals/models/formProps.d.ts +14 -0
- package/internals/models/helpers.d.ts +0 -4
- package/internals/models/index.d.ts +2 -0
- package/internals/models/index.js +3 -1
- package/internals/models/props/basePickerProps.d.ts +5 -6
- package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
- package/internals/models/props/toolbar.d.ts +0 -2
- package/internals/models/validation.d.ts +21 -25
- package/internals/models/value.d.ts +3 -0
- package/internals/models/value.js +1 -0
- package/internals/utils/date-time-utils.d.ts +7 -7
- package/internals/utils/date-utils.d.ts +17 -17
- package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
- package/internals/utils/time-utils.d.ts +5 -5
- package/internals/utils/valueManagers.d.ts +3 -3
- package/locales/beBY.d.ts +3 -3
- package/locales/beBY.js +3 -3
- package/locales/bgBG.d.ts +3 -3
- package/locales/bgBG.js +3 -3
- package/locales/caES.d.ts +3 -3
- package/locales/caES.js +3 -3
- package/locales/csCZ.d.ts +3 -3
- package/locales/csCZ.js +3 -3
- package/locales/daDK.d.ts +3 -3
- package/locales/daDK.js +3 -3
- package/locales/deDE.d.ts +3 -3
- package/locales/deDE.js +3 -3
- package/locales/elGR.d.ts +3 -3
- package/locales/elGR.js +12 -13
- package/locales/enUS.d.ts +4 -4
- package/locales/enUS.js +3 -3
- package/locales/esES.d.ts +3 -3
- package/locales/esES.js +3 -3
- package/locales/eu.d.ts +3 -3
- package/locales/eu.js +3 -3
- package/locales/faIR.d.ts +3 -3
- package/locales/faIR.js +3 -3
- package/locales/fiFI.d.ts +3 -3
- package/locales/fiFI.js +3 -3
- package/locales/frFR.d.ts +3 -3
- package/locales/frFR.js +3 -3
- package/locales/heIL.d.ts +3 -3
- package/locales/heIL.js +3 -3
- package/locales/hrHR.d.ts +3 -3
- package/locales/hrHR.js +3 -3
- package/locales/huHU.d.ts +3 -3
- package/locales/huHU.js +3 -3
- package/locales/isIS.d.ts +3 -3
- package/locales/isIS.js +3 -3
- package/locales/itIT.d.ts +3 -3
- package/locales/itIT.js +3 -3
- package/locales/jaJP.d.ts +3 -3
- package/locales/jaJP.js +3 -3
- package/locales/koKR.d.ts +3 -3
- package/locales/koKR.js +3 -3
- package/locales/kzKZ.d.ts +3 -3
- package/locales/kzKZ.js +3 -3
- package/locales/mk.d.ts +3 -3
- package/locales/mk.js +3 -3
- package/locales/nbNO.d.ts +3 -3
- package/locales/nbNO.js +3 -3
- package/locales/nlNL.d.ts +3 -3
- package/locales/nlNL.js +3 -3
- package/locales/nnNO.d.ts +3 -3
- package/locales/nnNO.js +3 -3
- package/locales/plPL.d.ts +3 -3
- package/locales/plPL.js +3 -3
- package/locales/ptBR.d.ts +3 -3
- package/locales/ptBR.js +5 -3
- package/locales/ptPT.d.ts +3 -3
- package/locales/ptPT.js +3 -3
- package/locales/roRO.d.ts +3 -3
- package/locales/roRO.js +3 -3
- package/locales/ruRU.d.ts +3 -3
- package/locales/ruRU.js +3 -3
- package/locales/skSK.d.ts +3 -3
- package/locales/skSK.js +3 -3
- package/locales/svSE.d.ts +3 -3
- package/locales/svSE.js +3 -3
- package/locales/trTR.d.ts +3 -3
- package/locales/trTR.js +3 -3
- package/locales/ukUA.d.ts +3 -3
- package/locales/ukUA.js +3 -3
- package/locales/urPK.d.ts +3 -3
- package/locales/urPK.js +3 -3
- package/locales/utils/getPickersLocalization.d.ts +9 -9
- package/locales/utils/getPickersLocalization.js +1 -1
- package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
- package/locales/viVN.d.ts +3 -3
- package/locales/viVN.js +3 -3
- package/locales/zhCN.d.ts +3 -3
- package/locales/zhCN.js +3 -3
- package/locales/zhHK.d.ts +3 -3
- package/locales/zhHK.js +3 -3
- package/models/adapters.d.ts +151 -202
- package/models/common.d.ts +1 -0
- package/models/fields.d.ts +9 -42
- package/models/pickers.d.ts +28 -6
- package/modern/DateCalendar/DateCalendar.js +21 -22
- package/modern/DateCalendar/DayCalendar.js +13 -10
- package/modern/DateField/DateField.js +8 -10
- package/modern/DatePicker/DatePicker.js +15 -14
- package/modern/DatePicker/DatePickerToolbar.js +2 -4
- package/modern/DateTimeField/DateTimeField.js +9 -12
- package/modern/DateTimePicker/DateTimePicker.js +16 -16
- package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
- package/modern/DateTimePicker/DateTimePickerToolbar.js +8 -7
- package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
- package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
- package/modern/DigitalClock/DigitalClock.js +8 -6
- package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
- package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
- package/modern/MonthCalendar/MonthCalendar.js +18 -14
- package/modern/MonthCalendar/PickersMonth.js +17 -13
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
- package/modern/PickersActionBar/PickersActionBar.js +2 -2
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
- package/modern/PickersLayout/PickersLayout.js +0 -2
- package/modern/PickersLayout/usePickerLayout.js +18 -23
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
- package/modern/PickersTextField/PickersTextField.js +2 -2
- package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
- package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
- package/modern/TimeClock/Clock.js +4 -3
- package/modern/TimeClock/TimeClock.js +8 -6
- package/modern/TimeField/TimeField.js +6 -6
- package/modern/TimePicker/TimePicker.js +9 -4
- package/modern/TimePicker/TimePickerToolbar.js +8 -7
- package/modern/YearCalendar/PickersYear.js +17 -13
- package/modern/YearCalendar/YearCalendar.js +18 -14
- package/modern/hooks/index.js +2 -2
- package/modern/hooks/useClearableField.js +4 -3
- package/modern/hooks/useParsedFormat.js +2 -2
- package/modern/hooks/usePickerContext.js +15 -0
- package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerProvider.js +40 -0
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
- package/modern/internals/hooks/useField/useField.js +1 -1
- package/modern/internals/hooks/useField/useFieldState.js +4 -3
- package/modern/internals/hooks/useField/useFieldV7TextField.js +4 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
- package/modern/internals/hooks/usePicker/usePicker.js +15 -10
- package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
- package/modern/internals/hooks/usePicker/usePickerProvider.js +77 -0
- package/modern/internals/hooks/usePicker/usePickerValue.js +7 -10
- package/modern/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
- package/modern/internals/hooks/useValueWithTimezone.js +13 -1
- package/modern/internals/hooks/useViews.js +1 -1
- package/modern/internals/index.js +2 -1
- package/modern/internals/models/formProps.js +1 -0
- package/modern/internals/models/index.js +3 -1
- package/modern/internals/models/props/time.js +1 -0
- package/modern/internals/models/value.js +1 -0
- package/modern/locales/beBY.js +3 -3
- package/modern/locales/bgBG.js +3 -3
- package/modern/locales/caES.js +3 -3
- package/modern/locales/csCZ.js +3 -3
- package/modern/locales/daDK.js +3 -3
- package/modern/locales/deDE.js +3 -3
- package/modern/locales/elGR.js +12 -13
- package/modern/locales/enUS.js +3 -3
- package/modern/locales/esES.js +3 -3
- package/modern/locales/eu.js +3 -3
- package/modern/locales/faIR.js +3 -3
- package/modern/locales/fiFI.js +3 -3
- package/modern/locales/frFR.js +3 -3
- package/modern/locales/heIL.js +3 -3
- package/modern/locales/hrHR.js +3 -3
- package/modern/locales/huHU.js +3 -3
- package/modern/locales/isIS.js +3 -3
- package/modern/locales/itIT.js +3 -3
- package/modern/locales/jaJP.js +3 -3
- package/modern/locales/koKR.js +3 -3
- package/modern/locales/kzKZ.js +3 -3
- package/modern/locales/mk.js +3 -3
- package/modern/locales/nbNO.js +3 -3
- package/modern/locales/nlNL.js +3 -3
- package/modern/locales/nnNO.js +3 -3
- package/modern/locales/plPL.js +3 -3
- package/modern/locales/ptBR.js +5 -3
- package/modern/locales/ptPT.js +3 -3
- package/modern/locales/roRO.js +3 -3
- package/modern/locales/ruRU.js +3 -3
- package/modern/locales/skSK.js +3 -3
- package/modern/locales/svSE.js +3 -3
- package/modern/locales/trTR.js +3 -3
- package/modern/locales/ukUA.js +3 -3
- package/modern/locales/urPK.js +3 -3
- package/modern/locales/utils/getPickersLocalization.js +1 -1
- package/modern/locales/viVN.js +3 -3
- package/modern/locales/zhCN.js +3 -3
- package/modern/locales/zhHK.js +3 -3
- package/modern/validation/useValidation.js +2 -3
- package/modern/validation/validateDate.js +5 -0
- package/modern/validation/validateDateTime.js +5 -0
- package/modern/validation/validateTime.js +5 -0
- package/node/DateCalendar/DateCalendar.js +21 -22
- package/node/DateCalendar/DayCalendar.js +13 -10
- package/node/DateField/DateField.js +8 -10
- package/node/DatePicker/DatePicker.js +15 -14
- package/node/DatePicker/DatePickerToolbar.js +2 -4
- package/node/DateTimeField/DateTimeField.js +9 -12
- package/node/DateTimePicker/DateTimePicker.js +16 -16
- package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
- package/node/DateTimePicker/DateTimePickerToolbar.js +8 -7
- package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
- package/node/DigitalClock/DigitalClock.js +8 -6
- package/node/MobileDatePicker/MobileDatePicker.js +17 -16
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
- package/node/MobileTimePicker/MobileTimePicker.js +11 -6
- package/node/MonthCalendar/MonthCalendar.js +18 -14
- package/node/MonthCalendar/PickersMonth.js +17 -13
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
- package/node/PickersActionBar/PickersActionBar.js +2 -2
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
- package/node/PickersLayout/PickersLayout.js +0 -2
- package/node/PickersLayout/usePickerLayout.js +18 -23
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
- package/node/PickersTextField/PickersTextField.js +2 -2
- package/node/StaticDatePicker/StaticDatePicker.js +14 -13
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
- package/node/StaticTimePicker/StaticTimePicker.js +8 -3
- package/node/TimeClock/Clock.js +4 -3
- package/node/TimeClock/TimeClock.js +8 -6
- package/node/TimeField/TimeField.js +6 -6
- package/node/TimePicker/TimePicker.js +9 -4
- package/node/TimePicker/TimePickerToolbar.js +8 -7
- package/node/YearCalendar/PickersYear.js +17 -13
- package/node/YearCalendar/YearCalendar.js +18 -14
- package/node/hooks/index.js +6 -6
- package/node/hooks/useClearableField.js +4 -3
- package/node/hooks/useParsedFormat.js +2 -2
- package/node/hooks/usePickerContext.js +21 -0
- package/node/hooks/usePickerTranslations.js +10 -0
- package/node/index.js +1 -1
- package/node/internals/components/PickerProvider.js +48 -0
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
- package/node/internals/hooks/useField/useField.js +1 -1
- package/node/internals/hooks/useField/useFieldState.js +4 -3
- package/node/internals/hooks/useField/useFieldV7TextField.js +4 -3
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
- package/node/internals/hooks/usePicker/usePicker.js +15 -10
- package/node/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
- package/node/internals/hooks/usePicker/usePickerProvider.js +87 -0
- package/node/internals/hooks/usePicker/usePickerValue.js +6 -10
- package/node/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/node/internals/hooks/usePickerPrivateContext.js +15 -0
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
- package/node/internals/hooks/useValueWithTimezone.js +13 -1
- package/node/internals/hooks/useViews.js +3 -3
- package/node/internals/index.js +14 -7
- package/node/internals/models/index.js +22 -0
- package/node/internals/models/props/time.js +5 -0
- package/node/internals/models/value.js +5 -0
- package/node/locales/beBY.js +3 -3
- package/node/locales/bgBG.js +3 -3
- package/node/locales/caES.js +3 -3
- package/node/locales/csCZ.js +3 -3
- package/node/locales/daDK.js +3 -3
- package/node/locales/deDE.js +3 -3
- package/node/locales/elGR.js +12 -13
- package/node/locales/enUS.js +3 -3
- package/node/locales/esES.js +3 -3
- package/node/locales/eu.js +3 -3
- package/node/locales/faIR.js +3 -3
- package/node/locales/fiFI.js +3 -3
- package/node/locales/frFR.js +3 -3
- package/node/locales/heIL.js +3 -3
- package/node/locales/hrHR.js +3 -3
- package/node/locales/huHU.js +3 -3
- package/node/locales/isIS.js +3 -3
- package/node/locales/itIT.js +3 -3
- package/node/locales/jaJP.js +3 -3
- package/node/locales/koKR.js +3 -3
- package/node/locales/kzKZ.js +3 -3
- package/node/locales/mk.js +3 -3
- package/node/locales/nbNO.js +3 -3
- package/node/locales/nlNL.js +3 -3
- package/node/locales/nnNO.js +3 -3
- package/node/locales/plPL.js +3 -3
- package/node/locales/ptBR.js +5 -3
- package/node/locales/ptPT.js +3 -3
- package/node/locales/roRO.js +3 -3
- package/node/locales/ruRU.js +3 -3
- package/node/locales/skSK.js +3 -3
- package/node/locales/svSE.js +3 -3
- package/node/locales/trTR.js +3 -3
- package/node/locales/ukUA.js +3 -3
- package/node/locales/urPK.js +3 -3
- package/node/locales/utils/getPickersLocalization.js +1 -1
- package/node/locales/viVN.js +3 -3
- package/node/locales/zhCN.js +3 -3
- package/node/locales/zhHK.js +3 -3
- package/node/validation/useValidation.js +2 -3
- package/node/validation/validateDate.js +4 -0
- package/node/validation/validateDateTime.js +4 -0
- package/node/validation/validateTime.js +4 -0
- package/package.json +5 -5
- package/themeAugmentation/props.d.ts +28 -28
- package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
- package/validation/extractValidationProps.d.ts +4 -4
- package/validation/useValidation.d.ts +9 -10
- package/validation/useValidation.js +2 -3
- package/validation/validateDate.d.ts +7 -2
- package/validation/validateDate.js +5 -0
- package/validation/validateDateTime.d.ts +10 -4
- package/validation/validateDateTime.js +5 -0
- package/validation/validateTime.d.ts +7 -2
- package/validation/validateTime.js +5 -0
- package/hooks/usePickersContext.d.ts +0 -4
- package/hooks/usePickersContext.js +0 -15
- package/hooks/usePickersTranslations.d.ts +0 -2
- package/internals/components/PickersProvider.d.ts +0 -34
- package/internals/components/PickersProvider.js +0 -26
- package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -9
- package/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
- package/modern/hooks/usePickersContext.js +0 -15
- package/modern/internals/components/PickersProvider.js +0 -26
- package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
- package/node/hooks/usePickersContext.js +0 -21
- package/node/hooks/usePickersTranslations.js +0 -10
- package/node/internals/components/PickersProvider.js +0 -34
- package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -20
- /package/internals/models/{props/clock.js → formProps.js} +0 -0
- /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
- /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
package/models/fields.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TextFieldProps } from '@mui/material/TextField';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import type {
|
|
6
|
-
import { ExportedPickersSectionListProps, PickersSectionListRef } from '../PickersSectionList';
|
|
7
|
-
import type { UseFieldResponse } from '../internals/hooks/useField';
|
|
3
|
+
import type { ExportedUseClearableFieldProps, UseClearableFieldResponse } from '../hooks/useClearableField';
|
|
4
|
+
import { ExportedPickersSectionListProps } from '../PickersSectionList';
|
|
5
|
+
import type { UseFieldInternalProps, UseFieldResponse } from '../internals/hooks/useField';
|
|
8
6
|
import type { PickersTextFieldProps } from '../PickersTextField';
|
|
9
|
-
import {
|
|
7
|
+
import { BaseForwardedSingleInputFieldProps } from '../internals/models';
|
|
10
8
|
export type FieldSectionType = 'year' | 'month' | 'day' | 'weekDay' | 'hours' | 'minutes' | 'seconds' | 'meridiem' | 'empty';
|
|
11
9
|
export type FieldSectionContentType = 'digit' | 'digit-with-letter' | 'letter';
|
|
12
|
-
export type FieldValueType = 'date' | 'time' | 'date-time';
|
|
13
10
|
export interface FieldSection {
|
|
14
11
|
/**
|
|
15
12
|
* Value of the section, as rendered inside the input.
|
|
@@ -101,48 +98,18 @@ export interface FieldRef<TSection extends FieldSection> {
|
|
|
101
98
|
isFieldFocused: () => boolean;
|
|
102
99
|
}
|
|
103
100
|
export type FieldSelectedSections = number | FieldSectionType | null | 'all';
|
|
104
|
-
interface BaseForwardedCommonSingleInputFieldProps extends ExportedUseClearableFieldProps {
|
|
105
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
106
|
-
sx?: SxProps<any>;
|
|
107
|
-
label?: React.ReactNode;
|
|
108
|
-
id?: string;
|
|
109
|
-
name?: string;
|
|
110
|
-
onKeyDown?: React.KeyboardEventHandler;
|
|
111
|
-
onBlur?: React.FocusEventHandler;
|
|
112
|
-
focused?: boolean;
|
|
113
|
-
InputProps?: {
|
|
114
|
-
ref?: React.Ref<any>;
|
|
115
|
-
endAdornment?: React.ReactNode;
|
|
116
|
-
startAdornment?: React.ReactNode;
|
|
117
|
-
};
|
|
118
|
-
inputProps?: {
|
|
119
|
-
'aria-label'?: string;
|
|
120
|
-
};
|
|
121
|
-
slots?: UseClearableFieldSlots;
|
|
122
|
-
slotProps?: UseClearableFieldSlotProps & {
|
|
123
|
-
textField?: {};
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
interface BaseForwardedV6SingleInputFieldProps {
|
|
127
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
128
|
-
}
|
|
129
|
-
interface BaseForwardedV7SingleInputFieldProps {
|
|
130
|
-
sectionListRef?: React.Ref<PickersSectionListRef>;
|
|
131
|
-
}
|
|
132
|
-
type BaseForwardedSingleInputFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = BaseForwardedCommonSingleInputFieldProps & (TEnableAccessibleFieldDOMStructure extends false ? BaseForwardedV6SingleInputFieldProps : BaseForwardedV7SingleInputFieldProps);
|
|
133
101
|
/**
|
|
134
|
-
* Props the
|
|
135
|
-
* Only contains what the MUI components are passing to the field,
|
|
136
|
-
* not what users can pass using the `props.slotProps.field`.
|
|
102
|
+
* Props the prop `slotProps.field` of a picker can receive.
|
|
137
103
|
*/
|
|
138
|
-
export type
|
|
104
|
+
export type PickerFieldSlotProps<TValue, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean> = ExportedUseClearableFieldProps & Pick<UseFieldInternalProps<TValue, TSection, TEnableAccessibleFieldDOMStructure, unknown>, 'shouldRespectLeadingZeros' | 'readOnly'> & React.HTMLAttributes<HTMLDivElement> & {
|
|
105
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
106
|
+
};
|
|
139
107
|
/**
|
|
140
108
|
* Props the text field receives when used with a single input picker.
|
|
141
109
|
* Only contains what the MUI components are passing to the text field, not what users can pass using the `props.slotProps.field` and `props.slotProps.textField`.
|
|
142
110
|
*/
|
|
143
|
-
export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps
|
|
111
|
+
export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps>>;
|
|
144
112
|
/**
|
|
145
113
|
* Props the built-in text field component can receive.
|
|
146
114
|
*/
|
|
147
115
|
export type BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = TEnableAccessibleFieldDOMStructure extends false ? Omit<TextFieldProps, 'autoComplete' | 'error' | 'maxRows' | 'minRows' | 'multiline' | 'placeholder' | 'rows' | 'select' | 'SelectProps' | 'type'> : Partial<Omit<PickersTextFieldProps, keyof ExportedPickersSectionListProps>>;
|
|
148
|
-
export {};
|
package/models/pickers.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PickerOrientation, PickerVariant } from '../internals/models/common';
|
|
1
2
|
import type { PickersShortcutsItemContext } from '../PickersShortcuts';
|
|
2
3
|
export interface PickerChangeHandlerContext<TError> {
|
|
3
4
|
validationError: TError;
|
|
@@ -10,21 +11,42 @@ export interface PickerChangeHandlerContext<TError> {
|
|
|
10
11
|
export interface PickerValidDateLookup {
|
|
11
12
|
}
|
|
12
13
|
export type PickerValidDate = keyof PickerValidDateLookup extends never ? any : PickerValidDateLookup[keyof PickerValidDateLookup];
|
|
13
|
-
export interface PickerOwnerState
|
|
14
|
+
export interface PickerOwnerState {
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* `true` if the value of the picker is currently empty.
|
|
17
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
16
18
|
*/
|
|
17
|
-
|
|
19
|
+
isPickerValueEmpty: boolean;
|
|
18
20
|
/**
|
|
19
21
|
* `true` if the picker is open, `false` otherwise.
|
|
22
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
20
23
|
*/
|
|
21
|
-
|
|
24
|
+
isPickerOpen: boolean;
|
|
22
25
|
/**
|
|
23
26
|
* `true` if the picker is disabled, `false` otherwise.
|
|
27
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
24
28
|
*/
|
|
25
|
-
|
|
29
|
+
isPickerDisabled: boolean;
|
|
26
30
|
/**
|
|
27
31
|
* `true` if the picker is read-only, `false` otherwise.
|
|
32
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
28
33
|
*/
|
|
29
|
-
|
|
34
|
+
isPickerReadOnly: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The responsive variant of the picker.
|
|
37
|
+
* Is equal to "desktop" when using a desktop picker (like <DesktopDatePicker />).
|
|
38
|
+
* Is equal to "mobile" when using a mobile picker (like <MobileDatePicker />).
|
|
39
|
+
* Is equal to "mobile" or "desktop" when using a responsive picker (like <DatePicker />) depending on the `desktopModeMediaQuery` prop.
|
|
40
|
+
* Is equal to "mobile" or "desktop" when using a static picker (like <StaticDatePicker />) depending on the `displayStaticWrapperAs` prop.
|
|
41
|
+
* Is always equal to "desktop" if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
42
|
+
*/
|
|
43
|
+
pickerVariant: PickerVariant;
|
|
44
|
+
/**
|
|
45
|
+
* The orientation of the picker.
|
|
46
|
+
* Is equal to "landscape" when the picker is in landscape orientation.
|
|
47
|
+
* Is equal to "portrait" when the picker is in portrait orientation.
|
|
48
|
+
* You can use the "orientation" on any picker component to force the orientation.
|
|
49
|
+
* Is always equal to "portrait" if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
50
|
+
*/
|
|
51
|
+
pickerOrientation: PickerOrientation;
|
|
30
52
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
5
|
+
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "classes", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clsx from 'clsx';
|
|
@@ -24,11 +24,9 @@ import { getDateCalendarUtilityClass } from "./dateCalendarClasses.js";
|
|
|
24
24
|
import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
|
|
25
25
|
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
26
26
|
import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
|
|
27
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
27
28
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
-
const useUtilityClasses =
|
|
29
|
-
const {
|
|
30
|
-
classes
|
|
31
|
-
} = ownerState;
|
|
29
|
+
const useUtilityClasses = classes => {
|
|
32
30
|
const slots = {
|
|
33
31
|
root: ['root'],
|
|
34
32
|
viewTransitionContainer: ['viewTransitionContainer']
|
|
@@ -84,6 +82,9 @@ const DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {
|
|
|
84
82
|
*/
|
|
85
83
|
export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {
|
|
86
84
|
const utils = useUtils();
|
|
85
|
+
const {
|
|
86
|
+
ownerState
|
|
87
|
+
} = usePickerPrivateContext();
|
|
87
88
|
const id = useId();
|
|
88
89
|
const props = useDateCalendarDefaultizedProps(inProps, 'MuiDateCalendar');
|
|
89
90
|
const {
|
|
@@ -105,6 +106,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
105
106
|
views,
|
|
106
107
|
openTo,
|
|
107
108
|
className,
|
|
109
|
+
classes: classesProp,
|
|
108
110
|
disabled,
|
|
109
111
|
readOnly,
|
|
110
112
|
minDate,
|
|
@@ -135,6 +137,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
135
137
|
timezone: timezoneProp,
|
|
136
138
|
value: valueProp,
|
|
137
139
|
defaultValue,
|
|
140
|
+
referenceDate: referenceDateProp,
|
|
138
141
|
onChange,
|
|
139
142
|
valueManager: singleItemValueManager
|
|
140
143
|
});
|
|
@@ -203,7 +206,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
203
206
|
timezone,
|
|
204
207
|
labelId: gridLabelId
|
|
205
208
|
},
|
|
206
|
-
ownerState
|
|
209
|
+
ownerState
|
|
207
210
|
});
|
|
208
211
|
const handleDateMonthChange = useEventCallback(newDate => {
|
|
209
212
|
const startOfMonth = utils.startOfMonth(newDate);
|
|
@@ -262,8 +265,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
262
265
|
}
|
|
263
266
|
}, [value]); // eslint-disable-line
|
|
264
267
|
|
|
265
|
-
const
|
|
266
|
-
const classes = useUtilityClasses(ownerState);
|
|
268
|
+
const classes = useUtilityClasses(classesProp);
|
|
267
269
|
const baseDateValidationProps = {
|
|
268
270
|
disablePast,
|
|
269
271
|
disableFuture,
|
|
@@ -365,9 +367,9 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
365
367
|
className: PropTypes.string,
|
|
366
368
|
/**
|
|
367
369
|
* Formats the day of week displayed in the calendar header.
|
|
368
|
-
* @param {
|
|
370
|
+
* @param {PickerValidDate} date The date of the day of week provided by the adapter.
|
|
369
371
|
* @returns {string} The name to display.
|
|
370
|
-
* @default (date:
|
|
372
|
+
* @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
371
373
|
*/
|
|
372
374
|
dayOfWeekFormatter: PropTypes.func,
|
|
373
375
|
/**
|
|
@@ -376,7 +378,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
376
378
|
*/
|
|
377
379
|
defaultValue: PropTypes.object,
|
|
378
380
|
/**
|
|
379
|
-
* If `true`, the
|
|
381
|
+
* If `true`, the component is disabled.
|
|
382
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
380
383
|
* @default false
|
|
381
384
|
*/
|
|
382
385
|
disabled: PropTypes.bool,
|
|
@@ -447,8 +450,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
447
450
|
onFocusedViewChange: PropTypes.func,
|
|
448
451
|
/**
|
|
449
452
|
* Callback fired on month change.
|
|
450
|
-
* @
|
|
451
|
-
* @param {TDate} month The new month.
|
|
453
|
+
* @param {PickerValidDate} month The new month.
|
|
452
454
|
*/
|
|
453
455
|
onMonthChange: PropTypes.func,
|
|
454
456
|
/**
|
|
@@ -459,8 +461,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
459
461
|
onViewChange: PropTypes.func,
|
|
460
462
|
/**
|
|
461
463
|
* Callback fired on year change.
|
|
462
|
-
* @
|
|
463
|
-
* @param {TDate} year The new year.
|
|
464
|
+
* @param {PickerValidDate} year The new year.
|
|
464
465
|
*/
|
|
465
466
|
onYearChange: PropTypes.func,
|
|
466
467
|
/**
|
|
@@ -470,7 +471,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
470
471
|
*/
|
|
471
472
|
openTo: PropTypes.oneOf(['day', 'month', 'year']),
|
|
472
473
|
/**
|
|
473
|
-
*
|
|
474
|
+
* If `true`, the component is read-only.
|
|
475
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
474
476
|
* @default false
|
|
475
477
|
*/
|
|
476
478
|
readOnly: PropTypes.bool,
|
|
@@ -495,22 +497,19 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
495
497
|
*
|
|
496
498
|
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
497
499
|
*
|
|
498
|
-
* @
|
|
499
|
-
* @param {TDate} day The date to test.
|
|
500
|
+
* @param {PickerValidDate} day The date to test.
|
|
500
501
|
* @returns {boolean} If `true` the date will be disabled.
|
|
501
502
|
*/
|
|
502
503
|
shouldDisableDate: PropTypes.func,
|
|
503
504
|
/**
|
|
504
505
|
* Disable specific month.
|
|
505
|
-
* @
|
|
506
|
-
* @param {TDate} month The month to test.
|
|
506
|
+
* @param {PickerValidDate} month The month to test.
|
|
507
507
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
508
508
|
*/
|
|
509
509
|
shouldDisableMonth: PropTypes.func,
|
|
510
510
|
/**
|
|
511
511
|
* Disable specific year.
|
|
512
|
-
* @
|
|
513
|
-
* @param {TDate} year The year to test.
|
|
512
|
+
* @param {PickerValidDate} year The year to test.
|
|
514
513
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
515
514
|
*/
|
|
516
515
|
shouldDisableYear: PropTypes.func,
|
|
@@ -11,18 +11,16 @@ import { styled, useThemeProps } from '@mui/material/styles';
|
|
|
11
11
|
import { unstable_composeClasses as composeClasses, unstable_useControlled as useControlled } from '@mui/utils';
|
|
12
12
|
import clsx from 'clsx';
|
|
13
13
|
import { PickersDay } from "../PickersDay/PickersDay.js";
|
|
14
|
-
import {
|
|
14
|
+
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
15
15
|
import { useUtils, useNow } from "../internals/hooks/useUtils.js";
|
|
16
16
|
import { DAY_SIZE, DAY_MARGIN } from "../internals/constants/dimensions.js";
|
|
17
17
|
import { PickersSlideTransition } from "./PickersSlideTransition.js";
|
|
18
18
|
import { useIsDateDisabled } from "./useIsDateDisabled.js";
|
|
19
19
|
import { findClosestEnabledDate, getWeekdays } from "../internals/utils/date-utils.js";
|
|
20
20
|
import { getDayCalendarUtilityClass } from "./dayCalendarClasses.js";
|
|
21
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
21
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
|
-
const useUtilityClasses =
|
|
23
|
-
const {
|
|
24
|
-
classes
|
|
25
|
-
} = ownerState;
|
|
23
|
+
const useUtilityClasses = classes => {
|
|
26
24
|
const slots = {
|
|
27
25
|
root: ['root'],
|
|
28
26
|
header: ['header'],
|
|
@@ -155,9 +153,13 @@ function WrappedDay(_ref) {
|
|
|
155
153
|
} = parentProps;
|
|
156
154
|
const utils = useUtils();
|
|
157
155
|
const now = useNow(timezone);
|
|
156
|
+
const {
|
|
157
|
+
ownerState
|
|
158
|
+
} = usePickerPrivateContext();
|
|
158
159
|
const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);
|
|
159
160
|
const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
|
|
160
161
|
const isToday = utils.isSameDay(day, now);
|
|
162
|
+
const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
|
|
161
163
|
const Day = slots?.day ?? PickersDay;
|
|
162
164
|
// We don't want to pass to ownerState down, to avoid re-rendering all the day whenever a prop changes.
|
|
163
165
|
const _useSlotProps = useSlotProps({
|
|
@@ -171,13 +173,13 @@ function WrappedDay(_ref) {
|
|
|
171
173
|
// it is used in date range dragging logic by accessing `dataset.timestamp`
|
|
172
174
|
'data-timestamp': utils.toJsDate(day).valueOf()
|
|
173
175
|
}, other),
|
|
174
|
-
ownerState: _extends({},
|
|
176
|
+
ownerState: _extends({}, ownerState, {
|
|
175
177
|
day,
|
|
176
|
-
|
|
178
|
+
isDayDisabled: isDisabled,
|
|
179
|
+
isDaySelected: isSelected
|
|
177
180
|
})
|
|
178
181
|
}),
|
|
179
182
|
dayProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
180
|
-
const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
|
|
181
183
|
const outsideCurrentMonth = React.useMemo(() => utils.getMonth(day) !== currentMonthNumber, [utils, day, currentMonthNumber]);
|
|
182
184
|
const isFirstVisibleCell = React.useMemo(() => {
|
|
183
185
|
const startOfMonth = utils.startOfMonth(utils.setMonth(day, currentMonthNumber));
|
|
@@ -220,6 +222,7 @@ export function DayCalendar(inProps) {
|
|
|
220
222
|
const {
|
|
221
223
|
onFocusedDayChange,
|
|
222
224
|
className,
|
|
225
|
+
classes: classesProp,
|
|
223
226
|
currentMonth,
|
|
224
227
|
selectedDays,
|
|
225
228
|
focusedDay,
|
|
@@ -250,7 +253,7 @@ export function DayCalendar(inProps) {
|
|
|
250
253
|
timezone
|
|
251
254
|
} = props;
|
|
252
255
|
const now = useNow(timezone);
|
|
253
|
-
const classes = useUtilityClasses(
|
|
256
|
+
const classes = useUtilityClasses(classesProp);
|
|
254
257
|
const isRtl = useRtl();
|
|
255
258
|
const isDateDisabled = useIsDateDisabled({
|
|
256
259
|
shouldDisableDate,
|
|
@@ -262,7 +265,7 @@ export function DayCalendar(inProps) {
|
|
|
262
265
|
disableFuture,
|
|
263
266
|
timezone
|
|
264
267
|
});
|
|
265
|
-
const translations =
|
|
268
|
+
const translations = usePickerTranslations();
|
|
266
269
|
const [internalHasFocus, setInternalHasFocus] = useControlled({
|
|
267
270
|
name: 'DayCalendar',
|
|
268
271
|
state: 'hasFocus',
|
|
@@ -37,7 +37,7 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRe
|
|
|
37
37
|
} = themeProps,
|
|
38
38
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
39
39
|
const ownerState = themeProps;
|
|
40
|
-
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ?
|
|
40
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
|
|
41
41
|
const textFieldProps = useSlotProps({
|
|
42
42
|
elementType: TextField,
|
|
43
43
|
externalSlotProps: slotProps?.textField,
|
|
@@ -89,6 +89,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
89
89
|
defaultValue: PropTypes.object,
|
|
90
90
|
/**
|
|
91
91
|
* If `true`, the component is disabled.
|
|
92
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
92
93
|
* @default false
|
|
93
94
|
*/
|
|
94
95
|
disabled: PropTypes.bool,
|
|
@@ -103,7 +104,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
103
104
|
*/
|
|
104
105
|
disablePast: PropTypes.bool,
|
|
105
106
|
/**
|
|
106
|
-
* @default
|
|
107
|
+
* @default true
|
|
107
108
|
*/
|
|
108
109
|
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
109
110
|
/**
|
|
@@ -218,8 +219,8 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
218
219
|
*/
|
|
219
220
|
onSelectedSectionsChange: PropTypes.func,
|
|
220
221
|
/**
|
|
221
|
-
*
|
|
222
|
-
*
|
|
222
|
+
* If `true`, the component is read-only.
|
|
223
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
223
224
|
* @default false
|
|
224
225
|
*/
|
|
225
226
|
readOnly: PropTypes.bool,
|
|
@@ -249,22 +250,19 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
249
250
|
*
|
|
250
251
|
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
251
252
|
*
|
|
252
|
-
* @
|
|
253
|
-
* @param {TDate} day The date to test.
|
|
253
|
+
* @param {PickerValidDate} day The date to test.
|
|
254
254
|
* @returns {boolean} If `true` the date will be disabled.
|
|
255
255
|
*/
|
|
256
256
|
shouldDisableDate: PropTypes.func,
|
|
257
257
|
/**
|
|
258
258
|
* Disable specific month.
|
|
259
|
-
* @
|
|
260
|
-
* @param {TDate} month The month to test.
|
|
259
|
+
* @param {PickerValidDate} month The month to test.
|
|
261
260
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
262
261
|
*/
|
|
263
262
|
shouldDisableMonth: PropTypes.func,
|
|
264
263
|
/**
|
|
265
264
|
* Disable specific year.
|
|
266
|
-
* @
|
|
267
|
-
* @param {TDate} year The year to test.
|
|
265
|
+
* @param {PickerValidDate} year The year to test.
|
|
268
266
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
269
267
|
*/
|
|
270
268
|
shouldDisableYear: PropTypes.func,
|
|
@@ -65,9 +65,9 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
65
65
|
closeOnSelect: PropTypes.bool,
|
|
66
66
|
/**
|
|
67
67
|
* Formats the day of week displayed in the calendar header.
|
|
68
|
-
* @param {
|
|
68
|
+
* @param {PickerValidDate} date The date of the day of week provided by the adapter.
|
|
69
69
|
* @returns {string} The name to display.
|
|
70
|
-
* @default (date:
|
|
70
|
+
* @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
71
71
|
*/
|
|
72
72
|
dayOfWeekFormatter: PropTypes.func,
|
|
73
73
|
/**
|
|
@@ -82,7 +82,8 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
82
82
|
*/
|
|
83
83
|
desktopModeMediaQuery: PropTypes.string,
|
|
84
84
|
/**
|
|
85
|
-
* If `true`, the
|
|
85
|
+
* If `true`, the component is disabled.
|
|
86
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
86
87
|
* @default false
|
|
87
88
|
*/
|
|
88
89
|
disabled: PropTypes.bool,
|
|
@@ -111,7 +112,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
111
112
|
*/
|
|
112
113
|
displayWeekNumber: PropTypes.bool,
|
|
113
114
|
/**
|
|
114
|
-
* @default
|
|
115
|
+
* @default true
|
|
115
116
|
*/
|
|
116
117
|
enableAccessibleFieldDOMStructure: PropTypes.any,
|
|
117
118
|
/**
|
|
@@ -201,8 +202,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
201
202
|
onError: PropTypes.func,
|
|
202
203
|
/**
|
|
203
204
|
* Callback fired on month change.
|
|
204
|
-
* @
|
|
205
|
-
* @param {TDate} month The new month.
|
|
205
|
+
* @param {PickerValidDate} month The new month.
|
|
206
206
|
*/
|
|
207
207
|
onMonthChange: PropTypes.func,
|
|
208
208
|
/**
|
|
@@ -223,8 +223,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
223
223
|
onViewChange: PropTypes.func,
|
|
224
224
|
/**
|
|
225
225
|
* Callback fired on year change.
|
|
226
|
-
* @
|
|
227
|
-
* @param {TDate} year The new year.
|
|
226
|
+
* @param {PickerValidDate} year The new year.
|
|
228
227
|
*/
|
|
229
228
|
onYearChange: PropTypes.func,
|
|
230
229
|
/**
|
|
@@ -242,6 +241,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
242
241
|
* Force rendering in particular orientation.
|
|
243
242
|
*/
|
|
244
243
|
orientation: PropTypes.oneOf(['landscape', 'portrait']),
|
|
244
|
+
/**
|
|
245
|
+
* If `true`, the component is read-only.
|
|
246
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
247
|
+
* @default false
|
|
248
|
+
*/
|
|
245
249
|
readOnly: PropTypes.bool,
|
|
246
250
|
/**
|
|
247
251
|
* If `true`, disable heavy animations.
|
|
@@ -274,22 +278,19 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
274
278
|
*
|
|
275
279
|
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
276
280
|
*
|
|
277
|
-
* @
|
|
278
|
-
* @param {TDate} day The date to test.
|
|
281
|
+
* @param {PickerValidDate} day The date to test.
|
|
279
282
|
* @returns {boolean} If `true` the date will be disabled.
|
|
280
283
|
*/
|
|
281
284
|
shouldDisableDate: PropTypes.func,
|
|
282
285
|
/**
|
|
283
286
|
* Disable specific month.
|
|
284
|
-
* @
|
|
285
|
-
* @param {TDate} month The month to test.
|
|
287
|
+
* @param {PickerValidDate} month The month to test.
|
|
286
288
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
287
289
|
*/
|
|
288
290
|
shouldDisableMonth: PropTypes.func,
|
|
289
291
|
/**
|
|
290
292
|
* Disable specific year.
|
|
291
|
-
* @
|
|
292
|
-
* @param {TDate} year The year to test.
|
|
293
|
+
* @param {PickerValidDate} year The year to test.
|
|
293
294
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
294
295
|
*/
|
|
295
296
|
shouldDisableYear: PropTypes.func,
|
|
@@ -10,7 +10,7 @@ import Typography from '@mui/material/Typography';
|
|
|
10
10
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
11
11
|
import composeClasses from '@mui/utils/composeClasses';
|
|
12
12
|
import { PickersToolbar } from "../internals/components/PickersToolbar.js";
|
|
13
|
-
import {
|
|
13
|
+
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
14
14
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
15
15
|
import { getDatePickerToolbarUtilityClass } from "./datePickerToolbarClasses.js";
|
|
16
16
|
import { resolveDateFormat } from "../internals/utils/date-utils.js";
|
|
@@ -69,7 +69,7 @@ export const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePick
|
|
|
69
69
|
} = props,
|
|
70
70
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
71
71
|
const utils = useUtils();
|
|
72
|
-
const translations =
|
|
72
|
+
const translations = usePickerTranslations();
|
|
73
73
|
const classes = useUtilityClasses(props);
|
|
74
74
|
const dateText = React.useMemo(() => {
|
|
75
75
|
if (!value) {
|
|
@@ -107,7 +107,6 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
107
107
|
*/
|
|
108
108
|
classes: PropTypes.object,
|
|
109
109
|
className: PropTypes.string,
|
|
110
|
-
disabled: PropTypes.bool,
|
|
111
110
|
/**
|
|
112
111
|
* If `true`, show the toolbar even in desktop mode.
|
|
113
112
|
* @default `true` for Desktop, `false` for Mobile.
|
|
@@ -121,7 +120,6 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
121
120
|
* @param {TView} view The view to open
|
|
122
121
|
*/
|
|
123
122
|
onViewChange: PropTypes.func.isRequired,
|
|
124
|
-
readOnly: PropTypes.bool,
|
|
125
123
|
/**
|
|
126
124
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
127
125
|
*/
|
|
@@ -37,7 +37,7 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
|
|
|
37
37
|
} = themeProps,
|
|
38
38
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
39
39
|
const ownerState = themeProps;
|
|
40
|
-
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ?
|
|
40
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
|
|
41
41
|
const textFieldProps = useSlotProps({
|
|
42
42
|
elementType: TextField,
|
|
43
43
|
externalSlotProps: slotProps?.textField,
|
|
@@ -94,6 +94,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
94
94
|
defaultValue: PropTypes.object,
|
|
95
95
|
/**
|
|
96
96
|
* If `true`, the component is disabled.
|
|
97
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
97
98
|
* @default false
|
|
98
99
|
*/
|
|
99
100
|
disabled: PropTypes.bool,
|
|
@@ -113,7 +114,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
113
114
|
*/
|
|
114
115
|
disablePast: PropTypes.bool,
|
|
115
116
|
/**
|
|
116
|
-
* @default
|
|
117
|
+
* @default true
|
|
117
118
|
*/
|
|
118
119
|
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
119
120
|
/**
|
|
@@ -251,8 +252,8 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
251
252
|
*/
|
|
252
253
|
onSelectedSectionsChange: PropTypes.func,
|
|
253
254
|
/**
|
|
254
|
-
*
|
|
255
|
-
*
|
|
255
|
+
* If `true`, the component is read-only.
|
|
256
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
256
257
|
* @default false
|
|
257
258
|
*/
|
|
258
259
|
readOnly: PropTypes.bool,
|
|
@@ -282,30 +283,26 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
282
283
|
*
|
|
283
284
|
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
284
285
|
*
|
|
285
|
-
* @
|
|
286
|
-
* @param {TDate} day The date to test.
|
|
286
|
+
* @param {PickerValidDate} day The date to test.
|
|
287
287
|
* @returns {boolean} If `true` the date will be disabled.
|
|
288
288
|
*/
|
|
289
289
|
shouldDisableDate: PropTypes.func,
|
|
290
290
|
/**
|
|
291
291
|
* Disable specific month.
|
|
292
|
-
* @
|
|
293
|
-
* @param {TDate} month The month to test.
|
|
292
|
+
* @param {PickerValidDate} month The month to test.
|
|
294
293
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
295
294
|
*/
|
|
296
295
|
shouldDisableMonth: PropTypes.func,
|
|
297
296
|
/**
|
|
298
297
|
* Disable specific time.
|
|
299
|
-
* @
|
|
300
|
-
* @param {TDate} value The value to check.
|
|
298
|
+
* @param {PickerValidDate} value The value to check.
|
|
301
299
|
* @param {TimeView} view The clock type of the timeValue.
|
|
302
300
|
* @returns {boolean} If `true` the time will be disabled.
|
|
303
301
|
*/
|
|
304
302
|
shouldDisableTime: PropTypes.func,
|
|
305
303
|
/**
|
|
306
304
|
* Disable specific year.
|
|
307
|
-
* @
|
|
308
|
-
* @param {TDate} year The year to test.
|
|
305
|
+
* @param {PickerValidDate} year The year to test.
|
|
309
306
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
310
307
|
*/
|
|
311
308
|
shouldDisableYear: PropTypes.func,
|