@mui/x-date-pickers 8.0.0-alpha.1 → 8.0.0-alpha.11
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 +2 -4
- package/AdapterDateFns/AdapterDateFns.js +49 -47
- package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
- package/AdapterDateFnsJalaliV2/index.js +1 -0
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
- package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
- package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/AdapterDateFnsV2/index.d.ts +1 -0
- package/AdapterDateFnsV2/index.js +1 -0
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
- package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
- package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.js +10 -0
- package/CHANGELOG.md +2007 -230
- package/DateCalendar/DateCalendar.js +41 -22
- package/DateCalendar/DateCalendar.types.d.ts +2 -1
- package/DateCalendar/DayCalendar.d.ts +1 -2
- package/DateCalendar/DayCalendar.js +12 -36
- package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
- package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/DateCalendar/PickersSlideTransition.d.ts +1 -1
- package/DateCalendar/PickersSlideTransition.js +12 -5
- package/DateCalendar/useCalendarState.d.ts +13 -27
- package/DateCalendar/useCalendarState.js +65 -55
- package/DateField/DateField.js +29 -33
- package/DateField/DateField.types.d.ts +7 -15
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +14 -11
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePicker.types.d.ts +7 -3
- package/DatePicker/DatePickerToolbar.d.ts +1 -2
- package/DatePicker/DatePickerToolbar.js +17 -33
- package/DatePicker/shared.d.ts +6 -5
- package/DateTimeField/DateTimeField.js +29 -33
- package/DateTimeField/DateTimeField.types.d.ts +7 -16
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +14 -11
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
- package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
- package/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
- package/DateTimePicker/DateTimePickerToolbar.js +88 -80
- package/DateTimePicker/shared.d.ts +8 -8
- package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
- package/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/DigitalClock/DigitalClock.js +13 -11
- package/DigitalClock/DigitalClock.types.d.ts +8 -2
- package/MobileDatePicker/MobileDatePicker.js +4 -14
- package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
- package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
- package/MobileTimePicker/MobileTimePicker.js +4 -14
- package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
- package/MonthCalendar/MonthCalendar.d.ts +1 -1
- package/MonthCalendar/MonthCalendar.js +31 -11
- package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
- package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
- package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
- package/MonthCalendar/index.d.ts +0 -3
- package/MonthCalendar/index.js +1 -2
- package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
- package/MonthCalendar/monthCalendarClasses.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
- package/PickersActionBar/PickersActionBar.d.ts +6 -7
- package/PickersActionBar/PickersActionBar.js +26 -17
- package/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +4 -6
- package/PickersLayout/PickersLayout.d.ts +7 -5
- package/PickersLayout/PickersLayout.js +23 -42
- package/PickersLayout/PickersLayout.types.d.ts +20 -22
- package/PickersLayout/usePickerLayout.d.ts +5 -4
- package/PickersLayout/usePickerLayout.js +26 -53
- package/PickersSectionList/PickersSectionList.js +21 -16
- package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
- package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
- package/PickersShortcuts/PickersShortcuts.js +21 -11
- package/PickersShortcuts/index.d.ts +1 -1
- package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
- package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
- package/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
- package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
- package/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
- package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
- package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/PickersTextField/PickersTextField.js +75 -62
- package/PickersTextField/PickersTextField.types.d.ts +43 -4
- package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
- package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/README.md +8 -5
- package/StaticDatePicker/StaticDatePicker.js +2 -2
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
- package/StaticTimePicker/StaticTimePicker.js +2 -2
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
- package/TimeClock/Clock.d.ts +4 -0
- package/TimeClock/Clock.js +27 -27
- package/TimeClock/ClockNumber.js +15 -11
- package/TimeClock/ClockPointer.d.ts +6 -1
- package/TimeClock/ClockPointer.js +16 -10
- package/TimeClock/TimeClock.js +30 -12
- package/TimeField/TimeField.js +28 -32
- package/TimeField/TimeField.types.d.ts +7 -16
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +14 -11
- package/TimePicker/TimePicker.js +2 -2
- package/TimePicker/TimePicker.types.d.ts +4 -5
- package/TimePicker/TimePickerToolbar.d.ts +1 -3
- package/TimePicker/TimePickerToolbar.js +36 -51
- package/TimePicker/shared.d.ts +6 -6
- package/YearCalendar/YearCalendar.js +46 -13
- package/YearCalendar/YearCalendar.types.d.ts +2 -2
- package/YearCalendar/YearCalendarButton.d.ts +23 -0
- package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
- package/YearCalendar/index.d.ts +0 -3
- package/YearCalendar/index.js +1 -2
- package/YearCalendar/yearCalendarClasses.d.ts +7 -1
- package/YearCalendar/yearCalendarClasses.js +1 -1
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +3 -1
- package/hooks/useClearableField.d.ts +5 -3
- package/hooks/useClearableField.js +4 -2
- package/hooks/useIsValidValue.d.ts +7 -0
- package/hooks/useIsValidValue.js +11 -0
- package/hooks/useParsedFormat.d.ts +9 -7
- package/hooks/useParsedFormat.js +11 -13
- package/hooks/usePickerActionsContext.d.ts +7 -0
- package/hooks/usePickerActionsContext.js +15 -0
- package/hooks/usePickerContext.d.ts +5 -1
- package/hooks/usePickerContext.js +2 -2
- package/hooks/useSplitFieldProps.d.ts +12 -3
- package/hooks/useSplitFieldProps.js +8 -3
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/PickerFieldUI.d.ts +133 -0
- package/internals/components/PickerFieldUI.js +317 -0
- package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
- package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
- package/internals/components/PickerPopper/index.d.ts +4 -0
- package/internals/components/PickerPopper/index.js +2 -0
- package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
- package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
- package/internals/components/PickerProvider.d.ts +86 -32
- package/internals/components/PickerProvider.js +25 -7
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
- package/internals/components/PickersModalDialog.d.ts +1 -3
- package/internals/components/PickersModalDialog.js +9 -3
- package/internals/components/PickersToolbar.d.ts +2 -3
- package/internals/components/PickersToolbar.js +15 -12
- package/internals/components/PickersToolbarButton.js +4 -6
- package/internals/components/PickersToolbarText.js +11 -13
- package/internals/hooks/date-helpers-hooks.js +4 -3
- package/internals/hooks/useClockReferenceDate.d.ts +2 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
- package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/internals/hooks/useField/index.d.ts +2 -0
- package/internals/hooks/useField/index.js +2 -1
- package/internals/hooks/useField/useField.d.ts +3 -3
- package/internals/hooks/useField/useField.js +17 -4
- package/internals/hooks/useField/useField.types.d.ts +55 -48
- package/internals/hooks/useField/useField.utils.d.ts +4 -3
- package/internals/hooks/useField/useField.utils.js +2 -2
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
- package/internals/hooks/useField/useFieldState.d.ts +9 -8
- package/internals/hooks/useField/useFieldState.js +2 -3
- package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
- package/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/internals/hooks/useFieldOwnerState.d.ts +6 -0
- package/internals/hooks/useFieldOwnerState.js +16 -0
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
- package/internals/hooks/useNullablePickerContext.d.ts +5 -0
- package/internals/hooks/useNullablePickerContext.js +10 -0
- package/internals/hooks/useOpenState.d.ts +3 -2
- package/internals/hooks/useOpenState.js +11 -9
- package/internals/hooks/usePicker/index.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.d.ts +3 -4
- package/internals/hooks/usePicker/usePicker.js +4 -20
- package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
- package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
- package/internals/hooks/usePicker/usePickerProvider.js +50 -16
- package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
- package/internals/hooks/usePicker/usePickerValue.js +84 -214
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
- package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
- package/internals/hooks/usePicker/usePickerViews.js +31 -20
- package/internals/hooks/useReduceAnimations.d.ts +2 -0
- package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
- package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
- package/internals/hooks/useToolbarOwnerState.js +13 -0
- package/internals/hooks/useUtils.d.ts +4 -3
- package/internals/hooks/useUtils.js +1 -1
- package/internals/hooks/useValueWithTimezone.d.ts +5 -4
- package/internals/hooks/useViews.d.ts +5 -5
- package/internals/index.d.ts +27 -18
- package/internals/index.js +13 -8
- package/internals/models/common.d.ts +1 -1
- package/internals/models/fields.d.ts +8 -24
- package/internals/models/index.d.ts +1 -0
- package/internals/models/index.js +2 -1
- package/internals/models/manager.d.ts +15 -0
- package/internals/models/manager.js +1 -0
- package/internals/models/pickers.d.ts +1 -0
- package/internals/models/pickers.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +3 -33
- package/internals/models/props/tabs.d.ts +0 -13
- package/internals/models/props/time.d.ts +2 -1
- package/internals/models/props/toolbar.d.ts +1 -19
- package/internals/models/value.d.ts +9 -0
- package/internals/utils/date-utils.d.ts +1 -1
- package/internals/utils/date-utils.js +1 -1
- package/internals/utils/utils.d.ts +3 -0
- package/internals/utils/utils.js +11 -1
- package/internals/utils/valueManagers.d.ts +4 -3
- package/internals/utils/valueManagers.js +4 -4
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/nbNO.js +15 -19
- package/locales/nlNL.js +7 -7
- package/locales/roRO.js +15 -18
- package/locales/utils/getPickersLocalization.d.ts +0 -7
- package/locales/utils/getPickersLocalization.js +0 -13
- package/locales/zhTW.d.ts +80 -0
- package/locales/zhTW.js +73 -0
- package/managers/index.d.ts +6 -0
- package/managers/index.js +3 -0
- package/managers/package.json +6 -0
- package/managers/useDateManager.d.ts +27 -0
- package/managers/useDateManager.js +55 -0
- package/managers/useDateTimeManager.d.ts +28 -0
- package/managers/useDateTimeManager.js +60 -0
- package/managers/useTimeManager.d.ts +28 -0
- package/managers/useTimeManager.js +51 -0
- package/models/adapters.d.ts +5 -5
- package/models/fields.d.ts +33 -9
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/manager.d.ts +87 -0
- package/models/manager.js +1 -0
- package/models/pickers.d.ts +7 -0
- package/models/validation.d.ts +2 -1
- package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
- package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/modern/AdapterDateFnsV2/index.js +1 -0
- package/modern/AdapterMoment/AdapterMoment.js +10 -0
- package/modern/DateCalendar/DateCalendar.js +41 -22
- package/modern/DateCalendar/DayCalendar.js +12 -36
- package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/modern/DateCalendar/PickersSlideTransition.js +12 -5
- package/modern/DateCalendar/useCalendarState.js +65 -55
- package/modern/DateField/DateField.js +29 -33
- package/modern/DateField/useDateField.js +14 -11
- package/modern/DatePicker/DatePicker.js +1 -1
- package/modern/DatePicker/DatePickerToolbar.js +17 -33
- package/modern/DateTimeField/DateTimeField.js +29 -33
- package/modern/DateTimeField/useDateTimeField.js +14 -11
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
- package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
- package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/modern/DigitalClock/DigitalClock.js +13 -11
- package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
- package/modern/MonthCalendar/MonthCalendar.js +31 -11
- package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
- package/modern/MonthCalendar/index.js +1 -2
- package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
- package/modern/PickersActionBar/PickersActionBar.js +26 -17
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/modern/PickersLayout/PickersLayout.js +23 -42
- package/modern/PickersLayout/usePickerLayout.js +26 -53
- package/modern/PickersSectionList/PickersSectionList.js +21 -16
- package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
- package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/modern/PickersTextField/PickersTextField.js +75 -62
- package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
- package/modern/TimeClock/Clock.js +27 -27
- package/modern/TimeClock/ClockNumber.js +15 -11
- package/modern/TimeClock/ClockPointer.js +16 -10
- package/modern/TimeClock/TimeClock.js +30 -12
- package/modern/TimeField/TimeField.js +28 -32
- package/modern/TimeField/useTimeField.js +14 -11
- package/modern/TimePicker/TimePicker.js +2 -2
- package/modern/TimePicker/TimePickerToolbar.js +36 -51
- package/modern/YearCalendar/YearCalendar.js +46 -13
- package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
- package/modern/YearCalendar/index.js +1 -2
- package/modern/YearCalendar/yearCalendarClasses.js +1 -1
- package/modern/hooks/index.js +3 -1
- package/modern/hooks/useClearableField.js +4 -2
- package/modern/hooks/useIsValidValue.js +11 -0
- package/modern/hooks/useParsedFormat.js +11 -13
- package/modern/hooks/usePickerActionsContext.js +15 -0
- package/modern/hooks/usePickerContext.js +2 -2
- package/modern/hooks/useSplitFieldProps.js +8 -3
- package/modern/index.js +3 -2
- package/modern/internals/components/PickerFieldUI.js +317 -0
- package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
- package/modern/internals/components/PickerPopper/index.js +2 -0
- package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
- package/modern/internals/components/PickerProvider.js +25 -7
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/modern/internals/components/PickersModalDialog.js +9 -3
- package/modern/internals/components/PickersToolbar.js +15 -12
- package/modern/internals/components/PickersToolbarButton.js +4 -6
- package/modern/internals/components/PickersToolbarText.js +11 -13
- package/modern/internals/hooks/date-helpers-hooks.js +4 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
- package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/modern/internals/hooks/useField/index.js +2 -1
- package/modern/internals/hooks/useField/useField.js +17 -4
- package/modern/internals/hooks/useField/useField.utils.js +2 -2
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
- package/modern/internals/hooks/useField/useFieldState.js +2 -3
- package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/modern/internals/hooks/useFieldOwnerState.js +16 -0
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
- package/modern/internals/hooks/useNullablePickerContext.js +10 -0
- package/modern/internals/hooks/useOpenState.js +11 -9
- package/modern/internals/hooks/usePicker/usePicker.js +4 -20
- package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
- package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
- package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
- package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
- package/modern/internals/hooks/useUtils.js +1 -1
- package/modern/internals/index.js +13 -8
- package/modern/internals/models/index.js +2 -1
- package/modern/internals/models/manager.js +1 -0
- package/modern/internals/models/pickers.js +1 -0
- package/modern/internals/utils/date-utils.js +1 -1
- package/modern/internals/utils/utils.js +11 -1
- package/modern/internals/utils/valueManagers.js +4 -4
- package/modern/locales/index.js +1 -0
- package/modern/locales/nbNO.js +15 -19
- package/modern/locales/nlNL.js +7 -7
- package/modern/locales/roRO.js +15 -18
- package/modern/locales/utils/getPickersLocalization.js +0 -13
- package/modern/locales/zhTW.js +73 -0
- package/modern/managers/index.js +3 -0
- package/modern/managers/useDateManager.js +55 -0
- package/modern/managers/useDateTimeManager.js +60 -0
- package/modern/managers/useTimeManager.js +51 -0
- package/modern/models/index.js +1 -0
- package/modern/models/manager.js +1 -0
- package/modern/validation/useValidation.js +1 -1
- package/modern/validation/validateDate.js +8 -0
- package/modern/validation/validateDateTime.js +8 -0
- package/modern/validation/validateTime.js +8 -0
- package/node/AdapterDateFns/AdapterDateFns.js +97 -97
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
- package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/AdapterMoment/AdapterMoment.js +10 -0
- package/node/DateCalendar/DateCalendar.js +41 -22
- package/node/DateCalendar/DayCalendar.js +12 -37
- package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
- package/node/DateCalendar/PickersSlideTransition.js +12 -5
- package/node/DateCalendar/useCalendarState.js +66 -57
- package/node/DateField/DateField.js +29 -33
- package/node/DateField/useDateField.js +13 -10
- package/node/DatePicker/DatePicker.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +17 -33
- package/node/DateTimeField/DateTimeField.js +29 -33
- package/node/DateTimeField/useDateTimeField.js +13 -10
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
- package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
- package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
- package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
- package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
- package/node/DigitalClock/DigitalClock.js +13 -11
- package/node/MobileDatePicker/MobileDatePicker.js +4 -14
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
- package/node/MobileTimePicker/MobileTimePicker.js +4 -14
- package/node/MonthCalendar/MonthCalendar.js +31 -11
- package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
- package/node/MonthCalendar/index.js +1 -8
- package/node/MonthCalendar/monthCalendarClasses.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
- package/node/PickersActionBar/PickersActionBar.js +28 -19
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
- package/node/PickersLayout/PickersLayout.js +23 -42
- package/node/PickersLayout/usePickerLayout.js +30 -57
- package/node/PickersSectionList/PickersSectionList.js +21 -16
- package/node/PickersShortcuts/PickersShortcuts.js +21 -11
- package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
- package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/node/PickersTextField/PickersTextField.js +75 -62
- package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/node/StaticTimePicker/StaticTimePicker.js +2 -2
- package/node/TimeClock/Clock.js +27 -27
- package/node/TimeClock/ClockNumber.js +15 -11
- package/node/TimeClock/ClockPointer.js +15 -10
- package/node/TimeClock/TimeClock.js +30 -12
- package/node/TimeField/TimeField.js +28 -32
- package/node/TimeField/useTimeField.js +13 -10
- package/node/TimePicker/TimePicker.js +2 -2
- package/node/TimePicker/TimePickerToolbar.js +36 -51
- package/node/YearCalendar/YearCalendar.js +45 -12
- package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
- package/node/YearCalendar/index.js +1 -8
- package/node/YearCalendar/yearCalendarClasses.js +1 -1
- package/node/hooks/index.js +15 -1
- package/node/hooks/useClearableField.js +4 -2
- package/node/hooks/useIsValidValue.js +18 -0
- package/node/hooks/useParsedFormat.js +11 -13
- package/node/hooks/usePickerActionsContext.js +22 -0
- package/node/hooks/usePickerContext.js +5 -4
- package/node/hooks/useSplitFieldProps.js +7 -2
- package/node/index.js +13 -1
- package/node/internals/components/PickerFieldUI.js +329 -0
- package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
- package/node/internals/components/PickerPopper/index.js +25 -0
- package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
- package/node/internals/components/PickerProvider.js +27 -9
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
- package/node/internals/components/PickersModalDialog.js +9 -3
- package/node/internals/components/PickersToolbar.js +15 -12
- package/node/internals/components/PickersToolbarButton.js +4 -6
- package/node/internals/components/PickersToolbarText.js +10 -12
- package/node/internals/hooks/date-helpers-hooks.js +4 -3
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
- package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/node/internals/hooks/useField/index.js +8 -1
- package/node/internals/hooks/useField/useField.js +16 -3
- package/node/internals/hooks/useField/useField.utils.js +2 -2
- package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
- package/node/internals/hooks/useField/useFieldState.js +2 -3
- package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
- package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
- package/node/internals/hooks/useFieldOwnerState.js +24 -0
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
- package/node/internals/hooks/useNullablePickerContext.js +16 -0
- package/node/internals/hooks/useOpenState.js +12 -9
- package/node/internals/hooks/usePicker/usePicker.js +4 -20
- package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
- package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
- package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
- package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
- package/node/internals/hooks/useToolbarOwnerState.js +21 -0
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/index.js +87 -34
- package/node/internals/models/index.js +11 -0
- package/node/internals/models/manager.js +5 -0
- package/node/internals/models/pickers.js +5 -0
- package/node/internals/utils/date-utils.js +1 -1
- package/node/internals/utils/utils.js +14 -2
- package/node/internals/utils/valueManagers.js +4 -4
- package/node/locales/index.js +11 -0
- package/node/locales/nbNO.js +15 -19
- package/node/locales/nlNL.js +7 -7
- package/node/locales/roRO.js +15 -18
- package/node/locales/utils/getPickersLocalization.js +2 -16
- package/node/locales/zhTW.js +79 -0
- package/node/managers/index.js +26 -0
- package/node/managers/useDateManager.js +63 -0
- package/node/managers/useDateTimeManager.js +68 -0
- package/node/managers/useTimeManager.js +59 -0
- package/node/models/index.js +11 -0
- package/node/models/manager.js +5 -0
- package/node/validation/useValidation.js +1 -1
- package/node/validation/validateDate.js +8 -0
- package/node/validation/validateDateTime.js +8 -0
- package/node/validation/validateTime.js +8 -0
- package/package.json +5 -5
- package/themeAugmentation/components.d.ts +3 -11
- package/themeAugmentation/overrides.d.ts +5 -7
- package/themeAugmentation/props.d.ts +7 -9
- package/validation/extractValidationProps.d.ts +1 -1
- package/validation/useValidation.d.ts +7 -6
- package/validation/useValidation.js +1 -1
- package/validation/validateDate.d.ts +12 -3
- package/validation/validateDate.js +8 -0
- package/validation/validateDateTime.d.ts +12 -4
- package/validation/validateDateTime.js +8 -0
- package/validation/validateTime.d.ts +12 -3
- package/validation/validateTime.js +8 -0
- package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
- package/AdapterDateFnsJalaliV3/index.js +0 -1
- package/AdapterDateFnsV3/index.d.ts +0 -1
- package/AdapterDateFnsV3/index.js +0 -1
- package/MonthCalendar/PickersMonth.d.ts +0 -28
- package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
- package/MonthCalendar/pickersMonthClasses.js +0 -5
- package/YearCalendar/PickersYear.d.ts +0 -27
- package/YearCalendar/pickersYearClasses.d.ts +0 -13
- package/YearCalendar/pickersYearClasses.js +0 -5
- package/internals/components/pickersPopperClasses.d.ts +0 -9
- package/internals/components/pickersPopperClasses.js +0 -5
- package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
- package/internals/hooks/defaultizedFieldProps.js +0 -40
- package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
- package/internals/hooks/useIsLandscape.d.ts +0 -4
- package/internals/hooks/useIsLandscape.js +0 -35
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
- package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
- package/modern/AdapterDateFnsV3/index.js +0 -1
- package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
- package/modern/YearCalendar/pickersYearClasses.js +0 -5
- package/modern/internals/components/pickersPopperClasses.js +0 -5
- package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
- package/modern/internals/hooks/useIsLandscape.js +0 -35
- package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
- package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
- package/node/MonthCalendar/pickersMonthClasses.js +0 -12
- package/node/YearCalendar/pickersYearClasses.js +0 -12
- package/node/internals/components/pickersPopperClasses.js +0 -12
- package/node/internals/hooks/defaultizedFieldProps.js +0 -50
- package/node/internals/hooks/useIsLandscape.js +0 -43
- package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
package/node/TimeClock/Clock.js
CHANGED
|
@@ -19,20 +19,17 @@ var _useUtils = require("../internals/hooks/useUtils");
|
|
|
19
19
|
var _shared = require("./shared");
|
|
20
20
|
var _clockClasses = require("./clockClasses");
|
|
21
21
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
22
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const useUtilityClasses = ownerState => {
|
|
24
|
-
const {
|
|
25
|
-
classes,
|
|
26
|
-
meridiemMode
|
|
27
|
-
} = ownerState;
|
|
24
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
28
25
|
const slots = {
|
|
29
26
|
root: ['root'],
|
|
30
27
|
clock: ['clock'],
|
|
31
28
|
wrapper: ['wrapper'],
|
|
32
29
|
squareMask: ['squareMask'],
|
|
33
30
|
pin: ['pin'],
|
|
34
|
-
amButton: ['amButton',
|
|
35
|
-
pmButton: ['pmButton',
|
|
31
|
+
amButton: ['amButton', ownerState.clockMeridiemMode === 'am' && 'selected'],
|
|
32
|
+
pmButton: ['pmButton', ownerState.clockMeridiemMode === 'pm' && 'selected'],
|
|
36
33
|
meridiemText: ['meridiemText']
|
|
37
34
|
};
|
|
38
35
|
return (0, _utils.unstable_composeClasses)(slots, _clockClasses.getClockUtilityClass, classes);
|
|
@@ -86,7 +83,7 @@ const ClockSquareMask = (0, _styles.styled)('div', {
|
|
|
86
83
|
userSelect: 'none',
|
|
87
84
|
variants: [{
|
|
88
85
|
props: {
|
|
89
|
-
|
|
86
|
+
isClockDisabled: false
|
|
90
87
|
},
|
|
91
88
|
style: {
|
|
92
89
|
'@media (pointer: fine)': {
|
|
@@ -188,15 +185,23 @@ function Clock(inProps) {
|
|
|
188
185
|
selectedId,
|
|
189
186
|
type,
|
|
190
187
|
viewValue,
|
|
188
|
+
viewRange: [minViewValue, maxViewValue],
|
|
191
189
|
disabled = false,
|
|
192
190
|
readOnly,
|
|
193
|
-
className
|
|
191
|
+
className,
|
|
192
|
+
classes: classesProp
|
|
194
193
|
} = props;
|
|
195
|
-
const ownerState = props;
|
|
196
194
|
const utils = (0, _useUtils.useUtils)();
|
|
197
195
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
196
|
+
const {
|
|
197
|
+
ownerState: pickerOwnerState
|
|
198
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
199
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
200
|
+
isClockDisabled: disabled,
|
|
201
|
+
clockMeridiemMode: meridiemMode
|
|
202
|
+
});
|
|
198
203
|
const isMoving = React.useRef(false);
|
|
199
|
-
const classes = useUtilityClasses(ownerState);
|
|
204
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
200
205
|
const isSelectedTimeDisabled = isTimeDisabled(viewValue, type);
|
|
201
206
|
const isPointerInner = !ampm && type === 'hours' && (viewValue < 1 || viewValue > 12);
|
|
202
207
|
const handleValueChange = (newValue, isFinish) => {
|
|
@@ -244,12 +249,7 @@ function Clock(inProps) {
|
|
|
244
249
|
}
|
|
245
250
|
setTime(event.nativeEvent, 'finish');
|
|
246
251
|
};
|
|
247
|
-
const
|
|
248
|
-
if (type === 'hours') {
|
|
249
|
-
return true;
|
|
250
|
-
}
|
|
251
|
-
return viewValue % 5 === 0;
|
|
252
|
-
}, [type, viewValue]);
|
|
252
|
+
const isPointerBetweenTwoClockValues = type === 'hours' ? false : viewValue % 5 !== 0;
|
|
253
253
|
const keyboardControlStep = type === 'minutes' ? minutesStep : 1;
|
|
254
254
|
const listboxRef = React.useRef(null);
|
|
255
255
|
// Since this is rendered when a Popper is opened we can't use passive effects.
|
|
@@ -260,6 +260,8 @@ function Clock(inProps) {
|
|
|
260
260
|
listboxRef.current.focus();
|
|
261
261
|
}
|
|
262
262
|
}, [autoFocus]);
|
|
263
|
+
const clampValue = newValue => Math.max(minViewValue, Math.min(maxViewValue, newValue));
|
|
264
|
+
const circleValue = newValue => (newValue + (maxViewValue + 1)) % (maxViewValue + 1);
|
|
263
265
|
const handleKeyDown = event => {
|
|
264
266
|
// TODO: Why this early exit?
|
|
265
267
|
if (isMoving.current) {
|
|
@@ -268,27 +270,27 @@ function Clock(inProps) {
|
|
|
268
270
|
switch (event.key) {
|
|
269
271
|
case 'Home':
|
|
270
272
|
// reset both hours and minutes
|
|
271
|
-
handleValueChange(
|
|
273
|
+
handleValueChange(minViewValue, 'partial');
|
|
272
274
|
event.preventDefault();
|
|
273
275
|
break;
|
|
274
276
|
case 'End':
|
|
275
|
-
handleValueChange(
|
|
277
|
+
handleValueChange(maxViewValue, 'partial');
|
|
276
278
|
event.preventDefault();
|
|
277
279
|
break;
|
|
278
280
|
case 'ArrowUp':
|
|
279
|
-
handleValueChange(viewValue + keyboardControlStep, 'partial');
|
|
281
|
+
handleValueChange(circleValue(viewValue + keyboardControlStep), 'partial');
|
|
280
282
|
event.preventDefault();
|
|
281
283
|
break;
|
|
282
284
|
case 'ArrowDown':
|
|
283
|
-
handleValueChange(viewValue - keyboardControlStep, 'partial');
|
|
285
|
+
handleValueChange(circleValue(viewValue - keyboardControlStep), 'partial');
|
|
284
286
|
event.preventDefault();
|
|
285
287
|
break;
|
|
286
288
|
case 'PageUp':
|
|
287
|
-
handleValueChange(viewValue + 5, 'partial');
|
|
289
|
+
handleValueChange(clampValue(viewValue + 5), 'partial');
|
|
288
290
|
event.preventDefault();
|
|
289
291
|
break;
|
|
290
292
|
case 'PageDown':
|
|
291
|
-
handleValueChange(viewValue - 5, 'partial');
|
|
293
|
+
handleValueChange(clampValue(viewValue - 5), 'partial');
|
|
292
294
|
event.preventDefault();
|
|
293
295
|
break;
|
|
294
296
|
case 'Enter':
|
|
@@ -310,9 +312,7 @@ function Clock(inProps) {
|
|
|
310
312
|
onTouchEnd: handleTouchEnd,
|
|
311
313
|
onMouseUp: handleMouseUp,
|
|
312
314
|
onMouseMove: handleMouseMove,
|
|
313
|
-
ownerState:
|
|
314
|
-
disabled
|
|
315
|
-
},
|
|
315
|
+
ownerState: ownerState,
|
|
316
316
|
className: classes.squareMask
|
|
317
317
|
}), !isSelectedTimeDisabled && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
318
318
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ClockPin, {
|
|
@@ -321,7 +321,7 @@ function Clock(inProps) {
|
|
|
321
321
|
type: type,
|
|
322
322
|
viewValue: viewValue,
|
|
323
323
|
isInner: isPointerInner,
|
|
324
|
-
|
|
324
|
+
isBetweenTwoClockValues: isPointerBetweenTwoClockValues
|
|
325
325
|
})]
|
|
326
326
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ClockWrapper, {
|
|
327
327
|
"aria-activedescendant": selectedId,
|
|
@@ -14,16 +14,12 @@ var _styles = require("@mui/material/styles");
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _shared = require("./shared");
|
|
16
16
|
var _clockNumberClasses = require("./clockNumberClasses");
|
|
17
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["className", "disabled", "index", "inner", "label", "selected"];
|
|
19
|
-
const useUtilityClasses = ownerState => {
|
|
20
|
-
const {
|
|
21
|
-
classes,
|
|
22
|
-
selected,
|
|
23
|
-
disabled
|
|
24
|
-
} = ownerState;
|
|
19
|
+
const _excluded = ["className", "classes", "disabled", "index", "inner", "label", "selected"];
|
|
20
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
25
21
|
const slots = {
|
|
26
|
-
root: ['root',
|
|
22
|
+
root: ['root', ownerState.isClockNumberSelected && 'selected', ownerState.isClockNumberDisabled && 'disabled']
|
|
27
23
|
};
|
|
28
24
|
return (0, _composeClasses.default)(slots, _clockNumberClasses.getClockNumberUtilityClass, classes);
|
|
29
25
|
};
|
|
@@ -60,7 +56,7 @@ const ClockNumberRoot = (0, _styles.styled)('span', {
|
|
|
60
56
|
},
|
|
61
57
|
variants: [{
|
|
62
58
|
props: {
|
|
63
|
-
|
|
59
|
+
isClockNumberInInnerRing: true
|
|
64
60
|
},
|
|
65
61
|
style: (0, _extends2.default)({}, theme.typography.body2, {
|
|
66
62
|
color: (theme.vars || theme).palette.text.secondary
|
|
@@ -78,6 +74,7 @@ function ClockNumber(inProps) {
|
|
|
78
74
|
});
|
|
79
75
|
const {
|
|
80
76
|
className,
|
|
77
|
+
classes: classesProp,
|
|
81
78
|
disabled,
|
|
82
79
|
index,
|
|
83
80
|
inner,
|
|
@@ -85,8 +82,15 @@ function ClockNumber(inProps) {
|
|
|
85
82
|
selected
|
|
86
83
|
} = props,
|
|
87
84
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
88
|
-
const
|
|
89
|
-
|
|
85
|
+
const {
|
|
86
|
+
ownerState: pickerOwnerState
|
|
87
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
88
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
89
|
+
isClockNumberInInnerRing: inner,
|
|
90
|
+
isClockNumberSelected: selected,
|
|
91
|
+
isClockNumberDisabled: disabled
|
|
92
|
+
});
|
|
93
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
90
94
|
const angle = index % 12 / 12 * Math.PI * 2 - Math.PI / 2;
|
|
91
95
|
const length = (_shared.CLOCK_WIDTH - _shared.CLOCK_HOUR_WIDTH - 2) / 2 * (inner ? 0.65 : 1);
|
|
92
96
|
const x = Math.round(Math.cos(angle) * length);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
@@ -14,12 +15,10 @@ var _styles = require("@mui/material/styles");
|
|
|
14
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
16
|
var _shared = require("./shared");
|
|
16
17
|
var _clockPointerClasses = require("./clockPointerClasses");
|
|
18
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
17
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const _excluded = ["className", "
|
|
19
|
-
const useUtilityClasses =
|
|
20
|
-
const {
|
|
21
|
-
classes
|
|
22
|
-
} = ownerState;
|
|
20
|
+
const _excluded = ["className", "classes", "isBetweenTwoClockValues", "isInner", "type", "viewValue"];
|
|
21
|
+
const useUtilityClasses = classes => {
|
|
23
22
|
const slots = {
|
|
24
23
|
root: ['root'],
|
|
25
24
|
thumb: ['thumb']
|
|
@@ -41,7 +40,7 @@ const ClockPointerRoot = (0, _styles.styled)('div', {
|
|
|
41
40
|
transformOrigin: 'center bottom 0px',
|
|
42
41
|
variants: [{
|
|
43
42
|
props: {
|
|
44
|
-
|
|
43
|
+
isClockPointerAnimated: true
|
|
45
44
|
},
|
|
46
45
|
style: {
|
|
47
46
|
transition: theme.transitions.create(['transform', 'height'])
|
|
@@ -66,7 +65,7 @@ const ClockPointerThumb = (0, _styles.styled)('div', {
|
|
|
66
65
|
boxSizing: 'content-box',
|
|
67
66
|
variants: [{
|
|
68
67
|
props: {
|
|
69
|
-
|
|
68
|
+
isBetweenTwoClockValues: false
|
|
70
69
|
},
|
|
71
70
|
style: {
|
|
72
71
|
backgroundColor: (theme.vars || theme).palette.primary.main
|
|
@@ -84,6 +83,8 @@ function ClockPointer(inProps) {
|
|
|
84
83
|
});
|
|
85
84
|
const {
|
|
86
85
|
className,
|
|
86
|
+
classes: classesProp,
|
|
87
|
+
isBetweenTwoClockValues,
|
|
87
88
|
isInner,
|
|
88
89
|
type,
|
|
89
90
|
viewValue
|
|
@@ -93,10 +94,14 @@ function ClockPointer(inProps) {
|
|
|
93
94
|
React.useEffect(() => {
|
|
94
95
|
previousType.current = type;
|
|
95
96
|
}, [type]);
|
|
96
|
-
const
|
|
97
|
-
|
|
97
|
+
const {
|
|
98
|
+
ownerState: pickerOwnerState
|
|
99
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
100
|
+
const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
|
|
101
|
+
isClockPointerAnimated: previousType.current !== type,
|
|
102
|
+
isClockPointerBetweenTwoValues: isBetweenTwoClockValues
|
|
98
103
|
});
|
|
99
|
-
const classes = useUtilityClasses(
|
|
104
|
+
const classes = useUtilityClasses(classesProp);
|
|
100
105
|
const getAngleStyle = () => {
|
|
101
106
|
const max = type === 'hours' ? 12 : 60;
|
|
102
107
|
let angle = 360 / max * viewValue;
|
|
@@ -27,12 +27,10 @@ var _ClockNumbers = require("./ClockNumbers");
|
|
|
27
27
|
var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
28
28
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
29
29
|
var _useClockReferenceDate = require("../internals/hooks/useClockReferenceDate");
|
|
30
|
+
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
-
const _excluded = ["ampm", "ampmInClock", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly", "timezone"];
|
|
32
|
-
const useUtilityClasses =
|
|
33
|
-
const {
|
|
34
|
-
classes
|
|
35
|
-
} = ownerState;
|
|
32
|
+
const _excluded = ["ampm", "ampmInClock", "autoFocus", "slots", "slotProps", "value", "defaultValue", "referenceDate", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableTime", "showViewSwitcher", "onChange", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "classes", "disabled", "readOnly", "timezone"];
|
|
33
|
+
const useUtilityClasses = classes => {
|
|
36
34
|
const slots = {
|
|
37
35
|
root: ['root'],
|
|
38
36
|
arrowSwitcher: ['arrowSwitcher']
|
|
@@ -100,6 +98,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
100
98
|
focusedView,
|
|
101
99
|
onFocusedViewChange,
|
|
102
100
|
className,
|
|
101
|
+
classes: classesProp,
|
|
103
102
|
disabled,
|
|
104
103
|
readOnly,
|
|
105
104
|
timezone: timezoneProp
|
|
@@ -127,6 +126,10 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
127
126
|
});
|
|
128
127
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
129
128
|
const now = (0, _useUtils.useNow)(timezone);
|
|
129
|
+
const selectedId = (0, _utils.unstable_useId)();
|
|
130
|
+
const {
|
|
131
|
+
ownerState
|
|
132
|
+
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
130
133
|
const {
|
|
131
134
|
view,
|
|
132
135
|
setView,
|
|
@@ -190,6 +193,9 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
190
193
|
{
|
|
191
194
|
const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(rawValue, meridiemMode, ampm);
|
|
192
195
|
const dateWithNewHours = utils.setHours(valueOrReferenceDate, valueWithMeridiem);
|
|
196
|
+
if (utils.getHours(dateWithNewHours) !== valueWithMeridiem) {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
193
199
|
const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);
|
|
194
200
|
const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);
|
|
195
201
|
return !containsValidTime({
|
|
@@ -221,7 +227,6 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
221
227
|
throw new Error('not supported');
|
|
222
228
|
}
|
|
223
229
|
}, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils, disableFuture, disablePast, now, views]);
|
|
224
|
-
const selectedId = (0, _utils.unstable_useId)();
|
|
225
230
|
const viewProps = React.useMemo(() => {
|
|
226
231
|
switch (view) {
|
|
227
232
|
case 'hours':
|
|
@@ -230,9 +235,20 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
230
235
|
const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(hourValue, meridiemMode, ampm);
|
|
231
236
|
setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish, 'hours');
|
|
232
237
|
};
|
|
238
|
+
const viewValue = utils.getHours(valueOrReferenceDate);
|
|
239
|
+
let viewRange;
|
|
240
|
+
if (ampm) {
|
|
241
|
+
if (viewValue > 12) {
|
|
242
|
+
viewRange = [12, 23];
|
|
243
|
+
} else {
|
|
244
|
+
viewRange = [0, 11];
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
viewRange = [0, 23];
|
|
248
|
+
}
|
|
233
249
|
return {
|
|
234
250
|
onChange: handleHoursChange,
|
|
235
|
-
viewValue
|
|
251
|
+
viewValue,
|
|
236
252
|
children: (0, _ClockNumbers.getHourNumbers)({
|
|
237
253
|
value,
|
|
238
254
|
utils,
|
|
@@ -241,7 +257,8 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
241
257
|
getClockNumberText: translations.hoursClockNumberText,
|
|
242
258
|
isDisabled: hourValue => disabled || isTimeDisabled(hourValue, 'hours'),
|
|
243
259
|
selectedId
|
|
244
|
-
})
|
|
260
|
+
}),
|
|
261
|
+
viewRange
|
|
245
262
|
};
|
|
246
263
|
}
|
|
247
264
|
case 'minutes':
|
|
@@ -260,7 +277,8 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
260
277
|
getClockNumberText: translations.minutesClockNumberText,
|
|
261
278
|
isDisabled: minuteValue => disabled || isTimeDisabled(minuteValue, 'minutes'),
|
|
262
279
|
selectedId
|
|
263
|
-
})
|
|
280
|
+
}),
|
|
281
|
+
viewRange: [0, 59]
|
|
264
282
|
};
|
|
265
283
|
}
|
|
266
284
|
case 'seconds':
|
|
@@ -279,15 +297,15 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
279
297
|
getClockNumberText: translations.secondsClockNumberText,
|
|
280
298
|
isDisabled: secondValue => disabled || isTimeDisabled(secondValue, 'seconds'),
|
|
281
299
|
selectedId
|
|
282
|
-
})
|
|
300
|
+
}),
|
|
301
|
+
viewRange: [0, 59]
|
|
283
302
|
};
|
|
284
303
|
}
|
|
285
304
|
default:
|
|
286
305
|
throw new Error('You must provide the type for ClockView');
|
|
287
306
|
}
|
|
288
307
|
}, [view, utils, value, ampm, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, selectedId, disabled]);
|
|
289
|
-
const
|
|
290
|
-
const classes = useUtilityClasses(ownerState);
|
|
308
|
+
const classes = useUtilityClasses(classesProp);
|
|
291
309
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimeClockRoot, (0, _extends2.default)({
|
|
292
310
|
ref: ref,
|
|
293
311
|
className: (0, _clsx.default)(classes.root, className),
|
|
@@ -7,18 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.TimeField = void 0;
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
11
|
var React = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
15
13
|
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
17
14
|
var _utils = require("@mui/utils");
|
|
18
15
|
var _useTimeField = require("./useTimeField");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
|
|
16
|
+
var _PickerFieldUI = require("../internals/components/PickerFieldUI");
|
|
17
|
+
var _icons = require("../icons");
|
|
22
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
19
|
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
24
20
|
/**
|
|
@@ -38,33 +34,21 @@ const TimeField = exports.TimeField = /*#__PURE__*/React.forwardRef(function Tim
|
|
|
38
34
|
});
|
|
39
35
|
const {
|
|
40
36
|
slots,
|
|
41
|
-
slotProps
|
|
42
|
-
InputProps,
|
|
43
|
-
inputProps
|
|
37
|
+
slotProps
|
|
44
38
|
} = themeProps,
|
|
45
39
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
externalSlotProps: slotProps?.textField,
|
|
51
|
-
externalForwardedProps: other,
|
|
52
|
-
ownerState,
|
|
53
|
-
additionalProps: {
|
|
54
|
-
ref: inRef
|
|
55
|
-
}
|
|
40
|
+
const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
|
|
41
|
+
slotProps,
|
|
42
|
+
ref: inRef,
|
|
43
|
+
externalForwardedProps: other
|
|
56
44
|
});
|
|
57
|
-
|
|
58
|
-
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
59
|
-
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
60
|
-
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
61
45
|
const fieldResponse = (0, _useTimeField.useTimeField)(textFieldProps);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerFieldUI.PickerFieldUI, {
|
|
47
|
+
slots: slots,
|
|
48
|
+
slotProps: slotProps,
|
|
49
|
+
fieldResponse: fieldResponse,
|
|
50
|
+
defaultOpenPickerIcon: _icons.ClockIcon
|
|
51
|
+
});
|
|
68
52
|
});
|
|
69
53
|
process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
70
54
|
// ----------------------------- Warning --------------------------------
|
|
@@ -87,6 +71,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
87
71
|
* @default false
|
|
88
72
|
*/
|
|
89
73
|
clearable: _propTypes.default.bool,
|
|
74
|
+
/**
|
|
75
|
+
* The position at which the clear button is placed.
|
|
76
|
+
* If the field is not clearable, the button is not rendered.
|
|
77
|
+
* @default 'end'
|
|
78
|
+
*/
|
|
79
|
+
clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
90
80
|
/**
|
|
91
81
|
* The color of the component.
|
|
92
82
|
* It supports both default and custom theme colors, which can be added as shown in the
|
|
@@ -240,6 +230,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
240
230
|
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
241
231
|
*/
|
|
242
232
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
233
|
+
/**
|
|
234
|
+
* The position at which the opening button is placed.
|
|
235
|
+
* If there is no picker to open, the button is not rendered
|
|
236
|
+
* @default 'end'
|
|
237
|
+
*/
|
|
238
|
+
openPickerButtonPosition: _propTypes.default.oneOf(['end', 'start']),
|
|
243
239
|
/**
|
|
244
240
|
* If `true`, the component is read-only.
|
|
245
241
|
* When read-only, the value cannot be changed but the user can interact with the interface.
|
|
@@ -275,10 +271,10 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
275
271
|
*/
|
|
276
272
|
shouldDisableTime: _propTypes.default.func,
|
|
277
273
|
/**
|
|
278
|
-
* If `true`, the format will respect the leading zeroes (
|
|
279
|
-
* If `false`, the format will always add leading zeroes (
|
|
274
|
+
* If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
|
|
275
|
+
* If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
|
|
280
276
|
*
|
|
281
|
-
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (
|
|
277
|
+
* Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (for example "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
|
|
282
278
|
*
|
|
283
279
|
* 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.
|
|
284
280
|
* If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
|
|
@@ -5,24 +5,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useTimeField = void 0;
|
|
8
|
-
var _valueManagers = require("../internals/utils/valueManagers");
|
|
9
8
|
var _useField = require("../internals/hooks/useField");
|
|
10
|
-
var _validation = require("../validation");
|
|
11
9
|
var _hooks = require("../hooks");
|
|
12
|
-
var
|
|
13
|
-
const useTimeField =
|
|
14
|
-
const
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useTimeField = props => {
|
|
12
|
+
const manager = (0, _managers.useTimeManager)(props);
|
|
15
13
|
const {
|
|
16
14
|
forwardedProps,
|
|
17
15
|
internalProps
|
|
18
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'time');
|
|
17
|
+
const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
19
21
|
return (0, _useField.useField)({
|
|
20
22
|
forwardedProps,
|
|
21
|
-
internalProps,
|
|
22
|
-
valueManager:
|
|
23
|
-
fieldValueManager:
|
|
24
|
-
validator:
|
|
25
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType,
|
|
28
|
+
getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
|
|
26
29
|
});
|
|
27
30
|
};
|
|
28
31
|
exports.useTimeField = useTimeField;
|
|
@@ -76,8 +76,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
76
76
|
autoFocus: _propTypes.default.bool,
|
|
77
77
|
className: _propTypes.default.string,
|
|
78
78
|
/**
|
|
79
|
-
* If `true`, the
|
|
80
|
-
* @default
|
|
79
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
80
|
+
* @default false
|
|
81
81
|
*/
|
|
82
82
|
closeOnSelect: _propTypes.default.bool,
|
|
83
83
|
/**
|