@mui/x-date-pickers 8.5.2 → 8.6.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 +203 -11
- 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/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -0
- package/PickersTextField/PickersInput/pickersInputClasses.d.ts +1 -0
- package/PickersTextField/PickersInputBase/pickersInputBaseClasses.d.ts +2 -0
- package/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +1 -1
- package/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.d.ts +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/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -0
- package/esm/PickersTextField/PickersInput/pickersInputClasses.d.ts +1 -0
- package/esm/PickersTextField/PickersInputBase/pickersInputBaseClasses.d.ts +2 -0
- package/esm/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +1 -1
- package/esm/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.d.ts +1 -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/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 +3 -3
- 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 +2 -2
- 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 +22 -24
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +6 -6
- package/esm/internals/hooks/usePicker/usePicker.js +5 -6
- package/esm/internals/hooks/useUtils.d.ts +1 -8
- package/esm/internals/hooks/useUtils.js +3 -19
- package/esm/internals/index.d.ts +2 -1
- package/esm/internals/index.js +2 -1
- package/esm/internals/models/manager.d.ts +14 -14
- 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/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 +3 -3
- 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 +2 -2
- 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 +23 -25
- package/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +6 -6
- package/internals/hooks/usePicker/usePicker.js +5 -6
- package/internals/hooks/useUtils.d.ts +1 -8
- package/internals/hooks/useUtils.js +5 -24
- package/internals/index.d.ts +2 -1
- package/internals/index.js +2 -7
- package/internals/models/manager.d.ts +14 -14
- 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
|
@@ -11,28 +11,28 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
13
13
|
var _useIsDateDisabled = require("./useIsDateDisabled");
|
|
14
|
-
var _useUtils = require("../internals/hooks/useUtils");
|
|
15
14
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
15
|
var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
|
|
17
16
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
18
|
-
|
|
17
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
18
|
+
const createCalendarStateReducer = (reduceAnimations, adapter) => (state, action) => {
|
|
19
19
|
switch (action.type) {
|
|
20
20
|
case 'setVisibleDate':
|
|
21
21
|
return (0, _extends2.default)({}, state, {
|
|
22
22
|
slideDirection: action.direction,
|
|
23
23
|
currentMonth: action.month,
|
|
24
|
-
isMonthSwitchingAnimating: !
|
|
24
|
+
isMonthSwitchingAnimating: !adapter.isSameMonth(action.month, state.currentMonth) && !reduceAnimations && !action.skipAnimation,
|
|
25
25
|
focusedDay: action.focusedDay
|
|
26
26
|
});
|
|
27
27
|
case 'changeMonthTimezone':
|
|
28
28
|
{
|
|
29
29
|
const newTimezone = action.newTimezone;
|
|
30
|
-
if (
|
|
30
|
+
if (adapter.getTimezone(state.currentMonth) === newTimezone) {
|
|
31
31
|
return state;
|
|
32
32
|
}
|
|
33
|
-
let newCurrentMonth =
|
|
34
|
-
if (
|
|
35
|
-
newCurrentMonth =
|
|
33
|
+
let newCurrentMonth = adapter.setTimezone(state.currentMonth, newTimezone);
|
|
34
|
+
if (adapter.getMonth(newCurrentMonth) !== adapter.getMonth(state.currentMonth)) {
|
|
35
|
+
newCurrentMonth = adapter.setMonth(newCurrentMonth, adapter.getMonth(state.currentMonth));
|
|
36
36
|
}
|
|
37
37
|
return (0, _extends2.default)({}, state, {
|
|
38
38
|
currentMonth: newCurrentMonth
|
|
@@ -61,12 +61,12 @@ const useCalendarState = params => {
|
|
|
61
61
|
timezone,
|
|
62
62
|
getCurrentMonthFromVisibleDate
|
|
63
63
|
} = params;
|
|
64
|
-
const
|
|
65
|
-
const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations),
|
|
64
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
65
|
+
const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), adapter)).current;
|
|
66
66
|
const referenceDate = React.useMemo(() => {
|
|
67
67
|
return _valueManagers.singleItemValueManager.getInitialReferenceValue({
|
|
68
68
|
value,
|
|
69
|
-
|
|
69
|
+
adapter,
|
|
70
70
|
timezone,
|
|
71
71
|
props: params,
|
|
72
72
|
referenceDate: referenceDateProp,
|
|
@@ -79,7 +79,7 @@ const useCalendarState = params => {
|
|
|
79
79
|
const [calendarState, dispatch] = React.useReducer(reducerFn, {
|
|
80
80
|
isMonthSwitchingAnimating: false,
|
|
81
81
|
focusedDay: referenceDate,
|
|
82
|
-
currentMonth:
|
|
82
|
+
currentMonth: adapter.startOfMonth(referenceDate),
|
|
83
83
|
slideDirection: 'left'
|
|
84
84
|
});
|
|
85
85
|
const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
|
|
@@ -96,14 +96,14 @@ const useCalendarState = params => {
|
|
|
96
96
|
React.useEffect(() => {
|
|
97
97
|
dispatch({
|
|
98
98
|
type: 'changeMonthTimezone',
|
|
99
|
-
newTimezone:
|
|
99
|
+
newTimezone: adapter.getTimezone(referenceDate)
|
|
100
100
|
});
|
|
101
|
-
}, [referenceDate,
|
|
101
|
+
}, [referenceDate, adapter]);
|
|
102
102
|
const setVisibleDate = (0, _useEventCallback.default)(({
|
|
103
103
|
target,
|
|
104
104
|
reason
|
|
105
105
|
}) => {
|
|
106
|
-
if (reason === 'cell-interaction' && calendarState.focusedDay != null &&
|
|
106
|
+
if (reason === 'cell-interaction' && calendarState.focusedDay != null && adapter.isSameDay(target, calendarState.focusedDay)) {
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
109
|
const skipAnimation = reason === 'cell-interaction';
|
|
@@ -113,18 +113,18 @@ const useCalendarState = params => {
|
|
|
113
113
|
month = getCurrentMonthFromVisibleDate(target, calendarState.currentMonth);
|
|
114
114
|
focusedDay = target;
|
|
115
115
|
} else {
|
|
116
|
-
month =
|
|
116
|
+
month = adapter.isSameMonth(target, calendarState.currentMonth) ? calendarState.currentMonth : adapter.startOfMonth(target);
|
|
117
117
|
focusedDay = target;
|
|
118
118
|
|
|
119
119
|
// If the date is disabled, we try to find a non-disabled date inside the same month.
|
|
120
120
|
if (isDateDisabled(focusedDay)) {
|
|
121
|
-
const startOfMonth =
|
|
122
|
-
const endOfMonth =
|
|
121
|
+
const startOfMonth = adapter.startOfMonth(target);
|
|
122
|
+
const endOfMonth = adapter.endOfMonth(target);
|
|
123
123
|
focusedDay = (0, _dateUtils.findClosestEnabledDate)({
|
|
124
|
-
|
|
124
|
+
adapter,
|
|
125
125
|
date: focusedDay,
|
|
126
|
-
minDate:
|
|
127
|
-
maxDate:
|
|
126
|
+
minDate: adapter.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,
|
|
127
|
+
maxDate: adapter.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
|
|
128
128
|
disablePast,
|
|
129
129
|
disableFuture,
|
|
130
130
|
isDateDisabled,
|
|
@@ -132,19 +132,19 @@ const useCalendarState = params => {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
const hasChangedMonth = !
|
|
136
|
-
const hasChangedYear = !
|
|
135
|
+
const hasChangedMonth = !adapter.isSameMonth(calendarState.currentMonth, month);
|
|
136
|
+
const hasChangedYear = !adapter.isSameYear(calendarState.currentMonth, month);
|
|
137
137
|
if (hasChangedMonth) {
|
|
138
138
|
onMonthChange?.(month);
|
|
139
139
|
}
|
|
140
140
|
if (hasChangedYear) {
|
|
141
|
-
onYearChange?.(
|
|
141
|
+
onYearChange?.(adapter.startOfYear(month));
|
|
142
142
|
}
|
|
143
143
|
dispatch({
|
|
144
144
|
type: 'setVisibleDate',
|
|
145
145
|
month,
|
|
146
|
-
direction:
|
|
147
|
-
focusedDay: calendarState.focusedDay != null && focusedDay != null &&
|
|
146
|
+
direction: adapter.isAfterDay(month, calendarState.currentMonth) ? 'left' : 'right',
|
|
147
|
+
focusedDay: calendarState.focusedDay != null && focusedDay != null && adapter.isSameDay(focusedDay, calendarState.focusedDay) ? calendarState.focusedDay : focusedDay,
|
|
148
148
|
skipAnimation
|
|
149
149
|
});
|
|
150
150
|
});
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useIsDateDisabled = void 0;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _validation = require("../validation");
|
|
11
|
-
var
|
|
11
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
12
12
|
const useIsDateDisabled = ({
|
|
13
13
|
shouldDisableDate,
|
|
14
14
|
shouldDisableMonth,
|
|
@@ -19,7 +19,7 @@ const useIsDateDisabled = ({
|
|
|
19
19
|
disablePast,
|
|
20
20
|
timezone
|
|
21
21
|
}) => {
|
|
22
|
-
const adapter = (0,
|
|
22
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
23
23
|
return React.useCallback(day => (0, _validation.validateDate)({
|
|
24
24
|
adapter,
|
|
25
25
|
value: day,
|
|
@@ -16,12 +16,10 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
|
16
16
|
var _styles = require("@mui/material/styles");
|
|
17
17
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
18
18
|
var _PickersToolbar = require("../internals/components/PickersToolbar");
|
|
19
|
-
var
|
|
20
|
-
var _useUtils = require("../internals/hooks/useUtils");
|
|
19
|
+
var _hooks = require("../hooks");
|
|
21
20
|
var _datePickerToolbarClasses = require("./datePickerToolbarClasses");
|
|
22
21
|
var _dateUtils = require("../internals/utils/date-utils");
|
|
23
22
|
var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
|
|
24
|
-
var _hooks = require("../hooks");
|
|
25
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
24
|
const _excluded = ["toolbarFormat", "toolbarPlaceholder", "className", "classes"];
|
|
27
25
|
const useUtilityClasses = classes => {
|
|
@@ -70,25 +68,25 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
|
|
|
70
68
|
classes: classesProp
|
|
71
69
|
} = props,
|
|
72
70
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
73
|
-
const
|
|
71
|
+
const adapter = (0, _hooks.usePickerAdapter)();
|
|
74
72
|
const {
|
|
75
73
|
value,
|
|
76
74
|
views,
|
|
77
75
|
orientation
|
|
78
76
|
} = (0, _hooks.usePickerContext)();
|
|
79
|
-
const translations = (0,
|
|
77
|
+
const translations = (0, _hooks.usePickerTranslations)();
|
|
80
78
|
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
81
79
|
const classes = useUtilityClasses(classesProp);
|
|
82
80
|
const dateText = React.useMemo(() => {
|
|
83
|
-
if (!
|
|
81
|
+
if (!adapter.isValid(value)) {
|
|
84
82
|
return toolbarPlaceholder;
|
|
85
83
|
}
|
|
86
|
-
const formatFromViews = (0, _dateUtils.resolveDateFormat)(
|
|
84
|
+
const formatFromViews = (0, _dateUtils.resolveDateFormat)(adapter, {
|
|
87
85
|
format: toolbarFormat,
|
|
88
86
|
views
|
|
89
87
|
}, true);
|
|
90
|
-
return
|
|
91
|
-
}, [value, toolbarFormat, toolbarPlaceholder,
|
|
88
|
+
return adapter.formatByString(value, formatFromViews);
|
|
89
|
+
}, [value, toolbarFormat, toolbarPlaceholder, adapter, views]);
|
|
92
90
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerToolbarRoot, (0, _extends2.default)({
|
|
93
91
|
ref: ref,
|
|
94
92
|
toolbarTitle: translations.datePickerToolbarTitle,
|
|
@@ -58,7 +58,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
58
58
|
// ----------------------------------------------------------------------
|
|
59
59
|
/**
|
|
60
60
|
* 12h/24h view for hour selection clock.
|
|
61
|
-
* @default
|
|
61
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
62
62
|
*/
|
|
63
63
|
ampm: _propTypes.default.bool,
|
|
64
64
|
/**
|
|
@@ -60,7 +60,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
60
60
|
// ----------------------------------------------------------------------
|
|
61
61
|
/**
|
|
62
62
|
* 12h/24h view for hour selection clock.
|
|
63
|
-
* @default
|
|
63
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
64
64
|
*/
|
|
65
65
|
ampm: _propTypes.default.bool,
|
|
66
66
|
/**
|
|
@@ -19,8 +19,7 @@ var _createStyled = require("@mui/system/createStyled");
|
|
|
19
19
|
var _PickersToolbarText = require("../internals/components/PickersToolbarText");
|
|
20
20
|
var _PickersToolbar = require("../internals/components/PickersToolbar");
|
|
21
21
|
var _PickersToolbarButton = require("../internals/components/PickersToolbarButton");
|
|
22
|
-
var
|
|
23
|
-
var _useUtils = require("../internals/hooks/useUtils");
|
|
22
|
+
var _hooks = require("../hooks");
|
|
24
23
|
var _dateTimePickerToolbarClasses = require("./dateTimePickerToolbarClasses");
|
|
25
24
|
var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
|
|
26
25
|
var _dimensions = require("../internals/constants/dimensions");
|
|
@@ -252,10 +251,10 @@ function DateTimePickerToolbar(inProps) {
|
|
|
252
251
|
setView: setViewContext,
|
|
253
252
|
views
|
|
254
253
|
} = (0, _usePickerContext.usePickerContext)();
|
|
255
|
-
const translations = (0,
|
|
254
|
+
const translations = (0, _hooks.usePickerTranslations)();
|
|
256
255
|
const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
|
|
257
256
|
const classes = useUtilityClasses(classesProp, ownerState);
|
|
258
|
-
const
|
|
257
|
+
const adapter = (0, _hooks.usePickerAdapter)();
|
|
259
258
|
const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
|
|
260
259
|
const value = overrides ? overrides.value : valueContext;
|
|
261
260
|
const setValue = overrides ? overrides.setValue : setValueContext;
|
|
@@ -272,19 +271,19 @@ function DateTimePickerToolbar(inProps) {
|
|
|
272
271
|
const showAmPmControl = Boolean(ampm && !ampmInClock);
|
|
273
272
|
const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
|
|
274
273
|
const dateText = React.useMemo(() => {
|
|
275
|
-
if (!
|
|
274
|
+
if (!adapter.isValid(value)) {
|
|
276
275
|
return toolbarPlaceholder;
|
|
277
276
|
}
|
|
278
277
|
if (toolbarFormat) {
|
|
279
|
-
return
|
|
278
|
+
return adapter.formatByString(value, toolbarFormat);
|
|
280
279
|
}
|
|
281
|
-
return
|
|
282
|
-
}, [value, toolbarFormat, toolbarPlaceholder,
|
|
280
|
+
return adapter.format(value, 'shortDate');
|
|
281
|
+
}, [value, toolbarFormat, toolbarPlaceholder, adapter]);
|
|
283
282
|
const formatSection = (format, fallback) => {
|
|
284
|
-
if (!
|
|
283
|
+
if (!adapter.isValid(value)) {
|
|
285
284
|
return fallback;
|
|
286
285
|
}
|
|
287
|
-
return
|
|
286
|
+
return adapter.format(value, format);
|
|
288
287
|
};
|
|
289
288
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
|
|
290
289
|
className: (0, _clsx.default)(classes.root, className),
|
|
@@ -359,14 +358,14 @@ function DateTimePickerToolbar(inProps) {
|
|
|
359
358
|
variant: "subtitle2",
|
|
360
359
|
selected: meridiemMode === 'am',
|
|
361
360
|
typographyClassName: classes.ampmLabel,
|
|
362
|
-
value: (0, _dateUtils.formatMeridiem)(
|
|
361
|
+
value: (0, _dateUtils.formatMeridiem)(adapter, 'am'),
|
|
363
362
|
onClick: readOnly ? undefined : () => handleMeridiemChange('am'),
|
|
364
363
|
disabled: disabled
|
|
365
364
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
|
|
366
365
|
variant: "subtitle2",
|
|
367
366
|
selected: meridiemMode === 'pm',
|
|
368
367
|
typographyClassName: classes.ampmLabel,
|
|
369
|
-
value: (0, _dateUtils.formatMeridiem)(
|
|
368
|
+
value: (0, _dateUtils.formatMeridiem)(adapter, 'pm'),
|
|
370
369
|
onClick: readOnly ? undefined : () => handleMeridiemChange('pm'),
|
|
371
370
|
disabled: disabled
|
|
372
371
|
})]
|
|
@@ -374,7 +373,7 @@ function DateTimePickerToolbar(inProps) {
|
|
|
374
373
|
variant: "h5",
|
|
375
374
|
onClick: () => setView('meridiem'),
|
|
376
375
|
selected: view === 'meridiem',
|
|
377
|
-
value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(
|
|
376
|
+
value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(adapter, meridiemMode) : '--',
|
|
378
377
|
width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
|
|
379
378
|
})]
|
|
380
379
|
})]
|
package/DateTimePicker/shared.js
CHANGED
|
@@ -9,20 +9,20 @@ exports.useDateTimePickerDefaultizedProps = useDateTimePickerDefaultizedProps;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _styles = require("@mui/material/styles");
|
|
12
|
-
var
|
|
12
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
13
13
|
var _DateTimePickerTabs = require("./DateTimePickerTabs");
|
|
14
14
|
var _DateTimePickerToolbar = require("./DateTimePickerToolbar");
|
|
15
15
|
var _views = require("../internals/utils/views");
|
|
16
16
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
17
17
|
var _useDateTimeManager = require("../managers/useDateTimeManager");
|
|
18
18
|
function useDateTimePickerDefaultizedProps(props, name) {
|
|
19
|
-
const
|
|
19
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
20
20
|
const themeProps = (0, _styles.useThemeProps)({
|
|
21
21
|
props,
|
|
22
22
|
name
|
|
23
23
|
});
|
|
24
24
|
const validationProps = (0, _useDateTimeManager.useApplyDefaultValuesToDateTimeValidationProps)(themeProps);
|
|
25
|
-
const ampm = themeProps.ampm ??
|
|
25
|
+
const ampm = themeProps.ampm ?? adapter.is12HourCycleInCurrentLocale();
|
|
26
26
|
const localeText = React.useMemo(() => {
|
|
27
27
|
if (themeProps.localeText?.toolbarTitle == null) {
|
|
28
28
|
return themeProps.localeText;
|
|
@@ -14,7 +14,7 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
|
|
|
14
14
|
var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
var _shared = require("../DatePicker/shared");
|
|
17
|
-
var
|
|
17
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
18
18
|
var _validation = require("../validation");
|
|
19
19
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
20
20
|
var _DateField = require("../DateField");
|
|
@@ -31,7 +31,7 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
31
31
|
* - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
|
|
32
32
|
*/
|
|
33
33
|
const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(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, 'MuiDesktopDatePicker');
|
|
@@ -45,7 +45,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
45
45
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
46
46
|
closeOnSelect: defaultizedProps.closeOnSelect ?? true,
|
|
47
47
|
viewRenderers,
|
|
48
|
-
format: (0, _dateUtils.resolveDateFormat)(
|
|
48
|
+
format: (0, _dateUtils.resolveDateFormat)(adapter, defaultizedProps, false),
|
|
49
49
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
50
50
|
slots: (0, _extends2.default)({
|
|
51
51
|
field: _DateField.DateField
|
|
@@ -18,7 +18,7 @@ var _valueManagers = require("../internals/utils/valueManagers");
|
|
|
18
18
|
var _DateTimeField = require("../DateTimeField");
|
|
19
19
|
var _shared = require("../DateTimePicker/shared");
|
|
20
20
|
var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
|
|
21
|
-
var
|
|
21
|
+
var _usePickerAdapter = require("../hooks/usePickerAdapter");
|
|
22
22
|
var _validation = require("../validation");
|
|
23
23
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
24
24
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
@@ -97,7 +97,7 @@ if (process.env.NODE_ENV !== "production") rendererInterceptor.displayName = "re
|
|
|
97
97
|
* - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
|
|
98
98
|
*/
|
|
99
99
|
const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
|
|
100
|
-
const
|
|
100
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
101
101
|
|
|
102
102
|
// Props with the default values common to all date time pickers
|
|
103
103
|
const defaultizedProps = (0, _shared.useDateTimePickerDefaultizedProps)(inProps, 'MuiDesktopDateTimePicker');
|
|
@@ -119,7 +119,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
119
119
|
// Props with the default values specific to the desktop variant
|
|
120
120
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
121
121
|
viewRenderers,
|
|
122
|
-
format: (0, _dateTimeUtils.resolveDateTimeFormat)(
|
|
122
|
+
format: (0, _dateTimeUtils.resolveDateTimeFormat)(adapter, defaultizedProps),
|
|
123
123
|
views,
|
|
124
124
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
125
125
|
ampmInClock,
|
|
@@ -159,7 +159,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
159
159
|
// ----------------------------------------------------------------------
|
|
160
160
|
/**
|
|
161
161
|
* 12h/24h view for hour selection clock.
|
|
162
|
-
* @default
|
|
162
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
163
163
|
*/
|
|
164
164
|
ampm: _propTypes.default.bool,
|
|
165
165
|
/**
|
|
@@ -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 _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
21
21
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
@@ -32,7 +32,7 @@ var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
|
32
32
|
* - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
|
|
33
33
|
*/
|
|
34
34
|
const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
|
|
35
|
-
const
|
|
35
|
+
const adapter = (0, _usePickerAdapter.usePickerAdapter)();
|
|
36
36
|
|
|
37
37
|
// Props with the default values common to all time pickers
|
|
38
38
|
const defaultizedProps = (0, _shared.useTimePickerDefaultizedProps)(inProps, 'MuiDesktopTimePicker');
|
|
@@ -58,7 +58,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
|
|
|
58
58
|
ampmInClock,
|
|
59
59
|
timeSteps,
|
|
60
60
|
viewRenderers,
|
|
61
|
-
format: (0, _timeUtils.resolveTimeFormat)(
|
|
61
|
+
format: (0, _timeUtils.resolveTimeFormat)(adapter, defaultizedProps),
|
|
62
62
|
// Setting only `hours` time view in case of single column time picker
|
|
63
63
|
// Allows for easy view lifecycle management
|
|
64
64
|
views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
|
|
@@ -93,7 +93,7 @@ DesktopTimePicker.propTypes = {
|
|
|
93
93
|
// ----------------------------------------------------------------------
|
|
94
94
|
/**
|
|
95
95
|
* 12h/24h view for hour selection clock.
|
|
96
|
-
* @default
|
|
96
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
97
97
|
*/
|
|
98
98
|
ampm: _propTypes.default.bool,
|
|
99
99
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DigitalClockProps } from "./DigitalClock.types.js";
|
|
3
|
-
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "
|
|
3
|
+
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "style" | "tabIndex" | "className" | "children" | "classes" | "sx" | "disableGutters" | "divider" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
4
4
|
type DigitalClockComponent = ((props: DigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
5
|
propTypes?: any;
|
|
6
6
|
};
|
|
@@ -20,7 +20,7 @@ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
|
20
20
|
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
21
21
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
22
22
|
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
23
|
-
var
|
|
23
|
+
var _hooks = require("../hooks");
|
|
24
24
|
var _useUtils = require("../internals/hooks/useUtils");
|
|
25
25
|
var _timeUtils = require("../internals/utils/time-utils");
|
|
26
26
|
var _PickerViewRoot = require("../internals/components/PickerViewRoot");
|
|
@@ -107,7 +107,7 @@ const DigitalClockItem = exports.DigitalClockItem = (0, _styles.styled)(_MenuIte
|
|
|
107
107
|
* - [DigitalClock API](https://mui.com/x/api/date-pickers/digital-clock/)
|
|
108
108
|
*/
|
|
109
109
|
const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {
|
|
110
|
-
const
|
|
110
|
+
const adapter = (0, _hooks.usePickerAdapter)();
|
|
111
111
|
const containerRef = React.useRef(null);
|
|
112
112
|
const handleRef = (0, _useForkRef.default)(ref, containerRef);
|
|
113
113
|
const listRef = React.useRef(null);
|
|
@@ -116,7 +116,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
116
116
|
name: 'MuiDigitalClock'
|
|
117
117
|
});
|
|
118
118
|
const {
|
|
119
|
-
ampm =
|
|
119
|
+
ampm = adapter.is12HourCycleInCurrentLocale(),
|
|
120
120
|
timeStep = 30,
|
|
121
121
|
autoFocus,
|
|
122
122
|
slots,
|
|
@@ -159,7 +159,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
159
159
|
onChange,
|
|
160
160
|
valueManager: _valueManagers.singleItemValueManager
|
|
161
161
|
});
|
|
162
|
-
const translations = (0,
|
|
162
|
+
const translations = (0, _hooks.usePickerTranslations)();
|
|
163
163
|
const now = (0, _useUtils.useNow)(timezone);
|
|
164
164
|
const {
|
|
165
165
|
ownerState: pickerOwnerState
|
|
@@ -178,7 +178,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
178
178
|
const valueOrReferenceDate = (0, _useClockReferenceDate.useClockReferenceDate)({
|
|
179
179
|
value,
|
|
180
180
|
referenceDate: referenceDateProp,
|
|
181
|
-
|
|
181
|
+
adapter,
|
|
182
182
|
props,
|
|
183
183
|
timezone
|
|
184
184
|
});
|
|
@@ -214,7 +214,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
214
214
|
containerRef.current.scrollTop = offsetTop - 4;
|
|
215
215
|
});
|
|
216
216
|
const isTimeDisabled = React.useCallback(valueToCheck => {
|
|
217
|
-
const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation,
|
|
217
|
+
const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation, adapter);
|
|
218
218
|
const containsValidTime = () => {
|
|
219
219
|
if (minTime && isAfter(minTime, valueToCheck)) {
|
|
220
220
|
return false;
|
|
@@ -231,7 +231,7 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
231
231
|
return true;
|
|
232
232
|
};
|
|
233
233
|
const isValidValue = () => {
|
|
234
|
-
if (
|
|
234
|
+
if (adapter.getMinutes(valueToCheck) % minutesStep !== 0) {
|
|
235
235
|
return false;
|
|
236
236
|
}
|
|
237
237
|
if (shouldDisableTime) {
|
|
@@ -240,18 +240,18 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
240
240
|
return true;
|
|
241
241
|
};
|
|
242
242
|
return !containsValidTime() || !isValidValue();
|
|
243
|
-
}, [disableIgnoringDatePartForTimeValidation,
|
|
243
|
+
}, [disableIgnoringDatePartForTimeValidation, adapter, minTime, maxTime, disableFuture, now, disablePast, minutesStep, shouldDisableTime]);
|
|
244
244
|
const timeOptions = React.useMemo(() => {
|
|
245
245
|
const result = [];
|
|
246
|
-
const startOfDay =
|
|
246
|
+
const startOfDay = adapter.startOfDay(valueOrReferenceDate);
|
|
247
247
|
let nextTimeStepOption = startOfDay;
|
|
248
|
-
while (
|
|
248
|
+
while (adapter.isSameDay(valueOrReferenceDate, nextTimeStepOption)) {
|
|
249
249
|
result.push(nextTimeStepOption);
|
|
250
|
-
nextTimeStepOption =
|
|
250
|
+
nextTimeStepOption = adapter.addMinutes(nextTimeStepOption, timeStep);
|
|
251
251
|
}
|
|
252
252
|
return result;
|
|
253
|
-
}, [valueOrReferenceDate, timeStep,
|
|
254
|
-
const focusedOptionIndex = timeOptions.findIndex(option =>
|
|
253
|
+
}, [valueOrReferenceDate, timeStep, adapter]);
|
|
254
|
+
const focusedOptionIndex = timeOptions.findIndex(option => adapter.isEqual(option, valueOrReferenceDate));
|
|
255
255
|
const handleKeyDown = event => {
|
|
256
256
|
switch (event.key) {
|
|
257
257
|
case 'PageUp':
|
|
@@ -297,8 +297,8 @@ const DigitalClock = exports.DigitalClock = /*#__PURE__*/React.forwardRef(functi
|
|
|
297
297
|
if (skipDisabled && optionDisabled) {
|
|
298
298
|
return null;
|
|
299
299
|
}
|
|
300
|
-
const isSelected =
|
|
301
|
-
const formattedValue =
|
|
300
|
+
const isSelected = adapter.isEqual(option, value);
|
|
301
|
+
const formattedValue = adapter.format(option, ampm ? 'fullTime12h' : 'fullTime24h');
|
|
302
302
|
const isFocused = focusedOptionIndex === index || focusedOptionIndex === -1 && index === 0;
|
|
303
303
|
const tabIndex = isFocused ? 0 : -1;
|
|
304
304
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ClockItem, (0, _extends2.default)({
|
|
@@ -329,7 +329,7 @@ process.env.NODE_ENV !== "production" ? DigitalClock.propTypes = {
|
|
|
329
329
|
// ----------------------------------------------------------------------
|
|
330
330
|
/**
|
|
331
331
|
* 12h/24h view for hour selection clock.
|
|
332
|
-
* @default
|
|
332
|
+
* @default adapter.is12HourCycleInCurrentLocale()
|
|
333
333
|
*/
|
|
334
334
|
ampm: _propTypes.default.bool,
|
|
335
335
|
/**
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { AdapterFormats, MuiPickersAdapter, PickerValidDate } from "../models/index.js";
|
|
3
3
|
import { PickersInputLocaleText } from "../locales/index.js";
|
|
4
|
-
export interface
|
|
4
|
+
export interface PickersAdapterContextValue {
|
|
5
5
|
defaultDates: {
|
|
6
6
|
minDate: PickerValidDate;
|
|
7
7
|
maxDate: PickerValidDate;
|
|
8
8
|
};
|
|
9
9
|
utils: MuiPickersAdapter;
|
|
10
|
+
adapter: MuiPickersAdapter;
|
|
10
11
|
localeText: PickersInputLocaleText | undefined;
|
|
11
12
|
}
|
|
12
|
-
export type
|
|
13
|
-
export declare const
|
|
13
|
+
export type PickerAdapterContextNullableValue = { [K in keyof PickersAdapterContextValue]: PickersAdapterContextValue[K] | null };
|
|
14
|
+
export declare const PickerAdapterContext: React.Context<PickerAdapterContextNullableValue | null>;
|
|
15
|
+
/**
|
|
16
|
+
* The context that provides the date adapter and default dates to the pickers.
|
|
17
|
+
* @deprecated Use `usePickersAdapter` hook if you need access to the adapter instead.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MuiPickersAdapterContext: React.Context<PickerAdapterContextNullableValue | null>;
|
|
14
20
|
export interface LocalizationProviderProps<TLocale> {
|
|
15
21
|
children?: React.ReactNode;
|
|
16
22
|
/**
|