@mui/x-date-pickers 8.5.3 → 8.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +210 -0
- package/DateCalendar/DateCalendar.js +16 -16
- package/DateCalendar/DayCalendar.js +48 -48
- package/DateCalendar/useCalendarState.js +25 -25
- package/DateCalendar/useIsDateDisabled.js +2 -2
- package/DatePicker/DatePickerToolbar.js +7 -9
- package/DateTimeField/DateTimeField.js +1 -1
- package/DateTimePicker/DateTimePicker.js +1 -1
- package/DateTimePicker/DateTimePickerToolbar.js +12 -13
- package/DateTimePicker/shared.js +3 -3
- package/DesktopDatePicker/DesktopDatePicker.js +3 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -4
- package/DesktopTimePicker/DesktopTimePicker.js +4 -4
- package/DigitalClock/DigitalClock.d.ts +1 -1
- package/DigitalClock/DigitalClock.js +16 -16
- package/LocalizationProvider/LocalizationProvider.d.ts +9 -3
- package/LocalizationProvider/LocalizationProvider.js +28 -19
- package/MobileDatePicker/MobileDatePicker.js +3 -3
- package/MobileDateTimePicker/MobileDateTimePicker.js +4 -4
- package/MobileTimePicker/MobileTimePicker.js +4 -4
- package/MonthCalendar/MonthCalendar.js +19 -18
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +32 -32
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +7 -7
- package/PickerDay2/PickerDay2.js +3 -3
- package/PickersActionBar/PickersActionBar.d.ts +2 -2
- package/PickersActionBar/PickersActionBar.js +2 -2
- package/PickersCalendarHeader/PickersCalendarHeader.js +7 -8
- package/PickersDay/PickersDay.js +3 -3
- package/PickersDay/usePickerDayOwnerState.js +5 -5
- package/PickersTextField/PickersInputBase/PickersInputBase.js +1 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
- package/StaticTimePicker/StaticTimePicker.js +1 -1
- package/TimeClock/Clock.js +8 -9
- package/TimeClock/ClockNumbers.d.ts +3 -3
- package/TimeClock/ClockNumbers.js +5 -5
- package/TimeClock/TimeClock.js +29 -29
- package/TimeField/TimeField.js +1 -1
- package/TimePicker/TimePicker.js +1 -1
- package/TimePicker/TimePickerToolbar.js +7 -9
- package/TimePicker/shared.js +3 -3
- package/YearCalendar/YearCalendar.js +19 -18
- package/esm/DateCalendar/DateCalendar.js +16 -16
- package/esm/DateCalendar/DayCalendar.js +48 -48
- package/esm/DateCalendar/useCalendarState.js +25 -25
- package/esm/DateCalendar/useIsDateDisabled.js +2 -2
- package/esm/DatePicker/DatePickerToolbar.js +6 -8
- package/esm/DateTimeField/DateTimeField.js +1 -1
- package/esm/DateTimePicker/DateTimePicker.js +1 -1
- package/esm/DateTimePicker/DateTimePickerToolbar.js +11 -12
- package/esm/DateTimePicker/shared.js +3 -3
- package/esm/DesktopDatePicker/DesktopDatePicker.js +3 -3
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -4
- package/esm/DesktopTimePicker/DesktopTimePicker.js +4 -4
- package/esm/DigitalClock/DigitalClock.d.ts +1 -1
- package/esm/DigitalClock/DigitalClock.js +16 -16
- package/esm/LocalizationProvider/LocalizationProvider.d.ts +9 -3
- package/esm/LocalizationProvider/LocalizationProvider.js +27 -18
- package/esm/MobileDatePicker/MobileDatePicker.js +3 -3
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +4 -4
- package/esm/MobileTimePicker/MobileTimePicker.js +4 -4
- package/esm/MonthCalendar/MonthCalendar.js +20 -19
- package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.js +32 -32
- package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +4 -4
- package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +7 -7
- package/esm/PickerDay2/PickerDay2.js +3 -3
- package/esm/PickersActionBar/PickersActionBar.d.ts +2 -2
- package/esm/PickersActionBar/PickersActionBar.js +2 -2
- package/esm/PickersCalendarHeader/PickersCalendarHeader.js +6 -7
- package/esm/PickersDay/PickersDay.js +3 -3
- package/esm/PickersDay/usePickerDayOwnerState.js +5 -5
- package/esm/PickersTextField/PickersInputBase/PickersInputBase.js +2 -0
- package/esm/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
- package/esm/StaticTimePicker/StaticTimePicker.js +1 -1
- package/esm/TimeClock/Clock.js +7 -8
- package/esm/TimeClock/ClockNumbers.d.ts +3 -3
- package/esm/TimeClock/ClockNumbers.js +5 -5
- package/esm/TimeClock/TimeClock.js +29 -29
- package/esm/TimeField/TimeField.js +1 -1
- package/esm/TimePicker/TimePicker.js +1 -1
- package/esm/TimePicker/TimePickerToolbar.js +6 -8
- package/esm/TimePicker/shared.js +3 -3
- package/esm/YearCalendar/YearCalendar.js +20 -19
- package/esm/hooks/index.d.ts +2 -1
- package/esm/hooks/index.js +2 -1
- package/esm/hooks/useParsedFormat.js +6 -6
- package/esm/hooks/usePickerAdapter.d.ts +7 -0
- package/esm/hooks/usePickerAdapter.js +20 -0
- package/esm/hooks/usePickerTranslations.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerFieldUI.js +2 -0
- package/esm/internals/components/PickerPopper/PickerPopper.js +2 -0
- package/esm/internals/components/PickerProvider.js +2 -0
- package/esm/internals/components/pickersToolbarClasses.d.ts +1 -1
- package/esm/internals/demo/DemoContainer.d.ts +2 -3
- package/esm/internals/demo/DemoContainer.js +3 -2
- package/esm/internals/hooks/date-helpers-hooks.js +16 -16
- package/esm/internals/hooks/useClockReferenceDate.d.ts +2 -2
- package/esm/internals/hooks/useClockReferenceDate.js +5 -5
- package/esm/internals/hooks/useControlledValue.d.ts +2 -2
- package/esm/internals/hooks/useControlledValue.js +8 -7
- package/esm/internals/hooks/useField/buildSectionsFromFormat.d.ts +1 -1
- package/esm/internals/hooks/useField/buildSectionsFromFormat.js +17 -17
- package/esm/internals/hooks/useField/useField.types.d.ts +4 -4
- package/esm/internals/hooks/useField/useField.utils.d.ts +10 -10
- package/esm/internals/hooks/useField/useField.utils.js +69 -69
- package/esm/internals/hooks/useField/useFieldCharacterEditing.js +11 -11
- package/esm/internals/hooks/useField/useFieldRootHandleKeyDown.js +7 -7
- package/esm/internals/hooks/useField/useFieldSectionContentProps.js +15 -16
- package/esm/internals/hooks/useField/useFieldState.js +24 -24
- package/esm/internals/hooks/useField/useFieldV6TextField.js +2 -0
- package/esm/internals/hooks/useField/useFieldV7TextField.js +2 -0
- package/esm/internals/hooks/useNullableFieldPrivateContext.js +2 -0
- package/esm/internals/hooks/usePicker/hooks/useOrientation.js +2 -0
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +8 -6
- package/esm/internals/hooks/usePicker/usePicker.js +7 -6
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +3 -3
- package/esm/internals/hooks/useUtils.d.ts +1 -8
- package/esm/internals/hooks/useUtils.js +3 -19
- package/esm/internals/hooks/useViews.js +2 -0
- package/esm/internals/index.d.ts +2 -1
- package/esm/internals/index.js +2 -1
- package/esm/internals/models/manager.d.ts +17 -17
- package/esm/internals/models/props/time.d.ts +1 -1
- package/esm/internals/utils/date-time-utils.d.ts +1 -1
- package/esm/internals/utils/date-time-utils.js +5 -5
- package/esm/internals/utils/date-utils.d.ts +11 -11
- package/esm/internals/utils/date-utils.js +34 -34
- package/esm/internals/utils/getDefaultReferenceDate.d.ts +2 -2
- package/esm/internals/utils/getDefaultReferenceDate.js +16 -16
- package/esm/internals/utils/time-utils.d.ts +5 -5
- package/esm/internals/utils/time-utils.js +12 -12
- package/esm/internals/utils/valueManagers.js +4 -4
- package/esm/managers/useDateManager.js +12 -12
- package/esm/managers/useDateTimeManager.js +13 -13
- package/esm/managers/useTimeManager.js +9 -10
- package/esm/validation/useValidation.d.ts +2 -3
- package/esm/validation/useValidation.js +2 -2
- package/esm/validation/validateDate.js +6 -6
- package/esm/validation/validateTime.js +6 -6
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +8 -1
- package/hooks/useParsedFormat.js +6 -6
- package/hooks/usePickerAdapter.d.ts +7 -0
- package/hooks/usePickerAdapter.js +29 -0
- package/hooks/usePickerTranslations.js +2 -2
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.js +1 -0
- package/internals/components/PickerPopper/PickerPopper.js +1 -0
- package/internals/components/PickerProvider.js +1 -0
- package/internals/components/pickersToolbarClasses.d.ts +1 -1
- package/internals/demo/DemoContainer.d.ts +2 -3
- package/internals/demo/DemoContainer.js +3 -2
- package/internals/hooks/date-helpers-hooks.js +16 -16
- package/internals/hooks/useClockReferenceDate.d.ts +2 -2
- package/internals/hooks/useClockReferenceDate.js +5 -5
- package/internals/hooks/useControlledValue.d.ts +2 -2
- package/internals/hooks/useControlledValue.js +7 -7
- package/internals/hooks/useField/buildSectionsFromFormat.d.ts +1 -1
- package/internals/hooks/useField/buildSectionsFromFormat.js +17 -17
- package/internals/hooks/useField/useField.types.d.ts +4 -4
- package/internals/hooks/useField/useField.utils.d.ts +10 -10
- package/internals/hooks/useField/useField.utils.js +69 -69
- package/internals/hooks/useField/useFieldCharacterEditing.js +11 -11
- package/internals/hooks/useField/useFieldRootHandleKeyDown.js +7 -7
- package/internals/hooks/useField/useFieldSectionContentProps.js +14 -15
- package/internals/hooks/useField/useFieldState.js +24 -25
- package/internals/hooks/useField/useFieldV6TextField.js +1 -0
- package/internals/hooks/useField/useFieldV7TextField.js +1 -0
- package/internals/hooks/useNullableFieldPrivateContext.js +1 -0
- package/internals/hooks/usePicker/hooks/useOrientation.js +1 -0
- package/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +7 -6
- package/internals/hooks/usePicker/usePicker.js +6 -6
- package/internals/hooks/usePicker/usePicker.types.d.ts +3 -3
- package/internals/hooks/useUtils.d.ts +1 -8
- package/internals/hooks/useUtils.js +5 -24
- package/internals/hooks/useViews.js +1 -0
- package/internals/index.d.ts +2 -1
- package/internals/index.js +2 -7
- package/internals/models/manager.d.ts +17 -17
- package/internals/models/props/time.d.ts +1 -1
- package/internals/utils/date-time-utils.d.ts +1 -1
- package/internals/utils/date-time-utils.js +5 -5
- package/internals/utils/date-utils.d.ts +11 -11
- package/internals/utils/date-utils.js +34 -34
- package/internals/utils/getDefaultReferenceDate.d.ts +2 -2
- package/internals/utils/getDefaultReferenceDate.js +16 -16
- package/internals/utils/time-utils.d.ts +5 -5
- package/internals/utils/time-utils.js +12 -12
- package/internals/utils/valueManagers.js +4 -4
- package/managers/useDateManager.js +12 -12
- package/managers/useDateTimeManager.js +13 -13
- package/managers/useTimeManager.js +10 -11
- package/package.json +2 -2
- package/validation/useValidation.d.ts +2 -3
- package/validation/useValidation.js +2 -2
- package/validation/validateDate.js +6 -6
- package/validation/validateTime.js +6 -6
|
@@ -6,7 +6,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.MuiPickersAdapterContext = exports.LocalizationProvider = void 0;
|
|
9
|
+
exports.PickerAdapterContext = exports.MuiPickersAdapterContext = exports.LocalizationProvider = void 0;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -14,8 +14,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
const _excluded = ["localeText"];
|
|
17
|
-
const
|
|
18
|
-
|
|
17
|
+
const PickerAdapterContext = exports.PickerAdapterContext = /*#__PURE__*/React.createContext(null);
|
|
18
|
+
|
|
19
|
+
// TODO v9: Remove this public export
|
|
20
|
+
/**
|
|
21
|
+
* The context that provides the date adapter and default dates to the pickers.
|
|
22
|
+
* @deprecated Use `usePickersAdapter` hook if you need access to the adapter instead.
|
|
23
|
+
*/
|
|
24
|
+
if (process.env.NODE_ENV !== "production") PickerAdapterContext.displayName = "PickerAdapterContext";
|
|
25
|
+
const MuiPickersAdapterContext = exports.MuiPickersAdapterContext = PickerAdapterContext;
|
|
19
26
|
/**
|
|
20
27
|
* Demos:
|
|
21
28
|
*
|
|
@@ -34,10 +41,11 @@ const LocalizationProvider = exports.LocalizationProvider = function Localizatio
|
|
|
34
41
|
} = inProps,
|
|
35
42
|
otherInProps = (0, _objectWithoutPropertiesLoose2.default)(inProps, _excluded);
|
|
36
43
|
const {
|
|
37
|
-
|
|
44
|
+
adapter: parentAdapter,
|
|
38
45
|
localeText: parentLocaleText
|
|
39
|
-
} = React.useContext(
|
|
46
|
+
} = React.useContext(PickerAdapterContext) ?? {
|
|
40
47
|
utils: undefined,
|
|
48
|
+
adapter: undefined,
|
|
41
49
|
localeText: undefined
|
|
42
50
|
};
|
|
43
51
|
const props = (0, _styles.useThemeProps)({
|
|
@@ -55,40 +63,41 @@ const LocalizationProvider = exports.LocalizationProvider = function Localizatio
|
|
|
55
63
|
localeText: themeLocaleText
|
|
56
64
|
} = props;
|
|
57
65
|
const localeText = React.useMemo(() => (0, _extends2.default)({}, themeLocaleText, parentLocaleText, inLocaleText), [themeLocaleText, parentLocaleText, inLocaleText]);
|
|
58
|
-
const
|
|
66
|
+
const adapter = React.useMemo(() => {
|
|
59
67
|
if (!DateAdapter) {
|
|
60
|
-
if (
|
|
61
|
-
return
|
|
68
|
+
if (parentAdapter) {
|
|
69
|
+
return parentAdapter;
|
|
62
70
|
}
|
|
63
71
|
return null;
|
|
64
72
|
}
|
|
65
|
-
const
|
|
73
|
+
const dateAdapter = new DateAdapter({
|
|
66
74
|
locale: adapterLocale,
|
|
67
75
|
formats: dateFormats,
|
|
68
76
|
instance: dateLibInstance
|
|
69
77
|
});
|
|
70
|
-
if (!
|
|
78
|
+
if (!dateAdapter.isMUIAdapter) {
|
|
71
79
|
throw new Error(['MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`', "For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`", 'More information on the installation documentation: https://mui.com/x/react-date-pickers/quickstart/#installation'].join(`\n`));
|
|
72
80
|
}
|
|
73
|
-
return
|
|
74
|
-
}, [DateAdapter, adapterLocale, dateFormats, dateLibInstance,
|
|
81
|
+
return dateAdapter;
|
|
82
|
+
}, [DateAdapter, adapterLocale, dateFormats, dateLibInstance, parentAdapter]);
|
|
75
83
|
const defaultDates = React.useMemo(() => {
|
|
76
|
-
if (!
|
|
84
|
+
if (!adapter) {
|
|
77
85
|
return null;
|
|
78
86
|
}
|
|
79
87
|
return {
|
|
80
|
-
minDate:
|
|
81
|
-
maxDate:
|
|
88
|
+
minDate: adapter.date('1900-01-01T00:00:00.000'),
|
|
89
|
+
maxDate: adapter.date('2099-12-31T00:00:00.000')
|
|
82
90
|
};
|
|
83
|
-
}, [
|
|
91
|
+
}, [adapter]);
|
|
84
92
|
const contextValue = React.useMemo(() => {
|
|
85
93
|
return {
|
|
86
|
-
utils,
|
|
94
|
+
utils: adapter,
|
|
95
|
+
adapter,
|
|
87
96
|
defaultDates,
|
|
88
97
|
localeText
|
|
89
98
|
};
|
|
90
|
-
}, [defaultDates,
|
|
91
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
99
|
+
}, [defaultDates, adapter, localeText]);
|
|
100
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerAdapterContext.Provider, {
|
|
92
101
|
value: contextValue,
|
|
93
102
|
children: children
|
|
94
103
|
});
|
|
@@ -14,7 +14,7 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
|
|
|
14
14
|
var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
15
15
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
16
16
|
var _shared = require("../DatePicker/shared");
|
|
17
|
-
var
|
|
17
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
18
18
|
var _validation = require("../validation");
|
|
19
19
|
var _DateField = require("../DateField");
|
|
20
20
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
@@ -31,7 +31,7 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
31
31
|
* - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
|
|
32
32
|
*/
|
|
33
33
|
const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
|
|
34
|
-
const
|
|
34
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
35
35
|
|
|
36
36
|
// Props with the default values common to all date pickers
|
|
37
37
|
const defaultizedProps = (0, _shared.useDatePickerDefaultizedProps)(inProps, 'MuiMobileDatePicker');
|
|
@@ -44,7 +44,7 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
|
|
|
44
44
|
// Props with the default values specific to the mobile variant
|
|
45
45
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
46
46
|
viewRenderers,
|
|
47
|
-
format: (0, _dateUtils.resolveDateFormat)(
|
|
47
|
+
format: (0, _dateUtils.resolveDateFormat)(adapter, defaultizedProps, false),
|
|
48
48
|
slots: (0, _extends2.default)({
|
|
49
49
|
field: _DateField.DateField
|
|
50
50
|
}, defaultizedProps.slots),
|
|
@@ -15,7 +15,7 @@ var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _DateTimeField = require("../DateTimeField");
|
|
17
17
|
var _shared = require("../DateTimePicker/shared");
|
|
18
|
-
var
|
|
18
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
19
19
|
var _validation = require("../validation");
|
|
20
20
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
21
21
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
@@ -43,7 +43,7 @@ const STEPS = [{
|
|
|
43
43
|
* - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
|
|
44
44
|
*/
|
|
45
45
|
const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
|
|
46
|
-
const
|
|
46
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
47
47
|
|
|
48
48
|
// Props with the default values common to all date time pickers
|
|
49
49
|
const defaultizedProps = (0, _shared.useDateTimePickerDefaultizedProps)(inProps, 'MuiMobileDateTimePicker');
|
|
@@ -65,7 +65,7 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
|
|
|
65
65
|
// Props with the default values specific to the mobile variant
|
|
66
66
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
67
67
|
viewRenderers,
|
|
68
|
-
format: (0, _dateTimeUtils.resolveDateTimeFormat)(
|
|
68
|
+
format: (0, _dateTimeUtils.resolveDateTimeFormat)(adapter, defaultizedProps),
|
|
69
69
|
views,
|
|
70
70
|
ampmInClock,
|
|
71
71
|
slots: (0, _extends2.default)({
|
|
@@ -125,7 +125,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
125
125
|
// ----------------------------------------------------------------------
|
|
126
126
|
/**
|
|
127
127
|
* 12h/24h view for hour selection clock.
|
|
128
|
-
* @default
|
|
128
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
129
129
|
*/
|
|
130
130
|
ampm: _propTypes.default.bool,
|
|
131
131
|
/**
|
|
@@ -15,7 +15,7 @@ var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _TimeField = require("../TimeField");
|
|
17
17
|
var _shared = require("../TimePicker/shared");
|
|
18
|
-
var
|
|
18
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
19
19
|
var _validation = require("../validation");
|
|
20
20
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
21
21
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
@@ -31,7 +31,7 @@ var _timeUtils = require("../internals/utils/time-utils");
|
|
|
31
31
|
* - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
|
|
32
32
|
*/
|
|
33
33
|
const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
|
|
34
|
-
const
|
|
34
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
35
35
|
|
|
36
36
|
// Props with the default values common to all time pickers
|
|
37
37
|
const defaultizedProps = (0, _shared.useTimePickerDefaultizedProps)(inProps, 'MuiMobileTimePicker');
|
|
@@ -46,7 +46,7 @@ const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRe
|
|
|
46
46
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
47
47
|
ampmInClock,
|
|
48
48
|
viewRenderers,
|
|
49
|
-
format: (0, _timeUtils.resolveTimeFormat)(
|
|
49
|
+
format: (0, _timeUtils.resolveTimeFormat)(adapter, defaultizedProps),
|
|
50
50
|
slots: (0, _extends2.default)({
|
|
51
51
|
field: _TimeField.TimeField
|
|
52
52
|
}, defaultizedProps.slots),
|
|
@@ -78,7 +78,7 @@ MobileTimePicker.propTypes = {
|
|
|
78
78
|
// ----------------------------------------------------------------------
|
|
79
79
|
/**
|
|
80
80
|
* 12h/24h view for hour selection clock.
|
|
81
|
-
* @default
|
|
81
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
82
82
|
*/
|
|
83
83
|
ampm: _propTypes.default.bool,
|
|
84
84
|
/**
|
|
@@ -29,6 +29,7 @@ var _useControlledValue = require("../internals/hooks/useControlledValue");
|
|
|
29
29
|
var _dimensions = require("../internals/constants/dimensions");
|
|
30
30
|
var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
|
|
31
31
|
var _useDateManager = require("../managers/useDateManager");
|
|
32
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
32
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
34
|
const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
34
35
|
const useUtilityClasses = classes => {
|
|
@@ -127,13 +128,13 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
|
|
|
127
128
|
});
|
|
128
129
|
const now = (0, _useUtils.useNow)(timezone);
|
|
129
130
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
130
|
-
const
|
|
131
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
131
132
|
const {
|
|
132
133
|
ownerState
|
|
133
134
|
} = (0, _usePickerPrivateContext.usePickerPrivateContext)();
|
|
134
135
|
const referenceDate = React.useMemo(() => _valueManagers.singleItemValueManager.getInitialReferenceValue({
|
|
135
136
|
value,
|
|
136
|
-
|
|
137
|
+
adapter,
|
|
137
138
|
props,
|
|
138
139
|
timezone,
|
|
139
140
|
referenceDate: referenceDateProp,
|
|
@@ -141,14 +142,14 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
|
|
|
141
142
|
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
142
143
|
);
|
|
143
144
|
const classes = useUtilityClasses(classesProp);
|
|
144
|
-
const todayMonth = React.useMemo(() =>
|
|
145
|
+
const todayMonth = React.useMemo(() => adapter.getMonth(now), [adapter, now]);
|
|
145
146
|
const selectedMonth = React.useMemo(() => {
|
|
146
147
|
if (value != null) {
|
|
147
|
-
return
|
|
148
|
+
return adapter.getMonth(value);
|
|
148
149
|
}
|
|
149
150
|
return null;
|
|
150
|
-
}, [value,
|
|
151
|
-
const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth ||
|
|
151
|
+
}, [value, adapter]);
|
|
152
|
+
const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth || adapter.getMonth(referenceDate));
|
|
152
153
|
const [internalHasFocus, setInternalHasFocus] = (0, _useControlled.default)({
|
|
153
154
|
name: 'MonthCalendar',
|
|
154
155
|
state: 'hasFocus',
|
|
@@ -162,29 +163,29 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
|
|
|
162
163
|
}
|
|
163
164
|
});
|
|
164
165
|
const isMonthDisabled = React.useCallback(dateToValidate => {
|
|
165
|
-
const firstEnabledMonth =
|
|
166
|
-
const lastEnabledMonth =
|
|
167
|
-
const monthToValidate =
|
|
168
|
-
if (
|
|
166
|
+
const firstEnabledMonth = adapter.startOfMonth(disablePast && adapter.isAfter(now, minDate) ? now : minDate);
|
|
167
|
+
const lastEnabledMonth = adapter.startOfMonth(disableFuture && adapter.isBefore(now, maxDate) ? now : maxDate);
|
|
168
|
+
const monthToValidate = adapter.startOfMonth(dateToValidate);
|
|
169
|
+
if (adapter.isBefore(monthToValidate, firstEnabledMonth)) {
|
|
169
170
|
return true;
|
|
170
171
|
}
|
|
171
|
-
if (
|
|
172
|
+
if (adapter.isAfter(monthToValidate, lastEnabledMonth)) {
|
|
172
173
|
return true;
|
|
173
174
|
}
|
|
174
175
|
if (!shouldDisableMonth) {
|
|
175
176
|
return false;
|
|
176
177
|
}
|
|
177
178
|
return shouldDisableMonth(monthToValidate);
|
|
178
|
-
}, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth,
|
|
179
|
+
}, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, adapter]);
|
|
179
180
|
const handleMonthSelection = (0, _useEventCallback.default)((event, month) => {
|
|
180
181
|
if (readOnly) {
|
|
181
182
|
return;
|
|
182
183
|
}
|
|
183
|
-
const newDate =
|
|
184
|
+
const newDate = adapter.setMonth(value ?? referenceDate, month);
|
|
184
185
|
handleValueChange(newDate);
|
|
185
186
|
});
|
|
186
187
|
const focusMonth = (0, _useEventCallback.default)(month => {
|
|
187
|
-
if (!isMonthDisabled(
|
|
188
|
+
if (!isMonthDisabled(adapter.setMonth(value ?? referenceDate, month))) {
|
|
188
189
|
setFocusedMonth(month);
|
|
189
190
|
changeHasFocus(true);
|
|
190
191
|
if (onMonthFocus) {
|
|
@@ -235,10 +236,10 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
|
|
|
235
236
|
"aria-labelledby": gridLabelId,
|
|
236
237
|
monthsPerRow: monthsPerRow
|
|
237
238
|
}, other, {
|
|
238
|
-
children: (0, _dateUtils.getMonthsInYear)(
|
|
239
|
-
const monthNumber =
|
|
240
|
-
const monthText =
|
|
241
|
-
const monthLabel =
|
|
239
|
+
children: (0, _dateUtils.getMonthsInYear)(adapter, value ?? referenceDate).map(month => {
|
|
240
|
+
const monthNumber = adapter.getMonth(month);
|
|
241
|
+
const monthText = adapter.format(month, 'monthShort');
|
|
242
|
+
const monthLabel = adapter.format(month, 'month');
|
|
242
243
|
const isSelected = monthNumber === selectedMonth;
|
|
243
244
|
const isDisabled = disabled || isMonthDisabled(month);
|
|
244
245
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MonthCalendarButton.MonthCalendarButton, {
|
|
@@ -16,7 +16,7 @@ var _RtlProvider = require("@mui/system/RtlProvider");
|
|
|
16
16
|
var _styles = require("@mui/material/styles");
|
|
17
17
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
18
18
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
19
|
-
var
|
|
19
|
+
var _hooks = require("../hooks");
|
|
20
20
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
21
21
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
22
22
|
var _useViews = require("../internals/hooks/useViews");
|
|
@@ -59,14 +59,14 @@ const MultiSectionDigitalClockRoot = (0, _styles.styled)(_PickerViewRoot.PickerV
|
|
|
59
59
|
* - [MultiSectionDigitalClock API](https://mui.com/x/api/date-pickers/multi-section-digital-clock/)
|
|
60
60
|
*/
|
|
61
61
|
const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function MultiSectionDigitalClock(inProps, ref) {
|
|
62
|
-
const
|
|
62
|
+
const adapter = (0, _hooks.usePickerAdapter)();
|
|
63
63
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
64
64
|
const props = (0, _styles.useThemeProps)({
|
|
65
65
|
props: inProps,
|
|
66
66
|
name: 'MuiMultiSectionDigitalClock'
|
|
67
67
|
});
|
|
68
68
|
const {
|
|
69
|
-
ampm =
|
|
69
|
+
ampm = adapter.is12HourCycleInCurrentLocale(),
|
|
70
70
|
timeSteps: inTimeSteps,
|
|
71
71
|
autoFocus,
|
|
72
72
|
slots,
|
|
@@ -109,7 +109,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
109
109
|
onChange,
|
|
110
110
|
valueManager: _valueManagers.singleItemValueManager
|
|
111
111
|
});
|
|
112
|
-
const translations = (0,
|
|
112
|
+
const translations = (0, _hooks.usePickerTranslations)();
|
|
113
113
|
const now = (0, _useUtils.useNow)(timezone);
|
|
114
114
|
const timeSteps = React.useMemo(() => (0, _extends2.default)({
|
|
115
115
|
hours: 1,
|
|
@@ -119,7 +119,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
119
119
|
const valueOrReferenceDate = (0, _useClockReferenceDate.useClockReferenceDate)({
|
|
120
120
|
value,
|
|
121
121
|
referenceDate: referenceDateProp,
|
|
122
|
-
|
|
122
|
+
adapter,
|
|
123
123
|
props,
|
|
124
124
|
timezone
|
|
125
125
|
});
|
|
@@ -151,7 +151,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
151
151
|
handleMeridiemChange
|
|
152
152
|
} = (0, _dateHelpersHooks.useMeridiemMode)(valueOrReferenceDate, ampm, handleMeridiemValueChange, 'finish');
|
|
153
153
|
const isTimeDisabled = React.useCallback((rawValue, viewType) => {
|
|
154
|
-
const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation,
|
|
154
|
+
const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation, adapter);
|
|
155
155
|
const shouldCheckPastEnd = viewType === 'hours' || viewType === 'minutes' && views.includes('seconds');
|
|
156
156
|
const containsValidTime = ({
|
|
157
157
|
start,
|
|
@@ -178,11 +178,11 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
178
178
|
if (shouldDisableTime) {
|
|
179
179
|
switch (viewType) {
|
|
180
180
|
case 'hours':
|
|
181
|
-
return !shouldDisableTime(
|
|
181
|
+
return !shouldDisableTime(adapter.setHours(valueOrReferenceDate, timeValue), 'hours');
|
|
182
182
|
case 'minutes':
|
|
183
|
-
return !shouldDisableTime(
|
|
183
|
+
return !shouldDisableTime(adapter.setMinutes(valueOrReferenceDate, timeValue), 'minutes');
|
|
184
184
|
case 'seconds':
|
|
185
|
-
return !shouldDisableTime(
|
|
185
|
+
return !shouldDisableTime(adapter.setSeconds(valueOrReferenceDate, timeValue), 'seconds');
|
|
186
186
|
default:
|
|
187
187
|
return false;
|
|
188
188
|
}
|
|
@@ -193,12 +193,12 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
193
193
|
case 'hours':
|
|
194
194
|
{
|
|
195
195
|
const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(rawValue, meridiemMode, ampm);
|
|
196
|
-
const dateWithNewHours =
|
|
197
|
-
if (
|
|
196
|
+
const dateWithNewHours = adapter.setHours(valueOrReferenceDate, valueWithMeridiem);
|
|
197
|
+
if (adapter.getHours(dateWithNewHours) !== valueWithMeridiem) {
|
|
198
198
|
return true;
|
|
199
199
|
}
|
|
200
|
-
const start =
|
|
201
|
-
const end =
|
|
200
|
+
const start = adapter.setSeconds(adapter.setMinutes(dateWithNewHours, 0), 0);
|
|
201
|
+
const end = adapter.setSeconds(adapter.setMinutes(dateWithNewHours, 59), 59);
|
|
202
202
|
return !containsValidTime({
|
|
203
203
|
start,
|
|
204
204
|
end
|
|
@@ -206,9 +206,9 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
206
206
|
}
|
|
207
207
|
case 'minutes':
|
|
208
208
|
{
|
|
209
|
-
const dateWithNewMinutes =
|
|
210
|
-
const start =
|
|
211
|
-
const end =
|
|
209
|
+
const dateWithNewMinutes = adapter.setMinutes(valueOrReferenceDate, rawValue);
|
|
210
|
+
const start = adapter.setSeconds(dateWithNewMinutes, 0);
|
|
211
|
+
const end = adapter.setSeconds(dateWithNewMinutes, 59);
|
|
212
212
|
return !containsValidTime({
|
|
213
213
|
start,
|
|
214
214
|
end
|
|
@@ -216,7 +216,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
216
216
|
}
|
|
217
217
|
case 'seconds':
|
|
218
218
|
{
|
|
219
|
-
const dateWithNewSeconds =
|
|
219
|
+
const dateWithNewSeconds = adapter.setSeconds(valueOrReferenceDate, rawValue);
|
|
220
220
|
const start = dateWithNewSeconds;
|
|
221
221
|
const end = dateWithNewSeconds;
|
|
222
222
|
return !containsValidTime({
|
|
@@ -227,7 +227,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
227
227
|
default:
|
|
228
228
|
throw new Error('not supported');
|
|
229
229
|
}
|
|
230
|
-
}, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime,
|
|
230
|
+
}, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, adapter, disableFuture, disablePast, now, views]);
|
|
231
231
|
const buildViewProps = React.useCallback(viewToBuild => {
|
|
232
232
|
switch (viewToBuild) {
|
|
233
233
|
case 'hours':
|
|
@@ -235,13 +235,13 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
235
235
|
return {
|
|
236
236
|
onChange: hours => {
|
|
237
237
|
const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(hours, meridiemMode, ampm);
|
|
238
|
-
setValueAndGoToNextView(
|
|
238
|
+
setValueAndGoToNextView(adapter.setHours(valueOrReferenceDate, valueWithMeridiem), 'finish', 'hours');
|
|
239
239
|
},
|
|
240
240
|
items: (0, _MultiSectionDigitalClock2.getHourSectionOptions)({
|
|
241
241
|
now,
|
|
242
242
|
value,
|
|
243
243
|
ampm,
|
|
244
|
-
|
|
244
|
+
adapter,
|
|
245
245
|
isDisabled: hours => isTimeDisabled(hours, 'hours'),
|
|
246
246
|
timeStep: timeSteps.hours,
|
|
247
247
|
resolveAriaLabel: translations.hoursClockNumberText,
|
|
@@ -253,13 +253,13 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
253
253
|
{
|
|
254
254
|
return {
|
|
255
255
|
onChange: minutes => {
|
|
256
|
-
setValueAndGoToNextView(
|
|
256
|
+
setValueAndGoToNextView(adapter.setMinutes(valueOrReferenceDate, minutes), 'finish', 'minutes');
|
|
257
257
|
},
|
|
258
258
|
items: (0, _MultiSectionDigitalClock2.getTimeSectionOptions)({
|
|
259
|
-
value:
|
|
260
|
-
|
|
259
|
+
value: adapter.getMinutes(valueOrReferenceDate),
|
|
260
|
+
adapter,
|
|
261
261
|
isDisabled: minutes => isTimeDisabled(minutes, 'minutes'),
|
|
262
|
-
resolveLabel: minutes =>
|
|
262
|
+
resolveLabel: minutes => adapter.format(adapter.setMinutes(now, minutes), 'minutes'),
|
|
263
263
|
timeStep: timeSteps.minutes,
|
|
264
264
|
hasValue: !!value,
|
|
265
265
|
resolveAriaLabel: translations.minutesClockNumberText
|
|
@@ -270,13 +270,13 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
270
270
|
{
|
|
271
271
|
return {
|
|
272
272
|
onChange: seconds => {
|
|
273
|
-
setValueAndGoToNextView(
|
|
273
|
+
setValueAndGoToNextView(adapter.setSeconds(valueOrReferenceDate, seconds), 'finish', 'seconds');
|
|
274
274
|
},
|
|
275
275
|
items: (0, _MultiSectionDigitalClock2.getTimeSectionOptions)({
|
|
276
|
-
value:
|
|
277
|
-
|
|
276
|
+
value: adapter.getSeconds(valueOrReferenceDate),
|
|
277
|
+
adapter,
|
|
278
278
|
isDisabled: seconds => isTimeDisabled(seconds, 'seconds'),
|
|
279
|
-
resolveLabel: seconds =>
|
|
279
|
+
resolveLabel: seconds => adapter.format(adapter.setSeconds(now, seconds), 'seconds'),
|
|
280
280
|
timeStep: timeSteps.seconds,
|
|
281
281
|
hasValue: !!value,
|
|
282
282
|
resolveAriaLabel: translations.secondsClockNumberText
|
|
@@ -285,8 +285,8 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
285
285
|
}
|
|
286
286
|
case 'meridiem':
|
|
287
287
|
{
|
|
288
|
-
const amLabel = (0, _dateUtils.formatMeridiem)(
|
|
289
|
-
const pmLabel = (0, _dateUtils.formatMeridiem)(
|
|
288
|
+
const amLabel = (0, _dateUtils.formatMeridiem)(adapter, 'am');
|
|
289
|
+
const pmLabel = (0, _dateUtils.formatMeridiem)(adapter, 'pm');
|
|
290
290
|
return {
|
|
291
291
|
onChange: handleMeridiemChange,
|
|
292
292
|
items: [{
|
|
@@ -307,7 +307,7 @@ const MultiSectionDigitalClock = exports.MultiSectionDigitalClock = /*#__PURE__*
|
|
|
307
307
|
default:
|
|
308
308
|
throw new Error(`Unknown view: ${viewToBuild} found.`);
|
|
309
309
|
}
|
|
310
|
-
}, [now, value, ampm,
|
|
310
|
+
}, [now, value, ampm, adapter, timeSteps.hours, timeSteps.minutes, timeSteps.seconds, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, handleMeridiemChange]);
|
|
311
311
|
const viewsToRender = React.useMemo(() => {
|
|
312
312
|
if (!isRtl) {
|
|
313
313
|
return views;
|
|
@@ -358,7 +358,7 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
|
|
|
358
358
|
// ----------------------------------------------------------------------
|
|
359
359
|
/**
|
|
360
360
|
* 12h/24h view for hour selection clock.
|
|
361
|
-
* @default
|
|
361
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
362
362
|
*/
|
|
363
363
|
ampm: _propTypes.default.bool,
|
|
364
364
|
/**
|
|
@@ -3,7 +3,7 @@ import { MultiSectionDigitalClockOption } from "./MultiSectionDigitalClock.types
|
|
|
3
3
|
interface GetHoursSectionOptionsParameters {
|
|
4
4
|
now: PickerValidDate;
|
|
5
5
|
value: PickerValidDate | null;
|
|
6
|
-
|
|
6
|
+
adapter: MuiPickersAdapter;
|
|
7
7
|
ampm: boolean;
|
|
8
8
|
isDisabled: (value: number) => boolean;
|
|
9
9
|
timeStep: number;
|
|
@@ -13,7 +13,7 @@ interface GetHoursSectionOptionsParameters {
|
|
|
13
13
|
export declare const getHourSectionOptions: ({
|
|
14
14
|
now,
|
|
15
15
|
value,
|
|
16
|
-
|
|
16
|
+
adapter,
|
|
17
17
|
ampm,
|
|
18
18
|
isDisabled,
|
|
19
19
|
resolveAriaLabel,
|
|
@@ -22,7 +22,7 @@ export declare const getHourSectionOptions: ({
|
|
|
22
22
|
}: GetHoursSectionOptionsParameters) => MultiSectionDigitalClockOption<number>[];
|
|
23
23
|
interface GetTimeSectionOptionsParameters {
|
|
24
24
|
value: number | null;
|
|
25
|
-
|
|
25
|
+
adapter: MuiPickersAdapter;
|
|
26
26
|
isDisabled: (value: number) => boolean;
|
|
27
27
|
timeStep: number;
|
|
28
28
|
resolveLabel: (value: number) => string;
|
|
@@ -31,7 +31,7 @@ interface GetTimeSectionOptionsParameters {
|
|
|
31
31
|
}
|
|
32
32
|
export declare const getTimeSectionOptions: ({
|
|
33
33
|
value,
|
|
34
|
-
|
|
34
|
+
adapter,
|
|
35
35
|
isDisabled,
|
|
36
36
|
timeStep,
|
|
37
37
|
resolveLabel,
|
|
@@ -7,14 +7,14 @@ exports.getTimeSectionOptions = exports.getHourSectionOptions = void 0;
|
|
|
7
7
|
const getHourSectionOptions = ({
|
|
8
8
|
now,
|
|
9
9
|
value,
|
|
10
|
-
|
|
10
|
+
adapter,
|
|
11
11
|
ampm,
|
|
12
12
|
isDisabled,
|
|
13
13
|
resolveAriaLabel,
|
|
14
14
|
timeStep,
|
|
15
15
|
valueOrReferenceDate
|
|
16
16
|
}) => {
|
|
17
|
-
const currentHours = value ?
|
|
17
|
+
const currentHours = value ? adapter.getHours(value) : null;
|
|
18
18
|
const result = [];
|
|
19
19
|
const isSelected = (hour, overriddenCurrentHours) => {
|
|
20
20
|
const resolvedCurrentHours = overriddenCurrentHours ?? currentHours;
|
|
@@ -30,13 +30,13 @@ const getHourSectionOptions = ({
|
|
|
30
30
|
return resolvedCurrentHours === hour;
|
|
31
31
|
};
|
|
32
32
|
const isFocused = hour => {
|
|
33
|
-
return isSelected(hour,
|
|
33
|
+
return isSelected(hour, adapter.getHours(valueOrReferenceDate));
|
|
34
34
|
};
|
|
35
35
|
const endHour = ampm ? 11 : 23;
|
|
36
36
|
for (let hour = 0; hour <= endHour; hour += timeStep) {
|
|
37
|
-
let label =
|
|
37
|
+
let label = adapter.format(adapter.setHours(now, hour), ampm ? 'hours12h' : 'hours24h');
|
|
38
38
|
const ariaLabel = resolveAriaLabel(parseInt(label, 10).toString());
|
|
39
|
-
label =
|
|
39
|
+
label = adapter.formatNumber(label);
|
|
40
40
|
result.push({
|
|
41
41
|
value: hour,
|
|
42
42
|
label,
|
|
@@ -51,7 +51,7 @@ const getHourSectionOptions = ({
|
|
|
51
51
|
exports.getHourSectionOptions = getHourSectionOptions;
|
|
52
52
|
const getTimeSectionOptions = ({
|
|
53
53
|
value,
|
|
54
|
-
|
|
54
|
+
adapter,
|
|
55
55
|
isDisabled,
|
|
56
56
|
timeStep,
|
|
57
57
|
resolveLabel,
|
|
@@ -73,7 +73,7 @@ const getTimeSectionOptions = ({
|
|
|
73
73
|
const timeValue = timeStep * index;
|
|
74
74
|
return {
|
|
75
75
|
value: timeValue,
|
|
76
|
-
label:
|
|
76
|
+
label: adapter.formatNumber(resolveLabel(timeValue)),
|
|
77
77
|
isDisabled,
|
|
78
78
|
isSelected,
|
|
79
79
|
isFocused,
|
package/PickerDay2/PickerDay2.js
CHANGED
|
@@ -18,7 +18,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
18
18
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
19
19
|
var _dimensions = require("../internals/constants/dimensions");
|
|
20
20
|
var _pickerDay2Classes = require("./pickerDay2Classes");
|
|
21
|
-
var
|
|
21
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
22
22
|
var _usePickerDayOwnerState = require("../PickersDay/usePickerDayOwnerState");
|
|
23
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
24
|
const _excluded = ["autoFocus", "className", "classes", "hidden", "isAnimating", "onClick", "onDaySelect", "onFocus", "onBlur", "onKeyDown", "onMouseDown", "onMouseEnter", "children", "isFirstVisibleCell", "isLastVisibleCell", "day", "selected", "disabled", "today", "outsideCurrentMonth", "disableMargin", "disableHighlightToday", "showDaysOutsideCurrentMonth", "isVisuallySelected"];
|
|
@@ -128,7 +128,7 @@ const PickerDay2Raw = /*#__PURE__*/React.forwardRef(function PickerDay2(inProps,
|
|
|
128
128
|
props: inProps,
|
|
129
129
|
name: 'MuiPickerDay2'
|
|
130
130
|
});
|
|
131
|
-
const
|
|
131
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
132
132
|
const {
|
|
133
133
|
autoFocus = false,
|
|
134
134
|
className,
|
|
@@ -215,7 +215,7 @@ const PickerDay2Raw = /*#__PURE__*/React.forwardRef(function PickerDay2(inProps,
|
|
|
215
215
|
}, other, {
|
|
216
216
|
ownerState: ownerState,
|
|
217
217
|
className: (0, _clsx.default)(classes.root, className),
|
|
218
|
-
children: children ?? (ownerState.isDayFillerCell ? null :
|
|
218
|
+
children: children ?? (ownerState.isDayFillerCell ? null : adapter.format(day, 'dayOfMonth'))
|
|
219
219
|
}));
|
|
220
220
|
});
|
|
221
221
|
if (process.env.NODE_ENV !== "production") PickerDay2Raw.displayName = "PickerDay2Raw";
|
|
@@ -6,8 +6,8 @@ export interface PickersActionBarProps extends DialogActionsProps {
|
|
|
6
6
|
* Ordered array of actions to display.
|
|
7
7
|
* If empty, does not display that action bar.
|
|
8
8
|
* @default
|
|
9
|
-
* - `[]` for
|
|
10
|
-
* - `['cancel', '
|
|
9
|
+
* - `[]` for Pickers with one selection step which `closeOnSelect`.
|
|
10
|
+
* - `['cancel', 'nextOrAccept']` for all other Pickers.
|
|
11
11
|
*/
|
|
12
12
|
actions?: PickersActionBarAction[];
|
|
13
13
|
}
|
|
@@ -105,8 +105,8 @@ process.env.NODE_ENV !== "production" ? PickersActionBarComponent.propTypes = {
|
|
|
105
105
|
* Ordered array of actions to display.
|
|
106
106
|
* If empty, does not display that action bar.
|
|
107
107
|
* @default
|
|
108
|
-
* - `[]` for
|
|
109
|
-
* - `['cancel', '
|
|
108
|
+
* - `[]` for Pickers with one selection step which `closeOnSelect`.
|
|
109
|
+
* - `['cancel', 'nextOrAccept']` for all other Pickers.
|
|
110
110
|
*/
|
|
111
111
|
actions: _propTypes.default.arrayOf(_propTypes.default.oneOf(['accept', 'cancel', 'clear', 'next', 'nextOrAccept', 'today']).isRequired),
|
|
112
112
|
/**
|