@mui/x-date-pickers 8.0.0-alpha.6 → 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 +127 -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 -2
- package/DatePicker/DatePickerToolbar.js +7 -11
- 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/DateTimePickerTabs.js +2 -2
- package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
- package/DateTimePicker/DateTimePickerToolbar.js +36 -31
- package/DateTimePicker/shared.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
- package/DesktopTimePicker/DesktopTimePicker.js +3 -7
- package/MobileDatePicker/MobileDatePicker.js +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.js +2 -2
- package/PickersActionBar/PickersActionBar.d.ts +6 -3
- package/PickersActionBar/PickersActionBar.js +6 -3
- package/PickersLayout/PickersLayout.js +1 -5
- package/PickersLayout/PickersLayout.types.d.ts +2 -3
- package/PickersLayout/usePickerLayout.js +12 -31
- 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/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +13 -11
- package/TimePicker/TimePicker.js +2 -2
- package/TimePicker/TimePickerToolbar.d.ts +1 -2
- package/TimePicker/TimePickerToolbar.js +20 -18
- package/TimePicker/shared.d.ts +1 -1
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/useIsValidValue.d.ts +7 -0
- package/hooks/useIsValidValue.js +11 -0
- package/hooks/usePickerActionsContext.d.ts +3 -1
- package/hooks/usePickerActionsContext.js +0 -1
- package/hooks/usePickerContext.d.ts +2 -2
- package/hooks/usePickerContext.js +1 -1
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/PickerProvider.d.ts +11 -10
- package/internals/components/PickerProvider.js +8 -3
- 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 +1 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
- 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 +1 -3
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
- package/internals/hooks/useOpenState.js +3 -2
- package/internals/hooks/usePicker/usePicker.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.js +0 -6
- package/internals/hooks/usePicker/usePicker.types.d.ts +5 -6
- package/internals/hooks/usePicker/usePickerProvider.d.ts +5 -5
- package/internals/hooks/usePicker/usePickerProvider.js +4 -2
- package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
- package/internals/hooks/usePicker/usePickerValue.js +67 -184
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +48 -54
- package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
- package/internals/hooks/usePicker/usePickerViews.js +17 -11
- package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
- package/internals/hooks/useUtils.js +1 -1
- package/internals/index.d.ts +5 -3
- 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/toolbar.d.ts +1 -5
- 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 +7 -11
- package/modern/DateTimeField/useDateTimeField.js +13 -11
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
- package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
- package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
- 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 +6 -3
- package/modern/PickersLayout/PickersLayout.js +1 -5
- package/modern/PickersLayout/usePickerLayout.js +12 -31
- 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 +20 -18
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/useIsValidValue.js +11 -0
- package/modern/hooks/usePickerActionsContext.js +0 -1
- package/modern/hooks/usePickerContext.js +1 -1
- package/modern/index.js +3 -2
- package/modern/internals/components/PickerProvider.js +8 -3
- 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 +1 -3
- 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 +1 -3
- package/modern/internals/hooks/useOpenState.js +3 -2
- package/modern/internals/hooks/usePicker/usePicker.js +0 -6
- package/modern/internals/hooks/usePicker/usePickerProvider.js +4 -2
- package/modern/internals/hooks/usePicker/usePickerValue.js +67 -184
- package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
- 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 +7 -11
- package/node/DateTimeField/useDateTimeField.js +12 -10
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
- package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
- package/node/DesktopDatePicker/DesktopDatePicker.js +9 -3
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
- 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 +8 -5
- package/node/PickersLayout/PickersLayout.js +1 -5
- package/node/PickersLayout/usePickerLayout.js +16 -35
- 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 +20 -18
- package/node/hooks/index.js +8 -1
- package/node/hooks/useIsValidValue.js +18 -0
- package/node/hooks/usePickerContext.js +1 -1
- package/node/index.js +13 -1
- package/node/internals/components/PickerProvider.js +8 -3
- 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 +1 -3
- 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 +1 -3
- package/node/internals/hooks/useOpenState.js +4 -2
- package/node/internals/hooks/usePicker/usePicker.js +0 -7
- package/node/internals/hooks/usePicker/usePickerProvider.js +4 -2
- package/node/internals/hooks/usePicker/usePickerValue.js +67 -184
- package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
- package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
- package/node/internals/hooks/useUtils.js +1 -1
- package/node/internals/index.js +26 -18
- 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 +1 -1
- 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
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.default = void 0;
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
12
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var
|
|
13
|
+
var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
13
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
15
|
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
15
16
|
var _PickersActionBar = require("../PickersActionBar");
|
|
@@ -18,6 +19,7 @@ var _PickersShortcuts = require("../PickersShortcuts");
|
|
|
18
19
|
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
19
20
|
var _hooks = require("../hooks");
|
|
20
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["ownerState"];
|
|
21
23
|
function toolbarHasView(toolbarProps) {
|
|
22
24
|
return toolbarProps.view !== null;
|
|
23
25
|
}
|
|
@@ -41,24 +43,14 @@ const usePickerLayout = props => {
|
|
|
41
43
|
ownerState: pickerOwnerState
|
|
42
44
|
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
43
45
|
const {
|
|
44
|
-
variant,
|
|
45
|
-
orientation,
|
|
46
46
|
view
|
|
47
47
|
} = (0, _hooks.usePickerContext)();
|
|
48
48
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
49
49
|
const {
|
|
50
|
-
value,
|
|
51
|
-
onChange,
|
|
52
|
-
onSelectShortcut,
|
|
53
|
-
isValid,
|
|
54
50
|
children,
|
|
55
51
|
slots,
|
|
56
52
|
slotProps,
|
|
57
53
|
classes: classesProp
|
|
58
|
-
// TODO: Remove this "as" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.
|
|
59
|
-
// The true type should be
|
|
60
|
-
// - For pickers value: PickerValidDate | null
|
|
61
|
-
// - For range pickers value: [PickerValidDate | null, PickerValidDate | null]
|
|
62
54
|
} = props;
|
|
63
55
|
const ownerState = React.useMemo(() => (0, _extends2.default)({}, pickerOwnerState, {
|
|
64
56
|
layoutDirection: isRtl ? 'rtl' : 'ltr'
|
|
@@ -67,28 +59,23 @@ const usePickerLayout = props => {
|
|
|
67
59
|
|
|
68
60
|
// Action bar
|
|
69
61
|
const ActionBar = slots?.actionBar ?? _PickersActionBar.PickersActionBar;
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
62
|
+
const _useSlotProps = (0, _useSlotProps2.default)({
|
|
63
|
+
elementType: ActionBar,
|
|
64
|
+
externalSlotProps: slotProps?.actionBar,
|
|
65
|
+
additionalProps: {
|
|
66
|
+
actions: ['cancel', 'accept']
|
|
67
|
+
},
|
|
68
|
+
className: classes.actionBar,
|
|
69
|
+
ownerState
|
|
70
|
+
}),
|
|
71
|
+
actionBarProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded);
|
|
79
72
|
const actionBar = /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionBar, (0, _extends2.default)({}, actionBarProps));
|
|
80
73
|
|
|
81
74
|
// Toolbar
|
|
82
75
|
const Toolbar = slots?.toolbar;
|
|
83
|
-
const toolbarProps = (0,
|
|
76
|
+
const toolbarProps = (0, _useSlotProps2.default)({
|
|
84
77
|
elementType: Toolbar,
|
|
85
78
|
externalSlotProps: slotProps?.toolbar,
|
|
86
|
-
additionalProps: {
|
|
87
|
-
isLandscape: orientation === 'landscape',
|
|
88
|
-
// Will be removed in a follow up PR?
|
|
89
|
-
onChange,
|
|
90
|
-
value
|
|
91
|
-
},
|
|
92
79
|
className: classes.toolbar,
|
|
93
80
|
ownerState
|
|
94
81
|
});
|
|
@@ -105,15 +92,9 @@ const usePickerLayout = props => {
|
|
|
105
92
|
|
|
106
93
|
// Shortcuts
|
|
107
94
|
const Shortcuts = slots?.shortcuts ?? _PickersShortcuts.PickersShortcuts;
|
|
108
|
-
const shortcutsProps = (0,
|
|
95
|
+
const shortcutsProps = (0, _useSlotProps2.default)({
|
|
109
96
|
elementType: Shortcuts,
|
|
110
97
|
externalSlotProps: slotProps?.shortcuts,
|
|
111
|
-
additionalProps: {
|
|
112
|
-
isValid,
|
|
113
|
-
isLandscape: orientation === 'landscape',
|
|
114
|
-
// Will be removed in a follow up PR?
|
|
115
|
-
onChange: onSelectShortcut
|
|
116
|
-
},
|
|
117
98
|
className: classes.shortcuts,
|
|
118
99
|
ownerState
|
|
119
100
|
});
|
|
@@ -16,8 +16,9 @@ var _List = _interopRequireDefault(require("@mui/material/List"));
|
|
|
16
16
|
var _ListItem = _interopRequireDefault(require("@mui/material/ListItem"));
|
|
17
17
|
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
18
18
|
var _dimensions = require("../internals/constants/dimensions");
|
|
19
|
+
var _hooks = require("../hooks");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["items", "changeImportance"
|
|
21
|
+
const _excluded = ["items", "changeImportance"],
|
|
21
22
|
_excluded2 = ["getValue"];
|
|
22
23
|
const PickersShortcutsRoot = (0, _styles.styled)(_List.default, {
|
|
23
24
|
name: 'MuiPickersLayout',
|
|
@@ -37,11 +38,13 @@ const PickersShortcutsRoot = (0, _styles.styled)(_List.default, {
|
|
|
37
38
|
function PickersShortcuts(props) {
|
|
38
39
|
const {
|
|
39
40
|
items,
|
|
40
|
-
changeImportance = 'accept'
|
|
41
|
-
onChange,
|
|
42
|
-
isValid
|
|
41
|
+
changeImportance = 'accept'
|
|
43
42
|
} = props,
|
|
44
43
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
44
|
+
const {
|
|
45
|
+
setValue
|
|
46
|
+
} = (0, _hooks.usePickerActionsContext)();
|
|
47
|
+
const isValidValue = (0, _hooks.useIsValidValue)();
|
|
45
48
|
if (items == null || items.length === 0) {
|
|
46
49
|
return null;
|
|
47
50
|
}
|
|
@@ -51,14 +54,17 @@ function PickersShortcuts(props) {
|
|
|
51
54
|
} = _ref,
|
|
52
55
|
item = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
|
|
53
56
|
const newValue = getValue({
|
|
54
|
-
isValid
|
|
57
|
+
isValid: isValidValue
|
|
55
58
|
});
|
|
56
59
|
return (0, _extends2.default)({}, item, {
|
|
57
60
|
label: item.label,
|
|
58
61
|
onClick: () => {
|
|
59
|
-
|
|
62
|
+
setValue(newValue, {
|
|
63
|
+
changeImportance,
|
|
64
|
+
shortcut: item
|
|
65
|
+
});
|
|
60
66
|
},
|
|
61
|
-
disabled: !
|
|
67
|
+
disabled: !isValidValue(newValue)
|
|
62
68
|
});
|
|
63
69
|
});
|
|
64
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersShortcutsRoot, (0, _extends2.default)({
|
|
@@ -102,8 +108,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
|
|
|
102
108
|
* @default false
|
|
103
109
|
*/
|
|
104
110
|
disablePadding: _propTypes.default.bool,
|
|
105
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
106
|
-
isValid: _propTypes.default.func.isRequired,
|
|
107
111
|
/**
|
|
108
112
|
* Ordered array of shortcuts to display.
|
|
109
113
|
* If empty, does not display the shortcuts.
|
|
@@ -114,7 +118,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
|
|
|
114
118
|
id: _propTypes.default.string,
|
|
115
119
|
label: _propTypes.default.string.isRequired
|
|
116
120
|
})),
|
|
117
|
-
onChange: _propTypes.default.func.isRequired,
|
|
118
121
|
style: _propTypes.default.object,
|
|
119
122
|
/**
|
|
120
123
|
* The content of the subheader, normally `ListSubheader`.
|
|
@@ -221,6 +221,9 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
|
|
|
221
221
|
muiFormControl.onFocus?.(event);
|
|
222
222
|
onFocus?.(event);
|
|
223
223
|
};
|
|
224
|
+
const handleHiddenInputFocus = event => {
|
|
225
|
+
handleInputFocus(event);
|
|
226
|
+
};
|
|
224
227
|
const handleInputBlur = event => {
|
|
225
228
|
muiFormControl.onBlur?.(event);
|
|
226
229
|
onBlur?.(event);
|
|
@@ -296,6 +299,10 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
|
|
|
296
299
|
readOnly: readOnly,
|
|
297
300
|
required: muiFormControl.required,
|
|
298
301
|
disabled: muiFormControl.disabled
|
|
302
|
+
// Hidden input element cannot be focused, trigger the root focus instead
|
|
303
|
+
// This allows to maintain the ability to do `inputRef.current.focus()` to focus the field
|
|
304
|
+
,
|
|
305
|
+
onFocus: handleHiddenInputFocus
|
|
299
306
|
}, inputProps, {
|
|
300
307
|
ref: handleInputRef
|
|
301
308
|
}))]
|
|
@@ -132,7 +132,7 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
|
|
|
132
132
|
required: required,
|
|
133
133
|
ownerState: ownerState
|
|
134
134
|
}, other, {
|
|
135
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, (0, _extends2.default)({
|
|
135
|
+
children: [label != null && label !== '' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, (0, _extends2.default)({
|
|
136
136
|
htmlFor: id,
|
|
137
137
|
id: inputLabelId
|
|
138
138
|
}, InputLabelProps, {
|
|
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useTimeField = void 0;
|
|
8
|
-
var _valueManagers = require("../internals/utils/valueManagers");
|
|
9
8
|
var _useField = require("../internals/hooks/useField");
|
|
10
|
-
var _validation = require("../validation");
|
|
11
9
|
var _hooks = require("../hooks");
|
|
12
|
-
var
|
|
13
|
-
const useTimeField =
|
|
14
|
-
const
|
|
10
|
+
var _managers = require("../managers");
|
|
11
|
+
const useTimeField = props => {
|
|
12
|
+
const manager = (0, _managers.useTimeManager)(props);
|
|
15
13
|
const {
|
|
16
14
|
forwardedProps,
|
|
17
15
|
internalProps
|
|
18
16
|
} = (0, _hooks.useSplitFieldProps)(props, 'time');
|
|
17
|
+
const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
|
|
18
|
+
manager,
|
|
19
|
+
internalProps
|
|
20
|
+
});
|
|
19
21
|
return (0, _useField.useField)({
|
|
20
22
|
forwardedProps,
|
|
21
|
-
internalProps,
|
|
22
|
-
valueManager:
|
|
23
|
-
fieldValueManager:
|
|
24
|
-
validator:
|
|
25
|
-
valueType:
|
|
23
|
+
internalProps: internalPropsWithDefaults,
|
|
24
|
+
valueManager: manager.internal_valueManager,
|
|
25
|
+
fieldValueManager: manager.internal_fieldValueManager,
|
|
26
|
+
validator: manager.validator,
|
|
27
|
+
valueType: manager.valueType
|
|
26
28
|
});
|
|
27
29
|
};
|
|
28
30
|
exports.useTimeField = useTimeField;
|
|
@@ -76,8 +76,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
76
76
|
autoFocus: _propTypes.default.bool,
|
|
77
77
|
className: _propTypes.default.string,
|
|
78
78
|
/**
|
|
79
|
-
* If `true`, the
|
|
80
|
-
* @default
|
|
79
|
+
* If `true`, the Picker will close after submitting the full date.
|
|
80
|
+
* @default false
|
|
81
81
|
*/
|
|
82
82
|
closeOnSelect: _propTypes.default.bool,
|
|
83
83
|
/**
|
|
@@ -26,7 +26,7 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
26
26
|
var _hooks = require("../hooks");
|
|
27
27
|
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
const _excluded = ["ampm", "ampmInClock", "
|
|
29
|
+
const _excluded = ["ampm", "ampmInClock", "className", "classes"];
|
|
30
30
|
const useUtilityClasses = (classes, ownerState) => {
|
|
31
31
|
const {
|
|
32
32
|
pickerOrientation,
|
|
@@ -129,9 +129,6 @@ function TimePickerToolbar(inProps) {
|
|
|
129
129
|
const {
|
|
130
130
|
ampm,
|
|
131
131
|
ampmInClock,
|
|
132
|
-
value,
|
|
133
|
-
isLandscape,
|
|
134
|
-
onChange,
|
|
135
132
|
className,
|
|
136
133
|
classes: classesProp
|
|
137
134
|
} = props,
|
|
@@ -141,18 +138,27 @@ function TimePickerToolbar(inProps) {
|
|
|
141
138
|
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
142
139
|
const classes = useUtilityClasses(classesProp, ownerState);
|
|
143
140
|
const {
|
|
141
|
+
value,
|
|
142
|
+
setValue,
|
|
144
143
|
disabled,
|
|
145
144
|
readOnly,
|
|
146
145
|
view,
|
|
147
|
-
|
|
146
|
+
setView,
|
|
148
147
|
views
|
|
149
148
|
} = (0, _hooks.usePickerContext)();
|
|
150
149
|
const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
|
|
151
150
|
const {
|
|
152
151
|
meridiemMode,
|
|
153
152
|
handleMeridiemChange
|
|
154
|
-
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm,
|
|
155
|
-
|
|
153
|
+
} = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
|
|
154
|
+
changeImportance: 'set'
|
|
155
|
+
}));
|
|
156
|
+
const formatSection = format => {
|
|
157
|
+
if (!utils.isValid(value)) {
|
|
158
|
+
return '--';
|
|
159
|
+
}
|
|
160
|
+
return utils.format(value, format);
|
|
161
|
+
};
|
|
156
162
|
const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
|
|
157
163
|
tabIndex: -1,
|
|
158
164
|
value: ":",
|
|
@@ -163,7 +169,6 @@ function TimePickerToolbar(inProps) {
|
|
|
163
169
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarRoot, (0, _extends2.default)({
|
|
164
170
|
landscapeDirection: "row",
|
|
165
171
|
toolbarTitle: translations.timePickerToolbarTitle,
|
|
166
|
-
isLandscape: isLandscape,
|
|
167
172
|
ownerState: ownerState,
|
|
168
173
|
className: (0, _clsx.default)(classes.root, className)
|
|
169
174
|
}, other, {
|
|
@@ -173,20 +178,20 @@ function TimePickerToolbar(inProps) {
|
|
|
173
178
|
children: [(0, _utils.arrayIncludes)(views, 'hours') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
174
179
|
tabIndex: -1,
|
|
175
180
|
variant: "h3",
|
|
176
|
-
onClick: () =>
|
|
181
|
+
onClick: () => setView('hours'),
|
|
177
182
|
selected: view === 'hours',
|
|
178
|
-
value:
|
|
183
|
+
value: formatSection(ampm ? 'hours12h' : 'hours24h')
|
|
179
184
|
}), (0, _utils.arrayIncludes)(views, ['hours', 'minutes']) && separator, (0, _utils.arrayIncludes)(views, 'minutes') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
180
185
|
tabIndex: -1,
|
|
181
186
|
variant: "h3",
|
|
182
|
-
onClick: () =>
|
|
187
|
+
onClick: () => setView('minutes'),
|
|
183
188
|
selected: view === 'minutes',
|
|
184
|
-
value:
|
|
189
|
+
value: formatSection('minutes')
|
|
185
190
|
}), (0, _utils.arrayIncludes)(views, ['minutes', 'seconds']) && separator, (0, _utils.arrayIncludes)(views, 'seconds') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
186
191
|
variant: "h3",
|
|
187
|
-
onClick: () =>
|
|
192
|
+
onClick: () => setView('seconds'),
|
|
188
193
|
selected: view === 'seconds',
|
|
189
|
-
value:
|
|
194
|
+
value: formatSection('seconds')
|
|
190
195
|
})]
|
|
191
196
|
}), showAmPmControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarAmPmSelection, {
|
|
192
197
|
className: classes.ampmSelection,
|
|
@@ -228,8 +233,6 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
|
|
|
228
233
|
* @default `true` for Desktop, `false` for Mobile.
|
|
229
234
|
*/
|
|
230
235
|
hidden: _propTypes.default.bool,
|
|
231
|
-
isLandscape: _propTypes.default.bool.isRequired,
|
|
232
|
-
onChange: _propTypes.default.func.isRequired,
|
|
233
236
|
/**
|
|
234
237
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
235
238
|
*/
|
|
@@ -243,6 +246,5 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
|
|
|
243
246
|
* Toolbar value placeholder—it is displayed when the value is empty.
|
|
244
247
|
* @default "––"
|
|
245
248
|
*/
|
|
246
|
-
toolbarPlaceholder: _propTypes.default.node
|
|
247
|
-
value: _propTypes.default.object
|
|
249
|
+
toolbarPlaceholder: _propTypes.default.node
|
|
248
250
|
} : void 0;
|
package/node/hooks/index.js
CHANGED
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "useClearableField", {
|
|
|
9
9
|
return _useClearableField.useClearableField;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "useIsValidValue", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useIsValidValue.useIsValidValue;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "useParsedFormat", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -44,4 +50,5 @@ var _usePickerTranslations = require("./usePickerTranslations");
|
|
|
44
50
|
var _useSplitFieldProps = require("./useSplitFieldProps");
|
|
45
51
|
var _useParsedFormat = require("./useParsedFormat");
|
|
46
52
|
var _usePickerContext = require("./usePickerContext");
|
|
47
|
-
var _usePickerActionsContext = require("./usePickerActionsContext");
|
|
53
|
+
var _usePickerActionsContext = require("./usePickerActionsContext");
|
|
54
|
+
var _useIsValidValue = require("./useIsValidValue");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.IsValidValueContext = void 0;
|
|
9
|
+
exports.useIsValidValue = useIsValidValue;
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
const IsValidValueContext = exports.IsValidValueContext = /*#__PURE__*/React.createContext(() => true);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Returns a function to check if a value is valid according to the validation props passed to the parent picker.
|
|
15
|
+
*/
|
|
16
|
+
function useIsValidValue() {
|
|
17
|
+
return React.useContext(IsValidValueContext);
|
|
18
|
+
}
|
|
@@ -14,7 +14,7 @@ var _PickerProvider = require("../internals/components/PickerProvider");
|
|
|
14
14
|
const usePickerContext = () => {
|
|
15
15
|
const value = React.useContext(_PickerProvider.PickerContext);
|
|
16
16
|
if (value == null) {
|
|
17
|
-
throw new Error(
|
|
17
|
+
throw new Error('MUI X: The `usePickerContext` hook can only be called inside the context of a picker component');
|
|
18
18
|
}
|
|
19
19
|
return value;
|
|
20
20
|
};
|
package/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers v8.0.0-alpha.
|
|
2
|
+
* @mui/x-date-pickers v8.0.0-alpha.7
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -463,4 +463,16 @@ Object.keys(_validation).forEach(function (key) {
|
|
|
463
463
|
return _validation[key];
|
|
464
464
|
}
|
|
465
465
|
});
|
|
466
|
+
});
|
|
467
|
+
var _managers = require("./managers");
|
|
468
|
+
Object.keys(_managers).forEach(function (key) {
|
|
469
|
+
if (key === "default" || key === "__esModule") return;
|
|
470
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
471
|
+
if (key in exports && exports[key] === _managers[key]) return;
|
|
472
|
+
Object.defineProperty(exports, key, {
|
|
473
|
+
enumerable: true,
|
|
474
|
+
get: function () {
|
|
475
|
+
return _managers[key];
|
|
476
|
+
}
|
|
477
|
+
});
|
|
466
478
|
});
|
|
@@ -8,6 +8,7 @@ exports.PickerPrivateContext = exports.PickerContext = exports.PickerActionsCont
|
|
|
8
8
|
exports.PickerProvider = PickerProvider;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _LocalizationProvider = require("../../LocalizationProvider");
|
|
11
|
+
var _useIsValidValue = require("../../hooks/useIsValidValue");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
|
|
13
14
|
const PickerActionsContext = exports.PickerActionsContext = /*#__PURE__*/React.createContext(null);
|
|
@@ -35,6 +36,7 @@ function PickerProvider(props) {
|
|
|
35
36
|
contextValue,
|
|
36
37
|
actionsContextValue,
|
|
37
38
|
privateContextValue,
|
|
39
|
+
isValidContextValue,
|
|
38
40
|
localeText,
|
|
39
41
|
children
|
|
40
42
|
} = props;
|
|
@@ -44,9 +46,12 @@ function PickerProvider(props) {
|
|
|
44
46
|
value: actionsContextValue,
|
|
45
47
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
|
|
46
48
|
value: privateContextValue,
|
|
47
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
48
|
-
|
|
49
|
-
children:
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsValidValue.IsValidValueContext.Provider, {
|
|
50
|
+
value: isValidContextValue,
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
|
|
52
|
+
localeText: localeText,
|
|
53
|
+
children: children
|
|
54
|
+
})
|
|
50
55
|
})
|
|
51
56
|
})
|
|
52
57
|
})
|
|
@@ -17,7 +17,7 @@ var _createStyled = require("@mui/system/createStyled");
|
|
|
17
17
|
var _pickersToolbarClasses = require("./pickersToolbarClasses");
|
|
18
18
|
var _useToolbarOwnerState = require("../hooks/useToolbarOwnerState");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "
|
|
20
|
+
const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "classes", "landscapeDirection"];
|
|
21
21
|
const useUtilityClasses = classes => {
|
|
22
22
|
const slots = {
|
|
23
23
|
root: ['root'],
|
|
@@ -36,11 +36,12 @@ function usePreviousMonthDisabled(month, {
|
|
|
36
36
|
}
|
|
37
37
|
function useMeridiemMode(date, ampm, onChange, selectionState) {
|
|
38
38
|
const utils = (0, _useUtils.useUtils)();
|
|
39
|
-
const
|
|
39
|
+
const cleanDate = React.useMemo(() => !utils.isValid(date) ? null : date, [utils, date]);
|
|
40
|
+
const meridiemMode = (0, _timeUtils.getMeridiem)(cleanDate, utils);
|
|
40
41
|
const handleMeridiemChange = React.useCallback(mode => {
|
|
41
|
-
const timeWithMeridiem =
|
|
42
|
+
const timeWithMeridiem = cleanDate == null ? null : (0, _timeUtils.convertToMeridiem)(cleanDate, mode, Boolean(ampm), utils);
|
|
42
43
|
onChange(timeWithMeridiem, selectionState ?? 'partial');
|
|
43
|
-
}, [ampm,
|
|
44
|
+
}, [ampm, cleanDate, onChange, selectionState, utils]);
|
|
44
45
|
return {
|
|
45
46
|
meridiemMode,
|
|
46
47
|
handleMeridiemChange
|
|
@@ -60,7 +60,6 @@ const useDesktopPicker = _ref => {
|
|
|
60
60
|
const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
|
|
61
61
|
const {
|
|
62
62
|
hasUIView,
|
|
63
|
-
layoutProps,
|
|
64
63
|
providerProps,
|
|
65
64
|
renderCurrentView,
|
|
66
65
|
shouldRestoreFocus,
|
|
@@ -71,7 +70,6 @@ const useDesktopPicker = _ref => {
|
|
|
71
70
|
fieldRef,
|
|
72
71
|
localeText,
|
|
73
72
|
autoFocusView: true,
|
|
74
|
-
additionalViewProps: {},
|
|
75
73
|
variant: 'desktop'
|
|
76
74
|
}));
|
|
77
75
|
const InputAdornment = slots.inputAdornment ?? _InputAdornment.default;
|
|
@@ -187,7 +185,7 @@ const useDesktopPicker = _ref => {
|
|
|
187
185
|
slotProps: slotProps,
|
|
188
186
|
shouldRestoreFocus: shouldRestoreFocus,
|
|
189
187
|
reduceAnimations: reduceAnimations,
|
|
190
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({},
|
|
188
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
|
|
191
189
|
slots: slots,
|
|
192
190
|
slotProps: slotProps,
|
|
193
191
|
children: renderCurrentView()
|
|
@@ -120,7 +120,7 @@ const createSection = ({
|
|
|
120
120
|
const sectionConfig = (0, _useField.getDateSectionConfigFromFormatToken)(utils, token);
|
|
121
121
|
const hasLeadingZerosInFormat = (0, _useField.doesSectionFormatHaveLeadingZeros)(utils, sectionConfig.contentType, sectionConfig.type, token);
|
|
122
122
|
const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';
|
|
123
|
-
const isValidDate =
|
|
123
|
+
const isValidDate = utils.isValid(date);
|
|
124
124
|
let sectionValue = isValidDate ? utils.formatByString(date, token) : '';
|
|
125
125
|
let maxLength = null;
|
|
126
126
|
if (hasLeadingZerosInInput) {
|
|
@@ -21,5 +21,11 @@ Object.defineProperty(exports, "useField", {
|
|
|
21
21
|
return _useField.useField;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "useFieldInternalPropsWithDefaults", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _useField.useFieldInternalPropsWithDefaults;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
var _useField = require("./useField");
|
|
25
31
|
var _useField2 = require("./useField.utils");
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.useField = void 0;
|
|
8
|
+
exports.useFieldInternalPropsWithDefaults = exports.useField = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
@@ -18,6 +18,23 @@ var _useFieldState = require("./useFieldState");
|
|
|
18
18
|
var _useFieldCharacterEditing = require("./useFieldCharacterEditing");
|
|
19
19
|
var _useFieldV7TextField = require("./useFieldV7TextField");
|
|
20
20
|
var _useFieldV6TextField = require("./useFieldV6TextField");
|
|
21
|
+
/**
|
|
22
|
+
* Applies the default values to the field internal props.
|
|
23
|
+
* This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
|
|
24
|
+
* It is only here to allow the migration to be done in smaller steps.
|
|
25
|
+
*/
|
|
26
|
+
const useFieldInternalPropsWithDefaults = ({
|
|
27
|
+
manager,
|
|
28
|
+
internalProps
|
|
29
|
+
}) => {
|
|
30
|
+
const localizationContext = (0, _useUtils.useLocalizationContext)();
|
|
31
|
+
return React.useMemo(() => {
|
|
32
|
+
return manager.internal_applyDefaultsToFieldInternalProps((0, _extends2.default)({}, localizationContext, {
|
|
33
|
+
internalProps
|
|
34
|
+
}));
|
|
35
|
+
}, [manager, internalProps, localizationContext]);
|
|
36
|
+
};
|
|
37
|
+
exports.useFieldInternalPropsWithDefaults = useFieldInternalPropsWithDefaults;
|
|
21
38
|
const useField = params => {
|
|
22
39
|
const utils = (0, _useUtils.useUtils)();
|
|
23
40
|
const {
|
|
@@ -383,7 +383,7 @@ const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
|
|
|
383
383
|
currentDate
|
|
384
384
|
}) => ({
|
|
385
385
|
minimum: 1,
|
|
386
|
-
maximum:
|
|
386
|
+
maximum: utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,
|
|
387
387
|
longestMonth: longestMonth
|
|
388
388
|
}),
|
|
389
389
|
weekDay: ({
|
|
@@ -534,7 +534,7 @@ const mergeDateIntoReferenceDate = (utils, dateToTransferFrom, sections, referen
|
|
|
534
534
|
exports.mergeDateIntoReferenceDate = mergeDateIntoReferenceDate;
|
|
535
535
|
const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
|
|
536
536
|
|
|
537
|
-
// TODO
|
|
537
|
+
// TODO v9: Remove
|
|
538
538
|
exports.isAndroid = isAndroid;
|
|
539
539
|
const getSectionOrder = (sections, shouldApplyRTL) => {
|
|
540
540
|
const neighbors = {};
|
|
@@ -156,7 +156,7 @@ const useFieldState = params => {
|
|
|
156
156
|
const updateValueFromValueStr = valueStr => {
|
|
157
157
|
const parseDateStr = (dateStr, referenceDate) => {
|
|
158
158
|
const date = utils.parse(dateStr, format);
|
|
159
|
-
if (
|
|
159
|
+
if (!utils.isValid(date)) {
|
|
160
160
|
return null;
|
|
161
161
|
}
|
|
162
162
|
const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
|
|
@@ -207,7 +207,7 @@ const useFieldState = params => {
|
|
|
207
207
|
* Then we merge the value of the modified sections into the reference date.
|
|
208
208
|
* This makes sure that we don't lose some information of the initial date (like the time on a date field).
|
|
209
209
|
*/
|
|
210
|
-
if (
|
|
210
|
+
if (utils.isValid(newActiveDate)) {
|
|
211
211
|
const mergedDate = (0, _useField.mergeDateIntoReferenceDate)(utils, newActiveDate, newActiveDateSections, activeDateManager.referenceDate, true);
|
|
212
212
|
values = activeDateManager.getNewValuesFromNewActiveDate(mergedDate);
|
|
213
213
|
shouldPublish = true;
|
|
@@ -44,8 +44,8 @@ const addPositionPropertiesToSections = (sections, localizedDigits, isRtl) => {
|
|
|
44
44
|
exports.addPositionPropertiesToSections = addPositionPropertiesToSections;
|
|
45
45
|
const useFieldV6TextField = params => {
|
|
46
46
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
47
|
-
const focusTimeoutRef = React.useRef();
|
|
48
|
-
const selectionSyncTimeoutRef = React.useRef();
|
|
47
|
+
const focusTimeoutRef = React.useRef(undefined);
|
|
48
|
+
const selectionSyncTimeoutRef = React.useRef(undefined);
|
|
49
49
|
const {
|
|
50
50
|
forwardedProps: {
|
|
51
51
|
onFocus,
|
|
@@ -53,7 +53,6 @@ const useMobilePicker = _ref => {
|
|
|
53
53
|
const labelId = (0, _useId.default)();
|
|
54
54
|
const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
|
|
55
55
|
const {
|
|
56
|
-
layoutProps,
|
|
57
56
|
providerProps,
|
|
58
57
|
renderCurrentView,
|
|
59
58
|
fieldProps: pickerFieldProps,
|
|
@@ -63,7 +62,6 @@ const useMobilePicker = _ref => {
|
|
|
63
62
|
fieldRef,
|
|
64
63
|
localeText,
|
|
65
64
|
autoFocusView: true,
|
|
66
|
-
additionalViewProps: {},
|
|
67
65
|
variant: 'mobile'
|
|
68
66
|
}));
|
|
69
67
|
const Field = slots.field;
|
|
@@ -136,7 +134,7 @@ const useMobilePicker = _ref => {
|
|
|
136
134
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
|
|
137
135
|
slots: slots,
|
|
138
136
|
slotProps: slotProps,
|
|
139
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({},
|
|
137
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
|
|
140
138
|
slots: slots,
|
|
141
139
|
slotProps: slotProps,
|
|
142
140
|
children: renderCurrentView()
|