@mui/x-date-pickers 6.18.5 → 6.18.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/AdapterLuxon/AdapterLuxon.d.ts +32 -32
- package/CHANGELOG.md +91 -0
- package/DateCalendar/DateCalendar.js +6 -4
- package/DateCalendar/DateCalendar.types.d.ts +0 -8
- package/DigitalClock/DigitalClock.js +3 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
- package/TimeClock/TimeClock.js +3 -2
- package/index.js +1 -1
- package/internals/hooks/useField/useField.js +8 -1
- package/internals/hooks/useViews.d.ts +4 -4
- package/internals/hooks/useViews.js +13 -13
- package/internals/models/props/clock.d.ts +0 -9
- package/legacy/DateCalendar/DateCalendar.js +6 -4
- package/legacy/DigitalClock/DigitalClock.js +3 -2
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
- package/legacy/TimeClock/TimeClock.js +3 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/useField/useField.js +8 -1
- package/legacy/internals/hooks/useViews.js +13 -13
- package/legacy/locales/ruRU.js +1 -2
- package/locales/ruRU.js +1 -2
- package/modern/DateCalendar/DateCalendar.js +6 -4
- package/modern/DigitalClock/DigitalClock.js +3 -2
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
- package/modern/TimeClock/TimeClock.js +3 -2
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useField/useField.js +8 -1
- package/modern/internals/hooks/useViews.js +13 -13
- package/modern/locales/ruRU.js +1 -2
- package/node/DateCalendar/DateCalendar.js +6 -4
- package/node/DigitalClock/DigitalClock.js +3 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
- package/node/TimeClock/TimeClock.js +3 -2
- package/node/index.js +1 -1
- package/node/internals/hooks/useField/useField.js +8 -1
- package/node/internals/hooks/useViews.js +13 -13
- package/node/locales/ruRU.js +1 -2
- package/package.json +1 -1
|
@@ -73,11 +73,12 @@ function useViews({
|
|
|
73
73
|
onFocusedViewChange?.(viewToFocus, hasFocus);
|
|
74
74
|
});
|
|
75
75
|
const handleChangeView = (0, _useEventCallback.default)(newView => {
|
|
76
|
+
// always keep the focused view in sync
|
|
77
|
+
handleFocusedViewChange(newView, true);
|
|
76
78
|
if (newView === view) {
|
|
77
79
|
return;
|
|
78
80
|
}
|
|
79
81
|
setView(newView);
|
|
80
|
-
handleFocusedViewChange(newView, true);
|
|
81
82
|
if (onViewChange) {
|
|
82
83
|
onViewChange(newView);
|
|
83
84
|
}
|
|
@@ -86,7 +87,6 @@ function useViews({
|
|
|
86
87
|
if (nextView) {
|
|
87
88
|
handleChangeView(nextView);
|
|
88
89
|
}
|
|
89
|
-
handleFocusedViewChange(nextView, true);
|
|
90
90
|
});
|
|
91
91
|
const setValueAndGoToNextView = (0, _useEventCallback.default)((value, currentViewSelectionState, selectedView) => {
|
|
92
92
|
const isSelectionFinishedOnCurrentView = currentViewSelectionState === 'finish';
|
|
@@ -95,18 +95,19 @@ function useViews({
|
|
|
95
95
|
// but we it's not the final view given all `views` -> overall selection state should be `partial`.
|
|
96
96
|
views.indexOf(selectedView) < views.length - 1 : Boolean(nextView);
|
|
97
97
|
const globalSelectionState = isSelectionFinishedOnCurrentView && hasMoreViews ? 'partial' : currentViewSelectionState;
|
|
98
|
-
onChange(value, globalSelectionState);
|
|
99
|
-
if
|
|
98
|
+
onChange(value, globalSelectionState, selectedView);
|
|
99
|
+
// Detects if the selected view is not the active one.
|
|
100
|
+
// Can happen if multiple views are displayed, like in `DesktopDateTimePicker` or `MultiSectionDigitalClock`.
|
|
101
|
+
if (selectedView && selectedView !== view) {
|
|
102
|
+
const nextViewAfterSelected = views[views.indexOf(selectedView) + 1];
|
|
103
|
+
if (nextViewAfterSelected) {
|
|
104
|
+
// move to next view after the selected one
|
|
105
|
+
handleChangeView(nextViewAfterSelected);
|
|
106
|
+
}
|
|
107
|
+
} else if (isSelectionFinishedOnCurrentView) {
|
|
100
108
|
goToNextView();
|
|
101
109
|
}
|
|
102
110
|
});
|
|
103
|
-
const setValueAndGoToView = (0, _useEventCallback.default)((value, newView, selectedView) => {
|
|
104
|
-
onChange(value, newView ? 'partial' : 'finish', selectedView);
|
|
105
|
-
if (newView) {
|
|
106
|
-
handleChangeView(newView);
|
|
107
|
-
handleFocusedViewChange(newView, true);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
111
|
return {
|
|
111
112
|
view,
|
|
112
113
|
setView: handleChangeView,
|
|
@@ -117,7 +118,6 @@ function useViews({
|
|
|
117
118
|
// Always return up to date default view instead of the initial one (i.e. defaultView.current)
|
|
118
119
|
defaultView: views.includes(openTo) ? openTo : views[0],
|
|
119
120
|
goToNextView,
|
|
120
|
-
setValueAndGoToNextView
|
|
121
|
-
setValueAndGoToView
|
|
121
|
+
setValueAndGoToNextView
|
|
122
122
|
};
|
|
123
123
|
}
|
package/node/locales/ruRU.js
CHANGED
|
@@ -48,8 +48,7 @@ const ruRUPickers = {
|
|
|
48
48
|
// Open picker labels
|
|
49
49
|
openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Выберите дату, выбрана дата ${utils.format(value, 'fullDate')}` : 'Выберите дату',
|
|
50
50
|
openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Выберите время, выбрано время ${utils.format(value, 'fullTime')}` : 'Выберите время',
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
fieldClearLabel: 'Очистить значение',
|
|
53
52
|
// Table labels
|
|
54
53
|
timeTableLabel: 'выбрать время',
|
|
55
54
|
dateTableLabel: 'выбрать дату',
|