@mui/x-date-pickers 6.2.0 → 6.3.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 +109 -0
- package/AdapterDateFns/AdapterDateFns.js +598 -0
- package/AdapterDateFns/index.d.ts +1 -13
- package/AdapterDateFns/index.js +1 -149
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +109 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +610 -0
- package/AdapterDateFnsJalali/index.d.ts +1 -13
- package/AdapterDateFnsJalali/index.js +1 -149
- package/AdapterDayjs/AdapterDayjs.d.ts +53 -53
- package/AdapterDayjs/AdapterDayjs.js +146 -111
- package/AdapterLuxon/AdapterLuxon.d.ts +108 -0
- package/AdapterLuxon/AdapterLuxon.js +513 -0
- package/AdapterLuxon/index.d.ts +1 -14
- package/AdapterLuxon/index.js +1 -111
- package/AdapterMoment/AdapterMoment.d.ts +110 -0
- package/AdapterMoment/AdapterMoment.js +416 -0
- package/AdapterMoment/index.d.ts +1 -21
- package/AdapterMoment/index.js +1 -99
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +67 -0
- package/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
- package/AdapterMomentHijri/index.d.ts +1 -18
- package/AdapterMomentHijri/index.js +1 -74
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +74 -0
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
- package/AdapterMomentJalaali/index.d.ts +1 -22
- package/AdapterMomentJalaali/index.js +1 -87
- package/CHANGELOG.md +118 -1
- package/DateCalendar/DateCalendar.types.d.ts +1 -1
- package/DateCalendar/DayCalendar.d.ts +1 -1
- package/DateCalendar/DayCalendar.js +1 -1
- package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
- package/DateCalendar/useCalendarState.js +1 -1
- package/DateCalendar/useIsDateDisabled.d.ts +2 -0
- package/DateCalendar/useIsDateDisabled.js +27 -0
- package/DateField/DateField.js +20 -3
- package/DateField/DateField.types.d.ts +2 -2
- package/DateField/useDateField.js +4 -2
- package/DatePicker/DatePickerToolbar.js +1 -1
- package/DateTimeField/DateTimeField.js +21 -3
- package/DateTimeField/DateTimeField.types.d.ts +3 -2
- package/DateTimeField/useDateTimeField.js +4 -2
- package/DateTimePicker/DateTimePicker.js +1 -0
- package/DateTimePicker/shared.d.ts +6 -5
- package/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
- package/DesktopTimePicker/DesktopTimePicker.js +51 -8
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +12 -4
- package/DigitalClock/DigitalClock.d.ts +7 -0
- package/DigitalClock/DigitalClock.js +397 -0
- package/DigitalClock/DigitalClock.types.d.ts +47 -0
- package/DigitalClock/digitalClockClasses.d.ts +11 -0
- package/DigitalClock/digitalClockClasses.js +6 -0
- package/DigitalClock/index.d.ts +4 -0
- package/DigitalClock/index.js +2 -0
- package/DigitalClock/package.json +6 -0
- package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
- package/LocalizationProvider/LocalizationProvider.js +1 -1
- package/MobileDatePicker/MobileDatePicker.js +2 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
- package/MobileTimePicker/MobileTimePicker.js +3 -1
- package/MobileTimePicker/MobileTimePicker.types.d.ts +8 -7
- package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +7 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +57 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +22 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +28 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +151 -0
- package/MultiSectionDigitalClock/index.d.ts +7 -0
- package/MultiSectionDigitalClock/index.js +3 -0
- package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.d.ts +7 -0
- package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
- package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.d.ts +9 -0
- package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
- package/MultiSectionDigitalClock/package.json +6 -0
- package/PickersDay/PickersDay.js +4 -1
- package/PickersLayout/PickersLayout.d.ts +2 -2
- package/PickersLayout/PickersLayout.js +2 -2
- package/PickersLayout/PickersLayout.types.d.ts +7 -8
- package/PickersLayout/usePickerLayout.d.ts +2 -2
- package/README.md +0 -9
- package/StaticDatePicker/StaticDatePicker.js +1 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
- package/StaticTimePicker/StaticTimePicker.js +5 -3
- package/StaticTimePicker/StaticTimePicker.types.d.ts +1 -1
- package/TimeClock/TimeClock.js +35 -12
- package/TimeClock/TimeClock.types.d.ts +4 -67
- package/TimeField/TimeField.js +21 -3
- package/TimeField/TimeField.types.d.ts +3 -2
- package/TimeField/useTimeField.js +4 -2
- package/TimePicker/TimePicker.js +25 -2
- package/TimePicker/TimePicker.types.d.ts +4 -3
- package/TimePicker/TimePickerToolbar.d.ts +2 -2
- package/TimePicker/TimePickerToolbar.js +2 -2
- package/TimePicker/shared.d.ts +9 -7
- package/YearCalendar/YearCalendar.types.d.ts +1 -1
- package/dateViewRenderers/dateViewRenderers.d.ts +2 -2
- package/index.d.ts +2 -0
- package/index.js +4 -1
- package/internals/components/PickersToolbar.d.ts +3 -3
- package/internals/constants/dimensions.d.ts +1 -0
- package/internals/constants/dimensions.js +2 -1
- package/internals/demo/DemoContainer.js +4 -1
- package/internals/hooks/date-helpers-hooks.d.ts +3 -2
- package/internals/hooks/date-helpers-hooks.js +3 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -6
- package/internals/hooks/useField/useField.js +12 -11
- package/internals/hooks/useField/useField.types.d.ts +19 -5
- package/internals/hooks/useField/useField.utils.d.ts +9 -6
- package/internals/hooks/useField/useField.utils.js +60 -34
- package/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/internals/hooks/useField/useFieldState.js +5 -4
- package/internals/hooks/useIsLandscape.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -6
- package/internals/hooks/usePicker/usePicker.d.ts +4 -3
- package/internals/hooks/usePicker/usePicker.js +2 -0
- package/internals/hooks/usePicker/usePicker.types.d.ts +6 -5
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +5 -6
- package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerValue.js +10 -12
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +5 -3
- package/internals/hooks/usePicker/usePickerViews.d.ts +11 -11
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
- package/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -5
- package/internals/hooks/{validation/useValidation.d.ts → useValidation.d.ts} +1 -1
- package/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
- package/internals/hooks/useViews.d.ts +8 -6
- package/internals/hooks/useViews.js +29 -13
- package/internals/index.d.ts +7 -7
- package/internals/index.js +5 -5
- package/internals/models/common.d.ts +3 -0
- package/internals/models/index.d.ts +1 -0
- package/internals/models/index.js +2 -1
- package/internals/models/props/basePickerProps.d.ts +3 -3
- package/internals/models/props/clock.d.ts +88 -0
- package/internals/models/props/tabs.d.ts +2 -2
- package/internals/models/props/toolbar.d.ts +3 -3
- package/internals/{hooks/validation/models.d.ts → models/validation.d.ts} +2 -5
- package/internals/models/validation.js +1 -0
- package/internals/utils/time-utils.d.ts +7 -7
- package/internals/utils/time-utils.js +2 -1
- package/internals/{hooks/validation/useDateValidation.d.ts → utils/validation/validateDate.d.ts} +2 -3
- package/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
- package/internals/{hooks/validation/useDateTimeValidation.d.ts → utils/validation/validateDateTime.d.ts} +3 -3
- package/{modern/internals/hooks/validation/useDateTimeValidation.js → internals/utils/validation/validateDateTime.js} +2 -2
- package/internals/{hooks/validation/useTimeValidation.d.ts → utils/validation/validateTime.d.ts} +2 -2
- package/{modern/internals/hooks/validation/useTimeValidation.js → internals/utils/validation/validateTime.js} +1 -1
- package/internals/utils/valueManagers.js +1 -1
- package/internals/utils/views.d.ts +3 -2
- package/legacy/AdapterDateFns/AdapterDateFns.js +606 -0
- package/legacy/AdapterDateFns/index.js +1 -165
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +620 -0
- package/legacy/AdapterDateFnsJalali/index.js +1 -165
- package/legacy/AdapterDayjs/AdapterDayjs.js +146 -111
- package/legacy/AdapterLuxon/AdapterLuxon.js +524 -0
- package/legacy/AdapterLuxon/index.js +1 -127
- package/legacy/AdapterMoment/AdapterMoment.js +422 -0
- package/legacy/AdapterMoment/index.js +1 -115
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +284 -0
- package/legacy/AdapterMomentHijri/index.js +1 -90
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +291 -0
- package/legacy/AdapterMomentJalaali/index.js +1 -103
- package/legacy/DateCalendar/DayCalendar.js +1 -1
- package/legacy/DateCalendar/useCalendarState.js +1 -1
- package/legacy/DateCalendar/useIsDateDisabled.js +28 -0
- package/legacy/DateField/DateField.js +20 -3
- package/legacy/DateField/useDateField.js +4 -2
- package/legacy/DatePicker/DatePickerToolbar.js +1 -1
- package/legacy/DateTimeField/DateTimeField.js +21 -3
- package/legacy/DateTimeField/useDateTimeField.js +4 -2
- package/legacy/DateTimePicker/DateTimePicker.js +1 -0
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +52 -8
- package/legacy/DigitalClock/DigitalClock.js +419 -0
- package/legacy/DigitalClock/DigitalClock.types.js +1 -0
- package/legacy/DigitalClock/digitalClockClasses.js +6 -0
- package/legacy/DigitalClock/index.js +2 -0
- package/legacy/LocalizationProvider/LocalizationProvider.js +1 -1
- package/legacy/MobileDatePicker/MobileDatePicker.js +2 -1
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +3 -1
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +508 -0
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +157 -0
- package/legacy/MultiSectionDigitalClock/index.js +3 -0
- package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
- package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
- package/legacy/PickersDay/PickersDay.js +3 -1
- package/legacy/PickersLayout/PickersLayout.js +2 -2
- package/legacy/StaticDatePicker/StaticDatePicker.js +1 -0
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
- package/legacy/StaticTimePicker/StaticTimePicker.js +5 -3
- package/legacy/TimeClock/TimeClock.js +35 -12
- package/legacy/TimeField/TimeField.js +21 -3
- package/legacy/TimeField/useTimeField.js +4 -2
- package/legacy/TimePicker/TimePicker.js +25 -2
- package/legacy/TimePicker/TimePickerToolbar.js +2 -2
- package/legacy/index.js +4 -1
- package/legacy/internals/constants/dimensions.js +2 -1
- package/legacy/internals/demo/DemoContainer.js +4 -1
- package/legacy/internals/hooks/date-helpers-hooks.js +3 -3
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -11
- package/legacy/internals/hooks/useField/useField.js +11 -10
- package/legacy/internals/hooks/useField/useField.utils.js +58 -34
- package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/legacy/internals/hooks/useField/useFieldState.js +7 -5
- package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +5 -6
- package/legacy/internals/hooks/usePicker/usePicker.js +2 -0
- package/legacy/internals/hooks/usePicker/usePickerValue.js +10 -14
- package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +7 -8
- package/legacy/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
- package/legacy/internals/hooks/useViews.js +30 -14
- package/legacy/internals/index.js +5 -5
- package/legacy/internals/models/index.js +2 -1
- package/legacy/internals/models/props/clock.js +1 -0
- package/legacy/internals/models/validation.js +1 -0
- package/legacy/internals/utils/time-utils.js +2 -1
- package/legacy/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -28
- package/legacy/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +2 -2
- package/legacy/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
- package/legacy/internals/utils/valueManagers.js +2 -2
- package/legacy/locales/beBY.js +5 -3
- package/legacy/locales/caES.js +6 -1
- package/legacy/locales/csCZ.js +6 -4
- package/legacy/locales/daDK.js +6 -2
- package/legacy/locales/deDE.js +6 -2
- package/legacy/locales/enUS.js +4 -0
- package/legacy/locales/esES.js +6 -1
- package/legacy/locales/faIR.js +11 -1
- package/legacy/locales/fiFI.js +6 -1
- package/legacy/locales/frFR.js +6 -1
- package/legacy/locales/heIL.js +6 -1
- package/legacy/locales/huHU.js +6 -2
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/isIS.js +11 -1
- package/legacy/locales/itIT.js +6 -1
- package/legacy/locales/jaJP.js +6 -2
- package/legacy/locales/koKR.js +6 -1
- package/legacy/locales/kzKZ.js +6 -2
- package/legacy/locales/nbNO.js +11 -1
- package/legacy/locales/nlNL.js +11 -1
- package/legacy/locales/plPL.js +11 -1
- package/legacy/locales/ptBR.js +11 -1
- package/legacy/locales/ruRU.js +6 -2
- package/legacy/locales/svSE.js +11 -1
- package/legacy/locales/trTR.js +22 -7
- package/legacy/locales/ukUA.js +11 -1
- package/legacy/locales/urPK.js +11 -1
- package/legacy/locales/zhCN.js +44 -23
- package/legacy/models/common.js +1 -0
- package/legacy/models/index.js +2 -1
- package/legacy/tests/describeAdapters/describeAdapters.js +1 -3
- package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +29 -26
- package/legacy/tests/describeGregorianAdapter/testLocalization.js +2 -2
- package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
- package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
- package/legacy/tests/describeHijriAdapter/index.js +1 -0
- package/legacy/tests/describeHijriAdapter/testCalculations.js +94 -0
- package/legacy/tests/describeHijriAdapter/testLocalization.js +12 -0
- package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
- package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
- package/legacy/tests/describeJalaliAdapter/index.js +1 -0
- package/legacy/tests/describeJalaliAdapter/testCalculations.js +82 -0
- package/legacy/tests/describeJalaliAdapter/testLocalization.js +12 -0
- package/legacy/tests/describePicker/describePicker.js +159 -0
- package/legacy/tests/describePicker/describePicker.types.js +1 -0
- package/legacy/tests/describePicker/index.js +1 -0
- package/legacy/tests/describeValue/describeValue.js +1 -1
- package/legacy/tests/describeValue/testControlledUnControlled.js +8 -9
- package/legacy/tests/describeValue/testPickerActionBar.js +46 -13
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
- package/legacy/timeViewRenderers/index.js +1 -1
- package/legacy/timeViewRenderers/timeViewRenderers.js +132 -4
- package/locales/beBY.d.ts +4 -2
- package/locales/beBY.js +3 -3
- package/locales/caES.d.ts +4 -2
- package/locales/caES.js +4 -1
- package/locales/csCZ.d.ts +4 -2
- package/locales/csCZ.js +4 -4
- package/locales/daDK.d.ts +4 -2
- package/locales/daDK.js +4 -2
- package/locales/deDE.d.ts +4 -2
- package/locales/deDE.js +4 -2
- package/locales/enUS.d.ts +3 -2
- package/locales/enUS.js +2 -0
- package/locales/esES.d.ts +4 -2
- package/locales/esES.js +4 -1
- package/locales/faIR.d.ts +4 -2
- package/locales/faIR.js +9 -1
- package/locales/fiFI.d.ts +4 -2
- package/locales/fiFI.js +4 -1
- package/locales/frFR.d.ts +4 -2
- package/locales/frFR.js +4 -1
- package/locales/heIL.d.ts +4 -2
- package/locales/heIL.js +4 -1
- package/locales/huHU.d.ts +4 -2
- package/locales/huHU.js +4 -2
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/isIS.d.ts +4 -2
- package/locales/isIS.js +9 -1
- package/locales/itIT.d.ts +4 -2
- package/locales/itIT.js +4 -1
- package/locales/jaJP.d.ts +4 -2
- package/locales/jaJP.js +4 -2
- package/locales/koKR.d.ts +4 -2
- package/locales/koKR.js +4 -1
- package/locales/kzKZ.d.ts +4 -2
- package/locales/kzKZ.js +4 -2
- package/locales/nbNO.d.ts +4 -2
- package/locales/nbNO.js +9 -1
- package/locales/nlNL.d.ts +8 -7
- package/locales/nlNL.js +9 -1
- package/locales/plPL.d.ts +4 -2
- package/locales/plPL.js +9 -1
- package/locales/ptBR.d.ts +4 -2
- package/locales/ptBR.js +9 -1
- package/locales/ruRU.d.ts +4 -2
- package/locales/ruRU.js +4 -2
- package/locales/svSE.d.ts +4 -2
- package/locales/svSE.js +9 -1
- package/locales/trTR.d.ts +4 -2
- package/locales/trTR.js +14 -7
- package/locales/ukUA.d.ts +4 -2
- package/locales/ukUA.js +9 -1
- package/locales/urPK.d.ts +4 -2
- package/locales/urPK.js +9 -1
- package/locales/utils/getPickersLocalization.d.ts +3 -2
- package/locales/utils/pickersLocaleTextApi.d.ts +5 -3
- package/locales/zhCN.d.ts +4 -2
- package/locales/zhCN.js +22 -23
- package/models/adapters.d.ts +7 -6
- package/models/common.d.ts +5 -0
- package/models/common.js +1 -0
- package/models/fields.d.ts +20 -2
- package/models/index.d.ts +1 -0
- package/models/index.js +2 -1
- package/modern/AdapterDateFns/AdapterDateFns.js +597 -0
- package/modern/AdapterDateFns/index.js +1 -149
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +608 -0
- package/modern/AdapterDateFnsJalali/index.js +1 -148
- package/modern/AdapterDayjs/AdapterDayjs.js +146 -111
- package/modern/AdapterLuxon/AdapterLuxon.js +512 -0
- package/modern/AdapterLuxon/index.js +1 -111
- package/modern/AdapterMoment/AdapterMoment.js +416 -0
- package/modern/AdapterMoment/index.js +1 -99
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
- package/modern/AdapterMomentHijri/index.js +1 -74
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
- package/modern/AdapterMomentJalaali/index.js +1 -87
- package/modern/DateCalendar/DayCalendar.js +1 -1
- package/modern/DateCalendar/useCalendarState.js +1 -1
- package/modern/DateCalendar/useIsDateDisabled.js +27 -0
- package/modern/DateField/DateField.js +20 -3
- package/modern/DateField/useDateField.js +4 -2
- package/modern/DatePicker/DatePickerToolbar.js +1 -1
- package/modern/DateTimeField/DateTimeField.js +21 -3
- package/modern/DateTimeField/useDateTimeField.js +4 -2
- package/modern/DateTimePicker/DateTimePicker.js +1 -0
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +50 -7
- package/modern/DigitalClock/DigitalClock.js +396 -0
- package/modern/DigitalClock/DigitalClock.types.js +1 -0
- package/modern/DigitalClock/digitalClockClasses.js +6 -0
- package/modern/DigitalClock/index.js +2 -0
- package/modern/LocalizationProvider/LocalizationProvider.js +1 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +3 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +149 -0
- package/modern/MultiSectionDigitalClock/index.js +3 -0
- package/modern/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
- package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
- package/modern/PickersDay/PickersDay.js +4 -1
- package/modern/PickersLayout/PickersLayout.js +2 -2
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -0
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
- package/modern/StaticTimePicker/StaticTimePicker.js +5 -3
- package/modern/TimeClock/TimeClock.js +35 -12
- package/modern/TimeField/TimeField.js +21 -3
- package/modern/TimeField/useTimeField.js +4 -2
- package/modern/TimePicker/TimePicker.js +25 -2
- package/modern/TimePicker/TimePickerToolbar.js +2 -2
- package/modern/index.js +4 -1
- package/modern/internals/constants/dimensions.js +2 -1
- package/modern/internals/demo/DemoContainer.js +4 -1
- package/modern/internals/hooks/date-helpers-hooks.js +3 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
- package/modern/internals/hooks/useField/useField.js +12 -11
- package/modern/internals/hooks/useField/useField.utils.js +60 -34
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/modern/internals/hooks/useField/useFieldState.js +5 -4
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
- package/modern/internals/hooks/usePicker/usePicker.js +2 -0
- package/modern/internals/hooks/usePicker/usePickerValue.js +10 -12
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
- package/modern/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
- package/modern/internals/hooks/useViews.js +29 -13
- package/modern/internals/index.js +5 -5
- package/modern/internals/models/index.js +2 -1
- package/modern/internals/models/props/clock.js +1 -0
- package/modern/internals/models/validation.js +1 -0
- package/modern/internals/utils/time-utils.js +2 -1
- package/modern/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
- package/{internals/hooks/validation/useDateTimeValidation.js → modern/internals/utils/validation/validateDateTime.js} +2 -2
- package/{internals/hooks/validation/useTimeValidation.js → modern/internals/utils/validation/validateTime.js} +1 -1
- package/modern/internals/utils/valueManagers.js +1 -1
- package/modern/locales/beBY.js +3 -3
- package/modern/locales/caES.js +4 -1
- package/modern/locales/csCZ.js +4 -4
- package/modern/locales/daDK.js +4 -2
- package/modern/locales/deDE.js +4 -2
- package/modern/locales/enUS.js +2 -0
- package/modern/locales/esES.js +4 -1
- package/modern/locales/faIR.js +9 -1
- package/modern/locales/fiFI.js +4 -1
- package/modern/locales/frFR.js +4 -1
- package/modern/locales/heIL.js +4 -1
- package/modern/locales/huHU.js +4 -2
- package/modern/locales/index.js +1 -0
- package/modern/locales/isIS.js +9 -1
- package/modern/locales/itIT.js +4 -1
- package/modern/locales/jaJP.js +4 -2
- package/modern/locales/koKR.js +4 -1
- package/modern/locales/kzKZ.js +4 -2
- package/modern/locales/nbNO.js +9 -1
- package/modern/locales/nlNL.js +9 -1
- package/modern/locales/plPL.js +9 -1
- package/modern/locales/ptBR.js +9 -1
- package/modern/locales/ruRU.js +4 -2
- package/modern/locales/svSE.js +9 -1
- package/modern/locales/trTR.js +14 -7
- package/modern/locales/ukUA.js +9 -1
- package/modern/locales/urPK.js +9 -1
- package/modern/locales/zhCN.js +22 -23
- package/modern/models/common.js +1 -0
- package/modern/models/index.js +2 -1
- package/modern/tests/describeAdapters/describeAdapters.js +1 -3
- package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
- package/modern/tests/describeGregorianAdapter/testCalculations.js +29 -26
- package/modern/tests/describeGregorianAdapter/testLocalization.js +2 -2
- package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
- package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
- package/modern/tests/describeHijriAdapter/index.js +1 -0
- package/modern/tests/describeHijriAdapter/testCalculations.js +91 -0
- package/modern/tests/describeHijriAdapter/testLocalization.js +13 -0
- package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
- package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
- package/modern/tests/describeJalaliAdapter/index.js +1 -0
- package/modern/tests/describeJalaliAdapter/testCalculations.js +83 -0
- package/modern/tests/describeJalaliAdapter/testLocalization.js +13 -0
- package/modern/tests/describePicker/describePicker.js +162 -0
- package/modern/tests/describePicker/describePicker.types.js +1 -0
- package/modern/tests/describePicker/index.js +1 -0
- package/modern/tests/describeValue/describeValue.js +1 -1
- package/modern/tests/describeValue/testControlledUnControlled.js +8 -9
- package/modern/tests/describeValue/testPickerActionBar.js +46 -13
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
- package/modern/timeViewRenderers/index.js +1 -1
- package/modern/timeViewRenderers/timeViewRenderers.js +130 -2
- package/node/AdapterDateFns/AdapterDateFns.js +607 -0
- package/node/AdapterDateFns/index.js +6 -152
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +618 -0
- package/node/AdapterDateFnsJalali/index.js +6 -151
- package/node/AdapterDayjs/AdapterDayjs.js +146 -111
- package/node/AdapterLuxon/AdapterLuxon.js +521 -0
- package/node/AdapterLuxon/index.js +6 -114
- package/node/AdapterMoment/AdapterMoment.js +425 -0
- package/node/AdapterMoment/index.js +6 -102
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +278 -0
- package/node/AdapterMomentHijri/index.js +6 -77
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +285 -0
- package/node/AdapterMomentJalaali/index.js +6 -90
- package/node/DateCalendar/DayCalendar.js +2 -2
- package/node/DateCalendar/useCalendarState.js +2 -2
- package/node/{internals/hooks/validation/useDateValidation.js → DateCalendar/useIsDateDisabled.js} +4 -37
- package/node/DateField/DateField.js +20 -3
- package/node/DateField/useDateField.js +5 -3
- package/node/DatePicker/DatePickerToolbar.js +1 -1
- package/node/DateTimeField/DateTimeField.js +21 -3
- package/node/DateTimeField/useDateTimeField.js +5 -3
- package/node/DateTimePicker/DateTimePicker.js +1 -0
- package/node/DesktopDatePicker/DesktopDatePicker.js +3 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +51 -8
- package/node/DigitalClock/DigitalClock.js +406 -0
- package/node/DigitalClock/digitalClockClasses.js +15 -0
- package/node/DigitalClock/index.js +25 -0
- package/node/LocalizationProvider/LocalizationProvider.js +1 -1
- package/node/MobileDatePicker/MobileDatePicker.js +3 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -2
- package/node/MobileTimePicker/MobileTimePicker.js +4 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +489 -0
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +5 -0
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +73 -0
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +159 -0
- package/node/MultiSectionDigitalClock/index.js +32 -0
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +15 -0
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +15 -0
- package/node/PickersDay/PickersDay.js +4 -1
- package/node/PickersLayout/PickersLayout.js +2 -2
- package/node/StaticDatePicker/StaticDatePicker.js +1 -0
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
- package/node/StaticTimePicker/StaticTimePicker.js +5 -3
- package/node/TimeClock/TimeClock.js +35 -12
- package/node/TimeField/TimeField.js +21 -3
- package/node/TimeField/useTimeField.js +5 -3
- package/node/TimePicker/TimePicker.js +25 -2
- package/node/TimePicker/TimePickerToolbar.js +2 -2
- package/node/index.js +25 -1
- package/node/internals/constants/dimensions.js +4 -2
- package/node/internals/demo/DemoContainer.js +4 -1
- package/node/internals/hooks/date-helpers-hooks.js +3 -3
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
- package/node/internals/hooks/useField/useField.js +12 -11
- package/node/internals/hooks/useField/useField.utils.js +63 -36
- package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
- package/node/internals/hooks/useField/useFieldState.js +5 -4
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
- package/node/internals/hooks/usePicker/usePicker.js +2 -0
- package/node/internals/hooks/usePicker/usePickerValue.js +10 -12
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
- package/node/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
- package/node/internals/hooks/useViews.js +29 -13
- package/node/internals/index.js +9 -9
- package/node/internals/models/index.js +11 -0
- package/node/internals/models/props/clock.js +5 -0
- package/node/internals/models/validation.js +5 -0
- package/node/internals/utils/time-utils.js +2 -1
- package/node/internals/utils/validation/validateDate.js +40 -0
- package/node/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +4 -4
- package/node/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
- package/node/internals/utils/valueManagers.js +1 -1
- package/node/locales/beBY.js +3 -3
- package/node/locales/caES.js +4 -1
- package/node/locales/csCZ.js +4 -2
- package/node/locales/daDK.js +4 -1
- package/node/locales/deDE.js +4 -1
- package/node/locales/enUS.js +2 -0
- package/node/locales/esES.js +4 -1
- package/node/locales/faIR.js +9 -1
- package/node/locales/fiFI.js +4 -1
- package/node/locales/frFR.js +4 -1
- package/node/locales/heIL.js +4 -1
- package/node/locales/huHU.js +4 -1
- package/node/locales/index.js +11 -0
- package/node/locales/isIS.js +9 -1
- package/node/locales/itIT.js +4 -1
- package/node/locales/jaJP.js +4 -1
- package/node/locales/koKR.js +4 -1
- package/node/locales/kzKZ.js +4 -1
- package/node/locales/nbNO.js +9 -1
- package/node/locales/nlNL.js +9 -1
- package/node/locales/plPL.js +9 -1
- package/node/locales/ptBR.js +9 -1
- package/node/locales/ruRU.js +4 -1
- package/node/locales/svSE.js +9 -1
- package/node/locales/trTR.js +14 -7
- package/node/locales/ukUA.js +9 -1
- package/node/locales/urPK.js +9 -1
- package/node/locales/zhCN.js +22 -23
- package/node/models/common.js +5 -0
- package/node/models/index.js +11 -0
- package/node/tests/describeAdapters/describeAdapters.js +1 -3
- package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
- package/node/tests/describeGregorianAdapter/testCalculations.js +29 -26
- package/node/tests/describeGregorianAdapter/testLocalization.js +2 -2
- package/node/tests/describeHijriAdapter/describeHijriAdapter.js +31 -0
- package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +5 -0
- package/node/tests/describeHijriAdapter/index.js +12 -0
- package/node/tests/describeHijriAdapter/testCalculations.js +98 -0
- package/node/tests/describeHijriAdapter/testLocalization.js +20 -0
- package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +33 -0
- package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +5 -0
- package/node/tests/describeJalaliAdapter/index.js +12 -0
- package/node/tests/describeJalaliAdapter/testCalculations.js +90 -0
- package/node/tests/describeJalaliAdapter/testLocalization.js +20 -0
- package/node/tests/describePicker/describePicker.js +173 -0
- package/node/tests/describePicker/describePicker.types.js +5 -0
- package/node/tests/describePicker/index.js +12 -0
- package/node/tests/describeValue/describeValue.js +1 -1
- package/node/tests/describeValue/testControlledUnControlled.js +8 -9
- package/node/tests/describeValue/testPickerActionBar.js +46 -13
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
- package/node/timeViewRenderers/index.js +12 -0
- package/node/timeViewRenderers/timeViewRenderers.js +134 -4
- package/package.json +3 -10
- package/tests/describeAdapters/describeAdapters.js +1 -3
- package/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
- package/tests/describeGregorianAdapter/testCalculations.js +29 -26
- package/tests/describeGregorianAdapter/testLocalization.js +2 -2
- package/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
- package/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
- package/tests/describeHijriAdapter/index.js +1 -0
- package/tests/describeHijriAdapter/testCalculations.js +91 -0
- package/tests/describeHijriAdapter/testLocalization.js +13 -0
- package/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
- package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
- package/tests/describeJalaliAdapter/index.js +1 -0
- package/tests/describeJalaliAdapter/testCalculations.js +83 -0
- package/tests/describeJalaliAdapter/testLocalization.js +13 -0
- package/tests/describePicker/describePicker.js +162 -0
- package/tests/describePicker/describePicker.types.js +1 -0
- package/tests/describePicker/index.js +1 -0
- package/tests/describeValue/describeValue.js +1 -1
- package/tests/describeValue/testControlledUnControlled.js +8 -9
- package/tests/describeValue/testPickerActionBar.js +46 -13
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
- package/themeAugmentation/components.d.ts +12 -0
- package/themeAugmentation/overrides.d.ts +8 -0
- package/themeAugmentation/props.d.ts +8 -0
- package/timeViewRenderers/index.d.ts +1 -1
- package/timeViewRenderers/index.js +1 -1
- package/timeViewRenderers/timeViewRenderers.d.ts +11 -4
- package/timeViewRenderers/timeViewRenderers.js +130 -2
- /package/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
- /package/{legacy/internals/hooks/validation/models.js → MultiSectionDigitalClock/MultiSectionDigitalClock.types.js} +0 -0
- /package/{modern/internals/hooks/validation/models.js → internals/models/props/clock.js} +0 -0
- /package/internals/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +0 -0
- /package/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
- /package/legacy/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
- /package/modern/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
- /package/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
- /package/node/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
const _excluded = ["ampm", "timeStep", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "onChange", "defaultValue", "view", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "views", "skipDisabled"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import { alpha, styled, useThemeProps } from '@mui/material/styles';
|
|
8
|
+
import useEventCallback from '@mui/utils/useEventCallback';
|
|
9
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
10
|
+
import useControlled from '@mui/utils/useControlled';
|
|
11
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
12
|
+
import MenuList from '@mui/material/MenuList';
|
|
13
|
+
import useForkRef from '@mui/utils/useForkRef';
|
|
14
|
+
import { useUtils, useNow, useLocaleText } from '../internals/hooks/useUtils';
|
|
15
|
+
import { createIsAfterIgnoreDatePart } from '../internals/utils/time-utils';
|
|
16
|
+
import { PickerViewRoot } from '../internals/components/PickerViewRoot';
|
|
17
|
+
import { getDigitalClockUtilityClass } from './digitalClockClasses';
|
|
18
|
+
import { useViews } from '../internals/hooks/useViews';
|
|
19
|
+
import { DIGITAL_CLOCK_VIEW_HEIGHT } from '../internals/constants/dimensions';
|
|
20
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
|
+
const useUtilityClasses = ownerState => {
|
|
22
|
+
const {
|
|
23
|
+
classes
|
|
24
|
+
} = ownerState;
|
|
25
|
+
const slots = {
|
|
26
|
+
root: ['root'],
|
|
27
|
+
list: ['list'],
|
|
28
|
+
item: ['item']
|
|
29
|
+
};
|
|
30
|
+
return composeClasses(slots, getDigitalClockUtilityClass, classes);
|
|
31
|
+
};
|
|
32
|
+
const DigitalClockRoot = styled(PickerViewRoot, {
|
|
33
|
+
name: 'MuiDigitalClock',
|
|
34
|
+
slot: 'Root',
|
|
35
|
+
overridesResolver: (props, styles) => styles.root
|
|
36
|
+
})(({
|
|
37
|
+
ownerState
|
|
38
|
+
}) => ({
|
|
39
|
+
overflowY: 'auto',
|
|
40
|
+
width: '100%',
|
|
41
|
+
scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto',
|
|
42
|
+
maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT
|
|
43
|
+
}));
|
|
44
|
+
const DigitalClockList = styled(MenuList, {
|
|
45
|
+
name: 'MuiDigitalClock',
|
|
46
|
+
slot: 'List',
|
|
47
|
+
overridesResolver: (props, styles) => styles.list
|
|
48
|
+
})({
|
|
49
|
+
padding: 0
|
|
50
|
+
});
|
|
51
|
+
const DigitalClockItem = styled(MenuItem, {
|
|
52
|
+
name: 'MuiDigitalClock',
|
|
53
|
+
slot: 'Item',
|
|
54
|
+
overridesResolver: (props, styles) => styles.item
|
|
55
|
+
})(({
|
|
56
|
+
theme
|
|
57
|
+
}) => ({
|
|
58
|
+
padding: '8px 16px',
|
|
59
|
+
margin: '2px 4px',
|
|
60
|
+
'&:first-of-type': {
|
|
61
|
+
marginTop: 4
|
|
62
|
+
},
|
|
63
|
+
'&:hover': {
|
|
64
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity)
|
|
65
|
+
},
|
|
66
|
+
'&.Mui-selected': {
|
|
67
|
+
backgroundColor: (theme.vars || theme).palette.primary.main,
|
|
68
|
+
color: (theme.vars || theme).palette.primary.contrastText,
|
|
69
|
+
'&:focus-visible, &:hover': {
|
|
70
|
+
backgroundColor: (theme.vars || theme).palette.primary.dark
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
'&.Mui-focusVisible': {
|
|
74
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity)
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {
|
|
78
|
+
var _ref, _slots$digitalClockIt, _slotProps$digitalClo;
|
|
79
|
+
const now = useNow();
|
|
80
|
+
const utils = useUtils();
|
|
81
|
+
const containerRef = React.useRef(null);
|
|
82
|
+
const handleRef = useForkRef(ref, containerRef);
|
|
83
|
+
const localeText = useLocaleText();
|
|
84
|
+
const props = useThemeProps({
|
|
85
|
+
props: inProps,
|
|
86
|
+
name: 'MuiDigitalClock'
|
|
87
|
+
});
|
|
88
|
+
const {
|
|
89
|
+
ampm = utils.is12HourCycleInCurrentLocale(),
|
|
90
|
+
timeStep = 30,
|
|
91
|
+
autoFocus,
|
|
92
|
+
components,
|
|
93
|
+
componentsProps,
|
|
94
|
+
slots,
|
|
95
|
+
slotProps,
|
|
96
|
+
value: valueProp,
|
|
97
|
+
disableIgnoringDatePartForTimeValidation = false,
|
|
98
|
+
maxTime,
|
|
99
|
+
minTime,
|
|
100
|
+
disableFuture,
|
|
101
|
+
disablePast,
|
|
102
|
+
minutesStep = 1,
|
|
103
|
+
shouldDisableClock,
|
|
104
|
+
shouldDisableTime,
|
|
105
|
+
onChange,
|
|
106
|
+
defaultValue,
|
|
107
|
+
view: inView,
|
|
108
|
+
openTo,
|
|
109
|
+
onViewChange,
|
|
110
|
+
focusedView,
|
|
111
|
+
onFocusedViewChange,
|
|
112
|
+
className,
|
|
113
|
+
disabled,
|
|
114
|
+
readOnly,
|
|
115
|
+
views = ['hours'],
|
|
116
|
+
skipDisabled = false
|
|
117
|
+
} = props,
|
|
118
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
119
|
+
const ownerState = React.useMemo(() => _extends({}, props, {
|
|
120
|
+
alreadyRendered: !!containerRef.current
|
|
121
|
+
}), [props]);
|
|
122
|
+
const classes = useUtilityClasses(ownerState);
|
|
123
|
+
const ClockItem = (_ref = (_slots$digitalClockIt = slots == null ? void 0 : slots.digitalClockItem) != null ? _slots$digitalClockIt : components == null ? void 0 : components.DigitalClockItem) != null ? _ref : DigitalClockItem;
|
|
124
|
+
const clockItemProps = (_slotProps$digitalClo = slotProps == null ? void 0 : slotProps.digitalClockItem) != null ? _slotProps$digitalClo : componentsProps == null ? void 0 : componentsProps.digitalClockItem;
|
|
125
|
+
const [value, setValue] = useControlled({
|
|
126
|
+
name: 'DigitalClock',
|
|
127
|
+
state: 'value',
|
|
128
|
+
controlled: valueProp,
|
|
129
|
+
default: defaultValue != null ? defaultValue : null
|
|
130
|
+
});
|
|
131
|
+
const handleValueChange = useEventCallback(newValue => {
|
|
132
|
+
setValue(newValue);
|
|
133
|
+
onChange == null ? void 0 : onChange(newValue, 'finish');
|
|
134
|
+
});
|
|
135
|
+
const {
|
|
136
|
+
setValueAndGoToNextView
|
|
137
|
+
} = useViews({
|
|
138
|
+
view: inView,
|
|
139
|
+
views,
|
|
140
|
+
openTo,
|
|
141
|
+
onViewChange,
|
|
142
|
+
onChange: handleValueChange,
|
|
143
|
+
focusedView,
|
|
144
|
+
onFocusedViewChange
|
|
145
|
+
});
|
|
146
|
+
const handleItemSelect = useEventCallback(newValue => {
|
|
147
|
+
setValueAndGoToNextView(newValue, 'finish');
|
|
148
|
+
});
|
|
149
|
+
React.useEffect(() => {
|
|
150
|
+
if (containerRef.current === null) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const selectedItem = containerRef.current.querySelector('[role="listbox"] [role="option"][aria-selected="true"]');
|
|
154
|
+
if (!selectedItem) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const offsetTop = selectedItem.offsetTop;
|
|
158
|
+
|
|
159
|
+
// Subtracting the 4px of extra margin intended for the first visible section item
|
|
160
|
+
containerRef.current.scrollTop = offsetTop - 4;
|
|
161
|
+
});
|
|
162
|
+
const selectedTimeOrMidnight = React.useMemo(() => value || utils.setSeconds(utils.setMinutes(utils.setHours(now, 0), 0), 0), [value, now, utils]);
|
|
163
|
+
const isTimeDisabled = React.useCallback(valueToCheck => {
|
|
164
|
+
const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, utils);
|
|
165
|
+
const containsValidTime = () => {
|
|
166
|
+
if (minTime && isAfter(minTime, valueToCheck)) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
if (maxTime && isAfter(valueToCheck, maxTime)) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
if (disableFuture && isAfter(valueToCheck, now)) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
if (disablePast && isAfter(now, valueToCheck)) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
return true;
|
|
179
|
+
};
|
|
180
|
+
const isValidValue = () => {
|
|
181
|
+
if (utils.getMinutes(valueToCheck) % minutesStep !== 0) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
if (shouldDisableClock != null && shouldDisableClock(utils.toJsDate(valueToCheck).getTime(), 'hours')) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
if (shouldDisableTime) {
|
|
188
|
+
return !shouldDisableTime(valueToCheck, 'hours');
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
};
|
|
192
|
+
return !containsValidTime() || !isValidValue();
|
|
193
|
+
}, [disableIgnoringDatePartForTimeValidation, utils, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableClock, shouldDisableTime]);
|
|
194
|
+
const timeOptions = React.useMemo(() => {
|
|
195
|
+
const startOfDay = utils.startOfDay(selectedTimeOrMidnight);
|
|
196
|
+
return [startOfDay, ...Array.from({
|
|
197
|
+
length: Math.ceil(24 * 60 / timeStep) - 1
|
|
198
|
+
}, (_, index) => utils.addMinutes(startOfDay, timeStep * (index + 1))), utils.endOfDay(selectedTimeOrMidnight)];
|
|
199
|
+
}, [selectedTimeOrMidnight, timeStep, utils]);
|
|
200
|
+
return /*#__PURE__*/_jsx(DigitalClockRoot, _extends({
|
|
201
|
+
ref: handleRef,
|
|
202
|
+
className: clsx(classes.root, className),
|
|
203
|
+
ownerState: ownerState
|
|
204
|
+
}, other, {
|
|
205
|
+
children: /*#__PURE__*/_jsx(DigitalClockList, {
|
|
206
|
+
autoFocusItem: autoFocus || !!focusedView,
|
|
207
|
+
role: "listbox",
|
|
208
|
+
"aria-label": localeText.timePickerToolbarTitle,
|
|
209
|
+
children: timeOptions.map(option => {
|
|
210
|
+
if (skipDisabled && isTimeDisabled(option)) {
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
const isSelected = utils.isEqual(option, value);
|
|
214
|
+
return /*#__PURE__*/_jsx(ClockItem, _extends({
|
|
215
|
+
onClick: () => !readOnly && handleItemSelect(option),
|
|
216
|
+
selected: isSelected,
|
|
217
|
+
disabled: disabled || isTimeDisabled(option),
|
|
218
|
+
disableRipple: readOnly,
|
|
219
|
+
role: "option"
|
|
220
|
+
// aria-readonly is not supported here and does not have any effect
|
|
221
|
+
,
|
|
222
|
+
"aria-disabled": readOnly,
|
|
223
|
+
"aria-selected": isSelected
|
|
224
|
+
}, clockItemProps, {
|
|
225
|
+
children: utils.format(option, ampm ? 'fullTime12h' : 'fullTime24h')
|
|
226
|
+
}), utils.toISO(option));
|
|
227
|
+
})
|
|
228
|
+
})
|
|
229
|
+
}));
|
|
230
|
+
});
|
|
231
|
+
process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
|
|
232
|
+
// ----------------------------- Warning --------------------------------
|
|
233
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
234
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
235
|
+
// ----------------------------------------------------------------------
|
|
236
|
+
/**
|
|
237
|
+
* 12h/24h view for hour selection clock.
|
|
238
|
+
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
239
|
+
*/
|
|
240
|
+
ampm: PropTypes.bool,
|
|
241
|
+
/**
|
|
242
|
+
* If `true`, the main element is focused during the first mount.
|
|
243
|
+
* This main element is:
|
|
244
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
245
|
+
* - the `input` element if there is a field rendered.
|
|
246
|
+
*/
|
|
247
|
+
autoFocus: PropTypes.bool,
|
|
248
|
+
/**
|
|
249
|
+
* Override or extend the styles applied to the component.
|
|
250
|
+
*/
|
|
251
|
+
classes: PropTypes.object,
|
|
252
|
+
className: PropTypes.string,
|
|
253
|
+
/**
|
|
254
|
+
* Overrideable components.
|
|
255
|
+
* @default {}
|
|
256
|
+
* @deprecated Please use `slots`.
|
|
257
|
+
*/
|
|
258
|
+
components: PropTypes.object,
|
|
259
|
+
/**
|
|
260
|
+
* The props used for each component slot.
|
|
261
|
+
* @default {}
|
|
262
|
+
* @deprecated Please use `slotProps`.
|
|
263
|
+
*/
|
|
264
|
+
componentsProps: PropTypes.object,
|
|
265
|
+
/**
|
|
266
|
+
* The default selected value.
|
|
267
|
+
* Used when the component is not controlled.
|
|
268
|
+
*/
|
|
269
|
+
defaultValue: PropTypes.any,
|
|
270
|
+
/**
|
|
271
|
+
* If `true`, the picker views and text field are disabled.
|
|
272
|
+
* @default false
|
|
273
|
+
*/
|
|
274
|
+
disabled: PropTypes.bool,
|
|
275
|
+
/**
|
|
276
|
+
* If `true`, disable values after the current date for date components, time for time components and both for date time components.
|
|
277
|
+
* @default false
|
|
278
|
+
*/
|
|
279
|
+
disableFuture: PropTypes.bool,
|
|
280
|
+
/**
|
|
281
|
+
* Do not ignore date part when validating min/max time.
|
|
282
|
+
* @default false
|
|
283
|
+
*/
|
|
284
|
+
disableIgnoringDatePartForTimeValidation: PropTypes.bool,
|
|
285
|
+
/**
|
|
286
|
+
* If `true`, disable values before the current date for date components, time for time components and both for date time components.
|
|
287
|
+
* @default false
|
|
288
|
+
*/
|
|
289
|
+
disablePast: PropTypes.bool,
|
|
290
|
+
/**
|
|
291
|
+
* Controlled focused view.
|
|
292
|
+
*/
|
|
293
|
+
focusedView: PropTypes.oneOf(['hours']),
|
|
294
|
+
/**
|
|
295
|
+
* Maximal selectable time.
|
|
296
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
297
|
+
*/
|
|
298
|
+
maxTime: PropTypes.any,
|
|
299
|
+
/**
|
|
300
|
+
* Minimal selectable time.
|
|
301
|
+
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
302
|
+
*/
|
|
303
|
+
minTime: PropTypes.any,
|
|
304
|
+
/**
|
|
305
|
+
* Step over minutes.
|
|
306
|
+
* @default 1
|
|
307
|
+
*/
|
|
308
|
+
minutesStep: PropTypes.number,
|
|
309
|
+
/**
|
|
310
|
+
* Callback fired when the value changes.
|
|
311
|
+
* @template TDate
|
|
312
|
+
* @param {TDate | null} value The new value.
|
|
313
|
+
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
314
|
+
* @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
|
|
315
|
+
*/
|
|
316
|
+
onChange: PropTypes.func,
|
|
317
|
+
/**
|
|
318
|
+
* Callback fired on focused view change.
|
|
319
|
+
* @template TView
|
|
320
|
+
* @param {TView} view The new view to focus or not.
|
|
321
|
+
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
322
|
+
*/
|
|
323
|
+
onFocusedViewChange: PropTypes.func,
|
|
324
|
+
/**
|
|
325
|
+
* Callback fired on view change.
|
|
326
|
+
* @template TView
|
|
327
|
+
* @param {TView} view The new view.
|
|
328
|
+
*/
|
|
329
|
+
onViewChange: PropTypes.func,
|
|
330
|
+
/**
|
|
331
|
+
* The default visible view.
|
|
332
|
+
* Used when the component view is not controlled.
|
|
333
|
+
* Must be a valid option from `views` list.
|
|
334
|
+
*/
|
|
335
|
+
openTo: PropTypes.oneOf(['hours']),
|
|
336
|
+
/**
|
|
337
|
+
* If `true`, the picker views and text field are read-only.
|
|
338
|
+
* @default false
|
|
339
|
+
*/
|
|
340
|
+
readOnly: PropTypes.bool,
|
|
341
|
+
/**
|
|
342
|
+
* Disable specific clock time.
|
|
343
|
+
* @param {number} clockValue The value to check.
|
|
344
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
345
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
346
|
+
* @deprecated Consider using `shouldDisableTime`.
|
|
347
|
+
*/
|
|
348
|
+
shouldDisableClock: PropTypes.func,
|
|
349
|
+
/**
|
|
350
|
+
* Disable specific time.
|
|
351
|
+
* @template TDate
|
|
352
|
+
* @param {TDate} value The value to check.
|
|
353
|
+
* @param {TimeView} view The clock type of the timeValue.
|
|
354
|
+
* @returns {boolean} If `true` the time will be disabled.
|
|
355
|
+
*/
|
|
356
|
+
shouldDisableTime: PropTypes.func,
|
|
357
|
+
/**
|
|
358
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
359
|
+
* @default false
|
|
360
|
+
*/
|
|
361
|
+
skipDisabled: PropTypes.bool,
|
|
362
|
+
/**
|
|
363
|
+
* The props used for each component slot.
|
|
364
|
+
* @default {}
|
|
365
|
+
*/
|
|
366
|
+
slotProps: PropTypes.object,
|
|
367
|
+
/**
|
|
368
|
+
* Overrideable component slots.
|
|
369
|
+
* @default {}
|
|
370
|
+
*/
|
|
371
|
+
slots: PropTypes.object,
|
|
372
|
+
/**
|
|
373
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
374
|
+
*/
|
|
375
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
376
|
+
/**
|
|
377
|
+
* The time steps between two time options.
|
|
378
|
+
* For example, if `timeStep = 45`, then the available time options will be `[00:00, 00:45, 01:30, 02:15, 03:00, etc.]`.
|
|
379
|
+
* @default 30
|
|
380
|
+
*/
|
|
381
|
+
timeStep: PropTypes.number,
|
|
382
|
+
/**
|
|
383
|
+
* The selected value.
|
|
384
|
+
* Used when the component is controlled.
|
|
385
|
+
*/
|
|
386
|
+
value: PropTypes.any,
|
|
387
|
+
/**
|
|
388
|
+
* The visible view.
|
|
389
|
+
* Used when the component view is controlled.
|
|
390
|
+
* Must be a valid option from `views` list.
|
|
391
|
+
*/
|
|
392
|
+
view: PropTypes.oneOf(['hours']),
|
|
393
|
+
/**
|
|
394
|
+
* Available views.
|
|
395
|
+
*/
|
|
396
|
+
views: PropTypes.arrayOf(PropTypes.oneOf(['hours']))
|
|
397
|
+
} : void 0;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
4
|
+
import { DigitalClockClasses } from './digitalClockClasses';
|
|
5
|
+
import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
|
|
6
|
+
import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '../internals/models/props/clock';
|
|
7
|
+
import { TimeView } from '../models';
|
|
8
|
+
export interface ExportedDigitalClockProps<TDate> extends ExportedBaseClockProps<TDate>, DigitalClockOnlyProps {
|
|
9
|
+
}
|
|
10
|
+
export interface DigitalClockSlotsComponent {
|
|
11
|
+
/**
|
|
12
|
+
* Component responsible for rendering a single digital clock item.
|
|
13
|
+
* @default MenuItem from '@mui/material'
|
|
14
|
+
*/
|
|
15
|
+
DigitalClockItem?: React.ElementType;
|
|
16
|
+
}
|
|
17
|
+
export interface DigitalClockSlotsComponentsProps {
|
|
18
|
+
digitalClockItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
|
|
19
|
+
}
|
|
20
|
+
export interface DigitalClockProps<TDate> extends ExportedDigitalClockProps<TDate>, BaseClockProps<TDate, Extract<TimeView, 'hours'>> {
|
|
21
|
+
/**
|
|
22
|
+
* Override or extend the styles applied to the component.
|
|
23
|
+
*/
|
|
24
|
+
classes?: Partial<DigitalClockClasses>;
|
|
25
|
+
/**
|
|
26
|
+
* Overrideable components.
|
|
27
|
+
* @default {}
|
|
28
|
+
* @deprecated Please use `slots`.
|
|
29
|
+
*/
|
|
30
|
+
components?: DigitalClockSlotsComponent;
|
|
31
|
+
/**
|
|
32
|
+
* The props used for each component slot.
|
|
33
|
+
* @default {}
|
|
34
|
+
* @deprecated Please use `slotProps`.
|
|
35
|
+
*/
|
|
36
|
+
componentsProps?: DigitalClockSlotsComponentsProps;
|
|
37
|
+
/**
|
|
38
|
+
* Overrideable component slots.
|
|
39
|
+
* @default {}
|
|
40
|
+
*/
|
|
41
|
+
slots?: UncapitalizeObjectKeys<DigitalClockSlotsComponent>;
|
|
42
|
+
/**
|
|
43
|
+
* The props used for each component slot.
|
|
44
|
+
* @default {}
|
|
45
|
+
*/
|
|
46
|
+
slotProps?: DigitalClockSlotsComponentsProps;
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DigitalClockClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the list (by default: MenuList) element. */
|
|
5
|
+
list: string;
|
|
6
|
+
/** Styles applied to the list item (by default: MenuItem) element. */
|
|
7
|
+
item: string;
|
|
8
|
+
}
|
|
9
|
+
export type DigitalClockClassKey = keyof DigitalClockClasses;
|
|
10
|
+
export declare function getDigitalClockUtilityClass(slot: string): string;
|
|
11
|
+
export declare const digitalClockClasses: DigitalClockClasses;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
+
export function getDigitalClockUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiDigitalClock', slot);
|
|
5
|
+
}
|
|
6
|
+
export const digitalClockClasses = generateUtilityClasses('MuiDigitalClock', ['root', 'list', 'item']);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DigitalClock } from './DigitalClock';
|
|
2
|
+
export type { DigitalClockProps, DigitalClockSlotsComponent, DigitalClockSlotsComponentsProps, ExportedDigitalClockProps, } from './DigitalClock.types';
|
|
3
|
+
export { digitalClockClasses, getDigitalClockUtilityClass } from './digitalClockClasses';
|
|
4
|
+
export type { DigitalClockClasses, DigitalClockClassKey } from './digitalClockClasses';
|
|
@@ -17,7 +17,7 @@ export interface LocalizationProviderProps<TDate> {
|
|
|
17
17
|
children?: React.ReactNode;
|
|
18
18
|
/**
|
|
19
19
|
* Date library adapter class function.
|
|
20
|
-
* @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#
|
|
20
|
+
* @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
|
|
21
21
|
*/
|
|
22
22
|
dateAdapter?: new (...args: any) => MuiPickersAdapter<TDate>;
|
|
23
23
|
/** Formats that are used for any child pickers */
|
|
@@ -90,7 +90,7 @@ process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
|
|
|
90
90
|
children: PropTypes.node,
|
|
91
91
|
/**
|
|
92
92
|
* Date library adapter class function.
|
|
93
|
-
* @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#
|
|
93
|
+
* @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
|
|
94
94
|
*/
|
|
95
95
|
dateAdapter: PropTypes.func,
|
|
96
96
|
/**
|
|
@@ -6,7 +6,7 @@ import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
|
6
6
|
import { getDatePickerFieldFormat, useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
7
7
|
import { useLocaleText, useUtils, validateDate } from '../internals';
|
|
8
8
|
import { DateField } from '../DateField';
|
|
9
|
-
import { extractValidationProps } from '../internals/utils/validation';
|
|
9
|
+
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
10
10
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
11
11
|
import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
12
12
|
const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
|
|
@@ -46,6 +46,7 @@ const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker
|
|
|
46
46
|
} = useMobilePicker({
|
|
47
47
|
props,
|
|
48
48
|
valueManager: singleItemValueManager,
|
|
49
|
+
valueType: 'date',
|
|
49
50
|
getOpenDialogAriaText: localeText.openDatePickerDialogue,
|
|
50
51
|
validator: validateDate
|
|
51
52
|
});
|
|
@@ -7,7 +7,7 @@ import { DateTimeField } from '../DateTimeField';
|
|
|
7
7
|
import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
|
|
8
8
|
import { useLocaleText, validateDateTime } from '../internals';
|
|
9
9
|
import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
10
|
-
import { extractValidationProps } from '../internals/utils/validation';
|
|
10
|
+
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
11
11
|
import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
12
12
|
import { renderTimeViewClock } from '../timeViewRenderers';
|
|
13
13
|
const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
|
|
@@ -55,6 +55,7 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
|
|
|
55
55
|
} = useMobilePicker({
|
|
56
56
|
props,
|
|
57
57
|
valueManager: singleItemValueManager,
|
|
58
|
+
valueType: 'date-time',
|
|
58
59
|
getOpenDialogAriaText: localeText.openDatePickerDialogue,
|
|
59
60
|
validator: validateDateTime
|
|
60
61
|
});
|
|
@@ -348,6 +349,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
348
349
|
shouldDisableMonth: PropTypes.func,
|
|
349
350
|
/**
|
|
350
351
|
* Disable specific time.
|
|
352
|
+
* @template TDate
|
|
351
353
|
* @param {TDate} value The value to check.
|
|
352
354
|
* @param {TimeView} view The clock type of the timeValue.
|
|
353
355
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -7,7 +7,7 @@ import { TimeField } from '../TimeField';
|
|
|
7
7
|
import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
|
|
8
8
|
import { useLocaleText, validateTime } from '../internals';
|
|
9
9
|
import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
10
|
-
import { extractValidationProps } from '../internals/utils/validation';
|
|
10
|
+
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
11
11
|
import { renderTimeViewClock } from '../timeViewRenderers';
|
|
12
12
|
const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
|
|
13
13
|
var _defaultizedProps$amp, _defaultizedProps$slo2;
|
|
@@ -48,6 +48,7 @@ const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker
|
|
|
48
48
|
} = useMobilePicker({
|
|
49
49
|
props,
|
|
50
50
|
valueManager: singleItemValueManager,
|
|
51
|
+
valueType: 'time',
|
|
51
52
|
getOpenDialogAriaText: localeText.openTimePickerDialogue,
|
|
52
53
|
validator: validateTime
|
|
53
54
|
});
|
|
@@ -251,6 +252,7 @@ MobileTimePicker.propTypes = {
|
|
|
251
252
|
shouldDisableClock: PropTypes.func,
|
|
252
253
|
/**
|
|
253
254
|
* Disable specific time.
|
|
255
|
+
* @template TDate
|
|
254
256
|
* @param {TDate} value The value to check.
|
|
255
257
|
* @param {TimeView} view The clock type of the timeValue.
|
|
256
258
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -2,32 +2,33 @@ import { UseMobilePickerSlotsComponent, ExportedUseMobilePickerSlotsComponentsPr
|
|
|
2
2
|
import { BaseTimePickerProps, BaseTimePickerSlotsComponent, BaseTimePickerSlotsComponentsProps } from '../TimePicker/shared';
|
|
3
3
|
import { MakeOptional } from '../internals/models/helpers';
|
|
4
4
|
import { TimeView } from '../models';
|
|
5
|
+
import { TimeViewWithMeridiem } from '../internals/models';
|
|
5
6
|
import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
|
|
6
|
-
export interface MobileTimePickerSlotsComponent<TDate> extends BaseTimePickerSlotsComponent<TDate>, MakeOptional<UseMobilePickerSlotsComponent<TDate,
|
|
7
|
+
export interface MobileTimePickerSlotsComponent<TDate, TView extends TimeViewWithMeridiem = TimeView> extends BaseTimePickerSlotsComponent<TDate>, MakeOptional<UseMobilePickerSlotsComponent<TDate, TView>, 'Field'> {
|
|
7
8
|
}
|
|
8
|
-
export interface MobileTimePickerSlotsComponentsProps<TDate> extends BaseTimePickerSlotsComponentsProps, ExportedUseMobilePickerSlotsComponentsProps<TDate,
|
|
9
|
+
export interface MobileTimePickerSlotsComponentsProps<TDate, TView extends TimeViewWithMeridiem = TimeView> extends BaseTimePickerSlotsComponentsProps, ExportedUseMobilePickerSlotsComponentsProps<TDate, TView> {
|
|
9
10
|
}
|
|
10
|
-
export interface MobileTimePickerProps<TDate> extends BaseTimePickerProps<TDate>, MobileOnlyPickerProps<TDate> {
|
|
11
|
+
export interface MobileTimePickerProps<TDate, TView extends TimeViewWithMeridiem = TimeView> extends BaseTimePickerProps<TDate, TView>, MobileOnlyPickerProps<TDate> {
|
|
11
12
|
/**
|
|
12
13
|
* Overridable components.
|
|
13
14
|
* @default {}
|
|
14
15
|
* @deprecated Please use `slots`.
|
|
15
16
|
*/
|
|
16
|
-
components?: MobileTimePickerSlotsComponent<TDate>;
|
|
17
|
+
components?: MobileTimePickerSlotsComponent<TDate, TView>;
|
|
17
18
|
/**
|
|
18
19
|
* The props used for each component slot.
|
|
19
20
|
* @default {}
|
|
20
21
|
* @deprecated Please use `slotProps`.
|
|
21
22
|
*/
|
|
22
|
-
componentsProps?: MobileTimePickerSlotsComponentsProps<TDate>;
|
|
23
|
+
componentsProps?: MobileTimePickerSlotsComponentsProps<TDate, TView>;
|
|
23
24
|
/**
|
|
24
25
|
* Overridable component slots.
|
|
25
26
|
* @default {}
|
|
26
27
|
*/
|
|
27
|
-
slots?: UncapitalizeObjectKeys<MobileTimePickerSlotsComponent<TDate>>;
|
|
28
|
+
slots?: UncapitalizeObjectKeys<MobileTimePickerSlotsComponent<TDate, TView>>;
|
|
28
29
|
/**
|
|
29
30
|
* The props used for each component slot.
|
|
30
31
|
* @default {}
|
|
31
32
|
*/
|
|
32
|
-
slotProps?: MobileTimePickerSlotsComponentsProps<TDate>;
|
|
33
|
+
slotProps?: MobileTimePickerSlotsComponentsProps<TDate, TView>;
|
|
33
34
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SxProps } from '@mui/system';
|
|
2
2
|
import { Theme } from '@mui/material/styles';
|
|
3
3
|
import { MonthCalendarClasses } from './monthCalendarClasses';
|
|
4
|
-
import { BaseDateValidationProps, MonthValidationProps } from '../internals/
|
|
4
|
+
import { BaseDateValidationProps, MonthValidationProps } from '../internals/models/validation';
|
|
5
5
|
export interface ExportedMonthCalendarProps {
|
|
6
6
|
/**
|
|
7
7
|
* Months rendered per row.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MultiSectionDigitalClockProps } from './MultiSectionDigitalClock.types';
|
|
3
|
+
type MultiSectionDigitalClockComponent = (<TDate>(props: MultiSectionDigitalClockProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
|
|
4
|
+
propTypes?: any;
|
|
5
|
+
};
|
|
6
|
+
export declare const MultiSectionDigitalClock: MultiSectionDigitalClockComponent;
|
|
7
|
+
export {};
|