@mui/x-date-pickers 6.2.1 → 6.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDateFns/AdapterDateFns.d.ts +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 -3
- 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 +24 -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 +25 -3
- package/DateTimeField/DateTimeField.types.d.ts +4 -11
- package/DateTimeField/useDateTimeField.js +4 -2
- package/DateTimePicker/DateTimePicker.js +1 -0
- package/DateTimePicker/shared.d.ts +6 -12
- package/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/DesktopTimePicker/DesktopTimePicker.js +52 -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/MobileDatePicker/MobileDatePicker.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
- package/MobileTimePicker/MobileTimePicker.js +2 -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/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
- package/StaticTimePicker/StaticTimePicker.js +2 -1
- package/StaticTimePicker/StaticTimePicker.types.d.ts +1 -1
- package/TimeClock/TimeClock.js +35 -12
- package/TimeClock/TimeClock.types.d.ts +5 -67
- package/TimeField/TimeField.js +25 -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 +2 -1
- 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 -4
- package/internals/hooks/useField/useField.utils.d.ts +8 -5
- package/internals/hooks/useField/useField.utils.js +61 -35
- package/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/internals/hooks/useField/useFieldState.js +4 -3
- package/internals/hooks/useIsLandscape.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -6
- package/internals/hooks/usePicker/usePicker.d.ts +4 -3
- 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 +1 -1
- package/internals/hooks/usePicker/usePickerValue.js +1 -1
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +1 -1
- package/internals/hooks/usePicker/usePickerViews.d.ts +12 -12
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
- 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} +13 -3
- 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/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +1 -1
- package/internals/utils/{validation.js → validation/extractValidationProps.js} +1 -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/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 +24 -3
- package/legacy/DateField/useDateField.js +4 -2
- package/legacy/DatePicker/DatePickerToolbar.js +1 -1
- package/legacy/DateTimeField/DateTimeField.js +25 -3
- package/legacy/DateTimeField/useDateTimeField.js +4 -2
- package/legacy/DateTimePicker/DateTimePicker.js +1 -0
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +53 -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/MobileDatePicker/MobileDatePicker.js +1 -1
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +2 -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/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
- package/legacy/StaticTimePicker/StaticTimePicker.js +2 -1
- package/legacy/TimeClock/TimeClock.js +35 -12
- package/legacy/TimeField/TimeField.js +25 -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 +2 -1
- package/legacy/internals/hooks/useField/useField.js +11 -10
- package/legacy/internals/hooks/useField/useField.utils.js +59 -35
- package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/legacy/internals/hooks/useField/useFieldState.js +6 -4
- package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
- 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/utils/{validation.js → validation/extractValidationProps.js} +1 -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/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/describeValidation/testTextFieldValidation.js +26 -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 +19 -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 +24 -3
- package/modern/DateField/useDateField.js +4 -2
- package/modern/DatePicker/DatePickerToolbar.js +1 -1
- package/modern/DateTimeField/DateTimeField.js +25 -3
- package/modern/DateTimeField/useDateTimeField.js +4 -2
- package/modern/DateTimePicker/DateTimePicker.js +1 -0
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +51 -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/MobileDatePicker/MobileDatePicker.js +1 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +2 -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/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
- package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
- package/modern/TimeClock/TimeClock.js +35 -12
- package/modern/TimeField/TimeField.js +25 -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 +2 -1
- package/modern/internals/hooks/useField/useField.js +12 -11
- package/modern/internals/hooks/useField/useField.utils.js +61 -35
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
- package/modern/internals/hooks/useField/useFieldState.js +4 -3
- package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
- 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/utils/{validation.js → validation/extractValidationProps.js} +1 -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/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/describeValidation/testTextFieldValidation.js +27 -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 +24 -3
- package/node/DateField/useDateField.js +5 -3
- package/node/DatePicker/DatePickerToolbar.js +1 -1
- package/node/DateTimeField/DateTimeField.js +25 -3
- package/node/DateTimeField/useDateTimeField.js +5 -3
- package/node/DateTimePicker/DateTimePicker.js +1 -0
- package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +52 -8
- package/node/DigitalClock/DigitalClock.js +406 -0
- package/node/DigitalClock/digitalClockClasses.js +15 -0
- package/node/DigitalClock/index.js +25 -0
- package/node/MobileDatePicker/MobileDatePicker.js +2 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +3 -2
- package/node/MobileTimePicker/MobileTimePicker.js +3 -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/StaticDateTimePicker/StaticDateTimePicker.js +3 -2
- package/node/StaticTimePicker/StaticTimePicker.js +3 -2
- package/node/TimeClock/TimeClock.js +35 -12
- package/node/TimeField/TimeField.js +25 -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 +2 -1
- package/node/internals/hooks/useField/useField.js +12 -11
- package/node/internals/hooks/useField/useField.utils.js +64 -37
- package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
- package/node/internals/hooks/useField/useFieldState.js +4 -3
- package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
- 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.js → validation/extractValidationProps.js} +1 -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/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/describeValidation/testTextFieldValidation.js +27 -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/describeValidation/testTextFieldValidation.js +27 -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/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
+
export function getMultiSectionDigitalClockUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiMultiSectionDigitalClock', slot);
|
|
5
|
+
}
|
|
6
|
+
export const multiSectionDigitalClockClasses = generateUtilityClasses('MuiMultiSectionDigitalClock', ['root']);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
+
export function getMultiSectionDigitalClockSectionUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiMultiSectionDigitalClock', slot);
|
|
5
|
+
}
|
|
6
|
+
export const multiSectionDigitalClockSectionClasses = generateUtilityClasses('MuiMultiSectionDigitalClock', ['root', 'item']);
|
|
@@ -63,8 +63,11 @@ const styleArg = ({
|
|
|
63
63
|
backgroundColor: (theme.vars || theme).palette.primary.dark
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
[`&.${pickersDayClasses.disabled}`]: {
|
|
66
|
+
[`&.${pickersDayClasses.disabled}:not(.${pickersDayClasses.selected})`]: {
|
|
67
67
|
color: (theme.vars || theme).palette.text.disabled
|
|
68
|
+
},
|
|
69
|
+
[`&.${pickersDayClasses.disabled}&.${pickersDayClasses.selected}`]: {
|
|
70
|
+
opacity: 0.6
|
|
68
71
|
}
|
|
69
72
|
}, !ownerState.disableMargin && {
|
|
70
73
|
margin: `0 ${DAY_MARGIN}px`
|
|
@@ -155,8 +155,8 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
|
|
|
155
155
|
slots: PropTypes.object,
|
|
156
156
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
157
157
|
value: PropTypes.any,
|
|
158
|
-
view: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
|
|
159
|
-
views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
|
|
158
|
+
view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
159
|
+
views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
|
|
160
160
|
wrapperVariant: PropTypes.oneOf(['desktop', 'mobile'])
|
|
161
161
|
} : void 0;
|
|
162
162
|
export { PickersLayout };
|
|
@@ -6,7 +6,7 @@ import { renderTimeViewClock } from '../timeViewRenderers';
|
|
|
6
6
|
import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
7
7
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
8
8
|
import { useStaticPicker } from '../internals/hooks/useStaticPicker';
|
|
9
|
-
import { validateDateTime } from '../internals/
|
|
9
|
+
import { validateDateTime } from '../internals/utils/validation/validateDateTime';
|
|
10
10
|
const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function StaticDateTimePicker(inProps, ref) {
|
|
11
11
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiStaticDateTimePicker');
|
|
12
12
|
const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
|
|
@@ -282,6 +282,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
282
282
|
shouldDisableMonth: PropTypes.func,
|
|
283
283
|
/**
|
|
284
284
|
* Disable specific time.
|
|
285
|
+
* @template TDate
|
|
285
286
|
* @param {TDate} value The value to check.
|
|
286
287
|
* @param {TimeView} view The clock type of the timeValue.
|
|
287
288
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -5,7 +5,7 @@ import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
|
|
|
5
5
|
import { renderTimeViewClock } from '../timeViewRenderers';
|
|
6
6
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
7
7
|
import { useStaticPicker } from '../internals/hooks/useStaticPicker';
|
|
8
|
-
import { validateTime } from '../internals/
|
|
8
|
+
import { validateTime } from '../internals/utils/validation/validateTime';
|
|
9
9
|
const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTimePicker(inProps, ref) {
|
|
10
10
|
const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiStaticTimePicker');
|
|
11
11
|
const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
|
|
@@ -184,6 +184,7 @@ StaticTimePicker.propTypes = {
|
|
|
184
184
|
shouldDisableClock: PropTypes.func,
|
|
185
185
|
/**
|
|
186
186
|
* Disable specific time.
|
|
187
|
+
* @template TDate
|
|
187
188
|
* @param {TDate} value The value to check.
|
|
188
189
|
* @param {TimeView} view The clock type of the timeValue.
|
|
189
190
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["ampm", "ampmInClock", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "showViewSwitcher", "onChange", "defaultValue", "view", "views", "openTo", "onViewChange", "className", "disabled", "readOnly"];
|
|
3
|
+
const _excluded = ["ampm", "ampmInClock", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "showViewSwitcher", "onChange", "defaultValue", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
@@ -85,6 +85,8 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
|
|
|
85
85
|
views = ['hours', 'minutes'],
|
|
86
86
|
openTo,
|
|
87
87
|
onViewChange,
|
|
88
|
+
focusedView,
|
|
89
|
+
onFocusedViewChange,
|
|
88
90
|
className,
|
|
89
91
|
disabled,
|
|
90
92
|
readOnly
|
|
@@ -113,7 +115,9 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
|
|
|
113
115
|
views,
|
|
114
116
|
openTo,
|
|
115
117
|
onViewChange,
|
|
116
|
-
onChange: handleValueChange
|
|
118
|
+
onChange: handleValueChange,
|
|
119
|
+
focusedView,
|
|
120
|
+
onFocusedViewChange
|
|
117
121
|
});
|
|
118
122
|
const selectedTimeOrMidnight = React.useMemo(() => value || utils.setSeconds(utils.setMinutes(utils.setHours(now, 0), 0), 0), [value, now, utils]);
|
|
119
123
|
const {
|
|
@@ -271,7 +275,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
|
|
|
271
275
|
ownerState: ownerState
|
|
272
276
|
}, other, {
|
|
273
277
|
children: [/*#__PURE__*/_jsx(Clock, _extends({
|
|
274
|
-
autoFocus: autoFocus,
|
|
278
|
+
autoFocus: autoFocus ?? !!focusedView,
|
|
275
279
|
ampmInClock: ampmInClock && views.includes('hours'),
|
|
276
280
|
value: value,
|
|
277
281
|
type: view,
|
|
@@ -313,7 +317,10 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
313
317
|
*/
|
|
314
318
|
ampmInClock: PropTypes.bool,
|
|
315
319
|
/**
|
|
316
|
-
*
|
|
320
|
+
* If `true`, the main element is focused during the first mount.
|
|
321
|
+
* This main element is:
|
|
322
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
323
|
+
* - the `input` element if there is a field rendered.
|
|
317
324
|
*/
|
|
318
325
|
autoFocus: PropTypes.bool,
|
|
319
326
|
/**
|
|
@@ -339,7 +346,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
339
346
|
*/
|
|
340
347
|
defaultValue: PropTypes.any,
|
|
341
348
|
/**
|
|
342
|
-
* If `true`, the picker and text field are disabled.
|
|
349
|
+
* If `true`, the picker views and text field are disabled.
|
|
343
350
|
* @default false
|
|
344
351
|
*/
|
|
345
352
|
disabled: PropTypes.bool,
|
|
@@ -358,6 +365,10 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
358
365
|
* @default false
|
|
359
366
|
*/
|
|
360
367
|
disablePast: PropTypes.bool,
|
|
368
|
+
/**
|
|
369
|
+
* Controlled focused view.
|
|
370
|
+
*/
|
|
371
|
+
focusedView: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
361
372
|
/**
|
|
362
373
|
* Maximal selectable time.
|
|
363
374
|
* The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
|
|
@@ -378,20 +389,30 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
378
389
|
* @template TDate
|
|
379
390
|
* @param {TDate | null} value The new value.
|
|
380
391
|
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
392
|
+
* @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
|
|
381
393
|
*/
|
|
382
394
|
onChange: PropTypes.func,
|
|
395
|
+
/**
|
|
396
|
+
* Callback fired on focused view change.
|
|
397
|
+
* @template TView
|
|
398
|
+
* @param {TView} view The new view to focus or not.
|
|
399
|
+
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
400
|
+
*/
|
|
401
|
+
onFocusedViewChange: PropTypes.func,
|
|
383
402
|
/**
|
|
384
403
|
* Callback fired on view change.
|
|
385
|
-
* @
|
|
404
|
+
* @template TView
|
|
405
|
+
* @param {TView} view The new view.
|
|
386
406
|
*/
|
|
387
407
|
onViewChange: PropTypes.func,
|
|
388
408
|
/**
|
|
389
|
-
*
|
|
390
|
-
*
|
|
409
|
+
* The default visible view.
|
|
410
|
+
* Used when the component view is not controlled.
|
|
411
|
+
* Must be a valid option from `views` list.
|
|
391
412
|
*/
|
|
392
413
|
openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
393
414
|
/**
|
|
394
|
-
*
|
|
415
|
+
* If `true`, the picker views and text field are read-only.
|
|
395
416
|
* @default false
|
|
396
417
|
*/
|
|
397
418
|
readOnly: PropTypes.bool,
|
|
@@ -405,6 +426,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
405
426
|
shouldDisableClock: PropTypes.func,
|
|
406
427
|
/**
|
|
407
428
|
* Disable specific time.
|
|
429
|
+
* @template TDate
|
|
408
430
|
* @param {TDate} value The value to check.
|
|
409
431
|
* @param {TimeView} view The clock type of the timeValue.
|
|
410
432
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -431,12 +453,13 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
431
453
|
*/
|
|
432
454
|
value: PropTypes.any,
|
|
433
455
|
/**
|
|
434
|
-
*
|
|
456
|
+
* The visible view.
|
|
457
|
+
* Used when the component view is controlled.
|
|
458
|
+
* Must be a valid option from `views` list.
|
|
435
459
|
*/
|
|
436
460
|
view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
437
461
|
/**
|
|
438
|
-
*
|
|
439
|
-
* @default ['hours', 'minutes']
|
|
462
|
+
* Available views.
|
|
440
463
|
*/
|
|
441
464
|
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)
|
|
442
465
|
} : void 0;
|
|
@@ -54,11 +54,13 @@ const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref)
|
|
|
54
54
|
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
55
55
|
ref: ref
|
|
56
56
|
}, fieldProps, {
|
|
57
|
+
InputProps: _extends({}, fieldProps.InputProps, {
|
|
58
|
+
readOnly
|
|
59
|
+
}),
|
|
57
60
|
inputProps: _extends({}, fieldProps.inputProps, {
|
|
58
|
-
ref: inputRef,
|
|
59
|
-
onPaste,
|
|
60
61
|
inputMode,
|
|
61
|
-
|
|
62
|
+
onPaste,
|
|
63
|
+
ref: inputRef
|
|
62
64
|
})
|
|
63
65
|
}));
|
|
64
66
|
});
|
|
@@ -219,6 +221,10 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
219
221
|
* @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
|
|
220
222
|
*/
|
|
221
223
|
onChange: PropTypes.func,
|
|
224
|
+
/**
|
|
225
|
+
* @ignore
|
|
226
|
+
*/
|
|
227
|
+
onClick: PropTypes.func,
|
|
222
228
|
/**
|
|
223
229
|
* Callback fired when the error associated to the current value changes.
|
|
224
230
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -267,11 +273,27 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
267
273
|
shouldDisableClock: PropTypes.func,
|
|
268
274
|
/**
|
|
269
275
|
* Disable specific time.
|
|
276
|
+
* @template TDate
|
|
270
277
|
* @param {TDate} value The value to check.
|
|
271
278
|
* @param {TimeView} view The clock type of the timeValue.
|
|
272
279
|
* @returns {boolean} If `true` the time will be disabled.
|
|
273
280
|
*/
|
|
274
281
|
shouldDisableTime: PropTypes.func,
|
|
282
|
+
/**
|
|
283
|
+
* If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
|
|
284
|
+
* If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
|
|
285
|
+
*
|
|
286
|
+
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
|
|
287
|
+
*
|
|
288
|
+
* Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
|
|
289
|
+
* If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
|
|
290
|
+
*
|
|
291
|
+
* Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
|
|
292
|
+
* This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
|
|
293
|
+
*
|
|
294
|
+
* @default `false`
|
|
295
|
+
*/
|
|
296
|
+
shouldRespectLeadingZeros: PropTypes.bool,
|
|
275
297
|
/**
|
|
276
298
|
* The size of the component.
|
|
277
299
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["value", "defaultValue", "format", "formatDensity", "onChange", "readOnly", "onError", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
|
|
3
|
+
const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
|
|
4
4
|
import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
|
|
5
5
|
import { useField } from '../internals/hooks/useField';
|
|
6
|
-
import { validateTime } from '../internals/
|
|
6
|
+
import { validateTime } from '../internals/utils/validation/validateTime';
|
|
7
7
|
import { useUtils } from '../internals/hooks/useUtils';
|
|
8
8
|
const useDefaultizedTimeField = props => {
|
|
9
9
|
const utils = useUtils();
|
|
@@ -25,6 +25,7 @@ export const useTimeField = ({
|
|
|
25
25
|
defaultValue,
|
|
26
26
|
format,
|
|
27
27
|
formatDensity,
|
|
28
|
+
shouldRespectLeadingZeros,
|
|
28
29
|
onChange,
|
|
29
30
|
readOnly,
|
|
30
31
|
onError,
|
|
@@ -50,6 +51,7 @@ export const useTimeField = ({
|
|
|
50
51
|
defaultValue,
|
|
51
52
|
format,
|
|
52
53
|
formatDensity,
|
|
54
|
+
shouldRespectLeadingZeros,
|
|
53
55
|
onChange,
|
|
54
56
|
readOnly,
|
|
55
57
|
onError,
|
|
@@ -207,7 +207,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
207
207
|
* Used when the component view is not controlled.
|
|
208
208
|
* Must be a valid option from `views` list.
|
|
209
209
|
*/
|
|
210
|
-
openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
210
|
+
openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
|
|
211
211
|
/**
|
|
212
212
|
* Force rendering in particular orientation.
|
|
213
213
|
*/
|
|
@@ -236,11 +236,17 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
236
236
|
shouldDisableClock: PropTypes.func,
|
|
237
237
|
/**
|
|
238
238
|
* Disable specific time.
|
|
239
|
+
* @template TDate
|
|
239
240
|
* @param {TDate} value The value to check.
|
|
240
241
|
* @param {TimeView} view The clock type of the timeValue.
|
|
241
242
|
* @returns {boolean} If `true` the time will be disabled.
|
|
242
243
|
*/
|
|
243
244
|
shouldDisableTime: PropTypes.func,
|
|
245
|
+
/**
|
|
246
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
247
|
+
* @default false
|
|
248
|
+
*/
|
|
249
|
+
skipDisabled: PropTypes.bool,
|
|
244
250
|
/**
|
|
245
251
|
* The props used for each component slot.
|
|
246
252
|
* @default {}
|
|
@@ -255,6 +261,22 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
255
261
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
256
262
|
*/
|
|
257
263
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
264
|
+
/**
|
|
265
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
266
|
+
* @default 24
|
|
267
|
+
*/
|
|
268
|
+
thresholdToRenderTimeInASingleColumn: PropTypes.number,
|
|
269
|
+
/**
|
|
270
|
+
* The time steps between two time unit options.
|
|
271
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
272
|
+
* When single column time renderer is used, only `timeStep.minutes` will be used.
|
|
273
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
274
|
+
*/
|
|
275
|
+
timeSteps: PropTypes.shape({
|
|
276
|
+
hours: PropTypes.number,
|
|
277
|
+
minutes: PropTypes.number,
|
|
278
|
+
seconds: PropTypes.number
|
|
279
|
+
}),
|
|
258
280
|
/**
|
|
259
281
|
* The selected value.
|
|
260
282
|
* Used when the component is controlled.
|
|
@@ -265,7 +287,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
265
287
|
* Used when the component view is controlled.
|
|
266
288
|
* Must be a valid option from `views` list.
|
|
267
289
|
*/
|
|
268
|
-
view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
|
|
290
|
+
view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
|
|
269
291
|
/**
|
|
270
292
|
* Define custom view renderers for each section.
|
|
271
293
|
* If `null`, the section will only have field editing.
|
|
@@ -273,6 +295,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
273
295
|
*/
|
|
274
296
|
viewRenderers: PropTypes.shape({
|
|
275
297
|
hours: PropTypes.func,
|
|
298
|
+
meridiem: PropTypes.func,
|
|
276
299
|
minutes: PropTypes.func,
|
|
277
300
|
seconds: PropTypes.func
|
|
278
301
|
}),
|
|
@@ -240,7 +240,7 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
|
|
|
240
240
|
/**
|
|
241
241
|
* Currently visible picker view.
|
|
242
242
|
*/
|
|
243
|
-
view: PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired,
|
|
244
|
-
views: PropTypes.arrayOf(PropTypes.oneOf(['
|
|
243
|
+
view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired,
|
|
244
|
+
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
|
|
245
245
|
} : void 0;
|
|
246
246
|
export { TimePickerToolbar };
|
package/modern/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers v6.
|
|
2
|
+
* @mui/x-date-pickers v6.3.1
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
+
// Clocks
|
|
8
9
|
export * from './TimeClock';
|
|
10
|
+
export * from './DigitalClock';
|
|
11
|
+
export * from './MultiSectionDigitalClock';
|
|
9
12
|
export * from './LocalizationProvider';
|
|
10
13
|
export * from './PickersDay';
|
|
11
14
|
export * from './locales';
|
|
@@ -9,6 +9,9 @@ const getChildTypeFromChildName = childName => {
|
|
|
9
9
|
if (childName.match(/^([A-Za-z]+)Range(Calendar|Clock)$/)) {
|
|
10
10
|
return 'multi-panel-UI-view';
|
|
11
11
|
}
|
|
12
|
+
if (childName.match(/^([A-Za-z]*)(DigitalClock)$/)) {
|
|
13
|
+
return 'Tall-UI-view';
|
|
14
|
+
}
|
|
12
15
|
if (childName.match(/^Static([A-Za-z]+)/) || childName.match(/^([A-Za-z]+)(Calendar|Clock)$/)) {
|
|
13
16
|
return 'UI-view';
|
|
14
17
|
}
|
|
@@ -73,7 +76,7 @@ export function DemoContainer(props) {
|
|
|
73
76
|
});
|
|
74
77
|
const getSpacing = direction => {
|
|
75
78
|
if (direction === 'row') {
|
|
76
|
-
return childrenTypes.has('UI-view') ? 3 : 2;
|
|
79
|
+
return childrenTypes.has('UI-view') || childrenTypes.has('Tall-UI-view') ? 3 : 2;
|
|
77
80
|
}
|
|
78
81
|
return childrenTypes.has('UI-view') ? 4 : 3;
|
|
79
82
|
};
|
|
@@ -23,13 +23,13 @@ export function usePreviousMonthDisabled(month, {
|
|
|
23
23
|
return !utils.isBefore(firstEnabledMonth, month);
|
|
24
24
|
}, [disablePast, minDate, month, utils]);
|
|
25
25
|
}
|
|
26
|
-
export function useMeridiemMode(date, ampm, onChange) {
|
|
26
|
+
export function useMeridiemMode(date, ampm, onChange, selectionState) {
|
|
27
27
|
const utils = useUtils();
|
|
28
28
|
const meridiemMode = getMeridiem(date, utils);
|
|
29
29
|
const handleMeridiemChange = React.useCallback(mode => {
|
|
30
30
|
const timeWithMeridiem = date == null ? null : convertToMeridiem(date, mode, Boolean(ampm), utils);
|
|
31
|
-
onChange(timeWithMeridiem, 'partial');
|
|
32
|
-
}, [ampm, date, onChange, utils]);
|
|
31
|
+
onChange(timeWithMeridiem, selectionState ?? 'partial');
|
|
32
|
+
}, [ampm, date, onChange, selectionState, utils]);
|
|
33
33
|
return {
|
|
34
34
|
meridiemMode,
|
|
35
35
|
handleMeridiemChange
|
|
@@ -6,7 +6,7 @@ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
|
6
6
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
7
7
|
import useForkRef from '@mui/utils/useForkRef';
|
|
8
8
|
import { useTheme } from '@mui/material/styles';
|
|
9
|
-
import { useValidation } from '../
|
|
9
|
+
import { useValidation } from '../useValidation';
|
|
10
10
|
import { useUtils } from '../useUtils';
|
|
11
11
|
import { adjustSectionValue, isAndroid, cleanString, getSectionOrder } from './useField.utils';
|
|
12
12
|
import { useFieldState } from './useFieldState';
|
|
@@ -26,15 +26,6 @@ export const useField = params => {
|
|
|
26
26
|
sectionsValueBoundaries,
|
|
27
27
|
placeholder
|
|
28
28
|
} = useFieldState(params);
|
|
29
|
-
const {
|
|
30
|
-
applyCharacterEditing,
|
|
31
|
-
resetCharacterQuery
|
|
32
|
-
} = useFieldCharacterEditing({
|
|
33
|
-
sections: state.sections,
|
|
34
|
-
updateSectionValue,
|
|
35
|
-
sectionsValueBoundaries,
|
|
36
|
-
setTempAndroidValueStr
|
|
37
|
-
});
|
|
38
29
|
const {
|
|
39
30
|
inputRef: inputRefProp,
|
|
40
31
|
internalProps,
|
|
@@ -56,6 +47,15 @@ export const useField = params => {
|
|
|
56
47
|
validator
|
|
57
48
|
} = params,
|
|
58
49
|
otherForwardedProps = _objectWithoutPropertiesLoose(params.forwardedProps, _excluded);
|
|
50
|
+
const {
|
|
51
|
+
applyCharacterEditing,
|
|
52
|
+
resetCharacterQuery
|
|
53
|
+
} = useFieldCharacterEditing({
|
|
54
|
+
sections: state.sections,
|
|
55
|
+
updateSectionValue,
|
|
56
|
+
sectionsValueBoundaries,
|
|
57
|
+
setTempAndroidValueStr
|
|
58
|
+
});
|
|
59
59
|
const inputRef = React.useRef(null);
|
|
60
60
|
const handleRef = useForkRef(inputRefProp, inputRef);
|
|
61
61
|
const focusTimeoutRef = React.useRef(undefined);
|
|
@@ -120,7 +120,8 @@ export const useField = params => {
|
|
|
120
120
|
const activeSection = state.sections[selectedSectionIndexes.startIndex];
|
|
121
121
|
const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);
|
|
122
122
|
const digitsOnly = /^[0-9]+$/.test(pastedValue);
|
|
123
|
-
const
|
|
123
|
+
const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);
|
|
124
|
+
const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;
|
|
124
125
|
if (isValidPastedValue) {
|
|
125
126
|
// Early return to let the paste update section, value
|
|
126
127
|
return;
|