@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,151 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
const _excluded = ["autoFocus", "onChange", "className", "disabled", "readOnly", "items", "active", "slots", "slotProps", "skipDisabled"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { alpha, styled, useThemeProps } from '@mui/material/styles';
|
|
7
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
8
|
+
import MenuList from '@mui/material/MenuList';
|
|
9
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
10
|
+
import useForkRef from '@mui/utils/useForkRef';
|
|
11
|
+
import { getMultiSectionDigitalClockSectionUtilityClass } from './multiSectionDigitalClockSectionClasses';
|
|
12
|
+
import { DIGITAL_CLOCK_VIEW_HEIGHT } from '../internals/constants/dimensions';
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
const useUtilityClasses = ownerState => {
|
|
15
|
+
const {
|
|
16
|
+
classes
|
|
17
|
+
} = ownerState;
|
|
18
|
+
const slots = {
|
|
19
|
+
root: ['root'],
|
|
20
|
+
item: ['item']
|
|
21
|
+
};
|
|
22
|
+
return composeClasses(slots, getMultiSectionDigitalClockSectionUtilityClass, classes);
|
|
23
|
+
};
|
|
24
|
+
const MultiSectionDigitalClockSectionRoot = styled(MenuList, {
|
|
25
|
+
name: 'MuiMultiSectionDigitalClockSection',
|
|
26
|
+
slot: 'Root',
|
|
27
|
+
overridesResolver: (_, styles) => styles.root
|
|
28
|
+
})(({
|
|
29
|
+
theme,
|
|
30
|
+
ownerState
|
|
31
|
+
}) => ({
|
|
32
|
+
maxHeight: DIGITAL_CLOCK_VIEW_HEIGHT,
|
|
33
|
+
width: 56,
|
|
34
|
+
padding: 0,
|
|
35
|
+
overflow: 'hidden',
|
|
36
|
+
scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto',
|
|
37
|
+
'&:hover': {
|
|
38
|
+
overflowY: 'auto'
|
|
39
|
+
},
|
|
40
|
+
'&:not(:first-of-type)': {
|
|
41
|
+
borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`
|
|
42
|
+
},
|
|
43
|
+
'&:after': {
|
|
44
|
+
display: 'block',
|
|
45
|
+
content: '""',
|
|
46
|
+
height: 188
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
const MultiSectionDigitalClockSectionItem = styled(MenuItem, {
|
|
50
|
+
name: 'MuiMultiSectionDigitalClockSection',
|
|
51
|
+
slot: 'Item',
|
|
52
|
+
overridesResolver: (_, styles) => styles.item
|
|
53
|
+
})(({
|
|
54
|
+
theme
|
|
55
|
+
}) => ({
|
|
56
|
+
padding: 8,
|
|
57
|
+
margin: '2px 4px',
|
|
58
|
+
width: 48,
|
|
59
|
+
justifyContent: 'center',
|
|
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
|
+
/**
|
|
78
|
+
* @ignore - internal component.
|
|
79
|
+
*/
|
|
80
|
+
export const MultiSectionDigitalClockSection = /*#__PURE__*/React.forwardRef(function MultiSectionDigitalClockSection(inProps, ref) {
|
|
81
|
+
var _slots$digitalClockSe;
|
|
82
|
+
const containerRef = React.useRef(null);
|
|
83
|
+
const handleRef = useForkRef(ref, containerRef);
|
|
84
|
+
const props = useThemeProps({
|
|
85
|
+
props: inProps,
|
|
86
|
+
name: 'MuiMultiSectionDigitalClockSection'
|
|
87
|
+
});
|
|
88
|
+
const {
|
|
89
|
+
autoFocus,
|
|
90
|
+
onChange,
|
|
91
|
+
className,
|
|
92
|
+
disabled,
|
|
93
|
+
readOnly,
|
|
94
|
+
items,
|
|
95
|
+
active,
|
|
96
|
+
slots,
|
|
97
|
+
slotProps,
|
|
98
|
+
skipDisabled
|
|
99
|
+
} = props,
|
|
100
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
101
|
+
const ownerState = React.useMemo(() => _extends({}, props, {
|
|
102
|
+
alreadyRendered: !!containerRef.current
|
|
103
|
+
}), [props]);
|
|
104
|
+
const classes = useUtilityClasses(ownerState);
|
|
105
|
+
const DigitalClockSectionItem = (_slots$digitalClockSe = slots == null ? void 0 : slots.digitalClockSectionItem) != null ? _slots$digitalClockSe : MultiSectionDigitalClockSectionItem;
|
|
106
|
+
React.useEffect(() => {
|
|
107
|
+
if (containerRef.current === null) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const selectedItem = containerRef.current.querySelector('[role="option"][aria-selected="true"]');
|
|
111
|
+
if (!selectedItem) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (active && autoFocus) {
|
|
115
|
+
selectedItem.focus();
|
|
116
|
+
}
|
|
117
|
+
const offsetTop = selectedItem.offsetTop;
|
|
118
|
+
|
|
119
|
+
// Subtracting the 4px of extra margin intended for the first visible section item
|
|
120
|
+
containerRef.current.scrollTop = offsetTop - 4;
|
|
121
|
+
});
|
|
122
|
+
return /*#__PURE__*/_jsx(MultiSectionDigitalClockSectionRoot, _extends({
|
|
123
|
+
ref: handleRef,
|
|
124
|
+
className: clsx(classes.root, className),
|
|
125
|
+
ownerState: ownerState,
|
|
126
|
+
autoFocusItem: autoFocus && active,
|
|
127
|
+
role: "listbox"
|
|
128
|
+
}, other, {
|
|
129
|
+
children: items.map(option => {
|
|
130
|
+
var _option$isDisabled, _option$isDisabled2;
|
|
131
|
+
if (skipDisabled && (_option$isDisabled = option.isDisabled) != null && _option$isDisabled.call(option, option.value)) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const isSelected = option.isSelected(option.value);
|
|
135
|
+
return /*#__PURE__*/_jsx(DigitalClockSectionItem, _extends({
|
|
136
|
+
onClick: () => !readOnly && onChange(option.value),
|
|
137
|
+
selected: isSelected,
|
|
138
|
+
disabled: disabled != null ? disabled : (_option$isDisabled2 = option.isDisabled) == null ? void 0 : _option$isDisabled2.call(option, option.value),
|
|
139
|
+
disableRipple: readOnly,
|
|
140
|
+
role: "option"
|
|
141
|
+
// aria-readonly is not supported here and does not have any effect
|
|
142
|
+
,
|
|
143
|
+
"aria-disabled": readOnly,
|
|
144
|
+
"aria-label": option.ariaLabel,
|
|
145
|
+
"aria-selected": isSelected
|
|
146
|
+
}, slotProps == null ? void 0 : slotProps.digitalClockSectionItem, {
|
|
147
|
+
children: option.label
|
|
148
|
+
}), option.label);
|
|
149
|
+
})
|
|
150
|
+
}));
|
|
151
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MultiSectionDigitalClock } from './MultiSectionDigitalClock';
|
|
2
|
+
export type { MultiSectionDigitalClockProps, MultiSectionDigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponentsProps, } from './MultiSectionDigitalClock.types';
|
|
3
|
+
export { multiSectionDigitalClockSectionClasses } from './multiSectionDigitalClockSectionClasses';
|
|
4
|
+
export type { MultiSectionDigitalClockSectionClasses, MultiSectionDigitalClockSectionClassKey, } from './multiSectionDigitalClockSectionClasses';
|
|
5
|
+
export type { ExportedMultiSectionDigitalClockSectionProps } from './MultiSectionDigitalClockSection';
|
|
6
|
+
export { multiSectionDigitalClockClasses, getMultiSectionDigitalClockUtilityClass, } from './multiSectionDigitalClockClasses';
|
|
7
|
+
export type { MultiSectionDigitalClockClasses, MultiSectionDigitalClockClassKey, } from './multiSectionDigitalClockClasses';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { MultiSectionDigitalClock } from './MultiSectionDigitalClock';
|
|
2
|
+
export { multiSectionDigitalClockSectionClasses } from './multiSectionDigitalClockSectionClasses';
|
|
3
|
+
export { multiSectionDigitalClockClasses, getMultiSectionDigitalClockUtilityClass } from './multiSectionDigitalClockClasses';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface MultiSectionDigitalClockClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
}
|
|
5
|
+
export type MultiSectionDigitalClockClassKey = keyof MultiSectionDigitalClockClasses;
|
|
6
|
+
export declare function getMultiSectionDigitalClockUtilityClass(slot: string): string;
|
|
7
|
+
export declare const multiSectionDigitalClockClasses: MultiSectionDigitalClockClasses;
|
|
@@ -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,9 @@
|
|
|
1
|
+
export interface MultiSectionDigitalClockSectionClasses {
|
|
2
|
+
/** Styles applied to the root (list) element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the list item (by default: MenuItem) element. */
|
|
5
|
+
item: string;
|
|
6
|
+
}
|
|
7
|
+
export type MultiSectionDigitalClockSectionClassKey = keyof MultiSectionDigitalClockSectionClasses;
|
|
8
|
+
export declare function getMultiSectionDigitalClockSectionUtilityClass(slot: string): string;
|
|
9
|
+
export declare const multiSectionDigitalClockSectionClasses: MultiSectionDigitalClockSectionClasses;
|
|
@@ -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']);
|
package/PickersDay/PickersDay.js
CHANGED
|
@@ -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`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PickersLayoutProps } from './PickersLayout.types';
|
|
3
|
-
import {
|
|
3
|
+
import { DateOrTimeViewWithMeridiem } from '../internals/models';
|
|
4
4
|
declare const PickersLayoutRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
|
|
5
5
|
ownerState: {
|
|
6
6
|
isLandscape: boolean;
|
|
@@ -9,7 +9,7 @@ declare const PickersLayoutRoot: import("@emotion/styled").StyledComponent<impor
|
|
|
9
9
|
export { PickersLayoutRoot };
|
|
10
10
|
export declare const PickersLayoutContentWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
|
|
11
11
|
declare const PickersLayout: {
|
|
12
|
-
<TValue, TDate, TView extends
|
|
12
|
+
<TValue, TDate, TView extends DateOrTimeViewWithMeridiem>(inProps: PickersLayoutProps<TValue, TDate, TView>): JSX.Element;
|
|
13
13
|
propTypes: any;
|
|
14
14
|
};
|
|
15
15
|
export { PickersLayout };
|
|
@@ -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 };
|
|
@@ -2,15 +2,14 @@ import * as React from 'react';
|
|
|
2
2
|
import { SxProps, Theme } from '@mui/material/styles';
|
|
3
3
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
4
4
|
import { PickersActionBarProps } from '../PickersActionBar';
|
|
5
|
-
import { DateOrTimeView } from '../models';
|
|
6
5
|
import { BaseToolbarProps, ExportedBaseToolbarProps } from '../internals/models/props/toolbar';
|
|
7
6
|
import { BaseTabsProps, ExportedBaseTabsProps } from '../internals/models/props/tabs';
|
|
8
7
|
import { UsePickerLayoutPropsResponseLayoutProps } from '../internals/hooks/usePicker/usePickerLayoutProps';
|
|
9
8
|
import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
|
|
10
9
|
import { PickersLayoutClasses } from './pickersLayoutClasses';
|
|
11
|
-
import { WrapperVariant } from '../internals/models/common';
|
|
10
|
+
import { DateOrTimeViewWithMeridiem, WrapperVariant } from '../internals/models/common';
|
|
12
11
|
import { PickersShortcutsProps } from '../PickersShortcuts';
|
|
13
|
-
export interface ExportedPickersLayoutSlotsComponent<TValue, TDate, TView extends
|
|
12
|
+
export interface ExportedPickersLayoutSlotsComponent<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> {
|
|
14
13
|
/**
|
|
15
14
|
* Custom component for the action bar, it is placed below the picker views.
|
|
16
15
|
* @default PickersActionBar
|
|
@@ -27,13 +26,13 @@ export interface ExportedPickersLayoutSlotsComponent<TValue, TDate, TView extend
|
|
|
27
26
|
*/
|
|
28
27
|
Layout?: React.JSXElementConstructor<PickersLayoutProps<TValue, TDate, TView> & React.RefAttributes<HTMLDivElement>>;
|
|
29
28
|
}
|
|
30
|
-
interface PickersLayoutActionBarOwnerState<TValue, TDate, TView extends
|
|
29
|
+
interface PickersLayoutActionBarOwnerState<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersLayoutProps<TValue, TDate, TView> {
|
|
31
30
|
wrapperVariant: WrapperVariant;
|
|
32
31
|
}
|
|
33
32
|
interface PickersShortcutsOwnerState<TValue> extends PickersShortcutsProps<TValue> {
|
|
34
33
|
wrapperVariant: WrapperVariant;
|
|
35
34
|
}
|
|
36
|
-
export interface ExportedPickersLayoutSlotsComponentsProps<TValue, TDate, TView extends
|
|
35
|
+
export interface ExportedPickersLayoutSlotsComponentsProps<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> {
|
|
37
36
|
/**
|
|
38
37
|
* Props passed down to the action bar component.
|
|
39
38
|
*/
|
|
@@ -47,7 +46,7 @@ export interface ExportedPickersLayoutSlotsComponentsProps<TValue, TDate, TView
|
|
|
47
46
|
*/
|
|
48
47
|
layout?: Partial<PickersLayoutProps<TValue, TDate, TView>>;
|
|
49
48
|
}
|
|
50
|
-
export interface PickersLayoutSlotsComponent<TValue, TDate, TView extends
|
|
49
|
+
export interface PickersLayoutSlotsComponent<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponent<TValue, TDate, TView> {
|
|
51
50
|
/**
|
|
52
51
|
* Tabs enabling toggling between views.
|
|
53
52
|
*/
|
|
@@ -58,7 +57,7 @@ export interface PickersLayoutSlotsComponent<TValue, TDate, TView extends DateOr
|
|
|
58
57
|
*/
|
|
59
58
|
Toolbar?: React.JSXElementConstructor<BaseToolbarProps<TValue, TView>>;
|
|
60
59
|
}
|
|
61
|
-
export interface PickersLayoutSlotsComponentsProps<TValue, TDate, TView extends
|
|
60
|
+
export interface PickersLayoutSlotsComponentsProps<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponentsProps<TValue, TDate, TView> {
|
|
62
61
|
/**
|
|
63
62
|
* Props passed down to the tabs component.
|
|
64
63
|
*/
|
|
@@ -68,7 +67,7 @@ export interface PickersLayoutSlotsComponentsProps<TValue, TDate, TView extends
|
|
|
68
67
|
*/
|
|
69
68
|
toolbar?: ExportedBaseToolbarProps;
|
|
70
69
|
}
|
|
71
|
-
export interface PickersLayoutProps<TValue, TDate, TView extends
|
|
70
|
+
export interface PickersLayoutProps<TValue, TDate, TView extends DateOrTimeViewWithMeridiem> extends Omit<UsePickerLayoutPropsResponseLayoutProps<TValue, TView>, 'value'> {
|
|
72
71
|
value?: TValue;
|
|
73
72
|
className?: string;
|
|
74
73
|
children?: React.ReactNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PickersLayoutProps, SubComponents } from './PickersLayout.types';
|
|
2
|
-
import {
|
|
2
|
+
import { DateOrTimeViewWithMeridiem } from '../internals/models';
|
|
3
3
|
interface UsePickerLayoutResponse extends SubComponents {
|
|
4
4
|
}
|
|
5
|
-
declare const usePickerLayout: <TValue, TDate, TView extends
|
|
5
|
+
declare const usePickerLayout: <TValue, TDate, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TDate, TView>) => UsePickerLayoutResponse;
|
|
6
6
|
export default usePickerLayout;
|
package/README.md
CHANGED
|
@@ -42,15 +42,6 @@ This component has the following peer dependencies that you will need to install
|
|
|
42
42
|
},
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
If you need to use `js-joda`, `date-fns-jalali`, `jalaali`, or `hijri` library, you should be able to find the corresponding date-library from [`@date-io`](https://github.com/dmtrKovalenko/date-io#projects).
|
|
46
|
-
In such a case, you will have to install both the date-library and the corresponding @date-io adapter.
|
|
47
|
-
|
|
48
|
-
```jsx
|
|
49
|
-
// To use moment-jalaali
|
|
50
|
-
npm install moment-jalaali
|
|
51
|
-
npm install @date-io/jalaali
|
|
52
|
-
```
|
|
53
|
-
|
|
54
45
|
After installation completed, you have to set the `dateAdapter` prop of the `LocalizationProvider` accordingly.
|
|
55
46
|
The supported adapters are exported from `@mui/x-date-pickers`.
|
|
56
47
|
|
|
@@ -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
|
var _defaultizedProps$dis, _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo, _defaultizedProps$slo2;
|
|
12
12
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiStaticDateTimePicker');
|
|
@@ -283,6 +283,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
283
283
|
shouldDisableMonth: PropTypes.func,
|
|
284
284
|
/**
|
|
285
285
|
* Disable specific time.
|
|
286
|
+
* @template TDate
|
|
286
287
|
* @param {TDate} value The value to check.
|
|
287
288
|
* @param {TimeView} view The clock type of the timeValue.
|
|
288
289
|
* @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
|
var _defaultizedProps$dis, _defaultizedProps$amp, _defaultizedProps$slo;
|
|
11
11
|
const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiStaticTimePicker');
|
|
@@ -185,6 +185,7 @@ StaticTimePicker.propTypes = {
|
|
|
185
185
|
shouldDisableClock: PropTypes.func,
|
|
186
186
|
/**
|
|
187
187
|
* Disable specific time.
|
|
188
|
+
* @template TDate
|
|
188
189
|
* @param {TDate} value The value to check.
|
|
189
190
|
* @param {TimeView} view The clock type of the timeValue.
|
|
190
191
|
* @returns {boolean} If `true` the time will be disabled.
|
|
@@ -6,7 +6,7 @@ export interface StaticTimePickerSlotsComponent<TDate> extends BaseTimePickerSlo
|
|
|
6
6
|
}
|
|
7
7
|
export interface StaticTimePickerSlotsComponentsProps<TDate> extends BaseTimePickerSlotsComponentsProps, UseStaticPickerSlotsComponentsProps<TDate, TimeView> {
|
|
8
8
|
}
|
|
9
|
-
export interface StaticTimePickerProps<TDate> extends BaseTimePickerProps<TDate>, MakeOptional<StaticOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
9
|
+
export interface StaticTimePickerProps<TDate> extends BaseTimePickerProps<TDate, TimeView>, MakeOptional<StaticOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
10
10
|
/**
|
|
11
11
|
* Overridable components.
|
|
12
12
|
* @default {}
|
package/TimeClock/TimeClock.js
CHANGED
|
@@ -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 != null ? 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;
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import { SxProps } from '@mui/system';
|
|
2
|
-
import { Theme } from '@mui/material/styles';
|
|
3
1
|
import { TimeClockClasses } from './timeClockClasses';
|
|
4
|
-
import { TimeValidationProps, BaseTimeValidationProps } from '../internals/hooks/validation/models';
|
|
5
2
|
import { PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps } from '../internals/components/PickersArrowSwitcher';
|
|
6
|
-
import { TimeView } from '../models';
|
|
7
|
-
import { PickerSelectionState } from '../internals/hooks/usePicker/usePickerValue.types';
|
|
8
3
|
import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
ampm?: boolean;
|
|
4
|
+
import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
|
|
5
|
+
import { TimeView } from '../models';
|
|
6
|
+
import { TimeViewWithMeridiem } from '../internals/models';
|
|
7
|
+
export interface ExportedTimeClockProps<TDate> extends ExportedBaseClockProps<TDate> {
|
|
15
8
|
/**
|
|
16
9
|
* Display ampm controls under the clock (instead of in the toolbar).
|
|
17
10
|
* @default false
|
|
@@ -22,16 +15,7 @@ export interface TimeClockSlotsComponent extends PickersArrowSwitcherSlotsCompon
|
|
|
22
15
|
}
|
|
23
16
|
export interface TimeClockSlotsComponentsProps extends PickersArrowSwitcherSlotsComponentsProps {
|
|
24
17
|
}
|
|
25
|
-
export interface TimeClockProps<TDate> extends ExportedTimeClockProps<TDate> {
|
|
26
|
-
className?: string;
|
|
27
|
-
/**
|
|
28
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
29
|
-
*/
|
|
30
|
-
sx?: SxProps<Theme>;
|
|
31
|
-
/**
|
|
32
|
-
* Set to `true` if focus should be moved to clock picker.
|
|
33
|
-
*/
|
|
34
|
-
autoFocus?: boolean;
|
|
18
|
+
export interface TimeClockProps<TDate, TView extends TimeViewWithMeridiem = TimeView> extends ExportedTimeClockProps<TDate>, BaseClockProps<TDate, TView> {
|
|
35
19
|
/**
|
|
36
20
|
* Override or extend the styles applied to the component.
|
|
37
21
|
*/
|
|
@@ -58,51 +42,5 @@ export interface TimeClockProps<TDate> extends ExportedTimeClockProps<TDate> {
|
|
|
58
42
|
* @default {}
|
|
59
43
|
*/
|
|
60
44
|
slotProps?: TimeClockSlotsComponentsProps;
|
|
61
|
-
/**
|
|
62
|
-
* The selected value.
|
|
63
|
-
* Used when the component is controlled.
|
|
64
|
-
*/
|
|
65
|
-
value?: TDate | null;
|
|
66
|
-
/**
|
|
67
|
-
* The default selected value.
|
|
68
|
-
* Used when the component is not controlled.
|
|
69
|
-
*/
|
|
70
|
-
defaultValue?: TDate | null;
|
|
71
|
-
/**
|
|
72
|
-
* Callback fired when the value changes.
|
|
73
|
-
* @template TDate
|
|
74
|
-
* @param {TDate | null} value The new value.
|
|
75
|
-
* @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
|
|
76
|
-
*/
|
|
77
|
-
onChange?: (value: TDate | null, selectionState?: PickerSelectionState) => void;
|
|
78
45
|
showViewSwitcher?: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Controlled open view.
|
|
81
|
-
*/
|
|
82
|
-
view?: TimeView;
|
|
83
|
-
/**
|
|
84
|
-
* Views for calendar picker.
|
|
85
|
-
* @default ['hours', 'minutes']
|
|
86
|
-
*/
|
|
87
|
-
views?: readonly TimeView[];
|
|
88
|
-
/**
|
|
89
|
-
* Callback fired on view change.
|
|
90
|
-
* @param {TimeView} view The new view.
|
|
91
|
-
*/
|
|
92
|
-
onViewChange?: (view: TimeView) => void;
|
|
93
|
-
/**
|
|
94
|
-
* Initially open view.
|
|
95
|
-
* @default 'hours'
|
|
96
|
-
*/
|
|
97
|
-
openTo?: TimeView;
|
|
98
|
-
/**
|
|
99
|
-
* If `true`, the picker and text field are disabled.
|
|
100
|
-
* @default false
|
|
101
|
-
*/
|
|
102
|
-
disabled?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Make picker read only.
|
|
105
|
-
* @default false
|
|
106
|
-
*/
|
|
107
|
-
readOnly?: boolean;
|
|
108
46
|
}
|