@mui/x-date-pickers 8.0.0-beta.2 → 8.0.0-beta.3
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/CHANGELOG.md +141 -0
- package/DateField/DateField.js +4 -4
- package/DateTimeField/DateTimeField.js +4 -4
- package/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/DesktopTimePicker/DesktopTimePicker.js +2 -1
- package/DigitalClock/DigitalClock.js +1 -0
- package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
- package/LocalizationProvider/LocalizationProvider.js +2 -2
- package/MobileDatePicker/MobileDatePicker.js +2 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
- package/MobileTimePicker/MobileTimePicker.js +2 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
- package/PickersActionBar/PickersActionBar.d.ts +1 -1
- package/PickersActionBar/PickersActionBar.js +21 -3
- package/StaticDatePicker/StaticDatePicker.js +2 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
- package/StaticTimePicker/StaticTimePicker.js +2 -1
- package/TimeField/TimeField.js +4 -4
- package/esm/DateField/DateField.js +4 -4
- package/esm/DateTimeField/DateTimeField.js +4 -4
- package/esm/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/esm/DesktopTimePicker/DesktopTimePicker.js +2 -1
- package/esm/DigitalClock/DigitalClock.js +1 -0
- package/esm/LocalizationProvider/LocalizationProvider.d.ts +1 -1
- package/esm/LocalizationProvider/LocalizationProvider.js +2 -2
- package/esm/MobileDatePicker/MobileDatePicker.js +2 -1
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
- package/esm/MobileTimePicker/MobileTimePicker.js +2 -1
- package/esm/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
- package/esm/PickersActionBar/PickersActionBar.d.ts +1 -1
- package/esm/PickersActionBar/PickersActionBar.js +22 -4
- package/esm/StaticDatePicker/StaticDatePicker.js +2 -1
- package/esm/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
- package/esm/StaticTimePicker/StaticTimePicker.js +2 -1
- package/esm/TimeField/TimeField.js +4 -4
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerProvider.d.ts +9 -0
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
- package/esm/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
- package/esm/internals/hooks/usePicker/usePicker.d.ts +2 -1
- package/esm/internals/hooks/usePicker/usePicker.js +14 -4
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
- package/esm/internals/index.d.ts +3 -2
- package/esm/internals/index.js +3 -2
- package/esm/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
- package/esm/internals/utils/createNonRangePickerStepNavigation.js +24 -0
- package/esm/internals/utils/createStepNavigation.d.ts +32 -0
- package/esm/internals/utils/createStepNavigation.js +34 -0
- package/esm/internals/utils/date-utils.d.ts +1 -0
- package/esm/internals/utils/date-utils.js +2 -2
- package/esm/internals/utils/time-utils.d.ts +2 -0
- package/esm/internals/utils/time-utils.js +4 -3
- package/esm/locales/beBY.d.ts +1 -0
- package/esm/locales/beBY.js +1 -0
- package/esm/locales/bgBG.d.ts +1 -0
- package/esm/locales/bgBG.js +1 -0
- package/esm/locales/bnBD.d.ts +1 -0
- package/esm/locales/bnBD.js +1 -0
- package/esm/locales/caES.d.ts +1 -0
- package/esm/locales/caES.js +1 -0
- package/esm/locales/csCZ.d.ts +1 -0
- package/esm/locales/csCZ.js +1 -0
- package/esm/locales/daDK.d.ts +1 -0
- package/esm/locales/daDK.js +1 -0
- package/esm/locales/deDE.d.ts +1 -0
- package/esm/locales/deDE.js +1 -0
- package/esm/locales/elGR.d.ts +1 -0
- package/esm/locales/elGR.js +1 -0
- package/esm/locales/enUS.d.ts +1 -0
- package/esm/locales/enUS.js +1 -0
- package/esm/locales/esES.d.ts +1 -0
- package/esm/locales/esES.js +1 -0
- package/esm/locales/eu.d.ts +1 -0
- package/esm/locales/eu.js +1 -0
- package/esm/locales/faIR.d.ts +1 -0
- package/esm/locales/faIR.js +1 -0
- package/esm/locales/fiFI.d.ts +1 -0
- package/esm/locales/fiFI.js +1 -0
- package/esm/locales/frFR.d.ts +1 -0
- package/esm/locales/frFR.js +1 -0
- package/esm/locales/heIL.d.ts +1 -0
- package/esm/locales/heIL.js +1 -0
- package/esm/locales/hrHR.d.ts +1 -0
- package/esm/locales/hrHR.js +1 -0
- package/esm/locales/huHU.d.ts +1 -0
- package/esm/locales/huHU.js +1 -0
- package/esm/locales/isIS.d.ts +1 -0
- package/esm/locales/isIS.js +1 -0
- package/esm/locales/itIT.d.ts +1 -0
- package/esm/locales/itIT.js +1 -0
- package/esm/locales/jaJP.d.ts +1 -0
- package/esm/locales/jaJP.js +1 -0
- package/esm/locales/koKR.d.ts +1 -0
- package/esm/locales/koKR.js +1 -0
- package/esm/locales/kzKZ.d.ts +1 -0
- package/esm/locales/kzKZ.js +1 -0
- package/esm/locales/mk.d.ts +1 -0
- package/esm/locales/mk.js +1 -0
- package/esm/locales/nbNO.d.ts +1 -0
- package/esm/locales/nbNO.js +1 -0
- package/esm/locales/nlNL.d.ts +1 -0
- package/esm/locales/nlNL.js +1 -0
- package/esm/locales/nnNO.d.ts +1 -0
- package/esm/locales/nnNO.js +1 -0
- package/esm/locales/plPL.d.ts +1 -0
- package/esm/locales/plPL.js +1 -0
- package/esm/locales/ptBR.d.ts +1 -0
- package/esm/locales/ptBR.js +1 -0
- package/esm/locales/ptPT.d.ts +1 -0
- package/esm/locales/ptPT.js +1 -0
- package/esm/locales/roRO.d.ts +1 -0
- package/esm/locales/roRO.js +1 -0
- package/esm/locales/ruRU.d.ts +1 -0
- package/esm/locales/ruRU.js +1 -0
- package/esm/locales/skSK.d.ts +1 -0
- package/esm/locales/skSK.js +1 -0
- package/esm/locales/svSE.d.ts +1 -0
- package/esm/locales/svSE.js +1 -0
- package/esm/locales/trTR.d.ts +1 -0
- package/esm/locales/trTR.js +1 -0
- package/esm/locales/ukUA.d.ts +1 -0
- package/esm/locales/ukUA.js +1 -0
- package/esm/locales/urPK.d.ts +1 -0
- package/esm/locales/urPK.js +1 -0
- package/esm/locales/utils/getPickersLocalization.d.ts +1 -0
- package/esm/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/esm/locales/viVN.d.ts +1 -0
- package/esm/locales/viVN.js +1 -0
- package/esm/locales/zhCN.d.ts +1 -0
- package/esm/locales/zhCN.js +1 -0
- package/esm/locales/zhHK.d.ts +1 -0
- package/esm/locales/zhHK.js +1 -0
- package/esm/locales/zhTW.d.ts +1 -0
- package/esm/locales/zhTW.js +1 -0
- package/index.js +1 -1
- package/internals/components/PickerProvider.d.ts +9 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
- package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
- package/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
- package/internals/hooks/usePicker/usePicker.d.ts +2 -1
- package/internals/hooks/usePicker/usePicker.js +14 -4
- package/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
- package/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
- package/internals/index.d.ts +3 -2
- package/internals/index.js +19 -0
- package/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
- package/internals/utils/createNonRangePickerStepNavigation.js +30 -0
- package/internals/utils/createStepNavigation.d.ts +32 -0
- package/internals/utils/createStepNavigation.js +41 -0
- package/internals/utils/date-utils.d.ts +1 -0
- package/internals/utils/date-utils.js +3 -3
- package/internals/utils/time-utils.d.ts +2 -0
- package/internals/utils/time-utils.js +5 -4
- package/locales/beBY.d.ts +1 -0
- package/locales/beBY.js +1 -0
- package/locales/bgBG.d.ts +1 -0
- package/locales/bgBG.js +1 -0
- package/locales/bnBD.d.ts +1 -0
- package/locales/bnBD.js +1 -0
- package/locales/caES.d.ts +1 -0
- package/locales/caES.js +1 -0
- package/locales/csCZ.d.ts +1 -0
- package/locales/csCZ.js +1 -0
- package/locales/daDK.d.ts +1 -0
- package/locales/daDK.js +1 -0
- package/locales/deDE.d.ts +1 -0
- package/locales/deDE.js +1 -0
- package/locales/elGR.d.ts +1 -0
- package/locales/elGR.js +1 -0
- package/locales/enUS.d.ts +1 -0
- package/locales/enUS.js +1 -0
- package/locales/esES.d.ts +1 -0
- package/locales/esES.js +1 -0
- package/locales/eu.d.ts +1 -0
- package/locales/eu.js +1 -0
- package/locales/faIR.d.ts +1 -0
- package/locales/faIR.js +1 -0
- package/locales/fiFI.d.ts +1 -0
- package/locales/fiFI.js +1 -0
- package/locales/frFR.d.ts +1 -0
- package/locales/frFR.js +1 -0
- package/locales/heIL.d.ts +1 -0
- package/locales/heIL.js +1 -0
- package/locales/hrHR.d.ts +1 -0
- package/locales/hrHR.js +1 -0
- package/locales/huHU.d.ts +1 -0
- package/locales/huHU.js +1 -0
- package/locales/isIS.d.ts +1 -0
- package/locales/isIS.js +1 -0
- package/locales/itIT.d.ts +1 -0
- package/locales/itIT.js +1 -0
- package/locales/jaJP.d.ts +1 -0
- package/locales/jaJP.js +1 -0
- package/locales/koKR.d.ts +1 -0
- package/locales/koKR.js +1 -0
- package/locales/kzKZ.d.ts +1 -0
- package/locales/kzKZ.js +1 -0
- package/locales/mk.d.ts +1 -0
- package/locales/mk.js +1 -0
- package/locales/nbNO.d.ts +1 -0
- package/locales/nbNO.js +1 -0
- package/locales/nlNL.d.ts +1 -0
- package/locales/nlNL.js +1 -0
- package/locales/nnNO.d.ts +1 -0
- package/locales/nnNO.js +1 -0
- package/locales/plPL.d.ts +1 -0
- package/locales/plPL.js +1 -0
- package/locales/ptBR.d.ts +1 -0
- package/locales/ptBR.js +1 -0
- package/locales/ptPT.d.ts +1 -0
- package/locales/ptPT.js +1 -0
- package/locales/roRO.d.ts +1 -0
- package/locales/roRO.js +1 -0
- package/locales/ruRU.d.ts +1 -0
- package/locales/ruRU.js +1 -0
- package/locales/skSK.d.ts +1 -0
- package/locales/skSK.js +1 -0
- package/locales/svSE.d.ts +1 -0
- package/locales/svSE.js +1 -0
- package/locales/trTR.d.ts +1 -0
- package/locales/trTR.js +1 -0
- package/locales/ukUA.d.ts +1 -0
- package/locales/ukUA.js +1 -0
- package/locales/urPK.d.ts +1 -0
- package/locales/urPK.js +1 -0
- package/locales/utils/getPickersLocalization.d.ts +1 -0
- package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/locales/viVN.d.ts +1 -0
- package/locales/viVN.js +1 -0
- package/locales/zhCN.d.ts +1 -0
- package/locales/zhCN.js +1 -0
- package/locales/zhHK.d.ts +1 -0
- package/locales/zhHK.js +1 -0
- package/locales/zhTW.d.ts +1 -0
- package/locales/zhTW.js +1 -0
- package/modern/DateField/DateField.js +4 -4
- package/modern/DateTimeField/DateTimeField.js +4 -4
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +2 -1
- package/modern/DigitalClock/DigitalClock.js +1 -0
- package/modern/LocalizationProvider/LocalizationProvider.d.ts +1 -1
- package/modern/LocalizationProvider/LocalizationProvider.js +2 -2
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +2 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
- package/modern/PickersActionBar/PickersActionBar.d.ts +1 -1
- package/modern/PickersActionBar/PickersActionBar.js +22 -4
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
- package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
- package/modern/TimeField/TimeField.js +4 -4
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerProvider.d.ts +9 -0
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
- package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
- package/modern/internals/hooks/usePicker/usePicker.d.ts +2 -1
- package/modern/internals/hooks/usePicker/usePicker.js +14 -4
- package/modern/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
- package/modern/internals/index.d.ts +3 -2
- package/modern/internals/index.js +3 -2
- package/modern/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
- package/modern/internals/utils/createNonRangePickerStepNavigation.js +24 -0
- package/modern/internals/utils/createStepNavigation.d.ts +32 -0
- package/modern/internals/utils/createStepNavigation.js +34 -0
- package/modern/internals/utils/date-utils.d.ts +1 -0
- package/modern/internals/utils/date-utils.js +2 -2
- package/modern/internals/utils/time-utils.d.ts +2 -0
- package/modern/internals/utils/time-utils.js +4 -3
- package/modern/locales/beBY.d.ts +1 -0
- package/modern/locales/beBY.js +1 -0
- package/modern/locales/bgBG.d.ts +1 -0
- package/modern/locales/bgBG.js +1 -0
- package/modern/locales/bnBD.d.ts +1 -0
- package/modern/locales/bnBD.js +1 -0
- package/modern/locales/caES.d.ts +1 -0
- package/modern/locales/caES.js +1 -0
- package/modern/locales/csCZ.d.ts +1 -0
- package/modern/locales/csCZ.js +1 -0
- package/modern/locales/daDK.d.ts +1 -0
- package/modern/locales/daDK.js +1 -0
- package/modern/locales/deDE.d.ts +1 -0
- package/modern/locales/deDE.js +1 -0
- package/modern/locales/elGR.d.ts +1 -0
- package/modern/locales/elGR.js +1 -0
- package/modern/locales/enUS.d.ts +1 -0
- package/modern/locales/enUS.js +1 -0
- package/modern/locales/esES.d.ts +1 -0
- package/modern/locales/esES.js +1 -0
- package/modern/locales/eu.d.ts +1 -0
- package/modern/locales/eu.js +1 -0
- package/modern/locales/faIR.d.ts +1 -0
- package/modern/locales/faIR.js +1 -0
- package/modern/locales/fiFI.d.ts +1 -0
- package/modern/locales/fiFI.js +1 -0
- package/modern/locales/frFR.d.ts +1 -0
- package/modern/locales/frFR.js +1 -0
- package/modern/locales/heIL.d.ts +1 -0
- package/modern/locales/heIL.js +1 -0
- package/modern/locales/hrHR.d.ts +1 -0
- package/modern/locales/hrHR.js +1 -0
- package/modern/locales/huHU.d.ts +1 -0
- package/modern/locales/huHU.js +1 -0
- package/modern/locales/isIS.d.ts +1 -0
- package/modern/locales/isIS.js +1 -0
- package/modern/locales/itIT.d.ts +1 -0
- package/modern/locales/itIT.js +1 -0
- package/modern/locales/jaJP.d.ts +1 -0
- package/modern/locales/jaJP.js +1 -0
- package/modern/locales/koKR.d.ts +1 -0
- package/modern/locales/koKR.js +1 -0
- package/modern/locales/kzKZ.d.ts +1 -0
- package/modern/locales/kzKZ.js +1 -0
- package/modern/locales/mk.d.ts +1 -0
- package/modern/locales/mk.js +1 -0
- package/modern/locales/nbNO.d.ts +1 -0
- package/modern/locales/nbNO.js +1 -0
- package/modern/locales/nlNL.d.ts +1 -0
- package/modern/locales/nlNL.js +1 -0
- package/modern/locales/nnNO.d.ts +1 -0
- package/modern/locales/nnNO.js +1 -0
- package/modern/locales/plPL.d.ts +1 -0
- package/modern/locales/plPL.js +1 -0
- package/modern/locales/ptBR.d.ts +1 -0
- package/modern/locales/ptBR.js +1 -0
- package/modern/locales/ptPT.d.ts +1 -0
- package/modern/locales/ptPT.js +1 -0
- package/modern/locales/roRO.d.ts +1 -0
- package/modern/locales/roRO.js +1 -0
- package/modern/locales/ruRU.d.ts +1 -0
- package/modern/locales/ruRU.js +1 -0
- package/modern/locales/skSK.d.ts +1 -0
- package/modern/locales/skSK.js +1 -0
- package/modern/locales/svSE.d.ts +1 -0
- package/modern/locales/svSE.js +1 -0
- package/modern/locales/trTR.d.ts +1 -0
- package/modern/locales/trTR.js +1 -0
- package/modern/locales/ukUA.d.ts +1 -0
- package/modern/locales/ukUA.js +1 -0
- package/modern/locales/urPK.d.ts +1 -0
- package/modern/locales/urPK.js +1 -0
- package/modern/locales/utils/getPickersLocalization.d.ts +1 -0
- package/modern/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/modern/locales/viVN.d.ts +1 -0
- package/modern/locales/viVN.js +1 -0
- package/modern/locales/zhCN.d.ts +1 -0
- package/modern/locales/zhCN.js +1 -0
- package/modern/locales/zhHK.d.ts +1 -0
- package/modern/locales/zhHK.js +1 -0
- package/modern/locales/zhTW.d.ts +1 -0
- package/modern/locales/zhTW.js +1 -0
- package/package.json +6 -6
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -123,7 +123,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
123
123
|
formatDensity: PropTypes.oneOf(['dense', 'spacious']),
|
|
124
124
|
/**
|
|
125
125
|
* Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.
|
|
126
|
-
* @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in
|
|
126
|
+
* @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
127
127
|
*/
|
|
128
128
|
FormHelperTextProps: PropTypes.object,
|
|
129
129
|
/**
|
|
@@ -150,12 +150,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
150
150
|
/**
|
|
151
151
|
* Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.
|
|
152
152
|
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
|
153
|
-
* @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in
|
|
153
|
+
* @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
154
154
|
*/
|
|
155
155
|
InputLabelProps: PropTypes.object,
|
|
156
156
|
/**
|
|
157
157
|
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
158
|
-
* @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in
|
|
158
|
+
* @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
159
159
|
*/
|
|
160
160
|
inputProps: PropTypes.object,
|
|
161
161
|
/**
|
|
@@ -163,7 +163,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
163
163
|
* It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),
|
|
164
164
|
* [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)
|
|
165
165
|
* component depending on the `variant` prop value.
|
|
166
|
-
* @deprecated Use `slotProps.input` instead. This prop will be removed in
|
|
166
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
167
167
|
*/
|
|
168
168
|
InputProps: PropTypes.object,
|
|
169
169
|
/**
|
package/modern/index.js
CHANGED
|
@@ -109,6 +109,10 @@ export interface PickerContextValue<TValue extends PickerValidValue, TView exten
|
|
|
109
109
|
* If it is "enabled", the field should render an interactive UI to open the Picker.
|
|
110
110
|
*/
|
|
111
111
|
triggerStatus: 'hidden' | 'disabled' | 'enabled';
|
|
112
|
+
/**
|
|
113
|
+
* Whether the Picker has any value picking steps left.
|
|
114
|
+
*/
|
|
115
|
+
hasNextStep: boolean;
|
|
112
116
|
/**
|
|
113
117
|
* The ref to attach to the popup's outermost element that contains the view, if any.
|
|
114
118
|
* When using a built-in popup component, this property is automatically attached to the appropriate element.
|
|
@@ -203,6 +207,11 @@ export interface PickerActionsContextValue<TValue extends PickerValidValue, TVie
|
|
|
203
207
|
* The value will be reset to the last accepted value.
|
|
204
208
|
*/
|
|
205
209
|
cancelValueChanges: () => void;
|
|
210
|
+
/**
|
|
211
|
+
* Go to the next step in the value picking process.
|
|
212
|
+
* For example, on the Mobile Date Time Picker, if the user is editing the date, it will switch to editing the time.
|
|
213
|
+
*/
|
|
214
|
+
goToNextStep: () => void;
|
|
206
215
|
}
|
|
207
216
|
export interface SetValueActionOptions<TError = string | null> {
|
|
208
217
|
/**
|
|
@@ -9,6 +9,7 @@ import { DateOrTimeViewWithMeridiem } from "../../models/index.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const useDesktopPicker: <TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopPickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({
|
|
11
11
|
props,
|
|
12
|
+
steps,
|
|
12
13
|
...pickerParams
|
|
13
14
|
}: UseDesktopPickerParams<TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
|
|
14
15
|
renderPicker: () => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["props"],
|
|
3
|
+
const _excluded = ["props", "steps"],
|
|
4
4
|
_excluded2 = ["ownerState"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
@@ -9,6 +9,7 @@ import { usePicker } from "../usePicker/index.js";
|
|
|
9
9
|
import { PickersLayout } from "../../../PickersLayout/index.js";
|
|
10
10
|
import { PickerProvider } from "../../components/PickerProvider.js";
|
|
11
11
|
import { PickerFieldUIContextProvider } from "../../components/PickerFieldUI.js";
|
|
12
|
+
import { createNonRangePickerStepNavigation } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Hook managing all the single-date desktop pickers:
|
|
@@ -19,7 +20,8 @@ import { PickerFieldUIContextProvider } from "../../components/PickerFieldUI.js"
|
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
21
|
export const useDesktopPicker = _ref => {
|
|
21
22
|
let {
|
|
22
|
-
props
|
|
23
|
+
props,
|
|
24
|
+
steps
|
|
23
25
|
} = _ref,
|
|
24
26
|
pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
25
27
|
const {
|
|
@@ -29,6 +31,9 @@ export const useDesktopPicker = _ref => {
|
|
|
29
31
|
inputRef,
|
|
30
32
|
localeText
|
|
31
33
|
} = props;
|
|
34
|
+
const getStepNavigation = createNonRangePickerStepNavigation({
|
|
35
|
+
steps
|
|
36
|
+
});
|
|
32
37
|
const {
|
|
33
38
|
providerProps,
|
|
34
39
|
renderCurrentView,
|
|
@@ -38,7 +43,8 @@ export const useDesktopPicker = _ref => {
|
|
|
38
43
|
localeText,
|
|
39
44
|
autoFocusView: true,
|
|
40
45
|
viewContainerRole: 'dialog',
|
|
41
|
-
variant: 'desktop'
|
|
46
|
+
variant: 'desktop',
|
|
47
|
+
getStepNavigation
|
|
42
48
|
}));
|
|
43
49
|
const labelId = providerProps.privateContextValue.labelId;
|
|
44
50
|
const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
|
|
@@ -7,6 +7,7 @@ import { PickerFieldSlotProps, PickerOwnerState } from "../../../models/index.js
|
|
|
7
7
|
import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from "../../../PickersLayout/PickersLayout.types.js";
|
|
8
8
|
import { DateOrTimeViewWithMeridiem, PickerValue } from "../../models/index.js";
|
|
9
9
|
import { PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from "../../components/PickerFieldUI.js";
|
|
10
|
+
import { PickerStep } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
10
11
|
export interface UseDesktopPickerSlots extends Pick<PickerPopperSlots, 'desktopPaper' | 'desktopTransition' | 'desktopTrapFocus' | 'popper'>, ExportedPickersLayoutSlots<PickerValue>, PickerFieldUISlotsFromContext {
|
|
11
12
|
/**
|
|
12
13
|
* Component used to enter the date with the keyboard.
|
|
@@ -38,4 +39,10 @@ export interface UseDesktopPickerProps<TView extends DateOrTimeViewWithMeridiem,
|
|
|
38
39
|
}
|
|
39
40
|
export interface UseDesktopPickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopPickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends Pick<UsePickerParameters<PickerValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
|
|
40
41
|
props: TExternalProps;
|
|
42
|
+
/**
|
|
43
|
+
* Steps available for the picker.
|
|
44
|
+
* This will be used to define the behavior of navigation actions.
|
|
45
|
+
* If null, the picker will not have any step navigation.
|
|
46
|
+
*/
|
|
47
|
+
steps: PickerStep[] | null;
|
|
41
48
|
}
|
|
@@ -121,7 +121,7 @@ const createSection = ({
|
|
|
121
121
|
maxLength = sectionValue === '' ? utils.formatByString(now, token).length : sectionValue.length;
|
|
122
122
|
} else {
|
|
123
123
|
if (sectionConfig.maxLength == null) {
|
|
124
|
-
throw new Error(`MUI X: The token ${token} should have a '
|
|
124
|
+
throw new Error(`MUI X: The token ${token} should have a 'maxLength' property on it's adapter`);
|
|
125
125
|
}
|
|
126
126
|
maxLength = sectionConfig.maxLength;
|
|
127
127
|
if (isValidDate) {
|
|
@@ -9,6 +9,7 @@ import { DateOrTimeViewWithMeridiem } from "../../models/index.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const useMobilePicker: <TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobilePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({
|
|
11
11
|
props,
|
|
12
|
+
steps,
|
|
12
13
|
...pickerParams
|
|
13
14
|
}: UseMobilePickerParams<TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
|
|
14
15
|
renderPicker: () => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["props"],
|
|
3
|
+
const _excluded = ["props", "steps"],
|
|
4
4
|
_excluded2 = ["ownerState"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
@@ -9,6 +9,7 @@ import { usePicker } from "../usePicker/index.js";
|
|
|
9
9
|
import { PickersLayout } from "../../../PickersLayout/index.js";
|
|
10
10
|
import { PickerProvider } from "../../components/PickerProvider.js";
|
|
11
11
|
import { PickerFieldUIContextProvider } from "../../components/PickerFieldUI.js";
|
|
12
|
+
import { createNonRangePickerStepNavigation } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Hook managing all the single-date mobile pickers:
|
|
@@ -19,7 +20,8 @@ import { PickerFieldUIContextProvider } from "../../components/PickerFieldUI.js"
|
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
21
|
export const useMobilePicker = _ref => {
|
|
21
22
|
let {
|
|
22
|
-
props
|
|
23
|
+
props,
|
|
24
|
+
steps
|
|
23
25
|
} = _ref,
|
|
24
26
|
pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
25
27
|
const {
|
|
@@ -29,6 +31,9 @@ export const useMobilePicker = _ref => {
|
|
|
29
31
|
inputRef,
|
|
30
32
|
localeText
|
|
31
33
|
} = props;
|
|
34
|
+
const getStepNavigation = createNonRangePickerStepNavigation({
|
|
35
|
+
steps
|
|
36
|
+
});
|
|
32
37
|
const {
|
|
33
38
|
providerProps,
|
|
34
39
|
renderCurrentView,
|
|
@@ -38,7 +43,8 @@ export const useMobilePicker = _ref => {
|
|
|
38
43
|
localeText,
|
|
39
44
|
autoFocusView: true,
|
|
40
45
|
viewContainerRole: 'dialog',
|
|
41
|
-
variant: 'mobile'
|
|
46
|
+
variant: 'mobile',
|
|
47
|
+
getStepNavigation
|
|
42
48
|
}));
|
|
43
49
|
const labelId = providerProps.privateContextValue.labelId;
|
|
44
50
|
const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
|
|
@@ -7,6 +7,7 @@ import { PickerFieldSlotProps, PickerOwnerState } from "../../../models/index.js
|
|
|
7
7
|
import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from "../../../PickersLayout/PickersLayout.types.js";
|
|
8
8
|
import { DateOrTimeViewWithMeridiem, PickerValue } from "../../models/index.js";
|
|
9
9
|
import { PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from "../../components/PickerFieldUI.js";
|
|
10
|
+
import { PickerStep } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
10
11
|
export interface UseMobilePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots<PickerValue>, PickerFieldUISlotsFromContext {
|
|
11
12
|
/**
|
|
12
13
|
* Component used to enter the date with the keyboard.
|
|
@@ -32,4 +33,10 @@ export interface UseMobilePickerProps<TView extends DateOrTimeViewWithMeridiem,
|
|
|
32
33
|
}
|
|
33
34
|
export interface UseMobilePickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobilePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends Pick<UsePickerParameters<PickerValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
|
|
34
35
|
props: TExternalProps;
|
|
36
|
+
/**
|
|
37
|
+
* Steps available for the picker.
|
|
38
|
+
* This will be used to define the behavior of navigation actions.
|
|
39
|
+
* If null, the picker will not have any step navigation.
|
|
40
|
+
*/
|
|
41
|
+
steps: PickerStep[] | null;
|
|
35
42
|
}
|
|
@@ -10,5 +10,6 @@ export declare const usePicker: <TValue extends PickerValidValue, TView extends
|
|
|
10
10
|
autoFocusView,
|
|
11
11
|
rendererInterceptor: RendererInterceptor,
|
|
12
12
|
localeText,
|
|
13
|
-
viewContainerRole
|
|
13
|
+
viewContainerRole,
|
|
14
|
+
getStepNavigation
|
|
14
15
|
}: UsePickerParameters<TValue, TView, TExternalProps>) => UsePickerReturnValue<TValue>;
|
|
@@ -23,7 +23,8 @@ export const usePicker = ({
|
|
|
23
23
|
autoFocusView,
|
|
24
24
|
rendererInterceptor: RendererInterceptor,
|
|
25
25
|
localeText,
|
|
26
|
-
viewContainerRole
|
|
26
|
+
viewContainerRole,
|
|
27
|
+
getStepNavigation
|
|
27
28
|
}) => {
|
|
28
29
|
const {
|
|
29
30
|
// View props
|
|
@@ -190,6 +191,13 @@ export const usePicker = ({
|
|
|
190
191
|
}
|
|
191
192
|
return 'enabled';
|
|
192
193
|
}, [disableOpenPicker, hasUIView, disabled, readOnly]);
|
|
194
|
+
const stepNavigation = getStepNavigation({
|
|
195
|
+
setView,
|
|
196
|
+
view,
|
|
197
|
+
initialView: initialView ?? views[0],
|
|
198
|
+
views
|
|
199
|
+
});
|
|
200
|
+
const wrappedGoToNextStep = useEventCallback(stepNavigation.goToNextStep);
|
|
193
201
|
const actionsContextValue = React.useMemo(() => ({
|
|
194
202
|
setValue,
|
|
195
203
|
setOpen,
|
|
@@ -197,8 +205,9 @@ export const usePicker = ({
|
|
|
197
205
|
setValueToToday,
|
|
198
206
|
acceptValueChanges,
|
|
199
207
|
cancelValueChanges,
|
|
200
|
-
setView
|
|
201
|
-
|
|
208
|
+
setView,
|
|
209
|
+
goToNextStep: wrappedGoToNextStep
|
|
210
|
+
}), [setValue, setOpen, clearValue, setValueToToday, acceptValueChanges, cancelValueChanges, setView, wrappedGoToNextStep]);
|
|
202
211
|
const contextValue = React.useMemo(() => _extends({}, actionsContextValue, {
|
|
203
212
|
value,
|
|
204
213
|
timezone,
|
|
@@ -215,13 +224,14 @@ export const usePicker = ({
|
|
|
215
224
|
reduceAnimations,
|
|
216
225
|
triggerRef,
|
|
217
226
|
triggerStatus,
|
|
227
|
+
hasNextStep: stepNavigation.hasNextStep,
|
|
218
228
|
fieldFormat: format ?? '',
|
|
219
229
|
name,
|
|
220
230
|
label,
|
|
221
231
|
rootSx: sx,
|
|
222
232
|
rootRef,
|
|
223
233
|
rootClassName: className
|
|
224
|
-
}), [actionsContextValue, value, rootRef, variant, orientation, reduceAnimations, disabled, readOnly, format, className, name, label, sx, triggerStatus, timezone, state.open, popperView, views, initialView, autoFocus]);
|
|
234
|
+
}), [actionsContextValue, value, rootRef, variant, orientation, reduceAnimations, disabled, readOnly, format, className, name, label, sx, triggerStatus, stepNavigation.hasNextStep, timezone, state.open, popperView, views, initialView, autoFocus]);
|
|
225
235
|
const privateContextValue = React.useMemo(() => ({
|
|
226
236
|
dismissViews,
|
|
227
237
|
ownerState,
|
|
@@ -7,6 +7,7 @@ import { UseViewsOptions } from "../useViews.js";
|
|
|
7
7
|
import { PickerProviderProps } from "../../components/PickerProvider.js";
|
|
8
8
|
import { PickersInputLocaleText } from "../../../locales/index.js";
|
|
9
9
|
import { PickerFieldPrivateContextValue } from "../useNullableFieldPrivateContext.js";
|
|
10
|
+
import { CreateStepNavigationReturnValue } from "../../utils/createStepNavigation.js";
|
|
10
11
|
/**
|
|
11
12
|
* Props common to all Picker headless implementations.
|
|
12
13
|
* Those props are exposed on all the Pickers.
|
|
@@ -130,6 +131,7 @@ export interface UsePickerParameters<TValue extends PickerValidValue, TView exte
|
|
|
130
131
|
*/
|
|
131
132
|
rendererInterceptor?: React.JSXElementConstructor<PickerRendererInterceptorProps<TValue, TView, TExternalProps>>;
|
|
132
133
|
props: TExternalProps;
|
|
134
|
+
getStepNavigation: CreateStepNavigationReturnValue;
|
|
133
135
|
}
|
|
134
136
|
export interface UsePickerReturnValue<TValue extends PickerValidValue> {
|
|
135
137
|
ownerState: PickerOwnerState;
|
|
@@ -9,6 +9,7 @@ import { DateOrTimeViewWithMeridiem } from "../../models/index.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const useStaticPicker: <TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>>({
|
|
11
11
|
props,
|
|
12
|
+
steps,
|
|
12
13
|
...pickerParams
|
|
13
14
|
}: UseStaticPickerParams<TView, TExternalProps>) => {
|
|
14
15
|
renderPicker: () => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["props"];
|
|
3
|
+
const _excluded = ["props", "steps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
@@ -9,6 +9,7 @@ import { PickerProvider } from "../../components/PickerProvider.js";
|
|
|
9
9
|
import { PickersLayout } from "../../../PickersLayout/index.js";
|
|
10
10
|
import { DIALOG_WIDTH } from "../../constants/dimensions.js";
|
|
11
11
|
import { mergeSx } from "../../utils/utils.js";
|
|
12
|
+
import { createNonRangePickerStepNavigation } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
const PickerStaticLayout = styled(PickersLayout)(({
|
|
14
15
|
theme
|
|
@@ -26,7 +27,8 @@ const PickerStaticLayout = styled(PickersLayout)(({
|
|
|
26
27
|
*/
|
|
27
28
|
export const useStaticPicker = _ref => {
|
|
28
29
|
let {
|
|
29
|
-
props
|
|
30
|
+
props,
|
|
31
|
+
steps
|
|
30
32
|
} = _ref,
|
|
31
33
|
pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
32
34
|
const {
|
|
@@ -36,6 +38,9 @@ export const useStaticPicker = _ref => {
|
|
|
36
38
|
displayStaticWrapperAs,
|
|
37
39
|
autoFocus
|
|
38
40
|
} = props;
|
|
41
|
+
const getStepNavigation = createNonRangePickerStepNavigation({
|
|
42
|
+
steps
|
|
43
|
+
});
|
|
39
44
|
const {
|
|
40
45
|
providerProps,
|
|
41
46
|
renderCurrentView
|
|
@@ -44,7 +49,8 @@ export const useStaticPicker = _ref => {
|
|
|
44
49
|
variant: displayStaticWrapperAs,
|
|
45
50
|
autoFocusView: autoFocus ?? false,
|
|
46
51
|
viewContainerRole: null,
|
|
47
|
-
localeText
|
|
52
|
+
localeText,
|
|
53
|
+
getStepNavigation
|
|
48
54
|
}));
|
|
49
55
|
const Layout = slots?.layout ?? PickerStaticLayout;
|
|
50
56
|
const renderPicker = () => /*#__PURE__*/_jsx(PickerProvider, _extends({}, providerProps, {
|
|
@@ -2,6 +2,7 @@ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from "../.
|
|
|
2
2
|
import { BasePickerProps } from "../../models/props/basePickerProps.js";
|
|
3
3
|
import { UsePickerParameters, UsePickerProps } from "../usePicker/index.js";
|
|
4
4
|
import { DateOrTimeViewWithMeridiem, PickerValue } from "../../models/index.js";
|
|
5
|
+
import { PickerStep } from "../../utils/createNonRangePickerStepNavigation.js";
|
|
5
6
|
export interface UseStaticPickerSlots extends ExportedPickersLayoutSlots<PickerValue> {}
|
|
6
7
|
export interface UseStaticPickerSlotProps extends ExportedPickersLayoutSlotProps<PickerValue> {}
|
|
7
8
|
export interface StaticOnlyPickerProps {
|
|
@@ -36,4 +37,10 @@ export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem,
|
|
|
36
37
|
}
|
|
37
38
|
export interface UseStaticPickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
|
|
38
39
|
props: TExternalProps;
|
|
40
|
+
/**
|
|
41
|
+
* Steps available for the picker.
|
|
42
|
+
* This will be used to define the behavior of navigation actions.
|
|
43
|
+
* If null, the picker will not have any step navigation.
|
|
44
|
+
*/
|
|
45
|
+
steps: PickerStep[] | null;
|
|
39
46
|
}
|
|
@@ -53,9 +53,10 @@ export type { FormProps } from './models/formProps';
|
|
|
53
53
|
export type { PickerVariant, TimeViewWithMeridiem, DateOrTimeViewWithMeridiem } from './models/common';
|
|
54
54
|
export type { BaseDateValidationProps, BaseTimeValidationProps, TimeValidationProps, MonthValidationProps, YearValidationProps, DayValidationProps, DateTimeValidationProps } from './models/validation';
|
|
55
55
|
export type { PickerValue, PickerRangeValue, PickerNonNullableRangeValue, InferNonNullablePickerValue, PickerValidValue } from './models/value';
|
|
56
|
-
export {
|
|
56
|
+
export { createStepNavigation } from "./utils/createStepNavigation.js";
|
|
57
|
+
export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, isDatePickerView, mergeDateAndTime, formatMeridiem, DATE_VIEWS } from "./utils/date-utils.js";
|
|
57
58
|
export { getDefaultReferenceDate } from "./utils/getDefaultReferenceDate.js";
|
|
58
|
-
export { isTimeView, isInternalTimeView, resolveTimeFormat, getMeridiem } from "./utils/time-utils.js";
|
|
59
|
+
export { isTimeView, isInternalTimeView, resolveTimeFormat, getMeridiem, TIME_VIEWS } from "./utils/time-utils.js";
|
|
59
60
|
export { resolveTimeViewsResponse, resolveDateTimeFormat } from "./utils/date-time-utils.js";
|
|
60
61
|
export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, mergeSx, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from "./utils/utils.js";
|
|
61
62
|
export { useReduceAnimations } from "./hooks/useReduceAnimations.js";
|
|
@@ -23,9 +23,10 @@ export { useToolbarOwnerState } from "./hooks/useToolbarOwnerState.js";
|
|
|
23
23
|
export { useLocalizationContext, useDefaultDates, useUtils, useNow } from "./hooks/useUtils.js";
|
|
24
24
|
export { useViews } from "./hooks/useViews.js";
|
|
25
25
|
export { usePreviousMonthDisabled, useNextMonthDisabled } from "./hooks/date-helpers-hooks.js";
|
|
26
|
-
export {
|
|
26
|
+
export { createStepNavigation } from "./utils/createStepNavigation.js";
|
|
27
|
+
export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, isDatePickerView, mergeDateAndTime, formatMeridiem, DATE_VIEWS } from "./utils/date-utils.js";
|
|
27
28
|
export { getDefaultReferenceDate } from "./utils/getDefaultReferenceDate.js";
|
|
28
|
-
export { isTimeView, isInternalTimeView, resolveTimeFormat, getMeridiem } from "./utils/time-utils.js";
|
|
29
|
+
export { isTimeView, isInternalTimeView, resolveTimeFormat, getMeridiem, TIME_VIEWS } from "./utils/time-utils.js";
|
|
29
30
|
export { resolveTimeViewsResponse, resolveDateTimeFormat } from "./utils/date-time-utils.js";
|
|
30
31
|
export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, mergeSx, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from "./utils/utils.js";
|
|
31
32
|
export { useReduceAnimations } from "./hooks/useReduceAnimations.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DateOrTimeViewWithMeridiem } from "../models/common.js";
|
|
2
|
+
export declare function createNonRangePickerStepNavigation(parameters: CreateNonRangePickerStepNavigationParameters): import("./createStepNavigation").CreateStepNavigationReturnValue;
|
|
3
|
+
export interface PickerStep {
|
|
4
|
+
/**
|
|
5
|
+
* The views that are handled inside this step.
|
|
6
|
+
* If null, all views are handled by this step.
|
|
7
|
+
*/
|
|
8
|
+
views: readonly DateOrTimeViewWithMeridiem[] | null;
|
|
9
|
+
}
|
|
10
|
+
interface CreateNonRangePickerStepNavigationParameters {
|
|
11
|
+
steps: PickerStep[] | null;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createStepNavigation } from "./createStepNavigation.js";
|
|
2
|
+
export function createNonRangePickerStepNavigation(parameters) {
|
|
3
|
+
const {
|
|
4
|
+
steps
|
|
5
|
+
} = parameters;
|
|
6
|
+
return createStepNavigation({
|
|
7
|
+
steps,
|
|
8
|
+
isCurrentViewMatchingStep: (view, step) => {
|
|
9
|
+
return step.views == null || step.views.includes(view);
|
|
10
|
+
},
|
|
11
|
+
onStepChange: ({
|
|
12
|
+
step,
|
|
13
|
+
initialView,
|
|
14
|
+
setView,
|
|
15
|
+
view,
|
|
16
|
+
views
|
|
17
|
+
}) => {
|
|
18
|
+
const targetView = step.views == null ? initialView : step.views.find(viewBis => views.includes(viewBis));
|
|
19
|
+
if (targetView !== view) {
|
|
20
|
+
setView(targetView);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DateOrTimeViewWithMeridiem } from "../models/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Create an object that determines whether there is a next step and allows to go to the next step.
|
|
4
|
+
* @param {CreateStepNavigationParameters<TStep>} parameters The parameters of the createStepNavigation function
|
|
5
|
+
* @returns {CreateStepNavigationReturnValue} The return value of the createStepNavigation function
|
|
6
|
+
*/
|
|
7
|
+
export declare function createStepNavigation<TStep extends {}>(parameters: CreateStepNavigationParameters<TStep>): CreateStepNavigationReturnValue;
|
|
8
|
+
interface CreateStepNavigationParameters<TStep extends {}> {
|
|
9
|
+
steps: TStep[] | null;
|
|
10
|
+
isCurrentViewMatchingStep: (view: DateOrTimeViewWithMeridiem, step: TStep) => boolean;
|
|
11
|
+
onStepChange: (parameters: UseRangePickerStepNavigationOnStepChangeParameters<TStep>) => void;
|
|
12
|
+
}
|
|
13
|
+
export type CreateStepNavigationReturnValue = (parameters: CreateStepNavigationReturnValueParameters) => {
|
|
14
|
+
/**
|
|
15
|
+
* Whether there is a next step.
|
|
16
|
+
*/
|
|
17
|
+
hasNextStep: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Go to the next step if any.
|
|
20
|
+
*/
|
|
21
|
+
goToNextStep: () => void;
|
|
22
|
+
};
|
|
23
|
+
export interface CreateStepNavigationReturnValueParameters {
|
|
24
|
+
initialView: DateOrTimeViewWithMeridiem;
|
|
25
|
+
view: DateOrTimeViewWithMeridiem;
|
|
26
|
+
views: readonly DateOrTimeViewWithMeridiem[];
|
|
27
|
+
setView: (view: any) => void;
|
|
28
|
+
}
|
|
29
|
+
interface UseRangePickerStepNavigationOnStepChangeParameters<TStep extends {}> extends CreateStepNavigationReturnValueParameters {
|
|
30
|
+
step: TStep;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
/**
|
|
3
|
+
* Create an object that determines whether there is a next step and allows to go to the next step.
|
|
4
|
+
* @param {CreateStepNavigationParameters<TStep>} parameters The parameters of the createStepNavigation function
|
|
5
|
+
* @returns {CreateStepNavigationReturnValue} The return value of the createStepNavigation function
|
|
6
|
+
*/
|
|
7
|
+
export function createStepNavigation(parameters) {
|
|
8
|
+
const {
|
|
9
|
+
steps,
|
|
10
|
+
isCurrentViewMatchingStep,
|
|
11
|
+
onStepChange
|
|
12
|
+
} = parameters;
|
|
13
|
+
return parametersBis => {
|
|
14
|
+
if (steps == null) {
|
|
15
|
+
return {
|
|
16
|
+
hasNextStep: false,
|
|
17
|
+
goToNextStep: () => {}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const currentStepIndex = steps.findIndex(step => isCurrentViewMatchingStep(parametersBis.view, step));
|
|
21
|
+
const nextStep = currentStepIndex === -1 || currentStepIndex === steps.length - 1 ? null : steps[currentStepIndex + 1];
|
|
22
|
+
return {
|
|
23
|
+
hasNextStep: nextStep != null,
|
|
24
|
+
goToNextStep: () => {
|
|
25
|
+
if (nextStep == null) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
onStepChange(_extends({}, parametersBis, {
|
|
29
|
+
step: nextStep
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -27,6 +27,7 @@ export declare const areDatesEqual: (utils: MuiPickersAdapter, a: PickerValidDat
|
|
|
27
27
|
export declare const getMonthsInYear: (utils: MuiPickersAdapter, year: PickerValidDate) => PickerValidDate[];
|
|
28
28
|
export declare const getTodayDate: (utils: MuiPickersAdapter, timezone: PickersTimezone, valueType?: PickerValueType) => PickerValidDate;
|
|
29
29
|
export declare const formatMeridiem: (utils: MuiPickersAdapter, meridiem: "am" | "pm") => string;
|
|
30
|
+
export declare const DATE_VIEWS: readonly ["year", "month", "day"];
|
|
30
31
|
export declare const isDatePickerView: (view: DateOrTimeViewWithMeridiem) => view is DateView;
|
|
31
32
|
export declare const resolveDateFormat: (utils: MuiPickersAdapter, {
|
|
32
33
|
format,
|
|
@@ -85,8 +85,8 @@ export const formatMeridiem = (utils, meridiem) => {
|
|
|
85
85
|
const date = utils.setHours(utils.date(), meridiem === 'am' ? 2 : 14);
|
|
86
86
|
return utils.format(date, 'meridiem');
|
|
87
87
|
};
|
|
88
|
-
const
|
|
89
|
-
export const isDatePickerView = view =>
|
|
88
|
+
export const DATE_VIEWS = ['year', 'month', 'day'];
|
|
89
|
+
export const isDatePickerView = view => DATE_VIEWS.includes(view);
|
|
90
90
|
export const resolveDateFormat = (utils, {
|
|
91
91
|
format,
|
|
92
92
|
views
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { MuiPickersAdapter, PickerValidDate } from "../../models/index.js";
|
|
2
2
|
import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from "../models/index.js";
|
|
3
|
+
export declare const EXPORTED_TIME_VIEWS: readonly ["hours", "minutes", "seconds"];
|
|
4
|
+
export declare const TIME_VIEWS: readonly ["hours", "minutes", "seconds", "meridiem"];
|
|
3
5
|
export declare const isTimeView: (view: DateOrTimeViewWithMeridiem) => boolean;
|
|
4
6
|
export declare const isInternalTimeView: (view: DateOrTimeViewWithMeridiem) => view is TimeViewWithMeridiem;
|
|
5
7
|
export type Meridiem = 'am' | 'pm';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { areViewsEqual } from "./views.js";
|
|
2
|
-
const
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
2
|
+
export const EXPORTED_TIME_VIEWS = ['hours', 'minutes', 'seconds'];
|
|
3
|
+
export const TIME_VIEWS = ['hours', 'minutes', 'seconds', 'meridiem'];
|
|
4
|
+
export const isTimeView = view => EXPORTED_TIME_VIEWS.includes(view);
|
|
5
|
+
export const isInternalTimeView = view => TIME_VIEWS.includes(view);
|
|
5
6
|
export const getMeridiem = (date, utils) => {
|
|
6
7
|
if (!date) {
|
|
7
8
|
return null;
|
package/modern/locales/beBY.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare const beBY: {
|
|
|
23
23
|
clearButtonLabel?: string | undefined;
|
|
24
24
|
okButtonLabel?: string | undefined;
|
|
25
25
|
todayButtonLabel?: string | undefined;
|
|
26
|
+
nextStepButtonLabel?: string | undefined;
|
|
26
27
|
clockLabelText?: ((view: import("@mui/x-date-pickers/models").TimeView, formattedTime: string | null) => string) | undefined;
|
|
27
28
|
hoursClockNumberText?: ((hours: string) => string) | undefined;
|
|
28
29
|
minutesClockNumberText?: ((minutes: string) => string) | undefined;
|
package/modern/locales/beBY.js
CHANGED
package/modern/locales/bgBG.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare const bgBG: {
|
|
|
23
23
|
clearButtonLabel?: string | undefined;
|
|
24
24
|
okButtonLabel?: string | undefined;
|
|
25
25
|
todayButtonLabel?: string | undefined;
|
|
26
|
+
nextStepButtonLabel?: string | undefined;
|
|
26
27
|
clockLabelText?: ((view: import("@mui/x-date-pickers/models").TimeView, formattedTime: string | null) => string) | undefined;
|
|
27
28
|
hoursClockNumberText?: ((hours: string) => string) | undefined;
|
|
28
29
|
minutesClockNumberText?: ((minutes: string) => string) | undefined;
|
package/modern/locales/bgBG.js
CHANGED
package/modern/locales/bnBD.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare const bnBD: {
|
|
|
23
23
|
clearButtonLabel?: string | undefined;
|
|
24
24
|
okButtonLabel?: string | undefined;
|
|
25
25
|
todayButtonLabel?: string | undefined;
|
|
26
|
+
nextStepButtonLabel?: string | undefined;
|
|
26
27
|
clockLabelText?: ((view: import("@mui/x-date-pickers/models").TimeView, formattedTime: string | null) => string) | undefined;
|
|
27
28
|
hoursClockNumberText?: ((hours: string) => string) | undefined;
|
|
28
29
|
minutesClockNumberText?: ((minutes: string) => string) | undefined;
|
package/modern/locales/bnBD.js
CHANGED
|
@@ -25,6 +25,7 @@ const bnBDPickers = {
|
|
|
25
25
|
clearButtonLabel: 'পরিষ্কার',
|
|
26
26
|
okButtonLabel: 'ঠিক আছে',
|
|
27
27
|
todayButtonLabel: 'আজ',
|
|
28
|
+
nextStepButtonLabel: 'পরের',
|
|
28
29
|
// Toolbar titles
|
|
29
30
|
datePickerToolbarTitle: 'তারিখ নির্বাচন করুন',
|
|
30
31
|
dateTimePickerToolbarTitle: 'তারিখ ও সময় নির্বাচন করুন',
|
package/modern/locales/caES.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export declare const caES: {
|
|
|
23
23
|
clearButtonLabel?: string | undefined;
|
|
24
24
|
okButtonLabel?: string | undefined;
|
|
25
25
|
todayButtonLabel?: string | undefined;
|
|
26
|
+
nextStepButtonLabel?: string | undefined;
|
|
26
27
|
clockLabelText?: ((view: import("@mui/x-date-pickers/models").TimeView, formattedTime: string | null) => string) | undefined;
|
|
27
28
|
hoursClockNumberText?: ((hours: string) => string) | undefined;
|
|
28
29
|
minutesClockNumberText?: ((minutes: string) => string) | undefined;
|
package/modern/locales/caES.js
CHANGED
|
@@ -25,6 +25,7 @@ const caESPickers = {
|
|
|
25
25
|
clearButtonLabel: 'Netejar',
|
|
26
26
|
okButtonLabel: 'OK',
|
|
27
27
|
todayButtonLabel: 'Avuí',
|
|
28
|
+
nextStepButtonLabel: 'Següent',
|
|
28
29
|
// Toolbar titles
|
|
29
30
|
datePickerToolbarTitle: 'Seleccionar data',
|
|
30
31
|
dateTimePickerToolbarTitle: 'Seleccionar data i hora',
|