@mui/x-date-pickers 7.22.1 → 8.0.0-alpha.0
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 +143 -92
- package/DateCalendar/DateCalendar.d.ts +1 -2
- package/DateCalendar/DateCalendar.js +20 -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 +12 -2
- 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 +3 -3
- package/DateTimePicker/DateTimePickerToolbar.js +12 -2
- 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 +10 -0
- 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 +7 -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 +17 -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 +7 -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 +10 -0
- package/PickersLayout/PickersLayout.types.d.ts +14 -17
- package/PickersLayout/index.d.ts +1 -1
- package/PickersLayout/usePickerLayout.d.ts +1 -2
- package/PickersLayout/usePickerLayout.js +17 -18
- package/README.md +2 -2
- 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 +3 -3
- package/TimeClock/ClockNumbers.d.ts +5 -5
- package/TimeClock/TimeClock.d.ts +1 -2
- package/TimeClock/TimeClock.js +7 -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 +12 -2
- package/TimePicker/shared.d.ts +10 -10
- package/YearCalendar/PickersYear.js +17 -13
- package/YearCalendar/YearCalendar.d.ts +1 -2
- package/YearCalendar/YearCalendar.js +17 -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/index.js +1 -1
- package/internals/components/{PickersProvider.d.ts → PickerProvider.d.ts} +15 -8
- package/internals/components/PickerProvider.js +38 -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 +21 -17
- 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 +38 -48
- package/internals/hooks/useField/useField.utils.d.ts +13 -13
- package/internals/hooks/useField/useField.utils.js +2 -1
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
- package/internals/hooks/useField/useFieldState.d.ts +4 -4
- package/internals/hooks/useField/useFieldState.js +3 -3
- package/internals/hooks/useField/useFieldV7TextField.js +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
- 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 +12 -4
- package/internals/hooks/usePicker/usePicker.types.d.ts +7 -5
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +2 -3
- package/internals/hooks/usePicker/usePickerOwnerState.d.ts +4 -3
- package/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
- package/internals/hooks/usePicker/usePickerProvider.d.ts +10 -0
- package/internals/hooks/usePicker/usePickerProvider.js +21 -0
- package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerValue.js +2 -7
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -34
- package/internals/hooks/usePicker/usePickerViews.d.ts +6 -11
- 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 +5 -4
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
- package/internals/hooks/useUtils.d.ts +7 -7
- package/internals/hooks/useValueWithTimezone.d.ts +5 -5
- package/internals/hooks/useViews.d.ts +3 -3
- package/internals/hooks/useViews.js +1 -1
- package/internals/index.d.ts +6 -4
- package/internals/index.js +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 +2 -3
- 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 +16 -16
- 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/fields.d.ts +9 -41
- package/models/pickers.d.ts +10 -6
- package/modern/DateCalendar/DateCalendar.js +20 -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 +12 -2
- 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 +12 -2
- package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
- package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
- package/modern/DigitalClock/DigitalClock.js +7 -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 +17 -14
- package/modern/MonthCalendar/PickersMonth.js +17 -13
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
- package/modern/PickersActionBar/PickersActionBar.js +2 -2
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
- package/modern/PickersLayout/PickersLayout.js +10 -0
- package/modern/PickersLayout/usePickerLayout.js +17 -18
- 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 +3 -3
- package/modern/TimeClock/TimeClock.js +7 -6
- package/modern/TimeField/TimeField.js +6 -6
- package/modern/TimePicker/TimePicker.js +9 -4
- package/modern/TimePicker/TimePickerToolbar.js +12 -2
- package/modern/YearCalendar/PickersYear.js +17 -13
- package/modern/YearCalendar/YearCalendar.js +17 -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 +38 -0
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
- package/modern/internals/hooks/useField/useField.js +1 -1
- package/modern/internals/hooks/useField/useField.utils.js +2 -1
- package/modern/internals/hooks/useField/useFieldState.js +3 -3
- package/modern/internals/hooks/useField/useFieldV7TextField.js +2 -2
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
- package/modern/internals/hooks/usePicker/usePicker.js +12 -4
- package/modern/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
- package/modern/internals/hooks/usePicker/usePickerProvider.js +21 -0
- package/modern/internals/hooks/usePicker/usePickerValue.js +2 -7
- package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
- 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 +20 -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 +12 -2
- 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 +12 -2
- package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
- package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
- package/node/DigitalClock/DigitalClock.js +7 -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 +17 -14
- package/node/MonthCalendar/PickersMonth.js +17 -13
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
- package/node/PickersActionBar/PickersActionBar.js +2 -2
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
- package/node/PickersLayout/PickersLayout.js +10 -0
- package/node/PickersLayout/usePickerLayout.js +17 -18
- 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 +3 -3
- package/node/TimeClock/TimeClock.js +7 -6
- package/node/TimeField/TimeField.js +6 -6
- package/node/TimePicker/TimePicker.js +9 -4
- package/node/TimePicker/TimePickerToolbar.js +12 -2
- package/node/YearCalendar/PickersYear.js +17 -13
- package/node/YearCalendar/YearCalendar.js +17 -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 +46 -0
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
- package/node/internals/hooks/useField/useField.js +1 -1
- package/node/internals/hooks/useField/useField.utils.js +2 -1
- package/node/internals/hooks/useField/useFieldState.js +3 -3
- package/node/internals/hooks/useField/useFieldV7TextField.js +2 -2
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
- package/node/internals/hooks/usePicker/usePicker.js +12 -4
- package/node/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
- package/node/internals/hooks/usePicker/usePickerProvider.js +28 -0
- package/node/internals/hooks/usePicker/usePickerValue.js +1 -7
- package/node/internals/hooks/usePickerPrivateContext.js +15 -0
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
- 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 +4 -4
- 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.js +0 -26
- package/modern/hooks/usePickersContext.js +0 -15
- package/modern/internals/components/PickersProvider.js +0 -26
- package/node/hooks/usePickersContext.js +0 -21
- package/node/hooks/usePickersTranslations.js +0 -10
- package/node/internals/components/PickersProvider.js +0 -34
- /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,12 +1,10 @@
|
|
|
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
10
|
export type FieldValueType = 'date' | 'time' | 'date-time';
|
|
@@ -101,48 +99,18 @@ export interface FieldRef<TSection extends FieldSection> {
|
|
|
101
99
|
isFieldFocused: () => boolean;
|
|
102
100
|
}
|
|
103
101
|
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
102
|
/**
|
|
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`.
|
|
103
|
+
* Props the prop `slotProps.field` of a picker can receive.
|
|
137
104
|
*/
|
|
138
|
-
export type
|
|
105
|
+
export type PickerFieldSlotProps<TValue, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean> = ExportedUseClearableFieldProps & Pick<UseFieldInternalProps<TValue, TSection, TEnableAccessibleFieldDOMStructure, unknown>, 'shouldRespectLeadingZeros' | 'readOnly'> & React.HTMLAttributes<HTMLDivElement> & {
|
|
106
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
107
|
+
};
|
|
139
108
|
/**
|
|
140
109
|
* Props the text field receives when used with a single input picker.
|
|
141
110
|
* 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
111
|
*/
|
|
143
|
-
export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps
|
|
112
|
+
export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps>>;
|
|
144
113
|
/**
|
|
145
114
|
* Props the built-in text field component can receive.
|
|
146
115
|
*/
|
|
147
116
|
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
|
@@ -10,21 +10,25 @@ export interface PickerChangeHandlerContext<TError> {
|
|
|
10
10
|
export interface PickerValidDateLookup {
|
|
11
11
|
}
|
|
12
12
|
export type PickerValidDate = keyof PickerValidDateLookup extends never ? any : PickerValidDateLookup[keyof PickerValidDateLookup];
|
|
13
|
-
export interface PickerOwnerState
|
|
13
|
+
export interface PickerOwnerState {
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* `true` if the value of the picker is currently empty.
|
|
16
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
+
isPickerValueEmpty: boolean;
|
|
18
19
|
/**
|
|
19
20
|
* `true` if the picker is open, `false` otherwise.
|
|
21
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
20
22
|
*/
|
|
21
|
-
|
|
23
|
+
isPickerOpen: boolean;
|
|
22
24
|
/**
|
|
23
25
|
* `true` if the picker is disabled, `false` otherwise.
|
|
26
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
24
27
|
*/
|
|
25
|
-
|
|
28
|
+
isPickerDisabled: boolean;
|
|
26
29
|
/**
|
|
27
30
|
* `true` if the picker is read-only, `false` otherwise.
|
|
31
|
+
* Is always `false` if the component you are accessing the ownerState from is not wrapped by a picker.
|
|
28
32
|
*/
|
|
29
|
-
|
|
33
|
+
isPickerReadOnly: boolean;
|
|
30
34
|
}
|
|
@@ -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,
|
|
@@ -203,7 +205,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
203
205
|
timezone,
|
|
204
206
|
labelId: gridLabelId
|
|
205
207
|
},
|
|
206
|
-
ownerState
|
|
208
|
+
ownerState
|
|
207
209
|
});
|
|
208
210
|
const handleDateMonthChange = useEventCallback(newDate => {
|
|
209
211
|
const startOfMonth = utils.startOfMonth(newDate);
|
|
@@ -262,8 +264,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
262
264
|
}
|
|
263
265
|
}, [value]); // eslint-disable-line
|
|
264
266
|
|
|
265
|
-
const
|
|
266
|
-
const classes = useUtilityClasses(ownerState);
|
|
267
|
+
const classes = useUtilityClasses(classesProp);
|
|
267
268
|
const baseDateValidationProps = {
|
|
268
269
|
disablePast,
|
|
269
270
|
disableFuture,
|
|
@@ -365,9 +366,9 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
365
366
|
className: PropTypes.string,
|
|
366
367
|
/**
|
|
367
368
|
* Formats the day of week displayed in the calendar header.
|
|
368
|
-
* @param {
|
|
369
|
+
* @param {PickerValidDate} date The date of the day of week provided by the adapter.
|
|
369
370
|
* @returns {string} The name to display.
|
|
370
|
-
* @default (date:
|
|
371
|
+
* @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
371
372
|
*/
|
|
372
373
|
dayOfWeekFormatter: PropTypes.func,
|
|
373
374
|
/**
|
|
@@ -376,7 +377,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
376
377
|
*/
|
|
377
378
|
defaultValue: PropTypes.object,
|
|
378
379
|
/**
|
|
379
|
-
* If `true`, the
|
|
380
|
+
* If `true`, the component is disabled.
|
|
381
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
380
382
|
* @default false
|
|
381
383
|
*/
|
|
382
384
|
disabled: PropTypes.bool,
|
|
@@ -447,8 +449,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
447
449
|
onFocusedViewChange: PropTypes.func,
|
|
448
450
|
/**
|
|
449
451
|
* Callback fired on month change.
|
|
450
|
-
* @
|
|
451
|
-
* @param {TDate} month The new month.
|
|
452
|
+
* @param {PickerValidDate} month The new month.
|
|
452
453
|
*/
|
|
453
454
|
onMonthChange: PropTypes.func,
|
|
454
455
|
/**
|
|
@@ -459,8 +460,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
459
460
|
onViewChange: PropTypes.func,
|
|
460
461
|
/**
|
|
461
462
|
* Callback fired on year change.
|
|
462
|
-
* @
|
|
463
|
-
* @param {TDate} year The new year.
|
|
463
|
+
* @param {PickerValidDate} year The new year.
|
|
464
464
|
*/
|
|
465
465
|
onYearChange: PropTypes.func,
|
|
466
466
|
/**
|
|
@@ -470,7 +470,8 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
470
470
|
*/
|
|
471
471
|
openTo: PropTypes.oneOf(['day', 'month', 'year']),
|
|
472
472
|
/**
|
|
473
|
-
*
|
|
473
|
+
* If `true`, the component is read-only.
|
|
474
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
474
475
|
* @default false
|
|
475
476
|
*/
|
|
476
477
|
readOnly: PropTypes.bool,
|
|
@@ -495,22 +496,19 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
495
496
|
*
|
|
496
497
|
* 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
498
|
*
|
|
498
|
-
* @
|
|
499
|
-
* @param {TDate} day The date to test.
|
|
499
|
+
* @param {PickerValidDate} day The date to test.
|
|
500
500
|
* @returns {boolean} If `true` the date will be disabled.
|
|
501
501
|
*/
|
|
502
502
|
shouldDisableDate: PropTypes.func,
|
|
503
503
|
/**
|
|
504
504
|
* Disable specific month.
|
|
505
|
-
* @
|
|
506
|
-
* @param {TDate} month The month to test.
|
|
505
|
+
* @param {PickerValidDate} month The month to test.
|
|
507
506
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
508
507
|
*/
|
|
509
508
|
shouldDisableMonth: PropTypes.func,
|
|
510
509
|
/**
|
|
511
510
|
* Disable specific year.
|
|
512
|
-
* @
|
|
513
|
-
* @param {TDate} year The year to test.
|
|
511
|
+
* @param {PickerValidDate} year The year to test.
|
|
514
512
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
515
513
|
*/
|
|
516
514
|
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,6 +107,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
107
107
|
*/
|
|
108
108
|
classes: PropTypes.object,
|
|
109
109
|
className: PropTypes.string,
|
|
110
|
+
/**
|
|
111
|
+
* If `true`, the component is disabled.
|
|
112
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
113
|
+
* @default false
|
|
114
|
+
*/
|
|
110
115
|
disabled: PropTypes.bool,
|
|
111
116
|
/**
|
|
112
117
|
* If `true`, show the toolbar even in desktop mode.
|
|
@@ -121,6 +126,11 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
121
126
|
* @param {TView} view The view to open
|
|
122
127
|
*/
|
|
123
128
|
onViewChange: PropTypes.func.isRequired,
|
|
129
|
+
/**
|
|
130
|
+
* If `true`, the component is read-only.
|
|
131
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
132
|
+
* @default false
|
|
133
|
+
*/
|
|
124
134
|
readOnly: PropTypes.bool,
|
|
125
135
|
/**
|
|
126
136
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -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,
|