@mui/x-date-pickers 8.0.0-alpha.12 → 8.0.0-alpha.14
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/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +96 -94
- package/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/AdapterDateFnsV2/AdapterDateFnsV2.js +96 -94
- package/AdapterDayjs/AdapterDayjs.js +11 -5
- package/CHANGELOG.md +430 -0
- package/DateCalendar/DateCalendar.js +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DatePicker/DatePicker.types.d.ts +2 -2
- package/DatePicker/shared.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +3 -3
- package/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/DateTimePicker/shared.d.ts +18 -10
- package/DateTimePicker/shared.js +23 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -11
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +61 -6
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/PickersTextField/PickersTextField.js +3 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +60 -6
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/TimeClock/Clock.js +2 -2
- package/TimeClock/ClockPointer.js +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimePicker/TimePicker.types.d.ts +2 -2
- package/TimePicker/shared.d.ts +1 -1
- package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
- package/esm/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
- package/esm/AdapterDayjs/AdapterDayjs.js +9 -5
- package/esm/DateCalendar/DateCalendar.js +1 -1
- package/esm/DateField/useDateField.d.ts +1 -1
- package/esm/DatePicker/DatePicker.types.d.ts +2 -2
- package/esm/DatePicker/shared.d.ts +1 -1
- package/esm/DateTimeField/useDateTimeField.d.ts +1 -1
- package/esm/DateTimePicker/DateTimePicker.types.d.ts +3 -3
- package/esm/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/esm/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/esm/DateTimePicker/shared.d.ts +18 -10
- package/esm/DateTimePicker/shared.js +23 -2
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/esm/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/esm/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
- package/esm/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/esm/PickersTextField/PickersTextField.js +3 -1
- package/esm/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
- package/esm/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/esm/TimeClock/Clock.js +2 -2
- package/esm/TimeClock/ClockPointer.js +1 -1
- package/esm/TimeField/useTimeField.d.ts +1 -1
- package/esm/TimePicker/TimePicker.types.d.ts +2 -2
- package/esm/TimePicker/shared.d.ts +1 -1
- package/esm/hooks/useSplitFieldProps.d.ts +1 -1
- package/esm/hooks/useSplitFieldProps.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerFieldUI.d.ts +7 -0
- package/esm/internals/components/PickerFieldUI.js +8 -4
- package/esm/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/esm/internals/components/PickerPopper/PickerPopper.js +26 -14
- package/esm/internals/components/PickerProvider.d.ts +158 -7
- package/esm/internals/components/PickerProvider.js +7 -2
- package/esm/internals/demo/DemoContainer.js +3 -3
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
- package/esm/internals/hooks/useField/index.d.ts +1 -2
- package/esm/internals/hooks/useField/useField.js +7 -8
- package/esm/internals/hooks/useField/useField.types.d.ts +56 -47
- package/esm/internals/hooks/useField/useField.utils.js +4 -1
- package/esm/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
- package/esm/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/esm/internals/hooks/useField/useFieldState.js +136 -83
- package/esm/internals/hooks/useField/useFieldV6TextField.js +9 -7
- package/esm/internals/hooks/useField/useFieldV7TextField.js +9 -8
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/esm/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
- package/esm/internals/hooks/useNullableFieldPrivateContext.js +5 -0
- package/esm/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/esm/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
- package/esm/internals/hooks/usePicker/index.d.ts +1 -3
- package/esm/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/esm/internals/hooks/usePicker/usePicker.js +276 -34
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/esm/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/esm/internals/index.d.ts +7 -9
- package/esm/internals/index.js +2 -1
- package/esm/internals/models/fields.d.ts +3 -10
- package/esm/internals/models/manager.d.ts +108 -4
- package/esm/internals/models/props/basePickerProps.d.ts +2 -2
- package/esm/internals/models/props/time.d.ts +1 -1
- package/esm/internals/utils/date-time-utils.d.ts +2 -2
- package/esm/internals/utils/valueManagers.d.ts +1 -1
- package/esm/internals/utils/valueManagers.js +10 -18
- package/esm/locales/bnBD.d.ts +80 -0
- package/esm/locales/bnBD.js +73 -0
- package/esm/locales/index.d.ts +1 -0
- package/esm/locales/index.js +1 -0
- package/esm/managers/useDateManager.d.ts +3 -4
- package/esm/managers/useDateTimeManager.d.ts +3 -4
- package/esm/managers/useTimeManager.d.ts +3 -4
- package/esm/models/adapters.d.ts +2 -1
- package/esm/models/fields.d.ts +2 -2
- package/esm/models/manager.d.ts +4 -5
- package/esm/validation/extractValidationProps.d.ts +1 -1
- package/esm/validation/index.d.ts +1 -1
- package/esm/validation/useValidation.d.ts +2 -2
- package/hooks/useSplitFieldProps.d.ts +1 -1
- package/hooks/useSplitFieldProps.js +1 -1
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.d.ts +7 -0
- package/internals/components/PickerFieldUI.js +9 -3
- package/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/internals/components/PickerPopper/PickerPopper.js +25 -13
- package/internals/components/PickerProvider.d.ts +158 -7
- package/internals/components/PickerProvider.js +8 -3
- package/internals/demo/DemoContainer.js +3 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
- package/internals/hooks/useField/index.d.ts +1 -2
- package/internals/hooks/useField/useField.js +7 -8
- package/internals/hooks/useField/useField.types.d.ts +56 -47
- package/internals/hooks/useField/useField.utils.js +4 -1
- package/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -10
- package/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/internals/hooks/useField/useFieldState.js +135 -82
- package/internals/hooks/useField/useFieldV6TextField.js +9 -7
- package/internals/hooks/useField/useFieldV7TextField.js +9 -8
- package/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
- package/internals/hooks/useNullableFieldPrivateContext.js +13 -0
- package/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/internals/hooks/usePicker/hooks/useOrientation.js +42 -0
- package/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/internals/hooks/usePicker/{usePickerValue.js → hooks/useValueAndOpenStates.js} +97 -114
- package/internals/hooks/usePicker/index.d.ts +1 -3
- package/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/internals/hooks/usePicker/usePicker.js +278 -34
- package/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/internals/index.d.ts +7 -9
- package/internals/index.js +19 -0
- package/internals/models/fields.d.ts +3 -10
- package/internals/models/manager.d.ts +108 -4
- package/internals/models/props/basePickerProps.d.ts +2 -2
- package/internals/models/props/time.d.ts +1 -1
- package/internals/utils/date-time-utils.d.ts +2 -2
- package/internals/utils/valueManagers.d.ts +1 -1
- package/internals/utils/valueManagers.js +10 -18
- package/locales/bnBD.d.ts +80 -0
- package/locales/bnBD.js +79 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +11 -0
- package/managers/useDateManager.d.ts +3 -4
- package/managers/useDateTimeManager.d.ts +3 -4
- package/managers/useTimeManager.d.ts +3 -4
- package/models/adapters.d.ts +2 -1
- package/models/fields.d.ts +2 -2
- package/models/manager.d.ts +4 -5
- package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
- package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
- package/modern/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
- package/modern/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
- package/modern/AdapterDayjs/AdapterDayjs.js +9 -5
- package/modern/DateCalendar/DateCalendar.js +1 -1
- package/modern/DateField/useDateField.d.ts +1 -1
- package/modern/DatePicker/DatePicker.types.d.ts +2 -2
- package/modern/DatePicker/shared.d.ts +1 -1
- package/modern/DateTimeField/useDateTimeField.d.ts +1 -1
- package/modern/DateTimePicker/DateTimePicker.types.d.ts +3 -3
- package/modern/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/modern/DateTimePicker/shared.d.ts +18 -10
- package/modern/DateTimePicker/shared.js +23 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/modern/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
- package/modern/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/modern/PickersTextField/PickersTextField.js +3 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
- package/modern/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/modern/TimeClock/Clock.js +2 -2
- package/modern/TimeClock/ClockPointer.js +1 -1
- package/modern/TimeField/useTimeField.d.ts +1 -1
- package/modern/TimePicker/TimePicker.types.d.ts +2 -2
- package/modern/TimePicker/shared.d.ts +1 -1
- package/modern/hooks/useSplitFieldProps.d.ts +1 -1
- package/modern/hooks/useSplitFieldProps.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerFieldUI.d.ts +7 -0
- package/modern/internals/components/PickerFieldUI.js +8 -4
- package/modern/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
- package/modern/internals/components/PickerPopper/PickerPopper.js +26 -14
- package/modern/internals/components/PickerProvider.d.ts +158 -7
- package/modern/internals/components/PickerProvider.js +7 -2
- package/modern/internals/demo/DemoContainer.js +3 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
- package/modern/internals/hooks/useField/index.d.ts +1 -2
- package/modern/internals/hooks/useField/useField.js +7 -8
- package/modern/internals/hooks/useField/useField.types.d.ts +56 -47
- package/modern/internals/hooks/useField/useField.utils.js +4 -1
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
- package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
- package/modern/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/modern/internals/hooks/useField/useFieldState.js +136 -83
- package/modern/internals/hooks/useField/useFieldV6TextField.js +9 -7
- package/modern/internals/hooks/useField/useFieldV7TextField.js +9 -8
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/modern/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
- package/modern/internals/hooks/useNullableFieldPrivateContext.js +5 -0
- package/modern/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/modern/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
- package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
- package/modern/internals/hooks/usePicker/index.d.ts +1 -3
- package/modern/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/modern/internals/hooks/usePicker/usePicker.js +276 -34
- package/modern/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/modern/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/modern/internals/index.d.ts +7 -9
- package/modern/internals/index.js +2 -1
- package/modern/internals/models/fields.d.ts +3 -10
- package/modern/internals/models/manager.d.ts +108 -4
- package/modern/internals/models/props/basePickerProps.d.ts +2 -2
- package/modern/internals/models/props/time.d.ts +1 -1
- package/modern/internals/utils/date-time-utils.d.ts +2 -2
- package/modern/internals/utils/valueManagers.d.ts +1 -1
- package/modern/internals/utils/valueManagers.js +10 -18
- package/modern/locales/bnBD.d.ts +80 -0
- package/modern/locales/bnBD.js +73 -0
- package/modern/locales/index.d.ts +1 -0
- package/modern/locales/index.js +1 -0
- package/modern/managers/useDateManager.d.ts +3 -4
- package/modern/managers/useDateTimeManager.d.ts +3 -4
- package/modern/managers/useTimeManager.d.ts +3 -4
- package/modern/models/adapters.d.ts +2 -1
- package/modern/models/fields.d.ts +2 -2
- package/modern/models/manager.d.ts +4 -5
- package/modern/validation/extractValidationProps.d.ts +1 -1
- package/modern/validation/index.d.ts +1 -1
- package/modern/validation/useValidation.d.ts +2 -2
- package/package.json +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/validation/extractValidationProps.d.ts +1 -1
- package/validation/index.d.ts +1 -1
- package/validation/useValidation.d.ts +2 -2
- package/esm/internals/hooks/useOpenState.d.ts +0 -14
- package/esm/internals/hooks/useOpenState.js +0 -37
- package/esm/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
- package/esm/internals/hooks/usePicker/usePickerProvider.js +0 -111
- package/esm/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/esm/internals/hooks/usePicker/usePickerValue.js +0 -226
- package/esm/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/esm/internals/hooks/usePicker/usePickerValue.types.js +0 -1
- package/esm/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
- package/esm/internals/hooks/usePicker/usePickerViews.js +0 -176
- package/internals/hooks/useOpenState.d.ts +0 -14
- package/internals/hooks/useOpenState.js +0 -46
- package/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
- package/internals/hooks/usePicker/usePickerProvider.js +0 -121
- package/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/internals/hooks/usePicker/usePickerValue.types.js +0 -5
- package/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
- package/internals/hooks/usePicker/usePickerViews.js +0 -183
- package/modern/internals/hooks/useOpenState.d.ts +0 -14
- package/modern/internals/hooks/useOpenState.js +0 -37
- package/modern/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
- package/modern/internals/hooks/usePicker/usePickerProvider.js +0 -111
- package/modern/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/modern/internals/hooks/usePicker/usePickerValue.js +0 -226
- package/modern/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/modern/internals/hooks/usePicker/usePickerValue.types.js +0 -1
- package/modern/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
- package/modern/internals/hooks/usePicker/usePickerViews.js +0 -176
|
@@ -1,49 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
// date-fns@<3 has no exports field defined
|
|
2
|
+
// See https://github.com/date-fns/date-fns/issues/1781
|
|
3
|
+
/* eslint-disable import/extensions, class-methods-use-this */
|
|
2
4
|
// @ts-nocheck
|
|
3
|
-
import addDays from 'date-fns/addDays';
|
|
4
|
-
import addSeconds from 'date-fns/addSeconds';
|
|
5
|
-
import addMinutes from 'date-fns/addMinutes';
|
|
6
|
-
import addHours from 'date-fns/addHours';
|
|
7
|
-
import addWeeks from 'date-fns/addWeeks';
|
|
8
|
-
import addMonths from 'date-fns/addMonths';
|
|
9
|
-
import addYears from 'date-fns/addYears';
|
|
10
|
-
import endOfDay from 'date-fns/endOfDay';
|
|
11
|
-
import endOfWeek from 'date-fns/endOfWeek';
|
|
12
|
-
import endOfYear from 'date-fns/endOfYear';
|
|
13
|
-
import dateFnsFormat from 'date-fns/format';
|
|
14
|
-
import getDate from 'date-fns/getDate';
|
|
15
|
-
import getDaysInMonth from 'date-fns/getDaysInMonth';
|
|
16
|
-
import getHours from 'date-fns/getHours';
|
|
17
|
-
import getMinutes from 'date-fns/getMinutes';
|
|
18
|
-
import getMonth from 'date-fns/getMonth';
|
|
19
|
-
import getSeconds from 'date-fns/getSeconds';
|
|
20
|
-
import getMilliseconds from 'date-fns/getMilliseconds';
|
|
21
|
-
import getWeek from 'date-fns/getWeek';
|
|
22
|
-
import getYear from 'date-fns/getYear';
|
|
23
|
-
import isAfter from 'date-fns/isAfter';
|
|
24
|
-
import isBefore from 'date-fns/isBefore';
|
|
25
|
-
import isEqual from 'date-fns/isEqual';
|
|
26
|
-
import isSameDay from 'date-fns/isSameDay';
|
|
27
|
-
import isSameYear from 'date-fns/isSameYear';
|
|
28
|
-
import isSameMonth from 'date-fns/isSameMonth';
|
|
29
|
-
import isSameHour from 'date-fns/isSameHour';
|
|
30
|
-
import isValid from 'date-fns/isValid';
|
|
31
|
-
import dateFnsParse from 'date-fns/parse';
|
|
32
|
-
import setDate from 'date-fns/setDate';
|
|
33
|
-
import setHours from 'date-fns/setHours';
|
|
34
|
-
import setMinutes from 'date-fns/setMinutes';
|
|
35
|
-
import setMonth from 'date-fns/setMonth';
|
|
36
|
-
import setSeconds from 'date-fns/setSeconds';
|
|
37
|
-
import setMilliseconds from 'date-fns/setMilliseconds';
|
|
38
|
-
import setYear from 'date-fns/setYear';
|
|
39
|
-
import startOfDay from 'date-fns/startOfDay';
|
|
40
|
-
import startOfMonth from 'date-fns/startOfMonth';
|
|
41
|
-
import endOfMonth from 'date-fns/endOfMonth';
|
|
42
|
-
import startOfWeek from 'date-fns/startOfWeek';
|
|
43
|
-
import startOfYear from 'date-fns/startOfYear';
|
|
44
|
-
import isWithinInterval from 'date-fns/isWithinInterval';
|
|
45
|
-
import defaultLocale from 'date-fns/locale/en-US';
|
|
46
|
-
import longFormatters from 'date-fns/_lib/format/longFormatters';
|
|
5
|
+
import addDays from 'date-fns/addDays/index.js';
|
|
6
|
+
import addSeconds from 'date-fns/addSeconds/index.js';
|
|
7
|
+
import addMinutes from 'date-fns/addMinutes/index.js';
|
|
8
|
+
import addHours from 'date-fns/addHours/index.js';
|
|
9
|
+
import addWeeks from 'date-fns/addWeeks/index.js';
|
|
10
|
+
import addMonths from 'date-fns/addMonths/index.js';
|
|
11
|
+
import addYears from 'date-fns/addYears/index.js';
|
|
12
|
+
import endOfDay from 'date-fns/endOfDay/index.js';
|
|
13
|
+
import endOfWeek from 'date-fns/endOfWeek/index.js';
|
|
14
|
+
import endOfYear from 'date-fns/endOfYear/index.js';
|
|
15
|
+
import dateFnsFormat from 'date-fns/format/index.js';
|
|
16
|
+
import getDate from 'date-fns/getDate/index.js';
|
|
17
|
+
import getDaysInMonth from 'date-fns/getDaysInMonth/index.js';
|
|
18
|
+
import getHours from 'date-fns/getHours/index.js';
|
|
19
|
+
import getMinutes from 'date-fns/getMinutes/index.js';
|
|
20
|
+
import getMonth from 'date-fns/getMonth/index.js';
|
|
21
|
+
import getSeconds from 'date-fns/getSeconds/index.js';
|
|
22
|
+
import getMilliseconds from 'date-fns/getMilliseconds/index.js';
|
|
23
|
+
import getWeek from 'date-fns/getWeek/index.js';
|
|
24
|
+
import getYear from 'date-fns/getYear/index.js';
|
|
25
|
+
import isAfter from 'date-fns/isAfter/index.js';
|
|
26
|
+
import isBefore from 'date-fns/isBefore/index.js';
|
|
27
|
+
import isEqual from 'date-fns/isEqual/index.js';
|
|
28
|
+
import isSameDay from 'date-fns/isSameDay/index.js';
|
|
29
|
+
import isSameYear from 'date-fns/isSameYear/index.js';
|
|
30
|
+
import isSameMonth from 'date-fns/isSameMonth/index.js';
|
|
31
|
+
import isSameHour from 'date-fns/isSameHour/index.js';
|
|
32
|
+
import isValid from 'date-fns/isValid/index.js';
|
|
33
|
+
import dateFnsParse from 'date-fns/parse/index.js';
|
|
34
|
+
import setDate from 'date-fns/setDate/index.js';
|
|
35
|
+
import setHours from 'date-fns/setHours/index.js';
|
|
36
|
+
import setMinutes from 'date-fns/setMinutes/index.js';
|
|
37
|
+
import setMonth from 'date-fns/setMonth/index.js';
|
|
38
|
+
import setSeconds from 'date-fns/setSeconds/index.js';
|
|
39
|
+
import setMilliseconds from 'date-fns/setMilliseconds/index.js';
|
|
40
|
+
import setYear from 'date-fns/setYear/index.js';
|
|
41
|
+
import startOfDay from 'date-fns/startOfDay/index.js';
|
|
42
|
+
import startOfMonth from 'date-fns/startOfMonth/index.js';
|
|
43
|
+
import endOfMonth from 'date-fns/endOfMonth/index.js';
|
|
44
|
+
import startOfWeek from 'date-fns/startOfWeek/index.js';
|
|
45
|
+
import startOfYear from 'date-fns/startOfYear/index.js';
|
|
46
|
+
import isWithinInterval from 'date-fns/isWithinInterval/index.js';
|
|
47
|
+
import defaultLocale from 'date-fns/locale/en-US/index.js';
|
|
48
|
+
import longFormatters from 'date-fns/_lib/format/longFormatters/index.js';
|
|
47
49
|
import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
|
|
48
50
|
/**
|
|
49
51
|
* Based on `@date-io/date-fns`
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
/* eslint-disable class-methods-use-this */
|
|
3
3
|
import defaultDayjs from 'dayjs';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import
|
|
4
|
+
// dayjs has no exports field defined
|
|
5
|
+
// See https://github.com/iamkun/dayjs/issues/2562
|
|
6
|
+
/* eslint-disable import/extensions */
|
|
7
|
+
import weekOfYearPlugin from 'dayjs/plugin/weekOfYear.js';
|
|
8
|
+
import customParseFormatPlugin from 'dayjs/plugin/customParseFormat.js';
|
|
9
|
+
import localizedFormatPlugin from 'dayjs/plugin/localizedFormat.js';
|
|
10
|
+
import isBetweenPlugin from 'dayjs/plugin/isBetween.js';
|
|
11
|
+
import advancedFormatPlugin from 'dayjs/plugin/advancedFormat.js';
|
|
12
|
+
/* eslint-enable import/extensions */
|
|
9
13
|
import { warnOnce } from '@mui/x-internals/warning';
|
|
10
14
|
defaultDayjs.extend(localizedFormatPlugin);
|
|
11
15
|
defaultDayjs.extend(weekOfYearPlugin);
|
|
@@ -344,6 +344,7 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
344
344
|
referenceDate: referenceDate
|
|
345
345
|
})), view === 'day' && /*#__PURE__*/_jsx(DayCalendar, _extends({}, calendarState, baseDateValidationProps, commonViewProps, {
|
|
346
346
|
onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,
|
|
347
|
+
hasFocus: hasFocus,
|
|
347
348
|
onFocusedDayChange: focusedDate => setVisibleDate({
|
|
348
349
|
target: focusedDate,
|
|
349
350
|
reason: 'cell-interaction'
|
|
@@ -354,7 +355,6 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
|
|
|
354
355
|
shouldDisableDate: shouldDisableDate,
|
|
355
356
|
shouldDisableMonth: shouldDisableMonth,
|
|
356
357
|
shouldDisableYear: shouldDisableYear,
|
|
357
|
-
hasFocus: hasFocus,
|
|
358
358
|
onFocusedViewChange: isViewFocused => setFocusedView('day', isViewFocused),
|
|
359
359
|
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,
|
|
360
360
|
fixedWeekNumber: fixedWeekNumber,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { UseDateFieldProps } from "./DateField.types.js";
|
|
2
|
-
export declare const useDateField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "
|
|
2
|
+
export declare const useDateField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | keyof import("../internals").BaseDateValidationProps | "shouldDisableYear" | "shouldDisableMonth" | "shouldDisableDate" | "referenceDate" | "formatDensity" | "timezone" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "unstableFieldRef" | "unstableStartFieldRef" | "unstableEndFieldRef" | "enableAccessibleFieldDOMStructure" | "dateSeparator">>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DesktopDatePickerProps, DesktopDatePickerSlots, DesktopDatePickerSlotProps } from "../DesktopDatePicker/index.js";
|
|
2
|
-
import { BaseSingleInputFieldProps
|
|
2
|
+
import { BaseSingleInputFieldProps } from "../internals/models/index.js";
|
|
3
3
|
import { MobileDatePickerProps, MobileDatePickerSlots, MobileDatePickerSlotProps } from "../MobileDatePicker/index.js";
|
|
4
4
|
import { ValidateDateProps } from "../validation/validateDate.js";
|
|
5
5
|
export interface DatePickerSlots extends DesktopDatePickerSlots, MobileDatePickerSlots {}
|
|
@@ -35,4 +35,4 @@ export interface DatePickerProps<TEnableAccessibleFieldDOMStructure extends bool
|
|
|
35
35
|
/**
|
|
36
36
|
* Props the field can receive when used inside a date picker (<DatePicker />, <DesktopDatePicker /> or <MobileDatePicker /> component).
|
|
37
37
|
*/
|
|
38
|
-
export type DatePickerFieldProps = ValidateDateProps & BaseSingleInputFieldProps
|
|
38
|
+
export type DatePickerFieldProps = ValidateDateProps & BaseSingleInputFieldProps;
|
|
@@ -5,7 +5,7 @@ import { DateValidationError, DateView } from "../models/index.js";
|
|
|
5
5
|
import { BasePickerInputProps } from "../internals/models/props/basePickerProps.js";
|
|
6
6
|
import { LocalizedComponent } from "../locales/utils/pickersLocaleTextApi.js";
|
|
7
7
|
import { DatePickerToolbarProps, ExportedDatePickerToolbarProps } from "./DatePickerToolbar.js";
|
|
8
|
-
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/
|
|
8
|
+
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/index.js";
|
|
9
9
|
import { DateViewRendererProps } from "../dateViewRenderers/index.js";
|
|
10
10
|
import { PickerValue } from "../internals/models/index.js";
|
|
11
11
|
import { ValidateDatePropsToDefault } from "../validation/validateDate.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { UseDateTimeFieldProps } from "./DateTimeField.types.js";
|
|
2
|
-
export declare const useDateTimeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateTimeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "
|
|
2
|
+
export declare const useDateTimeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseDateTimeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "focused" | "maxDate" | "minDate" | "disablePast" | "disableFuture" | "shouldDisableYear" | "shouldDisableMonth" | "shouldDisableDate" | "minTime" | "maxTime" | "minutesStep" | "shouldDisableTime" | "disableIgnoringDatePartForTimeValidation" | "ampm" | "minDateTime" | "maxDateTime" | "referenceDate" | "formatDensity" | "timezone" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "unstableFieldRef" | "unstableStartFieldRef" | "unstableEndFieldRef" | "enableAccessibleFieldDOMStructure" | "dateSeparator">>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps } from "../DesktopDateTimePicker/index.js";
|
|
2
|
-
import { BaseSingleInputFieldProps
|
|
2
|
+
import { BaseSingleInputFieldProps } from "../internals/models/index.js";
|
|
3
3
|
import { MobileDateTimePickerProps, MobileDateTimePickerSlots, MobileDateTimePickerSlotProps } from "../MobileDateTimePicker/index.js";
|
|
4
4
|
import { ValidateDateTimeProps } from "../validation/index.js";
|
|
5
5
|
import { ExportedYearCalendarProps } from "../YearCalendar/YearCalendar.types.js";
|
|
6
6
|
export interface DateTimePickerSlots extends DesktopDateTimePickerSlots, MobileDateTimePickerSlots {}
|
|
7
7
|
export interface DateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure>, MobileDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
8
|
-
export interface DateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, ExportedYearCalendarProps, Omit<MobileDateTimePickerProps<
|
|
8
|
+
export interface DateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, ExportedYearCalendarProps, Omit<MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, 'views'> {
|
|
9
9
|
/**
|
|
10
10
|
* CSS media query when `Mobile` mode will be changed to `Desktop`.
|
|
11
11
|
* @default '@media (pointer: fine)'
|
|
@@ -31,4 +31,4 @@ export interface DateTimePickerProps<TEnableAccessibleFieldDOMStructure extends
|
|
|
31
31
|
/**
|
|
32
32
|
* Props the field can receive when used inside a date time picker (<DateTimePicker />, <DesktopDateTimePicker /> or <MobileDateTimePicker /> component).
|
|
33
33
|
*/
|
|
34
|
-
export type DateTimePickerFieldProps = ValidateDateTimeProps & BaseSingleInputFieldProps
|
|
34
|
+
export type DateTimePickerFieldProps = ValidateDateTimeProps & BaseSingleInputFieldProps;
|
|
@@ -3,7 +3,7 @@ import { BaseToolbarProps, ExportedBaseToolbarProps } from "../internals/models/
|
|
|
3
3
|
import { DateTimePickerToolbarClasses } from "./dateTimePickerToolbarClasses.js";
|
|
4
4
|
import { DateOrTimeViewWithMeridiem, PickerValue } from "../internals/models/index.js";
|
|
5
5
|
import { DateTimeValidationError } from "../models/index.js";
|
|
6
|
-
import { SetValueActionOptions } from "../internals/
|
|
6
|
+
import { SetValueActionOptions } from "../internals/components/PickerProvider.js";
|
|
7
7
|
export interface ExportedDateTimePickerToolbarProps extends ExportedBaseToolbarProps {
|
|
8
8
|
/**
|
|
9
9
|
* Override or extend the styles applied to the component.
|
|
@@ -57,7 +57,7 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
|
|
|
57
57
|
},
|
|
58
58
|
style: {
|
|
59
59
|
borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
60
|
-
[`& .${pickersToolbarClasses.content} .${pickersToolbarTextClasses.selected
|
|
60
|
+
[`& .${pickersToolbarClasses.content} .${pickersToolbarTextClasses.root}[data-selected]`]: {
|
|
61
61
|
color: (theme.vars || theme).palette.primary.main,
|
|
62
62
|
fontWeight: theme.typography.fontWeightBold
|
|
63
63
|
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
-
import { DateTimeValidationError } from "../models/index.js";
|
|
3
|
+
import { DateOrTimeView, DateTimeValidationError } from "../models/index.js";
|
|
4
4
|
import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from "../DateCalendar/DateCalendar.types.js";
|
|
5
|
-
import { TimeClockSlots, TimeClockSlotProps } from "../TimeClock/TimeClock.types.js";
|
|
6
5
|
import { BasePickerInputProps } from "../internals/models/props/basePickerProps.js";
|
|
7
6
|
import { DateTimePickerTabsProps } from "./DateTimePickerTabs.js";
|
|
8
7
|
import { LocalizedComponent } from "../locales/utils/pickersLocaleTextApi.js";
|
|
9
8
|
import { DateTimePickerToolbarProps, ExportedDateTimePickerToolbarProps } from "./DateTimePickerToolbar.js";
|
|
10
|
-
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/
|
|
9
|
+
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/index.js";
|
|
11
10
|
import { DateViewRendererProps } from "../dateViewRenderers/index.js";
|
|
12
11
|
import { TimeViewRendererProps } from "../timeViewRenderers/index.js";
|
|
13
|
-
import { BaseClockProps,
|
|
12
|
+
import { BaseClockProps, DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
14
13
|
import { DateOrTimeViewWithMeridiem, PickerValue, TimeViewWithMeridiem } from "../internals/models/index.js";
|
|
15
14
|
import { ExportedValidateDateTimeProps, ValidateDateTimePropsToDefault } from "../validation/validateDateTime.js";
|
|
16
|
-
|
|
15
|
+
import { DigitalClockSlotProps, DigitalClockSlots } from "../DigitalClock/index.js";
|
|
16
|
+
import { MultiSectionDigitalClockSlotProps, MultiSectionDigitalClockSlots } from "../MultiSectionDigitalClock/index.js";
|
|
17
|
+
export interface BaseDateTimePickerSlots extends DateCalendarSlots, DigitalClockSlots, MultiSectionDigitalClockSlots {
|
|
17
18
|
/**
|
|
18
19
|
* Tabs enabling toggling between date and time pickers.
|
|
19
20
|
* @default DateTimePickerTabs
|
|
@@ -25,7 +26,7 @@ export interface BaseDateTimePickerSlots extends DateCalendarSlots, TimeClockSlo
|
|
|
25
26
|
*/
|
|
26
27
|
toolbar?: React.JSXElementConstructor<DateTimePickerToolbarProps>;
|
|
27
28
|
}
|
|
28
|
-
export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps,
|
|
29
|
+
export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
|
|
29
30
|
/**
|
|
30
31
|
* Props passed down to the tabs component.
|
|
31
32
|
*/
|
|
@@ -36,7 +37,7 @@ export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps, Time
|
|
|
36
37
|
toolbar?: ExportedDateTimePickerToolbarProps;
|
|
37
38
|
}
|
|
38
39
|
export type DateTimePickerViewRenderers<TView extends DateOrTimeViewWithMeridiem> = PickerViewRendererLookup<PickerValue, TView, Omit<DateViewRendererProps<TView>, 'slots' | 'slotProps'> & Omit<TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TimeViewWithMeridiem>>, 'slots' | 'slotProps'>>;
|
|
39
|
-
export interface BaseDateTimePickerProps
|
|
40
|
+
export interface BaseDateTimePickerProps extends Omit<BasePickerInputProps<PickerValue, DateOrTimeViewWithMeridiem, DateTimeValidationError>, 'views'>, Omit<ExportedDateCalendarProps, 'onViewChange' | 'views'>, DigitalTimePickerProps, ExportedValidateDateTimeProps {
|
|
40
41
|
/**
|
|
41
42
|
* Display ampm controls under the clock (instead of in the toolbar).
|
|
42
43
|
* @default true on desktop, false on mobile
|
|
@@ -57,8 +58,15 @@ export interface BaseDateTimePickerProps<TView extends DateOrTimeViewWithMeridie
|
|
|
57
58
|
* If `null`, the section will only have field editing.
|
|
58
59
|
* If `undefined`, internally defined view will be used.
|
|
59
60
|
*/
|
|
60
|
-
viewRenderers?: Partial<DateTimePickerViewRenderers<
|
|
61
|
+
viewRenderers?: Partial<DateTimePickerViewRenderers<DateOrTimeViewWithMeridiem>>;
|
|
62
|
+
/**
|
|
63
|
+
* Available views.
|
|
64
|
+
*/
|
|
65
|
+
views?: readonly DateOrTimeView[];
|
|
61
66
|
}
|
|
62
|
-
type UseDateTimePickerDefaultizedProps<
|
|
63
|
-
|
|
67
|
+
type UseDateTimePickerDefaultizedProps<Props extends BaseDateTimePickerProps> = LocalizedComponent<Omit<DefaultizedProps<Props, 'openTo' | 'orientation' | 'ampm' | ValidateDateTimePropsToDefault>, 'views'>> & {
|
|
68
|
+
shouldRenderTimeInASingleColumn: boolean;
|
|
69
|
+
views: readonly DateOrTimeViewWithMeridiem[];
|
|
70
|
+
};
|
|
71
|
+
export declare function useDateTimePickerDefaultizedProps<Props extends BaseDateTimePickerProps>(props: Props, name: string): UseDateTimePickerDefaultizedProps<Props>;
|
|
64
72
|
export {};
|
|
@@ -6,6 +6,7 @@ import { applyDefaultDate } from "../internals/utils/date-utils.js";
|
|
|
6
6
|
import { DateTimePickerTabs } from "./DateTimePickerTabs.js";
|
|
7
7
|
import { DateTimePickerToolbar } from "./DateTimePickerToolbar.js";
|
|
8
8
|
import { applyDefaultViewProps } from "../internals/utils/views.js";
|
|
9
|
+
import { resolveTimeViewsResponse } from "../internals/utils/date-time-utils.js";
|
|
9
10
|
export function useDateTimePickerDefaultizedProps(props, name) {
|
|
10
11
|
const utils = useUtils();
|
|
11
12
|
const defaultDates = useDefaultDates();
|
|
@@ -22,12 +23,32 @@ export function useDateTimePickerDefaultizedProps(props, name) {
|
|
|
22
23
|
dateTimePickerToolbarTitle: themeProps.localeText.toolbarTitle
|
|
23
24
|
});
|
|
24
25
|
}, [themeProps.localeText]);
|
|
25
|
-
|
|
26
|
+
const {
|
|
27
|
+
openTo,
|
|
28
|
+
views: defaultViews
|
|
29
|
+
} = applyDefaultViewProps({
|
|
26
30
|
views: themeProps.views,
|
|
27
31
|
openTo: themeProps.openTo,
|
|
28
32
|
defaultViews: ['year', 'day', 'hours', 'minutes'],
|
|
29
33
|
defaultOpenTo: 'day'
|
|
30
|
-
})
|
|
34
|
+
});
|
|
35
|
+
const {
|
|
36
|
+
shouldRenderTimeInASingleColumn,
|
|
37
|
+
thresholdToRenderTimeInASingleColumn,
|
|
38
|
+
views,
|
|
39
|
+
timeSteps
|
|
40
|
+
} = resolveTimeViewsResponse({
|
|
41
|
+
thresholdToRenderTimeInASingleColumn: themeProps.thresholdToRenderTimeInASingleColumn,
|
|
42
|
+
ampm,
|
|
43
|
+
timeSteps: themeProps.timeSteps,
|
|
44
|
+
views: defaultViews
|
|
45
|
+
});
|
|
46
|
+
return _extends({}, themeProps, {
|
|
47
|
+
timeSteps,
|
|
48
|
+
openTo,
|
|
49
|
+
shouldRenderTimeInASingleColumn,
|
|
50
|
+
thresholdToRenderTimeInASingleColumn,
|
|
51
|
+
views,
|
|
31
52
|
ampm,
|
|
32
53
|
localeText,
|
|
33
54
|
orientation: themeProps.orientation ?? 'portrait',
|
|
@@ -15,7 +15,7 @@ import { renderDateViewCalendar } from "../dateViewRenderers/dateViewRenderers.j
|
|
|
15
15
|
import { useUtils } from "../internals/hooks/useUtils.js";
|
|
16
16
|
import { validateDateTime, extractValidationProps } from "../validation/index.js";
|
|
17
17
|
import { useDesktopPicker } from "../internals/hooks/useDesktopPicker/index.js";
|
|
18
|
-
import { resolveDateTimeFormat
|
|
18
|
+
import { resolveDateTimeFormat } from "../internals/utils/date-time-utils.js";
|
|
19
19
|
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from "../timeViewRenderers/index.js";
|
|
20
20
|
import { multiSectionDigitalClockClasses, multiSectionDigitalClockSectionClasses } from "../MultiSectionDigitalClock/index.js";
|
|
21
21
|
import { digitalClockClasses } from "../DigitalClock/index.js";
|
|
@@ -91,13 +91,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
|
|
|
91
91
|
|
|
92
92
|
// Props with the default values common to all date time pickers
|
|
93
93
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiDesktopDateTimePicker');
|
|
94
|
-
const
|
|
95
|
-
shouldRenderTimeInASingleColumn,
|
|
96
|
-
thresholdToRenderTimeInASingleColumn,
|
|
97
|
-
views: resolvedViews,
|
|
98
|
-
timeSteps
|
|
99
|
-
} = resolveTimeViewsResponse(defaultizedProps);
|
|
100
|
-
const renderTimeView = shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
|
|
94
|
+
const renderTimeView = defaultizedProps.shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
|
|
101
95
|
const viewRenderers = _extends({
|
|
102
96
|
day: renderDateViewCalendar,
|
|
103
97
|
month: renderDateViewCalendar,
|
|
@@ -110,7 +104,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
|
|
|
110
104
|
const ampmInClock = defaultizedProps.ampmInClock ?? true;
|
|
111
105
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
112
106
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
|
|
113
|
-
const views = !shouldHoursRendererContainMeridiemView ?
|
|
107
|
+
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
114
108
|
|
|
115
109
|
// Props with the default values specific to the desktop variant
|
|
116
110
|
const props = _extends({}, defaultizedProps, {
|
|
@@ -119,9 +113,6 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
|
|
|
119
113
|
views,
|
|
120
114
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
121
115
|
ampmInClock,
|
|
122
|
-
timeSteps,
|
|
123
|
-
thresholdToRenderTimeInASingleColumn,
|
|
124
|
-
shouldRenderTimeInASingleColumn,
|
|
125
116
|
slots: _extends({
|
|
126
117
|
field: DateTimeField,
|
|
127
118
|
layout: DesktopDateTimePickerLayout
|
|
@@ -2,14 +2,11 @@ import { MakeOptional } from '@mui/x-internals/types';
|
|
|
2
2
|
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from "../internals/hooks/useDesktopPicker/index.js";
|
|
3
3
|
import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from "../DateTimePicker/shared.js";
|
|
4
4
|
import { DateOrTimeView } from "../models/index.js";
|
|
5
|
-
import {
|
|
6
|
-
import { DateOrTimeViewWithMeridiem } from "../internals/models/index.js";
|
|
7
|
-
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from "../MultiSectionDigitalClock/index.js";
|
|
8
|
-
import { DigitalClockSlots, DigitalClockSlotProps } from "../DigitalClock/index.js";
|
|
5
|
+
import { DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
9
6
|
import { ExportedYearCalendarProps } from "../YearCalendar/YearCalendar.types.js";
|
|
10
|
-
export interface DesktopDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'
|
|
11
|
-
export interface DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure
|
|
12
|
-
export interface DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps
|
|
7
|
+
export interface DesktopDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'> {}
|
|
8
|
+
export interface DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
9
|
+
export interface DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps, DesktopOnlyPickerProps, DigitalTimePickerProps, ExportedYearCalendarProps {
|
|
13
10
|
/**
|
|
14
11
|
* Overridable component slots.
|
|
15
12
|
* @default {}
|
|
@@ -2,13 +2,13 @@ import { MakeOptional } from '@mui/x-internals/types';
|
|
|
2
2
|
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from "../internals/hooks/useDesktopPicker/index.js";
|
|
3
3
|
import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from "../TimePicker/shared.js";
|
|
4
4
|
import { TimeViewWithMeridiem } from "../internals/models/index.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
6
6
|
import { DigitalClockSlots, DigitalClockSlotProps } from "../DigitalClock/index.js";
|
|
7
7
|
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from "../MultiSectionDigitalClock/index.js";
|
|
8
8
|
import { TimeView } from "../models/index.js";
|
|
9
9
|
export interface DesktopTimePickerSlots extends BaseTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {}
|
|
10
10
|
export interface DesktopTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {}
|
|
11
|
-
export interface DesktopTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TimeViewWithMeridiem>, DesktopOnlyPickerProps,
|
|
11
|
+
export interface DesktopTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TimeViewWithMeridiem>, DesktopOnlyPickerProps, DigitalTimePickerProps {
|
|
12
12
|
/**
|
|
13
13
|
* Available views.
|
|
14
14
|
*/
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { MobileDateTimePickerProps } from "./MobileDateTimePicker.types.js";
|
|
3
|
-
|
|
4
|
-
type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
3
|
+
type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
4
|
propTypes?: any;
|
|
6
5
|
};
|
|
7
6
|
/**
|
|
@@ -12,8 +12,12 @@ import { useUtils } from "../internals/hooks/useUtils.js";
|
|
|
12
12
|
import { extractValidationProps, validateDateTime } from "../validation/index.js";
|
|
13
13
|
import { useMobilePicker } from "../internals/hooks/useMobilePicker/index.js";
|
|
14
14
|
import { renderDateViewCalendar } from "../dateViewRenderers/index.js";
|
|
15
|
-
import {
|
|
15
|
+
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from "../timeViewRenderers/index.js";
|
|
16
16
|
import { resolveDateTimeFormat } from "../internals/utils/date-time-utils.js";
|
|
17
|
+
import { DIALOG_WIDTH, VIEW_HEIGHT } from "../internals/constants/dimensions.js";
|
|
18
|
+
import { multiSectionDigitalClockClasses, multiSectionDigitalClockSectionClasses } from "../MultiSectionDigitalClock/index.js";
|
|
19
|
+
import { mergeSx } from "../internals/utils/utils.js";
|
|
20
|
+
import { digitalClockClasses } from "../DigitalClock/index.js";
|
|
17
21
|
/**
|
|
18
22
|
* Demos:
|
|
19
23
|
*
|
|
@@ -29,20 +33,26 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
|
|
|
29
33
|
|
|
30
34
|
// Props with the default values common to all date time pickers
|
|
31
35
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiMobileDateTimePicker');
|
|
36
|
+
const renderTimeView = defaultizedProps.shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
|
|
32
37
|
const viewRenderers = _extends({
|
|
33
38
|
day: renderDateViewCalendar,
|
|
34
39
|
month: renderDateViewCalendar,
|
|
35
40
|
year: renderDateViewCalendar,
|
|
36
|
-
hours:
|
|
37
|
-
minutes:
|
|
38
|
-
seconds:
|
|
41
|
+
hours: renderTimeView,
|
|
42
|
+
minutes: renderTimeView,
|
|
43
|
+
seconds: renderTimeView,
|
|
44
|
+
meridiem: renderTimeView
|
|
39
45
|
}, defaultizedProps.viewRenderers);
|
|
40
46
|
const ampmInClock = defaultizedProps.ampmInClock ?? false;
|
|
47
|
+
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
48
|
+
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
|
|
49
|
+
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
41
50
|
|
|
42
51
|
// Props with the default values specific to the mobile variant
|
|
43
52
|
const props = _extends({}, defaultizedProps, {
|
|
44
53
|
viewRenderers,
|
|
45
54
|
format: resolveDateTimeFormat(utils, defaultizedProps),
|
|
55
|
+
views,
|
|
46
56
|
ampmInClock,
|
|
47
57
|
slots: _extends({
|
|
48
58
|
field: DateTimeField
|
|
@@ -55,7 +65,30 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
|
|
|
55
65
|
}, defaultizedProps.slotProps?.toolbar),
|
|
56
66
|
tabs: _extends({
|
|
57
67
|
hidden: false
|
|
58
|
-
}, defaultizedProps.slotProps?.tabs)
|
|
68
|
+
}, defaultizedProps.slotProps?.tabs),
|
|
69
|
+
layout: _extends({}, defaultizedProps.slotProps?.layout, {
|
|
70
|
+
sx: mergeSx([{
|
|
71
|
+
[`& .${multiSectionDigitalClockClasses.root}`]: {
|
|
72
|
+
width: DIALOG_WIDTH
|
|
73
|
+
},
|
|
74
|
+
[`& .${multiSectionDigitalClockSectionClasses.root}`]: {
|
|
75
|
+
flex: 1,
|
|
76
|
+
// account for the border on `MultiSectionDigitalClock`
|
|
77
|
+
maxHeight: VIEW_HEIGHT - 1,
|
|
78
|
+
[`.${multiSectionDigitalClockSectionClasses.item}`]: {
|
|
79
|
+
width: 'auto'
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[`& .${digitalClockClasses.root}`]: {
|
|
83
|
+
width: DIALOG_WIDTH,
|
|
84
|
+
maxHeight: VIEW_HEIGHT,
|
|
85
|
+
flex: 1,
|
|
86
|
+
[`.${digitalClockClasses.item}`]: {
|
|
87
|
+
justifyContent: 'center'
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}], defaultizedProps.slotProps?.layout?.sx)
|
|
91
|
+
})
|
|
59
92
|
})
|
|
60
93
|
});
|
|
61
94
|
const {
|
|
@@ -292,7 +325,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
292
325
|
* Used when the component view is not controlled.
|
|
293
326
|
* Must be a valid option from `views` list.
|
|
294
327
|
*/
|
|
295
|
-
openTo: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
|
|
328
|
+
openTo: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
296
329
|
/**
|
|
297
330
|
* Force rendering in particular orientation.
|
|
298
331
|
*/
|
|
@@ -368,6 +401,11 @@ MobileDateTimePicker.propTypes = {
|
|
|
368
401
|
* @default false
|
|
369
402
|
*/
|
|
370
403
|
showDaysOutsideCurrentMonth: PropTypes.bool,
|
|
404
|
+
/**
|
|
405
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
406
|
+
* @default false
|
|
407
|
+
*/
|
|
408
|
+
skipDisabled: PropTypes.bool,
|
|
371
409
|
/**
|
|
372
410
|
* The props used for each component slot.
|
|
373
411
|
* @default {}
|
|
@@ -382,6 +420,22 @@ MobileDateTimePicker.propTypes = {
|
|
|
382
420
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
383
421
|
*/
|
|
384
422
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
423
|
+
/**
|
|
424
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
425
|
+
* @default 24
|
|
426
|
+
*/
|
|
427
|
+
thresholdToRenderTimeInASingleColumn: PropTypes.number,
|
|
428
|
+
/**
|
|
429
|
+
* The time steps between two time unit options.
|
|
430
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
431
|
+
* When single column time renderer is used, only `timeStep.minutes` will be used.
|
|
432
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
433
|
+
*/
|
|
434
|
+
timeSteps: PropTypes.shape({
|
|
435
|
+
hours: PropTypes.number,
|
|
436
|
+
minutes: PropTypes.number,
|
|
437
|
+
seconds: PropTypes.number
|
|
438
|
+
}),
|
|
385
439
|
/**
|
|
386
440
|
* Choose which timezone to use for the value.
|
|
387
441
|
* Example: "default", "system", "UTC", "America/New_York".
|
|
@@ -400,7 +454,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
400
454
|
* Used when the component view is controlled.
|
|
401
455
|
* Must be a valid option from `views` list.
|
|
402
456
|
*/
|
|
403
|
-
view: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
|
|
457
|
+
view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
404
458
|
/**
|
|
405
459
|
* Define custom view renderers for each section.
|
|
406
460
|
* If `null`, the section will only have field editing.
|
|
@@ -409,6 +463,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
409
463
|
viewRenderers: PropTypes.shape({
|
|
410
464
|
day: PropTypes.func,
|
|
411
465
|
hours: PropTypes.func,
|
|
466
|
+
meridiem: PropTypes.func,
|
|
412
467
|
minutes: PropTypes.func,
|
|
413
468
|
month: PropTypes.func,
|
|
414
469
|
seconds: PropTypes.func,
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-internals/types';
|
|
2
2
|
import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from "../internals/hooks/useMobilePicker/index.js";
|
|
3
3
|
import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from "../DateTimePicker/shared.js";
|
|
4
|
-
import { DateOrTimeView } from "../models/index.js";
|
|
5
|
-
import { DateOrTimeViewWithMeridiem } from "../internals/models/index.js";
|
|
6
4
|
export interface MobileDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseMobilePickerSlots, 'field'> {}
|
|
7
5
|
export interface MobileDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
8
|
-
export interface MobileDateTimePickerProps<
|
|
6
|
+
export interface MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps, MobileOnlyPickerProps {
|
|
9
7
|
/**
|
|
10
8
|
* Overridable component slots.
|
|
11
9
|
* @default {}
|
|
@@ -154,7 +154,9 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
|
|
|
154
154
|
label: label,
|
|
155
155
|
name: name,
|
|
156
156
|
role: "group",
|
|
157
|
-
"aria-labelledby": inputLabelId
|
|
157
|
+
"aria-labelledby": inputLabelId,
|
|
158
|
+
"aria-describedby": helperTextId,
|
|
159
|
+
"aria-live": helperTextId ? 'polite' : undefined
|
|
158
160
|
}, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
|
|
159
161
|
id: helperTextId
|
|
160
162
|
}, FormHelperTextProps, {
|