@mui/x-date-pickers 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDateFns/AdapterDateFns.js +1 -1
- package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/AdapterDayjs/AdapterDayjs.js +1 -1
- package/CHANGELOG.md +184 -4
- package/DateCalendar/DateCalendar.js +11 -1
- package/DateCalendar/useCalendarState.js +2 -0
- package/DateCalendar/useIsDateDisabled.d.ts +4 -3
- package/DateCalendar/useIsDateDisabled.js +5 -3
- package/DateField/DateField.js +2 -0
- package/DateField/DateField.types.d.ts +7 -2
- package/DateField/index.d.ts +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +5 -3
- package/DatePicker/DatePicker.js +8 -0
- package/DatePicker/DatePicker.types.d.ts +5 -5
- package/DatePicker/DatePickerToolbar.js +2 -0
- package/DateTimeField/DateTimeField.js +2 -0
- package/DateTimeField/DateTimeField.types.d.ts +7 -2
- package/DateTimeField/index.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +5 -3
- package/DateTimePicker/DateTimePicker.js +8 -0
- package/DateTimePicker/DateTimePicker.types.d.ts +7 -6
- package/DateTimePicker/DateTimePickerTabs.js +2 -0
- package/DateTimePicker/DateTimePickerToolbar.js +2 -0
- package/DayCalendarSkeleton/DayCalendarSkeleton.js +2 -0
- package/DesktopDatePicker/DesktopDatePicker.js +16 -3
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -6
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +16 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +11 -10
- package/DesktopTimePicker/DesktopTimePicker.js +10 -3
- package/DigitalClock/DigitalClock.js +2 -0
- package/LocalizationProvider/LocalizationProvider.js +2 -0
- package/MobileDatePicker/MobileDatePicker.js +16 -3
- package/MobileDatePicker/MobileDatePicker.types.d.ts +5 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +16 -3
- package/MobileTimePicker/MobileTimePicker.js +10 -3
- package/MonthCalendar/MonthCalendar.js +2 -0
- package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/PickersActionBar/PickersActionBar.js +2 -0
- package/PickersCalendarHeader/PickersCalendarHeader.js +2 -0
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +1 -1
- package/PickersDay/PickersDay.js +2 -0
- package/PickersLayout/PickersLayout.js +2 -0
- package/PickersLayout/usePickerLayout.js +2 -0
- package/PickersSectionList/PickersSectionList.js +2 -0
- package/PickersShortcuts/PickersShortcuts.js +2 -0
- package/PickersTextField/PickersTextField.js +2 -0
- package/StaticDatePicker/StaticDatePicker.js +10 -2
- package/StaticDatePicker/StaticDatePicker.types.d.ts +5 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +10 -2
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +5 -0
- package/StaticTimePicker/StaticTimePicker.js +3 -1
- package/TimeClock/Clock.js +1 -1
- package/TimeClock/TimeClock.js +2 -0
- package/TimeField/TimeField.js +2 -0
- package/TimeField/TimeField.types.d.ts +7 -2
- package/TimeField/index.d.ts +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +5 -3
- package/TimePicker/TimePicker.js +2 -0
- package/TimePicker/TimePickerToolbar.js +2 -0
- package/YearCalendar/YearCalendar.js +21 -6
- package/YearCalendar/YearCalendar.types.d.ts +7 -1
- package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
- package/dateViewRenderers/dateViewRenderers.js +2 -0
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/useClearableField.js +2 -0
- package/hooks/usePickersTranslations.js +2 -0
- package/hooks/useSplitFieldProps.d.ts +19 -0
- package/hooks/useSplitFieldProps.js +43 -0
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
- package/internals/hooks/useField/useField.js +11 -6
- package/internals/hooks/useField/useField.types.d.ts +4 -22
- package/internals/hooks/useField/useFieldState.js +2 -4
- package/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
- package/internals/hooks/usePicker/usePicker.d.ts +1 -2
- package/internals/hooks/usePicker/usePicker.js +1 -1
- package/internals/hooks/usePicker/usePickerValue.d.ts +1 -2
- package/internals/hooks/usePicker/usePickerValue.js +12 -16
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +4 -15
- package/internals/index.d.ts +0 -8
- package/internals/index.js +0 -7
- package/locales/beBY.d.ts +3 -3
- package/locales/beBY.js +4 -4
- package/locales/caES.d.ts +3 -3
- package/locales/caES.js +3 -3
- package/locales/csCZ.d.ts +3 -3
- package/locales/csCZ.js +4 -4
- package/locales/daDK.d.ts +3 -3
- package/locales/daDK.js +3 -3
- package/locales/deDE.d.ts +3 -3
- package/locales/deDE.js +3 -3
- package/locales/elGR.d.ts +3 -3
- package/locales/elGR.js +4 -4
- package/locales/enUS.d.ts +3 -3
- package/locales/enUS.js +4 -4
- package/locales/esES.d.ts +3 -3
- package/locales/esES.js +3 -3
- package/locales/eu.d.ts +3 -3
- package/locales/eu.js +3 -3
- package/locales/faIR.d.ts +3 -3
- package/locales/faIR.js +3 -3
- package/locales/fiFI.d.ts +3 -3
- package/locales/fiFI.js +3 -3
- package/locales/frFR.d.ts +3 -3
- package/locales/frFR.js +3 -3
- package/locales/heIL.d.ts +3 -3
- package/locales/heIL.js +3 -3
- package/locales/huHU.d.ts +3 -3
- package/locales/huHU.js +3 -3
- package/locales/isIS.d.ts +3 -3
- package/locales/isIS.js +4 -4
- package/locales/itIT.d.ts +3 -3
- package/locales/itIT.js +3 -3
- package/locales/jaJP.d.ts +3 -3
- package/locales/jaJP.js +3 -3
- package/locales/koKR.d.ts +3 -3
- package/locales/koKR.js +3 -3
- package/locales/kzKZ.d.ts +3 -3
- package/locales/kzKZ.js +4 -4
- package/locales/mk.d.ts +3 -3
- package/locales/mk.js +3 -3
- package/locales/nbNO.d.ts +3 -3
- package/locales/nbNO.js +4 -4
- package/locales/nlNL.d.ts +3 -3
- package/locales/nlNL.js +3 -3
- package/locales/nnNO.d.ts +3 -3
- package/locales/nnNO.js +3 -3
- package/locales/plPL.d.ts +3 -3
- package/locales/plPL.js +4 -4
- package/locales/ptBR.d.ts +3 -3
- package/locales/ptBR.js +4 -4
- package/locales/roRO.d.ts +3 -3
- package/locales/roRO.js +3 -3
- package/locales/ruRU.d.ts +3 -3
- package/locales/ruRU.js +3 -3
- package/locales/skSK.d.ts +3 -3
- package/locales/skSK.js +4 -4
- package/locales/svSE.d.ts +3 -3
- package/locales/svSE.js +3 -3
- package/locales/trTR.d.ts +3 -3
- package/locales/trTR.js +4 -4
- package/locales/ukUA.d.ts +3 -3
- package/locales/ukUA.js +3 -3
- package/locales/urPK.d.ts +3 -3
- package/locales/urPK.js +4 -4
- package/locales/utils/getPickersLocalization.d.ts +10 -3
- package/locales/utils/getPickersLocalization.js +13 -0
- package/locales/utils/pickersLocaleTextApi.d.ts +27 -3
- package/locales/viVN.d.ts +3 -3
- package/locales/viVN.js +3 -3
- package/locales/zhCN.d.ts +3 -3
- package/locales/zhCN.js +3 -3
- package/locales/zhHK.d.ts +3 -3
- package/locales/zhHK.js +3 -3
- package/models/validation.d.ts +13 -0
- package/modern/AdapterDateFns/AdapterDateFns.js +1 -1
- package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/modern/AdapterDayjs/AdapterDayjs.js +1 -1
- package/modern/DateCalendar/DateCalendar.js +11 -1
- package/modern/DateCalendar/useCalendarState.js +2 -0
- package/modern/DateCalendar/useIsDateDisabled.js +5 -3
- package/modern/DateField/DateField.js +2 -0
- package/modern/DateField/useDateField.js +5 -3
- package/modern/DatePicker/DatePicker.js +8 -0
- package/modern/DatePicker/DatePickerToolbar.js +2 -0
- package/modern/DateTimeField/DateTimeField.js +2 -0
- package/modern/DateTimeField/useDateTimeField.js +5 -3
- package/modern/DateTimePicker/DateTimePicker.js +8 -0
- package/modern/DateTimePicker/DateTimePickerTabs.js +2 -0
- package/modern/DateTimePicker/DateTimePickerToolbar.js +2 -0
- package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +2 -0
- package/modern/DesktopDatePicker/DesktopDatePicker.js +16 -3
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +16 -3
- package/modern/DesktopTimePicker/DesktopTimePicker.js +10 -3
- package/modern/DigitalClock/DigitalClock.js +2 -0
- package/modern/LocalizationProvider/LocalizationProvider.js +2 -0
- package/modern/MobileDatePicker/MobileDatePicker.js +16 -3
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +16 -3
- package/modern/MobileTimePicker/MobileTimePicker.js +10 -3
- package/modern/MonthCalendar/MonthCalendar.js +2 -0
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
- package/modern/PickersActionBar/PickersActionBar.js +2 -0
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -0
- package/modern/PickersDay/PickersDay.js +2 -0
- package/modern/PickersLayout/PickersLayout.js +2 -0
- package/modern/PickersLayout/usePickerLayout.js +2 -0
- package/modern/PickersSectionList/PickersSectionList.js +2 -0
- package/modern/PickersShortcuts/PickersShortcuts.js +2 -0
- package/modern/PickersTextField/PickersTextField.js +2 -0
- package/modern/StaticDatePicker/StaticDatePicker.js +10 -2
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +10 -2
- package/modern/StaticTimePicker/StaticTimePicker.js +3 -1
- package/modern/TimeClock/Clock.js +1 -1
- package/modern/TimeClock/TimeClock.js +2 -0
- package/modern/TimeField/TimeField.js +2 -0
- package/modern/TimeField/useTimeField.js +5 -3
- package/modern/TimePicker/TimePicker.js +2 -0
- package/modern/TimePicker/TimePickerToolbar.js +2 -0
- package/modern/YearCalendar/YearCalendar.js +21 -6
- package/modern/dateViewRenderers/dateViewRenderers.js +2 -0
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/useClearableField.js +2 -0
- package/modern/hooks/usePickersTranslations.js +2 -0
- package/modern/hooks/useSplitFieldProps.js +43 -0
- package/modern/index.js +3 -2
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
- package/modern/internals/hooks/useField/useField.js +11 -6
- package/modern/internals/hooks/useField/useFieldState.js +2 -4
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
- package/modern/internals/hooks/usePicker/usePicker.js +1 -1
- package/modern/internals/hooks/usePicker/usePickerValue.js +12 -16
- package/modern/internals/index.js +0 -7
- package/modern/locales/beBY.js +4 -4
- package/modern/locales/caES.js +3 -3
- package/modern/locales/csCZ.js +4 -4
- package/modern/locales/daDK.js +3 -3
- package/modern/locales/deDE.js +3 -3
- package/modern/locales/elGR.js +4 -4
- package/modern/locales/enUS.js +4 -4
- package/modern/locales/esES.js +3 -3
- package/modern/locales/eu.js +3 -3
- package/modern/locales/faIR.js +3 -3
- package/modern/locales/fiFI.js +3 -3
- package/modern/locales/frFR.js +3 -3
- package/modern/locales/heIL.js +3 -3
- package/modern/locales/huHU.js +3 -3
- package/modern/locales/isIS.js +4 -4
- package/modern/locales/itIT.js +3 -3
- package/modern/locales/jaJP.js +3 -3
- package/modern/locales/koKR.js +3 -3
- package/modern/locales/kzKZ.js +4 -4
- package/modern/locales/mk.js +3 -3
- package/modern/locales/nbNO.js +4 -4
- package/modern/locales/nlNL.js +3 -3
- package/modern/locales/nnNO.js +3 -3
- package/modern/locales/plPL.js +4 -4
- package/modern/locales/ptBR.js +4 -4
- package/modern/locales/roRO.js +3 -3
- package/modern/locales/ruRU.js +3 -3
- package/modern/locales/skSK.js +4 -4
- package/modern/locales/svSE.js +3 -3
- package/modern/locales/trTR.js +4 -4
- package/modern/locales/ukUA.js +3 -3
- package/modern/locales/urPK.js +4 -4
- package/modern/locales/utils/getPickersLocalization.js +13 -0
- package/modern/locales/viVN.js +3 -3
- package/modern/locales/zhCN.js +3 -3
- package/modern/locales/zhHK.js +3 -3
- package/modern/validation/index.js +5 -0
- package/modern/validation/useValidation.js +54 -0
- package/{internals/utils → modern}/validation/validateDate.js +6 -4
- package/modern/{internals/utils/validation → validation}/validateDateTime.js +8 -3
- package/{internals/utils → modern}/validation/validateTime.js +6 -4
- package/node/AdapterDateFns/AdapterDateFns.js +1 -1
- package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/node/AdapterDayjs/AdapterDayjs.js +1 -1
- package/node/DateCalendar/DateCalendar.js +10 -1
- package/node/DateCalendar/useCalendarState.js +1 -0
- package/node/DateCalendar/useIsDateDisabled.js +5 -4
- package/node/DateField/DateField.js +1 -0
- package/node/DateField/useDateField.js +5 -4
- package/node/DatePicker/DatePicker.js +7 -0
- package/node/DatePicker/DatePickerToolbar.js +1 -0
- package/node/DateTimeField/DateTimeField.js +1 -0
- package/node/DateTimeField/useDateTimeField.js +5 -4
- package/node/DateTimePicker/DateTimePicker.js +7 -0
- package/node/DateTimePicker/DateTimePickerTabs.js +1 -0
- package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
- package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -0
- package/node/DesktopDatePicker/DesktopDatePicker.js +17 -5
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -5
- package/node/DesktopTimePicker/DesktopTimePicker.js +11 -5
- package/node/DigitalClock/DigitalClock.js +1 -0
- package/node/LocalizationProvider/LocalizationProvider.js +1 -0
- package/node/MobileDatePicker/MobileDatePicker.js +17 -5
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +17 -5
- package/node/MobileTimePicker/MobileTimePicker.js +11 -5
- package/node/MonthCalendar/MonthCalendar.js +1 -0
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -0
- package/node/PickersActionBar/PickersActionBar.js +1 -0
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -0
- package/node/PickersDay/PickersDay.js +1 -0
- package/node/PickersLayout/PickersLayout.js +1 -0
- package/node/PickersLayout/usePickerLayout.js +1 -0
- package/node/PickersSectionList/PickersSectionList.js +1 -0
- package/node/PickersShortcuts/PickersShortcuts.js +1 -0
- package/node/PickersTextField/PickersTextField.js +1 -0
- package/node/StaticDatePicker/StaticDatePicker.js +10 -3
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +10 -3
- package/node/StaticTimePicker/StaticTimePicker.js +3 -2
- package/node/TimeClock/Clock.js +1 -1
- package/node/TimeClock/TimeClock.js +1 -0
- package/node/TimeField/TimeField.js +1 -0
- package/node/TimeField/useTimeField.js +5 -4
- package/node/TimePicker/TimePicker.js +1 -0
- package/node/TimePicker/TimePickerToolbar.js +1 -0
- package/node/YearCalendar/YearCalendar.js +20 -6
- package/node/dateViewRenderers/dateViewRenderers.js +2 -0
- package/node/hooks/index.js +8 -1
- package/node/hooks/useClearableField.js +1 -0
- package/node/hooks/usePickersTranslations.js +1 -0
- package/node/hooks/useSplitFieldProps.js +51 -0
- package/node/index.js +13 -1
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
- package/node/internals/hooks/useField/useField.js +11 -6
- package/node/internals/hooks/useField/useFieldState.js +2 -4
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
- package/node/internals/hooks/usePicker/usePicker.js +1 -1
- package/node/internals/hooks/usePicker/usePickerValue.js +12 -16
- package/node/internals/index.js +0 -49
- package/node/locales/beBY.js +4 -4
- package/node/locales/caES.js +3 -3
- package/node/locales/csCZ.js +4 -4
- package/node/locales/daDK.js +3 -3
- package/node/locales/deDE.js +3 -3
- package/node/locales/elGR.js +4 -4
- package/node/locales/enUS.js +4 -4
- package/node/locales/esES.js +3 -3
- package/node/locales/eu.js +3 -3
- package/node/locales/faIR.js +3 -3
- package/node/locales/fiFI.js +3 -3
- package/node/locales/frFR.js +3 -3
- package/node/locales/heIL.js +3 -3
- package/node/locales/huHU.js +3 -3
- package/node/locales/isIS.js +4 -4
- package/node/locales/itIT.js +3 -3
- package/node/locales/jaJP.js +3 -3
- package/node/locales/koKR.js +3 -3
- package/node/locales/kzKZ.js +4 -4
- package/node/locales/mk.js +3 -3
- package/node/locales/nbNO.js +4 -4
- package/node/locales/nlNL.js +3 -3
- package/node/locales/nnNO.js +3 -3
- package/node/locales/plPL.js +4 -4
- package/node/locales/ptBR.js +4 -4
- package/node/locales/roRO.js +3 -3
- package/node/locales/ruRU.js +3 -3
- package/node/locales/skSK.js +4 -4
- package/node/locales/svSE.js +3 -3
- package/node/locales/trTR.js +4 -4
- package/node/locales/ukUA.js +3 -3
- package/node/locales/urPK.js +4 -4
- package/node/locales/utils/getPickersLocalization.js +16 -2
- package/node/locales/viVN.js +3 -3
- package/node/locales/zhCN.js +3 -3
- package/node/locales/zhHK.js +3 -3
- package/node/validation/index.js +40 -0
- package/node/validation/useValidation.js +61 -0
- package/node/{internals/utils/validation → validation}/validateDate.js +6 -4
- package/node/{internals/utils/validation → validation}/validateDateTime.js +8 -3
- package/node/{internals/utils/validation → validation}/validateTime.js +6 -4
- package/package.json +4 -4
- package/{internals/utils/validation → validation}/extractValidationProps.d.ts +1 -1
- package/validation/index.d.ts +9 -0
- package/validation/index.js +5 -0
- package/validation/package.json +6 -0
- package/validation/useValidation.d.ts +68 -0
- package/validation/useValidation.js +54 -0
- package/validation/validateDate.d.ts +6 -0
- package/{modern/internals/utils/validation → validation}/validateDate.js +6 -4
- package/validation/validateDateTime.d.ts +7 -0
- package/{internals/utils/validation → validation}/validateDateTime.js +8 -3
- package/validation/validateTime.d.ts +6 -0
- package/{modern/internals/utils/validation → validation}/validateTime.js +6 -4
- package/internals/hooks/useValidation.d.ts +0 -24
- package/internals/hooks/useValidation.js +0 -22
- package/internals/utils/fields.d.ts +0 -5
- package/internals/utils/fields.js +0 -28
- package/internals/utils/validation/validateDate.d.ts +0 -7
- package/internals/utils/validation/validateDateTime.d.ts +0 -7
- package/internals/utils/validation/validateTime.d.ts +0 -7
- package/internals/utils/warning.d.ts +0 -2
- package/internals/utils/warning.js +0 -21
- package/modern/internals/hooks/useValidation.js +0 -22
- package/modern/internals/utils/fields.js +0 -28
- package/modern/internals/utils/warning.js +0 -21
- package/node/internals/hooks/useValidation.js +0 -29
- package/node/internals/utils/fields.js +0 -36
- package/node/internals/utils/warning.js +0 -28
- /package/{internals/utils → modern}/validation/extractValidationProps.js +0 -0
- /package/node/{internals/utils/validation → validation}/extractValidationProps.js +0 -0
- /package/{modern/internals/utils/validation → validation}/extractValidationProps.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import useEventCallback from '@mui/utils/useEventCallback';
|
|
5
|
+
import { useLocalizationContext } from "../internals/hooks/useUtils.js";
|
|
6
|
+
/**
|
|
7
|
+
* Utility hook to check if a given value is valid based on the provided validation props.
|
|
8
|
+
* @template TDate
|
|
9
|
+
* @template TValue The value type. It will be either the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
|
|
10
|
+
* @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
|
|
11
|
+
* @param {UseValidationOptions<TValue, TDate, TError, TValidationProps>} options The options to configure the hook.
|
|
12
|
+
* @param {TValue} options.value The value to validate.
|
|
13
|
+
* @param {PickersTimezone} options.timezone The timezone to use for the validation.
|
|
14
|
+
* @param {Validator<TValue, TDate, TError, TValidationProps>} options.validator The validator function to use.
|
|
15
|
+
* @param {TValidationProps} options.props The validation props, they differ depending on the component.
|
|
16
|
+
* @param {(error: TError, value: TValue) => void} options.onError Callback fired when the error associated with the current value changes.
|
|
17
|
+
*/
|
|
18
|
+
export function useValidation(options) {
|
|
19
|
+
const {
|
|
20
|
+
props,
|
|
21
|
+
validator,
|
|
22
|
+
value,
|
|
23
|
+
timezone,
|
|
24
|
+
onError
|
|
25
|
+
} = options;
|
|
26
|
+
const adapter = useLocalizationContext();
|
|
27
|
+
const previousValidationErrorRef = React.useRef(validator.valueManager.defaultErrorState);
|
|
28
|
+
const validationError = validator({
|
|
29
|
+
adapter,
|
|
30
|
+
value,
|
|
31
|
+
timezone,
|
|
32
|
+
props
|
|
33
|
+
});
|
|
34
|
+
const hasValidationError = validator.valueManager.hasError(validationError);
|
|
35
|
+
React.useEffect(() => {
|
|
36
|
+
if (onError && !validator.valueManager.isSameError(validationError, previousValidationErrorRef.current)) {
|
|
37
|
+
onError(validationError, value);
|
|
38
|
+
}
|
|
39
|
+
previousValidationErrorRef.current = validationError;
|
|
40
|
+
}, [validator, onError, validationError, value]);
|
|
41
|
+
const getValidationErrorForNewValue = useEventCallback(newValue => {
|
|
42
|
+
return validator({
|
|
43
|
+
adapter,
|
|
44
|
+
value: newValue,
|
|
45
|
+
timezone,
|
|
46
|
+
props
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
validationError,
|
|
51
|
+
hasValidationError,
|
|
52
|
+
getValidationErrorForNewValue
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { applyDefaultDate } from "../date-utils.js";
|
|
1
|
+
import { applyDefaultDate } from "../internals/utils/date-utils.js";
|
|
2
|
+
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
2
3
|
export const validateDate = ({
|
|
3
4
|
props,
|
|
4
5
|
value,
|
|
6
|
+
timezone,
|
|
5
7
|
adapter
|
|
6
8
|
}) => {
|
|
7
9
|
if (value === null) {
|
|
@@ -12,8 +14,7 @@ export const validateDate = ({
|
|
|
12
14
|
shouldDisableMonth,
|
|
13
15
|
shouldDisableYear,
|
|
14
16
|
disablePast,
|
|
15
|
-
disableFuture
|
|
16
|
-
timezone
|
|
17
|
+
disableFuture
|
|
17
18
|
} = props;
|
|
18
19
|
const now = adapter.utils.date(undefined, timezone);
|
|
19
20
|
const minDate = applyDefaultDate(adapter.utils, props.minDate, adapter.defaultDates.minDate);
|
|
@@ -38,4 +39,5 @@ export const validateDate = ({
|
|
|
38
39
|
default:
|
|
39
40
|
return null;
|
|
40
41
|
}
|
|
41
|
-
};
|
|
42
|
+
};
|
|
43
|
+
validateDate.valueManager = singleItemValueManager;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { validateDate } from "./validateDate.js";
|
|
2
2
|
import { validateTime } from "./validateTime.js";
|
|
3
|
+
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
3
4
|
export const validateDateTime = ({
|
|
4
|
-
|
|
5
|
+
adapter,
|
|
5
6
|
value,
|
|
6
|
-
|
|
7
|
+
timezone,
|
|
8
|
+
props
|
|
7
9
|
}) => {
|
|
8
10
|
const dateValidationResult = validateDate({
|
|
9
11
|
adapter,
|
|
10
12
|
value,
|
|
13
|
+
timezone,
|
|
11
14
|
props
|
|
12
15
|
});
|
|
13
16
|
if (dateValidationResult !== null) {
|
|
@@ -16,6 +19,8 @@ export const validateDateTime = ({
|
|
|
16
19
|
return validateTime({
|
|
17
20
|
adapter,
|
|
18
21
|
value,
|
|
22
|
+
timezone,
|
|
19
23
|
props
|
|
20
24
|
});
|
|
21
|
-
};
|
|
25
|
+
};
|
|
26
|
+
validateDateTime.valueManager = singleItemValueManager;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { createIsAfterIgnoreDatePart } from "../time-utils.js";
|
|
1
|
+
import { createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
|
|
2
|
+
import { singleItemValueManager } from "../internals/utils/valueManagers.js";
|
|
2
3
|
export const validateTime = ({
|
|
3
4
|
adapter,
|
|
4
5
|
value,
|
|
6
|
+
timezone,
|
|
5
7
|
props
|
|
6
8
|
}) => {
|
|
7
9
|
if (value === null) {
|
|
@@ -14,8 +16,7 @@ export const validateTime = ({
|
|
|
14
16
|
shouldDisableTime,
|
|
15
17
|
disableIgnoringDatePartForTimeValidation = false,
|
|
16
18
|
disablePast,
|
|
17
|
-
disableFuture
|
|
18
|
-
timezone
|
|
19
|
+
disableFuture
|
|
19
20
|
} = props;
|
|
20
21
|
const now = adapter.utils.date(undefined, timezone);
|
|
21
22
|
const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, adapter.utils);
|
|
@@ -41,4 +42,5 @@ export const validateTime = ({
|
|
|
41
42
|
default:
|
|
42
43
|
return null;
|
|
43
44
|
}
|
|
44
|
-
};
|
|
45
|
+
};
|
|
46
|
+
validateTime.valueManager = singleItemValueManager;
|
|
@@ -87,7 +87,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
87
87
|
/* istanbul ignore next */
|
|
88
88
|
if (process.env.NODE_ENV !== 'production') {
|
|
89
89
|
if (typeof _addDays.default !== 'function') {
|
|
90
|
-
throw new Error(['MUI:
|
|
90
|
+
throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
super({
|
|
@@ -90,7 +90,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
90
90
|
/* istanbul ignore next */
|
|
91
91
|
if (process.env.NODE_ENV !== 'production') {
|
|
92
92
|
if (typeof _addDays.addDays !== 'function') {
|
|
93
|
-
throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
93
|
+
throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x or v4.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
94
94
|
}
|
|
95
95
|
if (!_format.longFormatters) {
|
|
96
96
|
throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
|
|
@@ -12,7 +12,7 @@ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customPars
|
|
|
12
12
|
var _localizedFormat = _interopRequireDefault(require("dayjs/plugin/localizedFormat"));
|
|
13
13
|
var _isBetween = _interopRequireDefault(require("dayjs/plugin/isBetween"));
|
|
14
14
|
var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat"));
|
|
15
|
-
var _warning = require("
|
|
15
|
+
var _warning = require("@mui/x-internals/warning");
|
|
16
16
|
/* eslint-disable class-methods-use-this */
|
|
17
17
|
|
|
18
18
|
_dayjs.default.extend(_localizedFormat.default);
|
|
@@ -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;
|
|
@@ -30,7 +31,7 @@ var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
|
30
31
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
31
32
|
var _dimensions = require("../internals/constants/dimensions");
|
|
32
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
|
-
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
34
|
+
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
34
35
|
const useUtilityClasses = ownerState => {
|
|
35
36
|
const {
|
|
36
37
|
classes
|
|
@@ -126,6 +127,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
126
127
|
loading,
|
|
127
128
|
renderLoading,
|
|
128
129
|
displayWeekNumber,
|
|
130
|
+
yearsOrder,
|
|
129
131
|
yearsPerRow,
|
|
130
132
|
monthsPerRow,
|
|
131
133
|
timezone: timezoneProp
|
|
@@ -317,6 +319,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
317
319
|
shouldDisableYear: shouldDisableYear,
|
|
318
320
|
hasFocus: hasFocus,
|
|
319
321
|
onFocusedViewChange: isViewFocused => setFocusedView('year', isViewFocused),
|
|
322
|
+
yearsOrder: yearsOrder,
|
|
320
323
|
yearsPerRow: yearsPerRow,
|
|
321
324
|
referenceDate: referenceDate
|
|
322
325
|
})), view === 'month' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MonthCalendar.MonthCalendar, (0, _extends2.default)({}, baseDateValidationProps, commonViewProps, {
|
|
@@ -566,6 +569,12 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
566
569
|
* Available views.
|
|
567
570
|
*/
|
|
568
571
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
572
|
+
/**
|
|
573
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
574
|
+
* If `desc`, years are displayed in descending order.
|
|
575
|
+
* @default 'asc'
|
|
576
|
+
*/
|
|
577
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
569
578
|
/**
|
|
570
579
|
* Years rendered per row.
|
|
571
580
|
* @default 3
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -6,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
7
|
});
|
|
7
8
|
exports.useIsDateDisabled = void 0;
|
|
8
9
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
+
var _validation = require("../validation");
|
|
10
11
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
11
12
|
const useIsDateDisabled = ({
|
|
12
13
|
shouldDisableDate,
|
|
@@ -19,9 +20,10 @@ const useIsDateDisabled = ({
|
|
|
19
20
|
timezone
|
|
20
21
|
}) => {
|
|
21
22
|
const adapter = (0, _useUtils.useLocalizationContext)();
|
|
22
|
-
return React.useCallback(day => (0,
|
|
23
|
+
return React.useCallback(day => (0, _validation.validateDate)({
|
|
23
24
|
adapter,
|
|
24
25
|
value: day,
|
|
26
|
+
timezone,
|
|
25
27
|
props: {
|
|
26
28
|
shouldDisableDate,
|
|
27
29
|
shouldDisableMonth,
|
|
@@ -29,8 +31,7 @@ const useIsDateDisabled = ({
|
|
|
29
31
|
minDate,
|
|
30
32
|
maxDate,
|
|
31
33
|
disableFuture,
|
|
32
|
-
disablePast
|
|
33
|
-
timezone
|
|
34
|
+
disablePast
|
|
34
35
|
}
|
|
35
36
|
}) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast, timezone]);
|
|
36
37
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
@@ -6,21 +7,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
7
|
exports.useDateField = void 0;
|
|
7
8
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
8
9
|
var _useField = require("../internals/hooks/useField");
|
|
9
|
-
var
|
|
10
|
-
var
|
|
10
|
+
var _validation = require("../validation");
|
|
11
|
+
var _hooks = require("../hooks");
|
|
11
12
|
var _defaultizedFieldProps = require("../internals/hooks/defaultizedFieldProps");
|
|
12
13
|
const useDateField = inProps => {
|
|
13
14
|
const props = (0, _defaultizedFieldProps.useDefaultizedDateField)(inProps);
|
|
14
15
|
const {
|
|
15
16
|
forwardedProps,
|
|
16
17
|
internalProps
|
|
17
|
-
} = (0,
|
|
18
|
+
} = (0, _hooks.useSplitFieldProps)(props, 'date');
|
|
18
19
|
return (0, _useField.useField)({
|
|
19
20
|
forwardedProps,
|
|
20
21
|
internalProps,
|
|
21
22
|
valueManager: _valueManagers.singleItemValueManager,
|
|
22
23
|
fieldValueManager: _valueManagers.singleItemFieldValueManager,
|
|
23
|
-
validator:
|
|
24
|
+
validator: _validation.validateDate,
|
|
24
25
|
valueType: 'date'
|
|
25
26
|
});
|
|
26
27
|
};
|
|
@@ -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;
|
|
@@ -357,6 +358,12 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
357
358
|
* Available views.
|
|
358
359
|
*/
|
|
359
360
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
361
|
+
/**
|
|
362
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
363
|
+
* If `desc`, years are displayed in descending order.
|
|
364
|
+
* @default 'asc'
|
|
365
|
+
*/
|
|
366
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
360
367
|
/**
|
|
361
368
|
* Years rendered per row.
|
|
362
369
|
* @default 4 on desktop, 3 on mobile
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
@@ -6,21 +7,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
7
|
exports.useDateTimeField = void 0;
|
|
7
8
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
8
9
|
var _useField = require("../internals/hooks/useField");
|
|
9
|
-
var
|
|
10
|
-
var
|
|
10
|
+
var _validation = require("../validation");
|
|
11
|
+
var _hooks = require("../hooks");
|
|
11
12
|
var _defaultizedFieldProps = require("../internals/hooks/defaultizedFieldProps");
|
|
12
13
|
const useDateTimeField = inProps => {
|
|
13
14
|
const props = (0, _defaultizedFieldProps.useDefaultizedDateTimeField)(inProps);
|
|
14
15
|
const {
|
|
15
16
|
forwardedProps,
|
|
16
17
|
internalProps
|
|
17
|
-
} = (0,
|
|
18
|
+
} = (0, _hooks.useSplitFieldProps)(props, 'date-time');
|
|
18
19
|
return (0, _useField.useField)({
|
|
19
20
|
forwardedProps,
|
|
20
21
|
internalProps,
|
|
21
22
|
valueManager: _valueManagers.singleItemValueManager,
|
|
22
23
|
fieldValueManager: _valueManagers.singleItemFieldValueManager,
|
|
23
|
-
validator:
|
|
24
|
+
validator: _validation.validateDateTime,
|
|
24
25
|
valueType: 'date-time'
|
|
25
26
|
});
|
|
26
27
|
};
|
|
@@ -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;
|
|
@@ -428,6 +429,12 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
428
429
|
* Available views.
|
|
429
430
|
*/
|
|
430
431
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
|
|
432
|
+
/**
|
|
433
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
434
|
+
* If `desc`, years are displayed in descending order.
|
|
435
|
+
* @default 'asc'
|
|
436
|
+
*/
|
|
437
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
431
438
|
/**
|
|
432
439
|
* Years rendered per row.
|
|
433
440
|
* @default 4 on desktop, 3 on mobile
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
@@ -15,13 +16,13 @@ var _valueManagers = require("../internals/utils/valueManagers");
|
|
|
15
16
|
var _shared = require("../DatePicker/shared");
|
|
16
17
|
var _usePickersTranslations = require("../hooks/usePickersTranslations");
|
|
17
18
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
18
|
-
var
|
|
19
|
+
var _validation = require("../validation");
|
|
19
20
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
20
21
|
var _icons = require("../icons");
|
|
21
22
|
var _DateField = require("../DateField");
|
|
22
|
-
var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
|
|
23
23
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
24
24
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
25
|
+
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
25
26
|
/**
|
|
26
27
|
* Demos:
|
|
27
28
|
*
|
|
@@ -54,7 +55,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
54
55
|
field: _DateField.DateField
|
|
55
56
|
}, defaultizedProps.slots),
|
|
56
57
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
57
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0,
|
|
58
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
|
|
58
59
|
ref
|
|
59
60
|
}),
|
|
60
61
|
toolbar: (0, _extends2.default)({
|
|
@@ -68,8 +69,13 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
68
69
|
props,
|
|
69
70
|
valueManager: _valueManagers.singleItemValueManager,
|
|
70
71
|
valueType: 'date',
|
|
71
|
-
getOpenDialogAriaText:
|
|
72
|
-
|
|
72
|
+
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
73
|
+
utils,
|
|
74
|
+
formatKey: 'fullDate',
|
|
75
|
+
contextTranslation: translations.openDatePickerDialogue,
|
|
76
|
+
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
77
|
+
}),
|
|
78
|
+
validator: _validation.validateDate
|
|
73
79
|
});
|
|
74
80
|
return renderPicker();
|
|
75
81
|
});
|
|
@@ -373,6 +379,12 @@ DesktopDatePicker.propTypes = {
|
|
|
373
379
|
* Available views.
|
|
374
380
|
*/
|
|
375
381
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
382
|
+
/**
|
|
383
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
384
|
+
* If `desc`, years are displayed in descending order.
|
|
385
|
+
* @default 'asc'
|
|
386
|
+
*/
|
|
387
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
376
388
|
/**
|
|
377
389
|
* Years rendered per row.
|
|
378
390
|
* @default 4
|
|
@@ -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;
|
|
@@ -19,10 +20,9 @@ var _shared = require("../DateTimePicker/shared");
|
|
|
19
20
|
var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
|
|
20
21
|
var _usePickersTranslations = require("../hooks/usePickersTranslations");
|
|
21
22
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
22
|
-
var
|
|
23
|
+
var _validation = require("../validation");
|
|
23
24
|
var _icons = require("../icons");
|
|
24
25
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
25
|
-
var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
|
|
26
26
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
27
27
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
28
28
|
var _MultiSectionDigitalClock = require("../MultiSectionDigitalClock");
|
|
@@ -31,6 +31,7 @@ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
|
|
|
31
31
|
var _dimensions = require("../internals/constants/dimensions");
|
|
32
32
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
33
33
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
34
|
+
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
34
35
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
36
|
const _excluded = ["openTo", "focusedView", "timeViewsCount"];
|
|
36
37
|
const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
|
|
@@ -132,7 +133,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
132
133
|
openPickerIcon: _icons.CalendarIcon
|
|
133
134
|
}, defaultizedProps.slots),
|
|
134
135
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
135
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0,
|
|
136
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
|
|
136
137
|
ref
|
|
137
138
|
}),
|
|
138
139
|
toolbar: (0, _extends2.default)({
|
|
@@ -154,8 +155,13 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
154
155
|
props,
|
|
155
156
|
valueManager: _valueManagers.singleItemValueManager,
|
|
156
157
|
valueType: 'date-time',
|
|
157
|
-
getOpenDialogAriaText:
|
|
158
|
-
|
|
158
|
+
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
159
|
+
utils,
|
|
160
|
+
formatKey: 'fullDate',
|
|
161
|
+
contextTranslation: translations.openDatePickerDialogue,
|
|
162
|
+
propsTranslation: props.localeText?.openDatePickerDialogue
|
|
163
|
+
}),
|
|
164
|
+
validator: _validation.validateDateTime,
|
|
159
165
|
rendererInterceptor
|
|
160
166
|
});
|
|
161
167
|
return renderPicker();
|
|
@@ -531,6 +537,12 @@ DesktopDateTimePicker.propTypes = {
|
|
|
531
537
|
* Available views.
|
|
532
538
|
*/
|
|
533
539
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
|
|
540
|
+
/**
|
|
541
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
542
|
+
* If `desc`, years are displayed in descending order.
|
|
543
|
+
* @default 'asc'
|
|
544
|
+
*/
|
|
545
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
534
546
|
/**
|
|
535
547
|
* Years rendered per row.
|
|
536
548
|
* @default 4
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
@@ -16,13 +17,13 @@ var _TimeField = require("../TimeField");
|
|
|
16
17
|
var _shared = require("../TimePicker/shared");
|
|
17
18
|
var _usePickersTranslations = require("../hooks/usePickersTranslations");
|
|
18
19
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
19
|
-
var
|
|
20
|
+
var _validation = require("../validation");
|
|
20
21
|
var _icons = require("../icons");
|
|
21
22
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
22
|
-
var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
|
|
23
23
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
24
24
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
25
25
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
26
|
+
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
26
27
|
/**
|
|
27
28
|
* Demos:
|
|
28
29
|
*
|
|
@@ -71,7 +72,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
71
72
|
openPickerIcon: _icons.ClockIcon
|
|
72
73
|
}, defaultizedProps.slots),
|
|
73
74
|
slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
|
|
74
|
-
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0,
|
|
75
|
+
field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
|
|
75
76
|
ref
|
|
76
77
|
}),
|
|
77
78
|
toolbar: (0, _extends2.default)({
|
|
@@ -89,8 +90,13 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
89
90
|
props,
|
|
90
91
|
valueManager: _valueManagers.singleItemValueManager,
|
|
91
92
|
valueType: 'time',
|
|
92
|
-
getOpenDialogAriaText:
|
|
93
|
-
|
|
93
|
+
getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
|
|
94
|
+
utils,
|
|
95
|
+
formatKey: 'fullTime',
|
|
96
|
+
contextTranslation: translations.openTimePickerDialogue,
|
|
97
|
+
propsTranslation: props.localeText?.openTimePickerDialogue
|
|
98
|
+
}),
|
|
99
|
+
validator: _validation.validateTime
|
|
94
100
|
});
|
|
95
101
|
return renderPicker();
|
|
96
102
|
});
|