@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
|
@@ -84,9 +84,9 @@ StaticDateTimePicker.propTypes = {
|
|
|
84
84
|
className: PropTypes.string,
|
|
85
85
|
/**
|
|
86
86
|
* Formats the day of week displayed in the calendar header.
|
|
87
|
-
* @param {
|
|
87
|
+
* @param {PickerValidDate} date The date of the day of week provided by the adapter.
|
|
88
88
|
* @returns {string} The name to display.
|
|
89
|
-
* @default (date:
|
|
89
|
+
* @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
|
|
90
90
|
*/
|
|
91
91
|
dayOfWeekFormatter: PropTypes.func,
|
|
92
92
|
/**
|
|
@@ -95,7 +95,8 @@ StaticDateTimePicker.propTypes = {
|
|
|
95
95
|
*/
|
|
96
96
|
defaultValue: PropTypes.object,
|
|
97
97
|
/**
|
|
98
|
-
* If `true`, the
|
|
98
|
+
* If `true`, the component is disabled.
|
|
99
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
99
100
|
* @default false
|
|
100
101
|
*/
|
|
101
102
|
disabled: PropTypes.bool,
|
|
@@ -216,8 +217,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
216
217
|
onError: PropTypes.func,
|
|
217
218
|
/**
|
|
218
219
|
* Callback fired on month change.
|
|
219
|
-
* @
|
|
220
|
-
* @param {TDate} month The new month.
|
|
220
|
+
* @param {PickerValidDate} month The new month.
|
|
221
221
|
*/
|
|
222
222
|
onMonthChange: PropTypes.func,
|
|
223
223
|
/**
|
|
@@ -228,8 +228,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
228
228
|
onViewChange: PropTypes.func,
|
|
229
229
|
/**
|
|
230
230
|
* Callback fired on year change.
|
|
231
|
-
* @
|
|
232
|
-
* @param {TDate} year The new year.
|
|
231
|
+
* @param {PickerValidDate} year The new year.
|
|
233
232
|
*/
|
|
234
233
|
onYearChange: PropTypes.func,
|
|
235
234
|
/**
|
|
@@ -242,6 +241,11 @@ StaticDateTimePicker.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.
|
|
@@ -264,30 +268,26 @@ StaticDateTimePicker.propTypes = {
|
|
|
264
268
|
*
|
|
265
269
|
* 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.
|
|
266
270
|
*
|
|
267
|
-
* @
|
|
268
|
-
* @param {TDate} day The date to test.
|
|
271
|
+
* @param {PickerValidDate} day The date to test.
|
|
269
272
|
* @returns {boolean} If `true` the date will be disabled.
|
|
270
273
|
*/
|
|
271
274
|
shouldDisableDate: PropTypes.func,
|
|
272
275
|
/**
|
|
273
276
|
* Disable specific month.
|
|
274
|
-
* @
|
|
275
|
-
* @param {TDate} month The month to test.
|
|
277
|
+
* @param {PickerValidDate} month The month to test.
|
|
276
278
|
* @returns {boolean} If `true`, the month will be disabled.
|
|
277
279
|
*/
|
|
278
280
|
shouldDisableMonth: PropTypes.func,
|
|
279
281
|
/**
|
|
280
282
|
* Disable specific time.
|
|
281
|
-
* @
|
|
282
|
-
* @param {TDate} value The value to check.
|
|
283
|
+
* @param {PickerValidDate} value The value to check.
|
|
283
284
|
* @param {TimeView} view The clock type of the timeValue.
|
|
284
285
|
* @returns {boolean} If `true` the time will be disabled.
|
|
285
286
|
*/
|
|
286
287
|
shouldDisableTime: PropTypes.func,
|
|
287
288
|
/**
|
|
288
289
|
* Disable specific year.
|
|
289
|
-
* @
|
|
290
|
-
* @param {TDate} year The year to test.
|
|
290
|
+
* @param {PickerValidDate} year The year to test.
|
|
291
291
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
292
292
|
*/
|
|
293
293
|
shouldDisableYear: PropTypes.func,
|
|
@@ -80,7 +80,8 @@ StaticTimePicker.propTypes = {
|
|
|
80
80
|
*/
|
|
81
81
|
defaultValue: PropTypes.object,
|
|
82
82
|
/**
|
|
83
|
-
* If `true`, the
|
|
83
|
+
* If `true`, the component is disabled.
|
|
84
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
84
85
|
* @default false
|
|
85
86
|
*/
|
|
86
87
|
disabled: PropTypes.bool,
|
|
@@ -172,6 +173,11 @@ StaticTimePicker.propTypes = {
|
|
|
172
173
|
* Force rendering in particular orientation.
|
|
173
174
|
*/
|
|
174
175
|
orientation: PropTypes.oneOf(['landscape', 'portrait']),
|
|
176
|
+
/**
|
|
177
|
+
* If `true`, the component is read-only.
|
|
178
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
179
|
+
* @default false
|
|
180
|
+
*/
|
|
175
181
|
readOnly: PropTypes.bool,
|
|
176
182
|
/**
|
|
177
183
|
* If `true`, disable heavy animations.
|
|
@@ -185,8 +191,7 @@ StaticTimePicker.propTypes = {
|
|
|
185
191
|
referenceDate: PropTypes.object,
|
|
186
192
|
/**
|
|
187
193
|
* Disable specific time.
|
|
188
|
-
* @
|
|
189
|
-
* @param {TDate} value The value to check.
|
|
194
|
+
* @param {PickerValidDate} value The value to check.
|
|
190
195
|
* @param {TimeView} view The clock type of the timeValue.
|
|
191
196
|
* @returns {boolean} If `true` the time will be disabled.
|
|
192
197
|
*/
|
|
@@ -6,7 +6,7 @@ import Typography from '@mui/material/Typography';
|
|
|
6
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
7
|
import { unstable_useEnhancedEffect as useEnhancedEffect, unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
8
|
import { ClockPointer } from "./ClockPointer.js";
|
|
9
|
-
import {
|
|
9
|
+
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
10
10
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
11
11
|
import { CLOCK_HOUR_WIDTH, getHours, getMinutes } from "./shared.js";
|
|
12
12
|
import { getClockUtilityClass } from "./clockClasses.js";
|
|
@@ -186,7 +186,7 @@ export function Clock(inProps) {
|
|
|
186
186
|
} = props;
|
|
187
187
|
const ownerState = props;
|
|
188
188
|
const utils = useUtils();
|
|
189
|
-
const translations =
|
|
189
|
+
const translations = usePickerTranslations();
|
|
190
190
|
const isMoving = React.useRef(false);
|
|
191
191
|
const classes = useUtilityClasses(ownerState);
|
|
192
192
|
const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);
|
|
@@ -316,7 +316,7 @@ export function Clock(inProps) {
|
|
|
316
316
|
})]
|
|
317
317
|
}), /*#__PURE__*/_jsx(ClockWrapper, {
|
|
318
318
|
"aria-activedescendant": selectedId,
|
|
319
|
-
"aria-label": translations.clockLabelText(type, value
|
|
319
|
+
"aria-label": translations.clockLabelText(type, value == null ? null : utils.format(value, 'fullTime')),
|
|
320
320
|
ref: listboxRef,
|
|
321
321
|
role: "listbox",
|
|
322
322
|
onKeyDown: handleKeyDown,
|
|
@@ -8,7 +8,7 @@ import clsx from 'clsx';
|
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
10
10
|
import { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';
|
|
11
|
-
import {
|
|
11
|
+
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
12
12
|
import { useUtils, useNow } from "../internals/hooks/useUtils.js";
|
|
13
13
|
import { PickersArrowSwitcher } from "../internals/components/PickersArrowSwitcher/index.js";
|
|
14
14
|
import { convertValueToMeridiem, createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
|
|
@@ -117,7 +117,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
|
|
|
117
117
|
props,
|
|
118
118
|
timezone
|
|
119
119
|
});
|
|
120
|
-
const translations =
|
|
120
|
+
const translations = usePickerTranslations();
|
|
121
121
|
const now = useNow(timezone);
|
|
122
122
|
const {
|
|
123
123
|
view,
|
|
@@ -345,7 +345,8 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
345
345
|
*/
|
|
346
346
|
defaultValue: PropTypes.object,
|
|
347
347
|
/**
|
|
348
|
-
* If `true`, the
|
|
348
|
+
* If `true`, the component is disabled.
|
|
349
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
349
350
|
* @default false
|
|
350
351
|
*/
|
|
351
352
|
disabled: PropTypes.bool,
|
|
@@ -412,7 +413,8 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
412
413
|
*/
|
|
413
414
|
openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
414
415
|
/**
|
|
415
|
-
* If `true`, the
|
|
416
|
+
* If `true`, the component is read-only.
|
|
417
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
416
418
|
* @default false
|
|
417
419
|
*/
|
|
418
420
|
readOnly: PropTypes.bool,
|
|
@@ -423,8 +425,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
423
425
|
referenceDate: PropTypes.object,
|
|
424
426
|
/**
|
|
425
427
|
* Disable specific time.
|
|
426
|
-
* @
|
|
427
|
-
* @param {TDate} value The value to check.
|
|
428
|
+
* @param {PickerValidDate} value The value to check.
|
|
428
429
|
* @param {TimeView} view The clock type of the timeValue.
|
|
429
430
|
* @returns {boolean} If `true` the time will be disabled.
|
|
430
431
|
*/
|
|
@@ -37,7 +37,7 @@ const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(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,
|
|
@@ -94,6 +94,7 @@ process.env.NODE_ENV !== "production" ? TimeField.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" ? TimeField.propTypes = {
|
|
|
113
114
|
*/
|
|
114
115
|
disablePast: PropTypes.bool,
|
|
115
116
|
/**
|
|
116
|
-
* @default
|
|
117
|
+
* @default true
|
|
117
118
|
*/
|
|
118
119
|
enableAccessibleFieldDOMStructure: PropTypes.bool,
|
|
119
120
|
/**
|
|
@@ -233,8 +234,8 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
233
234
|
*/
|
|
234
235
|
onSelectedSectionsChange: PropTypes.func,
|
|
235
236
|
/**
|
|
236
|
-
*
|
|
237
|
-
*
|
|
237
|
+
* If `true`, the component is read-only.
|
|
238
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
238
239
|
* @default false
|
|
239
240
|
*/
|
|
240
241
|
readOnly: PropTypes.bool,
|
|
@@ -261,8 +262,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
261
262
|
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
262
263
|
/**
|
|
263
264
|
* Disable specific time.
|
|
264
|
-
* @
|
|
265
|
-
* @param {TDate} value The value to check.
|
|
265
|
+
* @param {PickerValidDate} value The value to check.
|
|
266
266
|
* @param {TimeView} view The clock type of the timeValue.
|
|
267
267
|
* @returns {boolean} If `true` the time will be disabled.
|
|
268
268
|
*/
|
|
@@ -85,7 +85,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
85
85
|
*/
|
|
86
86
|
desktopModeMediaQuery: PropTypes.string,
|
|
87
87
|
/**
|
|
88
|
-
* If `true`, the
|
|
88
|
+
* If `true`, the component is disabled.
|
|
89
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
89
90
|
* @default false
|
|
90
91
|
*/
|
|
91
92
|
disabled: PropTypes.bool,
|
|
@@ -110,7 +111,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
110
111
|
*/
|
|
111
112
|
disablePast: PropTypes.bool,
|
|
112
113
|
/**
|
|
113
|
-
* @default
|
|
114
|
+
* @default true
|
|
114
115
|
*/
|
|
115
116
|
enableAccessibleFieldDOMStructure: PropTypes.any,
|
|
116
117
|
/**
|
|
@@ -218,6 +219,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
218
219
|
* Force rendering in particular orientation.
|
|
219
220
|
*/
|
|
220
221
|
orientation: PropTypes.oneOf(['landscape', 'portrait']),
|
|
222
|
+
/**
|
|
223
|
+
* If `true`, the component is read-only.
|
|
224
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
225
|
+
* @default false
|
|
226
|
+
*/
|
|
221
227
|
readOnly: PropTypes.bool,
|
|
222
228
|
/**
|
|
223
229
|
* If `true`, disable heavy animations.
|
|
@@ -241,8 +247,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
241
247
|
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
|
|
242
248
|
/**
|
|
243
249
|
* Disable specific time.
|
|
244
|
-
* @
|
|
245
|
-
* @param {TDate} value The value to check.
|
|
250
|
+
* @param {PickerValidDate} value The value to check.
|
|
246
251
|
* @param {TimeView} view The clock type of the timeValue.
|
|
247
252
|
* @returns {boolean} If `true` the time will be disabled.
|
|
248
253
|
*/
|
|
@@ -13,7 +13,7 @@ import { PickersToolbarText } from "../internals/components/PickersToolbarText.j
|
|
|
13
13
|
import { PickersToolbarButton } from "../internals/components/PickersToolbarButton.js";
|
|
14
14
|
import { PickersToolbar } from "../internals/components/PickersToolbar.js";
|
|
15
15
|
import { arrayIncludes } from "../internals/utils/utils.js";
|
|
16
|
-
import {
|
|
16
|
+
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
17
17
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
18
18
|
import { useMeridiemMode } from "../internals/hooks/date-helpers-hooks.js";
|
|
19
19
|
import { getTimePickerToolbarUtilityClass, timePickerToolbarClasses } from "./timePickerToolbarClasses.js";
|
|
@@ -134,7 +134,7 @@ function TimePickerToolbar(inProps) {
|
|
|
134
134
|
} = props,
|
|
135
135
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
136
136
|
const utils = useUtils();
|
|
137
|
-
const translations =
|
|
137
|
+
const translations = usePickerTranslations();
|
|
138
138
|
const isRtl = useRtl();
|
|
139
139
|
const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
|
|
140
140
|
const {
|
|
@@ -216,6 +216,11 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
|
|
|
216
216
|
*/
|
|
217
217
|
classes: PropTypes.object,
|
|
218
218
|
className: PropTypes.string,
|
|
219
|
+
/**
|
|
220
|
+
* If `true`, the component is disabled.
|
|
221
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
222
|
+
* @default false
|
|
223
|
+
*/
|
|
219
224
|
disabled: PropTypes.bool,
|
|
220
225
|
/**
|
|
221
226
|
* If `true`, show the toolbar even in desktop mode.
|
|
@@ -230,6 +235,11 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
|
|
|
230
235
|
* @param {TView} view The view to open
|
|
231
236
|
*/
|
|
232
237
|
onViewChange: PropTypes.func.isRequired,
|
|
238
|
+
/**
|
|
239
|
+
* If `true`, the component is read-only.
|
|
240
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
241
|
+
* @default false
|
|
242
|
+
*/
|
|
233
243
|
readOnly: PropTypes.bool,
|
|
234
244
|
/**
|
|
235
245
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
|
|
3
|
+
const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled, alpha, useThemeProps } from '@mui/material/styles';
|
|
@@ -8,16 +8,12 @@ import useSlotProps from '@mui/utils/useSlotProps';
|
|
|
8
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
9
|
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
10
10
|
import { getPickersYearUtilityClass, pickersYearClasses } from "./pickersYearClasses.js";
|
|
11
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
const useUtilityClasses = ownerState => {
|
|
13
|
-
const {
|
|
14
|
-
disabled,
|
|
15
|
-
selected,
|
|
16
|
-
classes
|
|
17
|
-
} = ownerState;
|
|
13
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
18
14
|
const slots = {
|
|
19
15
|
root: ['root'],
|
|
20
|
-
yearButton: ['yearButton',
|
|
16
|
+
yearButton: ['yearButton', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
|
|
21
17
|
};
|
|
22
18
|
return composeClasses(slots, getPickersYearUtilityClass, classes);
|
|
23
19
|
};
|
|
@@ -93,9 +89,10 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
|
|
|
93
89
|
const {
|
|
94
90
|
autoFocus,
|
|
95
91
|
className,
|
|
92
|
+
classes: classesProp,
|
|
96
93
|
children,
|
|
97
|
-
disabled,
|
|
98
|
-
selected,
|
|
94
|
+
disabled = false,
|
|
95
|
+
selected = false,
|
|
99
96
|
value,
|
|
100
97
|
tabIndex,
|
|
101
98
|
onClick,
|
|
@@ -111,7 +108,14 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
|
|
|
111
108
|
} = props,
|
|
112
109
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
113
110
|
const ref = React.useRef(null);
|
|
114
|
-
const
|
|
111
|
+
const {
|
|
112
|
+
ownerState: pickerOwnerState
|
|
113
|
+
} = usePickerPrivateContext();
|
|
114
|
+
const ownerState = _extends({}, pickerOwnerState, {
|
|
115
|
+
isYearDisabled: disabled,
|
|
116
|
+
isYearSelected: selected
|
|
117
|
+
});
|
|
118
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
115
119
|
|
|
116
120
|
// We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
|
|
117
121
|
useEnhancedEffect(() => {
|
|
@@ -138,12 +142,12 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
|
|
|
138
142
|
onFocus: event => onFocus(event, value),
|
|
139
143
|
onBlur: event => onBlur(event, value)
|
|
140
144
|
},
|
|
141
|
-
ownerState
|
|
145
|
+
ownerState,
|
|
142
146
|
className: classes.yearButton
|
|
143
147
|
});
|
|
144
148
|
return /*#__PURE__*/_jsx(PickersYearRoot, _extends({
|
|
145
149
|
className: clsx(classes.root, className),
|
|
146
|
-
ownerState:
|
|
150
|
+
ownerState: ownerState
|
|
147
151
|
}, other, {
|
|
148
152
|
children: /*#__PURE__*/_jsx(YearButton, _extends({}, yearButtonProps))
|
|
149
153
|
}));
|
|
@@ -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", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
5
|
+
const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clsx from 'clsx';
|
|
@@ -17,11 +17,9 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
|
17
17
|
import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
|
|
18
18
|
import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
|
|
19
19
|
import { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from "../internals/constants/dimensions.js";
|
|
20
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
20
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
|
-
const useUtilityClasses =
|
|
22
|
-
const {
|
|
23
|
-
classes
|
|
24
|
-
} = ownerState;
|
|
22
|
+
const useUtilityClasses = classes => {
|
|
25
23
|
const slots = {
|
|
26
24
|
root: ['root']
|
|
27
25
|
};
|
|
@@ -74,6 +72,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
74
72
|
const {
|
|
75
73
|
autoFocus,
|
|
76
74
|
className,
|
|
75
|
+
classes: classesProp,
|
|
77
76
|
value: valueProp,
|
|
78
77
|
defaultValue,
|
|
79
78
|
referenceDate: referenceDateProp,
|
|
@@ -105,12 +104,15 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
105
104
|
timezone: timezoneProp,
|
|
106
105
|
value: valueProp,
|
|
107
106
|
defaultValue,
|
|
108
|
-
onChange
|
|
107
|
+
onChange,
|
|
109
108
|
valueManager: singleItemValueManager
|
|
110
109
|
});
|
|
111
110
|
const now = useNow(timezone);
|
|
112
111
|
const isRtl = useRtl();
|
|
113
112
|
const utils = useUtils();
|
|
113
|
+
const {
|
|
114
|
+
ownerState
|
|
115
|
+
} = usePickerPrivateContext();
|
|
114
116
|
const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({
|
|
115
117
|
value,
|
|
116
118
|
utils,
|
|
@@ -120,8 +122,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
120
122
|
granularity: SECTION_TYPE_GRANULARITY.year
|
|
121
123
|
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
122
124
|
);
|
|
123
|
-
const
|
|
124
|
-
const classes = useUtilityClasses(ownerState);
|
|
125
|
+
const classes = useUtilityClasses(classesProp);
|
|
125
126
|
const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);
|
|
126
127
|
const selectedYear = React.useMemo(() => {
|
|
127
128
|
if (value != null) {
|
|
@@ -284,7 +285,9 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
|
|
|
284
285
|
*/
|
|
285
286
|
defaultValue: PropTypes.object,
|
|
286
287
|
/**
|
|
287
|
-
* If `true
|
|
288
|
+
* If `true`, the component is disabled.
|
|
289
|
+
* When disabled, the value cannot be changed and no interaction is possible.
|
|
290
|
+
* @default false
|
|
288
291
|
*/
|
|
289
292
|
disabled: PropTypes.bool,
|
|
290
293
|
/**
|
|
@@ -316,14 +319,15 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
|
|
|
316
319
|
minDate: PropTypes.object,
|
|
317
320
|
/**
|
|
318
321
|
* Callback fired when the value changes.
|
|
319
|
-
* @
|
|
320
|
-
* @param {TDate} value The new value.
|
|
322
|
+
* @param {PickerValidDate} value The new value.
|
|
321
323
|
*/
|
|
322
324
|
onChange: PropTypes.func,
|
|
323
325
|
onFocusedViewChange: PropTypes.func,
|
|
324
326
|
onYearFocus: PropTypes.func,
|
|
325
327
|
/**
|
|
326
|
-
* If `true
|
|
328
|
+
* If `true`, the component is read-only.
|
|
329
|
+
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
330
|
+
* @default false
|
|
327
331
|
*/
|
|
328
332
|
readOnly: PropTypes.bool,
|
|
329
333
|
/**
|
|
@@ -333,8 +337,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
|
|
|
333
337
|
referenceDate: PropTypes.object,
|
|
334
338
|
/**
|
|
335
339
|
* Disable specific year.
|
|
336
|
-
* @
|
|
337
|
-
* @param {TDate} year The year to test.
|
|
340
|
+
* @param {PickerValidDate} year The year to test.
|
|
338
341
|
* @returns {boolean} If `true`, the year will be disabled.
|
|
339
342
|
*/
|
|
340
343
|
shouldDisableYear: PropTypes.func,
|
package/modern/hooks/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { useClearableField } from "./useClearableField.js";
|
|
2
|
-
export {
|
|
2
|
+
export { usePickerTranslations } from "./usePickerTranslations.js";
|
|
3
3
|
export { useSplitFieldProps } from "./useSplitFieldProps.js";
|
|
4
4
|
export { useParsedFormat } from "./useParsedFormat.js";
|
|
5
|
-
export {
|
|
5
|
+
export { usePickerContext } from "./usePickerContext.js";
|
|
@@ -9,10 +9,10 @@ import useSlotProps from '@mui/utils/useSlotProps';
|
|
|
9
9
|
import MuiIconButton from '@mui/material/IconButton';
|
|
10
10
|
import InputAdornment from '@mui/material/InputAdornment';
|
|
11
11
|
import { ClearIcon } from "../icons/index.js";
|
|
12
|
-
import {
|
|
12
|
+
import { usePickerTranslations } from "./usePickerTranslations.js";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
export const useClearableField = props => {
|
|
15
|
-
const translations =
|
|
15
|
+
const translations = usePickerTranslations();
|
|
16
16
|
const {
|
|
17
17
|
clearable,
|
|
18
18
|
onClear,
|
|
@@ -30,7 +30,8 @@ export const useClearableField = props => {
|
|
|
30
30
|
ownerState: {},
|
|
31
31
|
className: 'clearButton',
|
|
32
32
|
additionalProps: {
|
|
33
|
-
title: translations.fieldClearLabel
|
|
33
|
+
title: translations.fieldClearLabel,
|
|
34
|
+
tabIndex: -1
|
|
34
35
|
}
|
|
35
36
|
}),
|
|
36
37
|
iconButtonProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
@@ -5,7 +5,7 @@ import { useRtl } from '@mui/system/RtlProvider';
|
|
|
5
5
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
6
6
|
import { buildSectionsFromFormat } from "../internals/hooks/useField/buildSectionsFromFormat.js";
|
|
7
7
|
import { getLocalizedDigits } from "../internals/hooks/useField/useField.utils.js";
|
|
8
|
-
import {
|
|
8
|
+
import { usePickerTranslations } from "./usePickerTranslations.js";
|
|
9
9
|
/**
|
|
10
10
|
* Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
|
|
11
11
|
* This format is localized (e.g: `AAAA` for the year with the French locale) and cannot be parsed by your date library.
|
|
@@ -23,7 +23,7 @@ export const useParsedFormat = parameters => {
|
|
|
23
23
|
} = parameters;
|
|
24
24
|
const utils = useUtils();
|
|
25
25
|
const isRtl = useRtl();
|
|
26
|
-
const translations =
|
|
26
|
+
const translations = usePickerTranslations();
|
|
27
27
|
const localizedDigits = React.useMemo(() => getLocalizedDigits(utils), [utils]);
|
|
28
28
|
return React.useMemo(() => {
|
|
29
29
|
const sections = buildSectionsFromFormat({
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { PickerContext } from "../internals/components/PickerProvider.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns the context passed by the picker that wraps the current component.
|
|
8
|
+
*/
|
|
9
|
+
export const usePickerContext = () => {
|
|
10
|
+
const value = React.useContext(PickerContext);
|
|
11
|
+
if (value == null) {
|
|
12
|
+
throw new Error(['MUI X: The `usePickerContext` can only be called in fields that are used as a slot of a picker component'].join('\n'));
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
};
|
package/modern/index.js
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { LocalizationProvider } from "../../LocalizationProvider/index.js";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
export const PickerContext = /*#__PURE__*/React.createContext(null);
|
|
5
|
+
export const PickerPrivateContext = /*#__PURE__*/React.createContext({
|
|
6
|
+
ownerState: {
|
|
7
|
+
isPickerDisabled: false,
|
|
8
|
+
isPickerReadOnly: false,
|
|
9
|
+
isPickerValueEmpty: false,
|
|
10
|
+
isPickerOpen: false
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Provides the context for the various parts of a picker component:
|
|
16
|
+
* - contextValue: the context for the picker sub-components.
|
|
17
|
+
* - localizationProvider: the translations passed through the props and through a parent LocalizationProvider.
|
|
18
|
+
*
|
|
19
|
+
* @ignore - do not document.
|
|
20
|
+
*/
|
|
21
|
+
export function PickerProvider(props) {
|
|
22
|
+
const {
|
|
23
|
+
contextValue,
|
|
24
|
+
privateContextValue,
|
|
25
|
+
localeText,
|
|
26
|
+
children
|
|
27
|
+
} = props;
|
|
28
|
+
return /*#__PURE__*/_jsx(PickerContext.Provider, {
|
|
29
|
+
value: contextValue,
|
|
30
|
+
children: /*#__PURE__*/_jsx(PickerPrivateContext.Provider, {
|
|
31
|
+
value: privateContextValue,
|
|
32
|
+
children: /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
33
|
+
localeText: localeText,
|
|
34
|
+
children: children
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|