@mui/x-date-pickers 8.0.0-alpha.5 → 8.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
- package/AdapterDateFns/AdapterDateFns.js +49 -47
- package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
- package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
- package/AdapterDateFnsJalaliV2/index.js +1 -0
- package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
- package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
- package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/AdapterDateFnsV2/index.d.ts +1 -0
- package/AdapterDateFnsV2/index.js +1 -0
- package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
- package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
- package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
- package/AdapterMoment/AdapterMoment.d.ts +1 -1
- package/CHANGELOG.md +206 -1
- package/DateCalendar/DateCalendar.js +1 -1
- package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
- package/DateCalendar/PickersSlideTransition.d.ts +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +13 -11
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePicker.types.d.ts +5 -0
- package/DatePicker/DatePickerToolbar.d.ts +1 -3
- package/DatePicker/DatePickerToolbar.js +10 -25
- package/DatePicker/shared.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +13 -11
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
- package/DateTimePicker/DateTimePickerTabs.js +7 -14
- package/DateTimePicker/DateTimePickerToolbar.d.ts +12 -4
- package/DateTimePicker/DateTimePickerToolbar.js +42 -48
- package/DateTimePicker/shared.d.ts +3 -3
- package/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
- package/DesktopTimePicker/DesktopTimePicker.js +3 -7
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/MobileDatePicker/MobileDatePicker.js +2 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
- package/MobileTimePicker/MobileTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
- package/PickersActionBar/PickersActionBar.d.ts +6 -7
- package/PickersActionBar/PickersActionBar.js +18 -16
- package/PickersLayout/PickersLayout.d.ts +2 -2
- package/PickersLayout/PickersLayout.js +1 -15
- package/PickersLayout/PickersLayout.types.d.ts +12 -15
- package/PickersLayout/usePickerLayout.d.ts +2 -2
- package/PickersLayout/usePickerLayout.js +13 -47
- package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
- package/PickersShortcuts/PickersShortcuts.js +13 -10
- package/PickersShortcuts/index.d.ts +1 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
- package/PickersTextField/PickersTextField.js +1 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +13 -11
- package/TimePicker/TimePicker.js +2 -2
- package/TimePicker/TimePicker.types.d.ts +2 -2
- package/TimePicker/TimePickerToolbar.d.ts +1 -2
- package/TimePicker/TimePickerToolbar.js +23 -35
- package/TimePicker/shared.d.ts +1 -1
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +3 -1
- package/hooks/useIsValidValue.d.ts +7 -0
- package/hooks/useIsValidValue.js +11 -0
- package/hooks/usePickerActionsContext.d.ts +7 -0
- package/hooks/usePickerActionsContext.js +15 -0
- package/hooks/usePickerContext.d.ts +3 -1
- package/hooks/usePickerContext.js +1 -2
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/PickerProvider.d.ts +14 -8
- package/internals/components/PickerProvider.js +17 -6
- package/internals/components/PickersModalDialog.d.ts +1 -3
- package/internals/components/PickersModalDialog.js +9 -3
- package/internals/components/PickersPopper.d.ts +1 -3
- package/internals/components/PickersPopper.js +11 -6
- package/internals/components/PickersToolbar.d.ts +2 -3
- package/internals/components/PickersToolbar.js +1 -1
- package/internals/hooks/date-helpers-hooks.js +4 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -7
- package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/index.js +1 -1
- package/internals/hooks/useField/useField.d.ts +10 -1
- package/internals/hooks/useField/useField.js +17 -1
- package/internals/hooks/useField/useField.utils.js +2 -2
- package/internals/hooks/useField/useFieldState.js +2 -2
- package/internals/hooks/useField/useFieldV6TextField.js +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
- package/internals/hooks/useOpenState.js +3 -2
- package/internals/hooks/usePicker/usePicker.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.js +0 -8
- package/internals/hooks/usePicker/usePicker.types.d.ts +6 -7
- package/internals/hooks/usePicker/usePickerProvider.d.ts +5 -5
- package/internals/hooks/usePicker/usePickerProvider.js +8 -5
- package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
- package/internals/hooks/usePicker/usePickerValue.js +82 -217
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +82 -67
- package/internals/hooks/usePicker/usePickerViews.d.ts +35 -20
- package/internals/hooks/usePicker/usePickerViews.js +22 -14
- package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
- package/internals/hooks/useUtils.js +1 -1
- package/internals/index.d.ts +9 -7
- package/internals/index.js +5 -3
- package/internals/models/index.d.ts +1 -0
- package/internals/models/index.js +2 -1
- package/internals/models/manager.d.ts +12 -0
- package/internals/models/manager.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +2 -2
- package/internals/models/props/tabs.d.ts +0 -13
- package/internals/models/props/toolbar.d.ts +1 -20
- package/internals/utils/date-utils.js +1 -1
- package/internals/utils/valueManagers.js +4 -4
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/nbNO.js +15 -19
- package/locales/utils/getPickersLocalization.js +1 -1
- package/locales/zhTW.d.ts +80 -0
- package/locales/zhTW.js +73 -0
- package/managers/index.d.ts +6 -0
- package/managers/index.js +3 -0
- package/managers/package.json +6 -0
- package/managers/useDateManager.d.ts +27 -0
- package/managers/useDateManager.js +47 -0
- package/managers/useDateTimeManager.d.ts +28 -0
- package/managers/useDateTimeManager.js +52 -0
- package/managers/useTimeManager.d.ts +28 -0
- package/managers/useTimeManager.js +43 -0
- package/models/adapters.d.ts +1 -1
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/manager.d.ts +78 -0
- package/models/manager.js +1 -0
- package/models/pickers.d.ts +7 -0
- package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
- package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
- package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
- package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
- package/modern/AdapterDateFnsV2/index.js +1 -0
- package/modern/DateCalendar/DateCalendar.js +1 -1
- package/modern/DateField/useDateField.js +13 -11
- package/modern/DatePicker/DatePicker.js +1 -1
- package/modern/DatePicker/DatePickerToolbar.js +10 -25
- package/modern/DateTimeField/useDateTimeField.js +13 -11
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +7 -14
- package/modern/DateTimePicker/DateTimePickerToolbar.js +42 -48
- package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
- package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -7
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
- package/modern/PickersActionBar/PickersActionBar.js +18 -16
- package/modern/PickersLayout/PickersLayout.js +1 -15
- package/modern/PickersLayout/usePickerLayout.js +13 -47
- package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
- package/modern/PickersTextField/PickersTextField.js +1 -1
- package/modern/TimeField/useTimeField.js +13 -11
- package/modern/TimePicker/TimePicker.js +2 -2
- package/modern/TimePicker/TimePickerToolbar.js +23 -35
- package/modern/hooks/index.js +3 -1
- package/modern/hooks/useIsValidValue.js +11 -0
- package/modern/hooks/usePickerActionsContext.js +15 -0
- package/modern/hooks/usePickerContext.js +1 -2
- package/modern/index.js +3 -2
- package/modern/internals/components/PickerProvider.js +17 -6
- package/modern/internals/components/PickersModalDialog.js +9 -3
- package/modern/internals/components/PickersPopper.js +11 -6
- package/modern/internals/components/PickersToolbar.js +1 -1
- package/modern/internals/hooks/date-helpers-hooks.js +4 -3
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
- package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/modern/internals/hooks/useField/index.js +1 -1
- package/modern/internals/hooks/useField/useField.js +17 -1
- package/modern/internals/hooks/useField/useField.utils.js +2 -2
- package/modern/internals/hooks/useField/useFieldState.js +2 -2
- package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
- package/modern/internals/hooks/useOpenState.js +3 -2
- package/modern/internals/hooks/usePicker/usePicker.js +0 -8
- package/modern/internals/hooks/usePicker/usePickerProvider.js +8 -5
- package/modern/internals/hooks/usePicker/usePickerValue.js +82 -217
- package/modern/internals/hooks/usePicker/usePickerViews.js +22 -14
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
- package/modern/internals/hooks/useUtils.js +1 -1
- package/modern/internals/index.js +5 -3
- package/modern/internals/models/index.js +2 -1
- package/modern/internals/models/manager.js +1 -0
- package/modern/internals/utils/date-utils.js +1 -1
- package/modern/internals/utils/valueManagers.js +4 -4
- package/modern/locales/index.js +1 -0
- package/modern/locales/nbNO.js +15 -19
- package/modern/locales/utils/getPickersLocalization.js +1 -1
- package/modern/locales/zhTW.js +73 -0
- package/modern/managers/index.js +3 -0
- package/modern/managers/useDateManager.js +47 -0
- package/modern/managers/useDateTimeManager.js +52 -0
- package/modern/managers/useTimeManager.js +43 -0
- package/modern/models/index.js +1 -0
- package/modern/models/manager.js +1 -0
- package/node/AdapterDateFns/AdapterDateFns.js +97 -97
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
- package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
- package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
- package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
- package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
- package/node/DateCalendar/DateCalendar.js +1 -1
- package/node/DateField/useDateField.js +12 -10
- package/node/DatePicker/DatePicker.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +10 -25
- package/node/DateTimeField/useDateTimeField.js +12 -10
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +7 -14
- package/node/DateTimePicker/DateTimePickerToolbar.js +43 -49
- package/node/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
- package/node/DesktopTimePicker/DesktopTimePicker.js +3 -7
- package/node/MobileDatePicker/MobileDatePicker.js +2 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/node/MobileTimePicker/MobileTimePicker.js +2 -2
- package/node/PickersActionBar/PickersActionBar.js +20 -18
- package/node/PickersLayout/PickersLayout.js +1 -15
- package/node/PickersLayout/usePickerLayout.js +17 -51
- package/node/PickersShortcuts/PickersShortcuts.js +13 -10
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
- package/node/PickersTextField/PickersTextField.js +1 -1
- package/node/TimeField/useTimeField.js +12 -10
- package/node/TimePicker/TimePicker.js +2 -2
- package/node/TimePicker/TimePickerToolbar.js +23 -35
- package/node/hooks/index.js +15 -1
- package/node/hooks/useIsValidValue.js +18 -0
- package/node/hooks/usePickerActionsContext.js +22 -0
- package/node/hooks/usePickerContext.js +1 -1
- package/node/index.js +13 -1
- package/node/internals/components/PickerProvider.js +18 -7
- package/node/internals/components/PickersModalDialog.js +9 -3
- package/node/internals/components/PickersPopper.js +11 -6
- package/node/internals/components/PickersToolbar.js +1 -1
- package/node/internals/hooks/date-helpers-hooks.js +4 -3
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
- package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
- package/node/internals/hooks/useField/index.js +6 -0
- package/node/internals/hooks/useField/useField.js +18 -1
- package/node/internals/hooks/useField/useField.utils.js +2 -2
- package/node/internals/hooks/useField/useFieldState.js +2 -2
- package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
- package/node/internals/hooks/useOpenState.js +4 -2
- package/node/internals/hooks/usePicker/usePicker.js +0 -9
- package/node/internals/hooks/usePicker/usePickerProvider.js +8 -5
- package/node/internals/hooks/usePicker/usePickerValue.js +82 -217
- package/node/internals/hooks/usePicker/usePickerViews.js +22 -15
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/index.js +28 -20
- package/node/internals/models/index.js +11 -0
- package/node/internals/models/manager.js +5 -0
- package/node/internals/utils/date-utils.js +1 -1
- package/node/internals/utils/valueManagers.js +4 -4
- package/node/locales/index.js +11 -0
- package/node/locales/nbNO.js +15 -19
- package/node/locales/utils/getPickersLocalization.js +1 -1
- package/node/locales/zhTW.js +79 -0
- package/node/managers/index.js +26 -0
- package/node/managers/useDateManager.js +55 -0
- package/node/managers/useDateTimeManager.js +60 -0
- package/node/managers/useTimeManager.js +51 -0
- package/node/models/index.js +11 -0
- package/node/models/manager.js +5 -0
- package/package.json +3 -3
- package/themeAugmentation/props.d.ts +2 -3
- package/validation/extractValidationProps.d.ts +1 -1
- package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
- package/AdapterDateFnsJalaliV3/index.js +0 -1
- package/AdapterDateFnsV3/index.d.ts +0 -1
- package/AdapterDateFnsV3/index.js +0 -1
- package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
- package/internals/hooks/defaultizedFieldProps.js +0 -40
- package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
- package/modern/AdapterDateFnsV3/index.js +0 -1
- package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
- package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
- package/node/internals/hooks/defaultizedFieldProps.js +0 -50
|
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useDateField = void 0;
|
|
8
|
-
var _valueManagers = require("../internals/utils/valueManagers");
|
|
9
8
|
var _useField = require("../internals/hooks/useField");
|
|
10
|
-
var _validation = require("../validation");
|
|
11
9
|
var _hooks = require("../hooks");
|
|
12
|
-
var
|
|
13
|
-
const useDateField =
|
|
14
|
-
const
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useDateField = props => {
|
|
12
|
+
const manager = (0, _managers.useDateManager)(props);
|
|
15
13
|
const {
|
|
16
14
|
forwardedProps,
|
|
17
15
|
internalProps
|
|
18
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'date');
|
|
17
|
+
const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
19
21
|
return (0, _useField.useField)({
|
|
20
22
|
forwardedProps,
|
|
21
|
-
internalProps,
|
|
22
|
-
valueManager:
|
|
23
|
-
fieldValueManager:
|
|
24
|
-
validator:
|
|
25
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
26
28
|
});
|
|
27
29
|
};
|
|
28
30
|
exports.useDateField = useDateField;
|
|
@@ -66,7 +66,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
66
66
|
autoFocus: _propTypes.default.bool,
|
|
67
67
|
className: _propTypes.default.string,
|
|
68
68
|
/**
|
|
69
|
-
* If `true`, the
|
|
69
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
70
70
|
* @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
|
|
71
71
|
*/
|
|
72
72
|
closeOnSelect: _propTypes.default.bool,
|
|
@@ -21,8 +21,9 @@ var _useUtils = require("../internals/hooks/useUtils");
|
|
|
21
21
|
var _datePickerToolbarClasses = require("./datePickerToolbarClasses");
|
|
22
22
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
23
23
|
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
24
|
+
var _hooks = require("../hooks");
|
|
24
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
const _excluded = ["
|
|
26
|
+
const _excluded = ["toolbarFormat", "toolbarPlaceholder", "className", "classes"];
|
|
26
27
|
const useUtilityClasses = classes => {
|
|
27
28
|
const slots = {
|
|
28
29
|
root: ['root'],
|
|
@@ -65,21 +66,23 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
|
|
|
65
66
|
name: 'MuiDatePickerToolbar'
|
|
66
67
|
});
|
|
67
68
|
const {
|
|
68
|
-
value,
|
|
69
|
-
isLandscape,
|
|
70
69
|
toolbarFormat,
|
|
71
70
|
toolbarPlaceholder = '––',
|
|
72
|
-
views,
|
|
73
71
|
className,
|
|
74
72
|
classes: classesProp
|
|
75
73
|
} = props,
|
|
76
74
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
77
75
|
const utils = (0, _useUtils.useUtils)();
|
|
76
|
+
const {
|
|
77
|
+
value,
|
|
78
|
+
views,
|
|
79
|
+
orientation
|
|
80
|
+
} = (0, _hooks.usePickerContext)();
|
|
78
81
|
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
79
82
|
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
80
83
|
const classes = useUtilityClasses(classesProp);
|
|
81
84
|
const dateText = React.useMemo(() => {
|
|
82
|
-
if (!value) {
|
|
85
|
+
if (!utils.isValid(value)) {
|
|
83
86
|
return toolbarPlaceholder;
|
|
84
87
|
}
|
|
85
88
|
const formatFromViews = (0, _dateUtils.resolveDateFormat)(utils, {
|
|
@@ -91,12 +94,11 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
|
|
|
91
94
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerToolbarRoot, (0, _extends2.default)({
|
|
92
95
|
ref: ref,
|
|
93
96
|
toolbarTitle: translations.datePickerToolbarTitle,
|
|
94
|
-
isLandscape: isLandscape,
|
|
95
97
|
className: (0, _clsx.default)(classes.root, className)
|
|
96
98
|
}, other, {
|
|
97
99
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerToolbarTitle, {
|
|
98
100
|
variant: "h4",
|
|
99
|
-
align:
|
|
101
|
+
align: orientation === 'landscape' ? 'left' : 'center',
|
|
100
102
|
ownerState: ownerState,
|
|
101
103
|
className: classes.title,
|
|
102
104
|
children: dateText
|
|
@@ -118,14 +120,6 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
118
120
|
* @default `true` for Desktop, `false` for Mobile.
|
|
119
121
|
*/
|
|
120
122
|
hidden: _propTypes.default.bool,
|
|
121
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
122
|
-
onChange: _propTypes.default.func.isRequired,
|
|
123
|
-
/**
|
|
124
|
-
* Callback called when a toolbar is clicked
|
|
125
|
-
* @template TView
|
|
126
|
-
* @param {TView} view The view to open
|
|
127
|
-
*/
|
|
128
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
129
123
|
/**
|
|
130
124
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
131
125
|
*/
|
|
@@ -139,14 +133,5 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
|
|
|
139
133
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
140
134
|
* @default "––"
|
|
141
135
|
*/
|
|
142
|
-
toolbarPlaceholder: _propTypes.default.node
|
|
143
|
-
value: _propTypes.default.object,
|
|
144
|
-
/**
|
|
145
|
-
* Currently visible picker view.
|
|
146
|
-
*/
|
|
147
|
-
view: _propTypes.default.oneOf(['day', 'month', 'year']).isRequired,
|
|
148
|
-
/**
|
|
149
|
-
* Available views.
|
|
150
|
-
*/
|
|
151
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired).isRequired
|
|
136
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
152
137
|
} : void 0;
|
|
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useDateTimeField = void 0;
|
|
8
|
-
var _valueManagers = require("../internals/utils/valueManagers");
|
|
9
8
|
var _useField = require("../internals/hooks/useField");
|
|
10
|
-
var _validation = require("../validation");
|
|
11
9
|
var _hooks = require("../hooks");
|
|
12
|
-
var
|
|
13
|
-
const useDateTimeField =
|
|
14
|
-
const
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useDateTimeField = props => {
|
|
12
|
+
const manager = (0, _managers.useDateTimeManager)(props);
|
|
15
13
|
const {
|
|
16
14
|
forwardedProps,
|
|
17
15
|
internalProps
|
|
18
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'date-time');
|
|
17
|
+
const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
19
21
|
return (0, _useField.useField)({
|
|
20
22
|
forwardedProps,
|
|
21
|
-
internalProps,
|
|
22
|
-
valueManager:
|
|
23
|
-
fieldValueManager:
|
|
24
|
-
validator:
|
|
25
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
26
28
|
});
|
|
27
29
|
};
|
|
28
30
|
exports.useDateTimeField = useDateTimeField;
|
|
@@ -76,8 +76,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
76
76
|
autoFocus: _propTypes.default.bool,
|
|
77
77
|
className: _propTypes.default.string,
|
|
78
78
|
/**
|
|
79
|
-
* If `true`, the
|
|
80
|
-
* @default
|
|
79
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
80
|
+
* @default false
|
|
81
81
|
*/
|
|
82
82
|
closeOnSelect: _propTypes.default.bool,
|
|
83
83
|
/**
|
|
@@ -19,6 +19,7 @@ var _usePickerTranslations = require("../hooks/usePickerTranslations");
|
|
|
19
19
|
var _dateTimePickerTabsClasses = require("./dateTimePickerTabsClasses");
|
|
20
20
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
21
21
|
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
22
|
+
var _hooks = require("../hooks");
|
|
22
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
24
|
const viewToTab = view => {
|
|
24
25
|
if ((0, _dateUtils.isDatePickerView)(view)) {
|
|
@@ -72,9 +73,7 @@ const DateTimePickerTabs = exports.DateTimePickerTabs = function DateTimePickerT
|
|
|
72
73
|
});
|
|
73
74
|
const {
|
|
74
75
|
dateIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DateRangeIcon, {}),
|
|
75
|
-
onViewChange,
|
|
76
76
|
timeIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.TimeIcon, {}),
|
|
77
|
-
view,
|
|
78
77
|
hidden = typeof window === 'undefined' || window.innerHeight < 667,
|
|
79
78
|
className,
|
|
80
79
|
classes: classesProp,
|
|
@@ -84,9 +83,13 @@ const DateTimePickerTabs = exports.DateTimePickerTabs = function DateTimePickerT
|
|
|
84
83
|
const {
|
|
85
84
|
ownerState
|
|
86
85
|
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
86
|
+
const {
|
|
87
|
+
view,
|
|
88
|
+
setView
|
|
89
|
+
} = (0, _hooks.usePickerContext)();
|
|
87
90
|
const classes = useUtilityClasses(classesProp);
|
|
88
91
|
const handleChange = (event, value) => {
|
|
89
|
-
|
|
92
|
+
setView(tabToView(value));
|
|
90
93
|
};
|
|
91
94
|
if (hidden) {
|
|
92
95
|
return null;
|
|
@@ -133,12 +136,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerTabs.propTypes = {
|
|
|
133
136
|
* @default `window.innerHeight < 667` for `DesktopDateTimePicker` and `MobileDateTimePicker`, `displayStaticWrapperAs === 'desktop'` for `StaticDateTimePicker`
|
|
134
137
|
*/
|
|
135
138
|
hidden: _propTypes.default.bool,
|
|
136
|
-
/**
|
|
137
|
-
* Callback called when a tab is clicked.
|
|
138
|
-
* @template TView
|
|
139
|
-
* @param {TView} view The view to open
|
|
140
|
-
*/
|
|
141
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
142
139
|
/**
|
|
143
140
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
144
141
|
*/
|
|
@@ -147,9 +144,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerTabs.propTypes = {
|
|
|
147
144
|
* Time tab icon.
|
|
148
145
|
* @default Time
|
|
149
146
|
*/
|
|
150
|
-
timeIcon: _propTypes.default.node
|
|
151
|
-
/**
|
|
152
|
-
* Currently visible picker view.
|
|
153
|
-
*/
|
|
154
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired
|
|
147
|
+
timeIcon: _propTypes.default.node
|
|
155
148
|
} : void 0;
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.DateTimePickerToolbar = DateTimePickerToolbar;
|
|
10
|
-
exports.
|
|
10
|
+
exports.DateTimePickerToolbarOverrideContext = void 0;
|
|
11
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -30,7 +30,7 @@ var _pickersToolbarClasses = require("../internals/components/pickersToolbarClas
|
|
|
30
30
|
var _usePickerContext = require("../hooks/usePickerContext");
|
|
31
31
|
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
32
32
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
|
-
const _excluded = ["ampm", "ampmInClock", "
|
|
33
|
+
const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
|
|
34
34
|
const useUtilityClasses = (classes, ownerState) => {
|
|
35
35
|
const {
|
|
36
36
|
pickerOrientation,
|
|
@@ -214,10 +214,11 @@ const DateTimePickerToolbarAmPmSelection = (0, _styles.styled)('div', {
|
|
|
214
214
|
});
|
|
215
215
|
|
|
216
216
|
/**
|
|
217
|
-
* If
|
|
217
|
+
* If `forceDesktopVariant` is set to `true`, the toolbar will always be rendered in the desktop mode.
|
|
218
|
+
* If `onViewChange` is defined, the toolbar will call it instead of calling the default handler from `usePickerContext`.
|
|
218
219
|
* This is used by the Date Time Range Picker Toolbar.
|
|
219
220
|
*/
|
|
220
|
-
const
|
|
221
|
+
const DateTimePickerToolbarOverrideContext = exports.DateTimePickerToolbarOverrideContext = /*#__PURE__*/React.createContext(null);
|
|
221
222
|
|
|
222
223
|
/**
|
|
223
224
|
* Demos:
|
|
@@ -237,40 +238,45 @@ function DateTimePickerToolbar(inProps) {
|
|
|
237
238
|
const {
|
|
238
239
|
ampm,
|
|
239
240
|
ampmInClock,
|
|
240
|
-
value,
|
|
241
|
-
onChange,
|
|
242
|
-
view,
|
|
243
|
-
isLandscape,
|
|
244
|
-
onViewChange,
|
|
245
241
|
toolbarFormat,
|
|
246
242
|
toolbarPlaceholder = '––',
|
|
247
|
-
views,
|
|
248
243
|
toolbarTitle: inToolbarTitle,
|
|
249
244
|
className,
|
|
250
245
|
classes: classesProp
|
|
251
246
|
} = props,
|
|
252
247
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
253
248
|
const {
|
|
249
|
+
value: valueContext,
|
|
250
|
+
setValue: setValueContext,
|
|
254
251
|
disabled,
|
|
255
252
|
readOnly,
|
|
256
|
-
variant
|
|
253
|
+
variant,
|
|
254
|
+
orientation,
|
|
255
|
+
view: viewContext,
|
|
256
|
+
setView: setViewContext,
|
|
257
|
+
views
|
|
257
258
|
} = (0, _usePickerContext.usePickerContext)();
|
|
259
|
+
const translations = (0, _usePickerTranslations.usePickerTranslations)();
|
|
258
260
|
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
259
261
|
const classes = useUtilityClasses(classesProp, ownerState);
|
|
260
262
|
const utils = (0, _useUtils.useUtils)();
|
|
263
|
+
const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
|
|
264
|
+
const value = overrides ? overrides.value : valueContext;
|
|
265
|
+
const setValue = overrides ? overrides.setValue : setValueContext;
|
|
266
|
+
const view = overrides ? overrides.view : viewContext;
|
|
267
|
+
const setView = overrides ? overrides.setView : setViewContext;
|
|
261
268
|
const {
|
|
262
269
|
meridiemMode,
|
|
263
270
|
handleMeridiemChange
|
|
264
|
-
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const toolbarVariant = forceDesktopVariant ? 'desktop' : variant;
|
|
271
|
+
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
|
|
272
|
+
changeImportance: 'set'
|
|
273
|
+
}));
|
|
274
|
+
const toolbarVariant = overrides?.forceDesktopVariant ? 'desktop' : variant;
|
|
268
275
|
const isDesktop = toolbarVariant === 'desktop';
|
|
269
276
|
const showAmPmControl = Boolean(ampm && !ampmInClock);
|
|
270
277
|
const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
|
|
271
|
-
const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
|
|
272
278
|
const dateText = React.useMemo(() => {
|
|
273
|
-
if (!value) {
|
|
279
|
+
if (!utils.isValid(value)) {
|
|
274
280
|
return toolbarPlaceholder;
|
|
275
281
|
}
|
|
276
282
|
if (toolbarFormat) {
|
|
@@ -278,8 +284,13 @@ function DateTimePickerToolbar(inProps) {
|
|
|
278
284
|
}
|
|
279
285
|
return utils.format(value, 'shortDate');
|
|
280
286
|
}, [value, toolbarFormat, toolbarPlaceholder, utils]);
|
|
287
|
+
const formatSection = (format, fallback) => {
|
|
288
|
+
if (!utils.isValid(value)) {
|
|
289
|
+
return fallback;
|
|
290
|
+
}
|
|
291
|
+
return utils.format(value, format);
|
|
292
|
+
};
|
|
281
293
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
|
|
282
|
-
isLandscape: isLandscape,
|
|
283
294
|
className: (0, _clsx.default)(classes.root, className),
|
|
284
295
|
toolbarTitle: toolbarTitle,
|
|
285
296
|
toolbarVariant: toolbarVariant
|
|
@@ -291,13 +302,13 @@ function DateTimePickerToolbar(inProps) {
|
|
|
291
302
|
children: [views.includes('year') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
292
303
|
tabIndex: -1,
|
|
293
304
|
variant: "subtitle1",
|
|
294
|
-
onClick: () =>
|
|
305
|
+
onClick: () => setView('year'),
|
|
295
306
|
selected: view === 'year',
|
|
296
|
-
value:
|
|
307
|
+
value: formatSection('year', '–')
|
|
297
308
|
}), views.includes('day') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
298
309
|
tabIndex: -1,
|
|
299
310
|
variant: isDesktop ? 'h5' : 'h4',
|
|
300
|
-
onClick: () =>
|
|
311
|
+
onClick: () => setView('day'),
|
|
301
312
|
selected: view === 'day',
|
|
302
313
|
value: dateText
|
|
303
314
|
})]
|
|
@@ -312,10 +323,10 @@ function DateTimePickerToolbar(inProps) {
|
|
|
312
323
|
children: [views.includes('hours') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
313
324
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
314
325
|
variant: isDesktop ? 'h5' : 'h3',
|
|
315
|
-
width: isDesktop &&
|
|
316
|
-
onClick: () =>
|
|
326
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
327
|
+
onClick: () => setView('hours'),
|
|
317
328
|
selected: view === 'hours',
|
|
318
|
-
value:
|
|
329
|
+
value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
|
|
319
330
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimePickerToolbarSeparator, {
|
|
320
331
|
variant: isDesktop ? 'h5' : 'h3',
|
|
321
332
|
value: ":",
|
|
@@ -324,10 +335,10 @@ function DateTimePickerToolbar(inProps) {
|
|
|
324
335
|
toolbarVariant: toolbarVariant
|
|
325
336
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
326
337
|
variant: isDesktop ? 'h5' : 'h3',
|
|
327
|
-
width: isDesktop &&
|
|
328
|
-
onClick: () =>
|
|
338
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
339
|
+
onClick: () => setView('minutes'),
|
|
329
340
|
selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
|
|
330
|
-
value:
|
|
341
|
+
value: formatSection('minutes', '--'),
|
|
331
342
|
disabled: !views.includes('minutes')
|
|
332
343
|
})]
|
|
333
344
|
}), views.includes('seconds') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
@@ -339,10 +350,10 @@ function DateTimePickerToolbar(inProps) {
|
|
|
339
350
|
toolbarVariant: toolbarVariant
|
|
340
351
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
341
352
|
variant: isDesktop ? 'h5' : 'h3',
|
|
342
|
-
width: isDesktop &&
|
|
343
|
-
onClick: () =>
|
|
353
|
+
width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
|
|
354
|
+
onClick: () => setView('seconds'),
|
|
344
355
|
selected: view === 'seconds',
|
|
345
|
-
value:
|
|
356
|
+
value: formatSection('seconds', '--')
|
|
346
357
|
})]
|
|
347
358
|
})]
|
|
348
359
|
}), showAmPmControl && !isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarAmPmSelection, {
|
|
@@ -365,7 +376,7 @@ function DateTimePickerToolbar(inProps) {
|
|
|
365
376
|
})]
|
|
366
377
|
}), ampm && isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
367
378
|
variant: "h5",
|
|
368
|
-
onClick: () =>
|
|
379
|
+
onClick: () => setView('meridiem'),
|
|
369
380
|
selected: view === 'meridiem',
|
|
370
381
|
value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(utils, meridiemMode) : '--',
|
|
371
382
|
width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
|
|
@@ -390,14 +401,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
|
|
|
390
401
|
* @default `true` for Desktop, `false` for Mobile.
|
|
391
402
|
*/
|
|
392
403
|
hidden: _propTypes.default.bool,
|
|
393
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
394
|
-
onChange: _propTypes.default.func.isRequired,
|
|
395
|
-
/**
|
|
396
|
-
* Callback called when a toolbar is clicked
|
|
397
|
-
* @template TView
|
|
398
|
-
* @param {TView} view The view to open
|
|
399
|
-
*/
|
|
400
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
401
404
|
/**
|
|
402
405
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
403
406
|
*/
|
|
@@ -415,14 +418,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
|
|
|
415
418
|
/**
|
|
416
419
|
* If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
|
|
417
420
|
*/
|
|
418
|
-
toolbarTitle: _propTypes.default.node
|
|
419
|
-
value: _propTypes.default.object,
|
|
420
|
-
/**
|
|
421
|
-
* Currently visible picker view.
|
|
422
|
-
*/
|
|
423
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
424
|
-
/**
|
|
425
|
-
* Available views.
|
|
426
|
-
*/
|
|
427
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
|
|
421
|
+
toolbarTitle: _propTypes.default.node
|
|
428
422
|
} : void 0;
|
|
@@ -23,6 +23,8 @@ var _DateField = require("../DateField");
|
|
|
23
23
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
24
24
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
25
25
|
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
26
|
+
const emptyActions = [];
|
|
27
|
+
|
|
26
28
|
/**
|
|
27
29
|
* Demos:
|
|
28
30
|
*
|
|
@@ -47,6 +49,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
47
49
|
|
|
48
50
|
// Props with the default values specific to the desktop variant
|
|
49
51
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
52
|
+
closeOnSelect: defaultizedProps.closeOnSelect ?? true,
|
|
50
53
|
viewRenderers,
|
|
51
54
|
format: (0, _dateUtils.resolveDateFormat)(utils, defaultizedProps, false),
|
|
52
55
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
@@ -60,7 +63,10 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
60
63
|
}),
|
|
61
64
|
toolbar: (0, _extends2.default)({
|
|
62
65
|
hidden: true
|
|
63
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
66
|
+
}, defaultizedProps.slotProps?.toolbar),
|
|
67
|
+
actionBar: ownerState => (0, _extends2.default)({
|
|
68
|
+
actions: emptyActions
|
|
69
|
+
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
64
70
|
})
|
|
65
71
|
});
|
|
66
72
|
const {
|
|
@@ -93,8 +99,8 @@ DesktopDatePicker.propTypes = {
|
|
|
93
99
|
autoFocus: _propTypes.default.bool,
|
|
94
100
|
className: _propTypes.default.string,
|
|
95
101
|
/**
|
|
96
|
-
* If `true`, the
|
|
97
|
-
* @default
|
|
102
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
103
|
+
* @default true
|
|
98
104
|
*/
|
|
99
105
|
closeOnSelect: _propTypes.default.bool,
|
|
100
106
|
/**
|
|
@@ -34,7 +34,12 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
34
34
|
var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
|
|
35
35
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
36
36
|
const _excluded = ["openTo", "focusedView", "timeViewsCount"];
|
|
37
|
-
const rendererInterceptor = function
|
|
37
|
+
const rendererInterceptor = function RendererInterceptor(props) {
|
|
38
|
+
const {
|
|
39
|
+
viewRenderers,
|
|
40
|
+
popperView,
|
|
41
|
+
rendererProps
|
|
42
|
+
} = props;
|
|
38
43
|
const {
|
|
39
44
|
openTo,
|
|
40
45
|
focusedView,
|
|
@@ -53,8 +58,10 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
53
58
|
}]
|
|
54
59
|
});
|
|
55
60
|
const isTimeViewActive = (0, _timeUtils.isInternalTimeView)(popperView);
|
|
61
|
+
const dateView = isTimeViewActive ? 'day' : popperView;
|
|
62
|
+
const timeView = isTimeViewActive ? popperView : 'hours';
|
|
56
63
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
57
|
-
children: [
|
|
64
|
+
children: [viewRenderers[dateView]?.((0, _extends2.default)({}, rendererProps, {
|
|
58
65
|
view: !isTimeViewActive ? popperView : 'day',
|
|
59
66
|
focusedView: focusedView && (0, _dateUtils.isDatePickerView)(focusedView) ? focusedView : null,
|
|
60
67
|
views: rendererProps.views.filter(_dateUtils.isDatePickerView),
|
|
@@ -67,7 +74,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
67
74
|
sx: {
|
|
68
75
|
gridColumn: 2
|
|
69
76
|
}
|
|
70
|
-
}),
|
|
77
|
+
}), viewRenderers[timeView]?.((0, _extends2.default)({}, finalProps, {
|
|
71
78
|
view: isTimeViewActive ? popperView : 'hours',
|
|
72
79
|
focusedView: focusedView && (0, _timeUtils.isInternalTimeView)(focusedView) ? focusedView : null,
|
|
73
80
|
openTo: (0, _timeUtils.isInternalTimeView)(openTo) ? openTo : 'hours',
|
|
@@ -115,7 +122,6 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
115
122
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
116
123
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
117
124
|
const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
|
|
118
|
-
const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
119
125
|
|
|
120
126
|
// Props with the default values specific to the desktop variant
|
|
121
127
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
@@ -142,10 +148,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
142
148
|
}, defaultizedProps.slotProps?.toolbar),
|
|
143
149
|
tabs: (0, _extends2.default)({
|
|
144
150
|
hidden: true
|
|
145
|
-
}, defaultizedProps.slotProps?.tabs)
|
|
146
|
-
actionBar: ownerState => (0, _extends2.default)({
|
|
147
|
-
actions: actionBarActions
|
|
148
|
-
}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
|
|
151
|
+
}, defaultizedProps.slotProps?.tabs)
|
|
149
152
|
})
|
|
150
153
|
});
|
|
151
154
|
const {
|
|
@@ -189,8 +192,8 @@ DesktopDateTimePicker.propTypes = {
|
|
|
189
192
|
autoFocus: _propTypes.default.bool,
|
|
190
193
|
className: _propTypes.default.string,
|
|
191
194
|
/**
|
|
192
|
-
* If `true`, the
|
|
193
|
-
* @default
|
|
195
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
196
|
+
* @default false
|
|
194
197
|
*/
|
|
195
198
|
closeOnSelect: _propTypes.default.bool,
|
|
196
199
|
/**
|
|
@@ -73,17 +73,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
|
|
|
73
73
|
*/
|
|
74
74
|
classes: _propTypes.default.object,
|
|
75
75
|
className: _propTypes.default.string,
|
|
76
|
-
isValid: _propTypes.default.func.isRequired,
|
|
77
|
-
onAccept: _propTypes.default.func.isRequired,
|
|
78
|
-
onCancel: _propTypes.default.func.isRequired,
|
|
79
|
-
onChange: _propTypes.default.func.isRequired,
|
|
80
|
-
onClear: _propTypes.default.func.isRequired,
|
|
81
|
-
onClose: _propTypes.default.func.isRequired,
|
|
82
|
-
onDismiss: _propTypes.default.func.isRequired,
|
|
83
|
-
onOpen: _propTypes.default.func.isRequired,
|
|
84
|
-
onSelectShortcut: _propTypes.default.func.isRequired,
|
|
85
|
-
onSetToday: _propTypes.default.func.isRequired,
|
|
86
|
-
onViewChange: _propTypes.default.func.isRequired,
|
|
87
76
|
/**
|
|
88
77
|
* The props used for each component slot.
|
|
89
78
|
* @default {}
|
|
@@ -97,8 +86,5 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
|
|
|
97
86
|
/**
|
|
98
87
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
99
88
|
*/
|
|
100
|
-
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
101
|
-
value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.object]),
|
|
102
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
103
|
-
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
|
|
89
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
104
90
|
} : void 0;
|
|
@@ -53,7 +53,6 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
53
53
|
meridiem: renderTimeView
|
|
54
54
|
}, defaultizedProps.viewRenderers);
|
|
55
55
|
const ampmInClock = defaultizedProps.ampmInClock ?? true;
|
|
56
|
-
const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
57
56
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
58
57
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
59
58
|
const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
|
|
@@ -78,10 +77,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
78
77
|
toolbar: (0, _extends2.default)({
|
|
79
78
|
hidden: true,
|
|
80
79
|
ampmInClock
|
|
81
|
-
}, defaultizedProps.slotProps?.toolbar)
|
|
82
|
-
actionBar: (0, _extends2.default)({
|
|
83
|
-
actions: actionBarActions
|
|
84
|
-
}, defaultizedProps.slotProps?.actionBar)
|
|
80
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
85
81
|
})
|
|
86
82
|
});
|
|
87
83
|
const {
|
|
@@ -124,8 +120,8 @@ DesktopTimePicker.propTypes = {
|
|
|
124
120
|
autoFocus: _propTypes.default.bool,
|
|
125
121
|
className: _propTypes.default.string,
|
|
126
122
|
/**
|
|
127
|
-
* If `true`, the
|
|
128
|
-
* @default
|
|
123
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
124
|
+
* @default false
|
|
129
125
|
*/
|
|
130
126
|
closeOnSelect: _propTypes.default.bool,
|
|
131
127
|
/**
|
|
@@ -90,8 +90,8 @@ MobileDatePicker.propTypes = {
|
|
|
90
90
|
autoFocus: _propTypes.default.bool,
|
|
91
91
|
className: _propTypes.default.string,
|
|
92
92
|
/**
|
|
93
|
-
* If `true`, the
|
|
94
|
-
* @default
|
|
93
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
94
|
+
* @default false
|
|
95
95
|
*/
|
|
96
96
|
closeOnSelect: _propTypes.default.bool,
|
|
97
97
|
/**
|
|
@@ -110,8 +110,8 @@ MobileDateTimePicker.propTypes = {
|
|
|
110
110
|
autoFocus: _propTypes.default.bool,
|
|
111
111
|
className: _propTypes.default.string,
|
|
112
112
|
/**
|
|
113
|
-
* If `true`, the
|
|
114
|
-
* @default
|
|
113
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
114
|
+
* @default false
|
|
115
115
|
*/
|
|
116
116
|
closeOnSelect: _propTypes.default.bool,
|
|
117
117
|
/**
|
|
@@ -103,8 +103,8 @@ MobileTimePicker.propTypes = {
|
|
|
103
103
|
autoFocus: _propTypes.default.bool,
|
|
104
104
|
className: _propTypes.default.string,
|
|
105
105
|
/**
|
|
106
|
-
* If `true`, the
|
|
107
|
-
* @default
|
|
106
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
107
|
+
* @default false
|
|
108
108
|
*/
|
|
109
109
|
closeOnSelect: _propTypes.default.bool,
|
|
110
110
|
/**
|