@mui/x-date-pickers-pro 6.0.2 → 6.0.4
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 +119 -5
- package/DateRangePicker/DateRangePicker.js +12 -0
- package/DateRangePicker/DateRangePickerToolbar.d.ts +1 -1
- package/DateRangePicker/shared.d.ts +1 -1
- package/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +8 -10
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +8 -8
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +8 -8
- package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +1 -0
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +1 -0
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +1 -0
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -40
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +10 -30
- package/internal/hooks/useEnrichedRangePickerFieldProps.d.ts +53 -0
- package/internal/hooks/useEnrichedRangePickerFieldProps.js +202 -0
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +36 -39
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +10 -29
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +14 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/internal/hooks/useRangePosition.d.ts +4 -0
- package/internal/hooks/useRangePosition.js +16 -1
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -3
- package/internal/hooks/validation/useDateRangeValidation.d.ts +2 -1
- package/internal/hooks/validation/useDateTimeRangeValidation.d.ts +2 -1
- package/internal/hooks/validation/useTimeRangeValidation.d.ts +2 -1
- package/internal/models/dateRange.d.ts +2 -1
- package/internal/models/dateTimeRange.d.ts +2 -1
- package/internal/models/fields.d.ts +8 -3
- package/internal/models/index.d.ts +1 -0
- package/internal/models/index.js +2 -1
- package/internal/models/rangePickerProps.d.ts +17 -0
- package/internal/models/rangePickerProps.js +1 -0
- package/internal/models/timeRange.d.ts +2 -1
- package/internal/utils/releaseInfo.js +1 -1
- package/internal/utils/valueManagers.js +23 -27
- package/legacy/DateRangePicker/DateRangePicker.js +12 -0
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +4 -7
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +13 -2
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -2
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +4 -2
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +4 -2
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +4 -2
- package/legacy/index.js +1 -1
- package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +32 -40
- package/legacy/internal/hooks/useEnrichedRangePickerFieldProps.js +200 -0
- package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +36 -39
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/legacy/internal/hooks/useRangePosition.js +16 -1
- package/legacy/internal/models/index.js +2 -1
- package/legacy/internal/models/rangePickerProps.js +1 -0
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/legacy/internal/utils/valueManagers.js +22 -26
- package/modern/DateRangePicker/DateRangePicker.js +12 -0
- package/modern/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/modern/index.js +1 -1
- package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +30 -38
- package/modern/internal/hooks/useEnrichedRangePickerFieldProps.js +195 -0
- package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +35 -38
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/modern/internal/hooks/useRangePosition.js +16 -1
- package/modern/internal/models/index.js +2 -1
- package/modern/internal/models/rangePickerProps.js +1 -0
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/modern/internal/utils/valueManagers.js +23 -27
- package/node/DateRangePicker/DateRangePicker.js +12 -0
- package/node/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +12 -0
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +12 -0
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +5 -0
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +5 -0
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/node/index.js +1 -1
- package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +29 -37
- package/node/internal/hooks/useEnrichedRangePickerFieldProps.js +205 -0
- package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -37
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/node/internal/hooks/useRangePosition.js +18 -1
- package/node/internal/models/index.js +11 -0
- package/node/internal/models/rangePickerProps.js +5 -0
- package/node/internal/utils/releaseInfo.js +1 -1
- package/node/internal/utils/valueManagers.js +22 -26
- package/package.json +4 -4
- package/internal/hooks/useRangePickerInputProps.d.ts +0 -19
- package/internal/hooks/useRangePickerInputProps.js +0 -89
- package/legacy/internal/hooks/useRangePickerInputProps.js +0 -88
- package/modern/internal/hooks/useRangePickerInputProps.js +0 -86
- package/node/internal/hooks/useRangePickerInputProps.js +0 -96
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { replaceInvalidDateByNull,
|
|
2
|
+
import { replaceInvalidDateByNull, addPositionPropertiesToSections, createDateStrForInputFromSections, areDatesEqual } from '@mui/x-date-pickers/internals';
|
|
3
3
|
import { splitDateRangeSections, removeLastSeparator } from './date-fields-utils';
|
|
4
4
|
export const rangeValueManager = {
|
|
5
5
|
emptyValue: [null, null],
|
|
6
6
|
getTodayValue: utils => [utils.date(), utils.date()],
|
|
7
7
|
cleanValue: (utils, value) => value.map(date => replaceInvalidDateByNull(utils, date)),
|
|
8
|
-
areValuesEqual: (utils, a, b) => utils
|
|
8
|
+
areValuesEqual: (utils, a, b) => areDatesEqual(utils, a[0], b[0]) && areDatesEqual(utils, a[1], b[1]),
|
|
9
9
|
isSameError: (a, b) => b !== null && a[1] === b[1] && a[0] === b[0],
|
|
10
10
|
defaultErrorState: [null, null]
|
|
11
11
|
};
|
|
@@ -24,17 +24,17 @@ export const rangeFieldValueManager = {
|
|
|
24
24
|
}
|
|
25
25
|
return [prevReferenceValue[1], value[1]];
|
|
26
26
|
},
|
|
27
|
-
getSectionsFromValue: (utils,
|
|
28
|
-
const
|
|
27
|
+
getSectionsFromValue: (utils, [start, end], fallbackSections, isRTL, getSectionsFromDate) => {
|
|
28
|
+
const separatedFallbackSections = fallbackSections == null ? {
|
|
29
29
|
startDate: null,
|
|
30
30
|
endDate: null
|
|
31
|
-
} : splitDateRangeSections(
|
|
32
|
-
const getSections = (newDate,
|
|
33
|
-
const shouldReUsePrevDateSections = !utils.isValid(newDate) && !!
|
|
31
|
+
} : splitDateRangeSections(fallbackSections);
|
|
32
|
+
const getSections = (newDate, fallbackDateSections, position) => {
|
|
33
|
+
const shouldReUsePrevDateSections = !utils.isValid(newDate) && !!fallbackDateSections;
|
|
34
34
|
if (shouldReUsePrevDateSections) {
|
|
35
|
-
return
|
|
35
|
+
return fallbackDateSections;
|
|
36
36
|
}
|
|
37
|
-
const sections =
|
|
37
|
+
const sections = getSectionsFromDate(newDate);
|
|
38
38
|
return sections.map((section, sectionIndex) => {
|
|
39
39
|
if (sectionIndex === sections.length - 1 && position === 'start') {
|
|
40
40
|
return _extends({}, section, {
|
|
@@ -47,16 +47,11 @@ export const rangeFieldValueManager = {
|
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
|
-
return addPositionPropertiesToSections([...getSections(start,
|
|
50
|
+
return addPositionPropertiesToSections([...getSections(start, separatedFallbackSections.startDate, 'start'), ...getSections(end, separatedFallbackSections.endDate, 'end')], isRTL);
|
|
51
51
|
},
|
|
52
|
-
getValueStrFromSections: sections => {
|
|
52
|
+
getValueStrFromSections: (sections, isRTL) => {
|
|
53
53
|
const dateRangeSections = splitDateRangeSections(sections);
|
|
54
|
-
return createDateStrForInputFromSections([...dateRangeSections.startDate, ...dateRangeSections.endDate]);
|
|
55
|
-
},
|
|
56
|
-
getActiveDateSections: (sections, activeSection) => {
|
|
57
|
-
const index = activeSection.dateName === 'start' ? 0 : 1;
|
|
58
|
-
const dateRangeSections = splitDateRangeSections(sections);
|
|
59
|
-
return index === 0 ? removeLastSeparator(dateRangeSections.startDate) : dateRangeSections.endDate;
|
|
54
|
+
return createDateStrForInputFromSections([...dateRangeSections.startDate, ...dateRangeSections.endDate], isRTL);
|
|
60
55
|
},
|
|
61
56
|
parseValueStr: (valueStr, referenceValue, parseDate) => {
|
|
62
57
|
// TODO: Improve because it would not work if the date format has `–` as a separator.
|
|
@@ -72,19 +67,20 @@ export const rangeFieldValueManager = {
|
|
|
72
67
|
const index = activeSection.dateName === 'start' ? 0 : 1;
|
|
73
68
|
const updateDateInRange = (newDate, prevDateRange) => index === 0 ? [newDate, prevDateRange[1]] : [prevDateRange[0], newDate];
|
|
74
69
|
return {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
date: state.value[index],
|
|
71
|
+
referenceDate: state.referenceValue[index],
|
|
72
|
+
getSections: sections => {
|
|
73
|
+
const dateRangeSections = splitDateRangeSections(sections);
|
|
74
|
+
if (index === 0) {
|
|
75
|
+
return removeLastSeparator(dateRangeSections.startDate);
|
|
76
|
+
}
|
|
77
|
+
return dateRangeSections.endDate;
|
|
78
|
+
},
|
|
79
|
+
getNewValuesFromNewActiveDate: newActiveDate => ({
|
|
78
80
|
value: updateDateInRange(newActiveDate, state.value),
|
|
79
81
|
referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
|
|
80
82
|
})
|
|
81
83
|
};
|
|
82
84
|
},
|
|
83
|
-
hasError: error => error[0] != null || error[1] != null
|
|
84
|
-
getSectionOrder: (utils, localeText, format, isRTL) => {
|
|
85
|
-
const splitedFormat = splitFormatIntoSections(utils, localeText, format, null);
|
|
86
|
-
return getSectionOrder([...splitedFormat.slice(0, splitedFormat.length - 1), _extends({}, splitedFormat[splitedFormat.length - 1], {
|
|
87
|
-
endSeparator: ' – '
|
|
88
|
-
}), ...splitedFormat], isRTL);
|
|
89
|
-
}
|
|
85
|
+
hasError: error => error[0] != null || error[1] != null
|
|
90
86
|
};
|
|
@@ -157,6 +157,18 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
|
|
|
157
157
|
* Defaults to localized format based on the used `views`.
|
|
158
158
|
*/
|
|
159
159
|
format: _propTypes.default.string,
|
|
160
|
+
/**
|
|
161
|
+
* Pass a ref to the `input` element.
|
|
162
|
+
* Ignored if the field has several inputs.
|
|
163
|
+
*/
|
|
164
|
+
inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
165
|
+
current: _propTypes.default.object
|
|
166
|
+
})]),
|
|
167
|
+
/**
|
|
168
|
+
* The label content.
|
|
169
|
+
* Ignored if the field has several inputs.
|
|
170
|
+
*/
|
|
171
|
+
label: _propTypes.default.node,
|
|
160
172
|
/**
|
|
161
173
|
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
162
174
|
* Can be used to preload information and show it in calendar.
|
|
@@ -89,7 +89,7 @@ const DateRangePickerDayRoot = (0, _styles.styled)('div', {
|
|
|
89
89
|
}, ownerState.isHighlighting && {
|
|
90
90
|
borderRadius: 0,
|
|
91
91
|
color: (theme.vars || theme).palette.primary.contrastText,
|
|
92
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.
|
|
92
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.focusOpacity),
|
|
93
93
|
'&:first-of-type': startBorderStyle,
|
|
94
94
|
'&:last-of-type': endBorderStyle
|
|
95
95
|
}, (ownerState.isStartOfHighlighting || ownerState.isFirstVisibleCell) && (0, _extends2.default)({}, startBorderStyle, {
|
|
@@ -148,7 +148,6 @@ const DateRangePickerDayDay = (0, _styles.styled)(_PickersDay.PickersDay, {
|
|
|
148
148
|
[`&.${_dateRangePickerDayClasses.dateRangePickerDayClasses.notSelectedDate}`]: styles.notSelectedDate
|
|
149
149
|
}, styles.day]
|
|
150
150
|
})(({
|
|
151
|
-
theme,
|
|
152
151
|
ownerState
|
|
153
152
|
}) => (0, _extends2.default)({
|
|
154
153
|
// Required to overlap preview border
|
|
@@ -156,12 +155,10 @@ const DateRangePickerDayDay = (0, _styles.styled)(_PickersDay.PickersDay, {
|
|
|
156
155
|
'& > *': {
|
|
157
156
|
transform: 'scale(0.9)'
|
|
158
157
|
}
|
|
159
|
-
}, !ownerState.selected && {
|
|
160
|
-
backgroundColor: 'transparent'
|
|
161
158
|
}, !ownerState.selected && ownerState.isHighlighting && {
|
|
162
|
-
|
|
159
|
+
opacity: 0.7,
|
|
163
160
|
[`&.${_PickersDay.pickersDayClasses.dayOutsideMonth}`]: {
|
|
164
|
-
|
|
161
|
+
opacity: 0.4
|
|
165
162
|
}
|
|
166
163
|
}, ownerState.draggable && {
|
|
167
164
|
cursor: 'grab'
|
|
@@ -161,6 +161,18 @@ DesktopDateRangePicker.propTypes = {
|
|
|
161
161
|
* Defaults to localized format based on the used `views`.
|
|
162
162
|
*/
|
|
163
163
|
format: _propTypes.default.string,
|
|
164
|
+
/**
|
|
165
|
+
* Pass a ref to the `input` element.
|
|
166
|
+
* Ignored if the field has several inputs.
|
|
167
|
+
*/
|
|
168
|
+
inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
169
|
+
current: _propTypes.default.object
|
|
170
|
+
})]),
|
|
171
|
+
/**
|
|
172
|
+
* The label content.
|
|
173
|
+
* Ignored if the field has several inputs.
|
|
174
|
+
*/
|
|
175
|
+
label: _propTypes.default.node,
|
|
164
176
|
/**
|
|
165
177
|
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
166
178
|
* Can be used to preload information and show it in calendar.
|
|
@@ -164,6 +164,18 @@ MobileDateRangePicker.propTypes = {
|
|
|
164
164
|
* Defaults to localized format based on the used `views`.
|
|
165
165
|
*/
|
|
166
166
|
format: _propTypes.default.string,
|
|
167
|
+
/**
|
|
168
|
+
* Pass a ref to the `input` element.
|
|
169
|
+
* Ignored if the field has several inputs.
|
|
170
|
+
*/
|
|
171
|
+
inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
172
|
+
current: _propTypes.default.object
|
|
173
|
+
})]),
|
|
174
|
+
/**
|
|
175
|
+
* The label content.
|
|
176
|
+
* Ignored if the field has several inputs.
|
|
177
|
+
*/
|
|
178
|
+
label: _propTypes.default.node,
|
|
167
179
|
/**
|
|
168
180
|
* If `true`, calls `renderLoading` instead of rendering the day calendar.
|
|
169
181
|
* Can be used to preload information and show it in calendar.
|
|
@@ -292,6 +292,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
292
292
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
293
293
|
*/
|
|
294
294
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
295
|
+
unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
296
|
+
unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
295
297
|
/**
|
|
296
298
|
* The selected value.
|
|
297
299
|
* Used when the component is controlled.
|
|
@@ -17,7 +17,7 @@ var _utils = require("@mui/base/utils");
|
|
|
17
17
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
18
18
|
var _useMultiInputDateTimeRangeField = require("../internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
|
|
20
|
+
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
|
|
21
21
|
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
22
22
|
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
23
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -69,7 +69,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
69
69
|
disableFuture,
|
|
70
70
|
disablePast,
|
|
71
71
|
selectedSections,
|
|
72
|
-
onSelectedSectionsChange
|
|
72
|
+
onSelectedSectionsChange,
|
|
73
|
+
unstableStartFieldRef,
|
|
74
|
+
unstableEndFieldRef,
|
|
75
|
+
autoFocus
|
|
73
76
|
} = themeProps,
|
|
74
77
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
75
78
|
const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
|
|
@@ -89,6 +92,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
89
92
|
const startTextFieldProps = (0, _utils.useSlotProps)({
|
|
90
93
|
elementType: TextField,
|
|
91
94
|
externalSlotProps: slotProps?.textField,
|
|
95
|
+
additionalProps: {
|
|
96
|
+
autoFocus
|
|
97
|
+
},
|
|
92
98
|
ownerState: (0, _extends2.default)({}, ownerState, {
|
|
93
99
|
position: 'start'
|
|
94
100
|
})
|
|
@@ -133,7 +139,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
133
139
|
startTextFieldProps,
|
|
134
140
|
endTextFieldProps,
|
|
135
141
|
startInputRef: startTextFieldProps.inputRef,
|
|
136
|
-
|
|
142
|
+
unstableStartFieldRef,
|
|
143
|
+
endInputRef: endTextFieldProps.inputRef,
|
|
144
|
+
unstableEndFieldRef
|
|
137
145
|
}),
|
|
138
146
|
{
|
|
139
147
|
startDate: {
|
|
@@ -184,6 +192,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
184
192
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
185
193
|
*/
|
|
186
194
|
ampm: _propTypes.default.bool,
|
|
195
|
+
autoFocus: _propTypes.default.bool,
|
|
187
196
|
className: _propTypes.default.string,
|
|
188
197
|
/**
|
|
189
198
|
* Overridable components.
|
|
@@ -349,6 +358,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
349
358
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
350
359
|
*/
|
|
351
360
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
361
|
+
unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
362
|
+
unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
352
363
|
/**
|
|
353
364
|
* The selected value.
|
|
354
365
|
* Used when the component is controlled.
|
|
@@ -17,7 +17,7 @@ var _utils = require("@mui/base/utils");
|
|
|
17
17
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
18
18
|
var _useMultiInputTimeRangeField = require("../internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
|
|
20
|
+
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
|
|
21
21
|
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
22
22
|
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
23
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -64,7 +64,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
64
64
|
disableFuture,
|
|
65
65
|
disablePast,
|
|
66
66
|
selectedSections,
|
|
67
|
-
onSelectedSectionsChange
|
|
67
|
+
onSelectedSectionsChange,
|
|
68
|
+
unstableStartFieldRef,
|
|
69
|
+
unstableEndFieldRef,
|
|
70
|
+
autoFocus
|
|
68
71
|
} = themeProps,
|
|
69
72
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
70
73
|
const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
|
|
@@ -84,6 +87,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
84
87
|
const startTextFieldProps = (0, _utils.useSlotProps)({
|
|
85
88
|
elementType: TextField,
|
|
86
89
|
externalSlotProps: slotProps?.textField,
|
|
90
|
+
additionalProps: {
|
|
91
|
+
autoFocus
|
|
92
|
+
},
|
|
87
93
|
ownerState: (0, _extends2.default)({}, ownerState, {
|
|
88
94
|
position: 'start'
|
|
89
95
|
})
|
|
@@ -123,7 +129,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
123
129
|
startTextFieldProps,
|
|
124
130
|
endTextFieldProps,
|
|
125
131
|
startInputRef: startTextFieldProps.inputRef,
|
|
126
|
-
|
|
132
|
+
unstableStartFieldRef,
|
|
133
|
+
endInputRef: endTextFieldProps.inputRef,
|
|
134
|
+
unstableEndFieldRef
|
|
127
135
|
}),
|
|
128
136
|
{
|
|
129
137
|
startDate: {
|
|
@@ -174,6 +182,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
174
182
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
175
183
|
*/
|
|
176
184
|
ampm: _propTypes.default.bool,
|
|
185
|
+
autoFocus: _propTypes.default.bool,
|
|
177
186
|
className: _propTypes.default.string,
|
|
178
187
|
/**
|
|
179
188
|
* Overridable components.
|
|
@@ -315,6 +324,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
315
324
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
316
325
|
*/
|
|
317
326
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
327
|
+
unstableEndFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
328
|
+
unstableStartFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
318
329
|
/**
|
|
319
330
|
* The selected value.
|
|
320
331
|
* Used when the component is controlled.
|
|
@@ -61,6 +61,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
61
61
|
}));
|
|
62
62
|
});
|
|
63
63
|
exports.SingleInputDateRangeField = SingleInputDateRangeField;
|
|
64
|
+
SingleInputDateRangeField.fieldType = 'single-input';
|
|
64
65
|
process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
65
66
|
// ----------------------------- Warning --------------------------------
|
|
66
67
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -260,6 +261,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
260
261
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
261
262
|
*/
|
|
262
263
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
264
|
+
/**
|
|
265
|
+
* The ref object used to imperatively interact with the field.
|
|
266
|
+
*/
|
|
267
|
+
unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
263
268
|
/**
|
|
264
269
|
* The selected value.
|
|
265
270
|
* Used when the component is controlled.
|
|
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
11
|
var _valueManagers = require("../internal/utils/valueManagers");
|
|
12
12
|
var _useDateRangeValidation = require("../internal/hooks/validation/useDateRangeValidation");
|
|
13
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
|
|
13
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
14
14
|
const useDefaultizedDateRangeFieldProps = props => {
|
|
15
15
|
const utils = (0, _internals.useUtils)();
|
|
16
16
|
const defaultDates = (0, _internals.useDefaultDates)();
|
|
@@ -41,7 +41,8 @@ const useSingleInputDateRangeField = ({
|
|
|
41
41
|
disableFuture,
|
|
42
42
|
disablePast,
|
|
43
43
|
selectedSections,
|
|
44
|
-
onSelectedSectionsChange
|
|
44
|
+
onSelectedSectionsChange,
|
|
45
|
+
unstableFieldRef
|
|
45
46
|
} = _useDefaultizedDateRa,
|
|
46
47
|
other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedDateRa, _excluded);
|
|
47
48
|
return (0, _internals.useField)({
|
|
@@ -60,7 +61,8 @@ const useSingleInputDateRangeField = ({
|
|
|
60
61
|
disableFuture,
|
|
61
62
|
disablePast,
|
|
62
63
|
selectedSections,
|
|
63
|
-
onSelectedSectionsChange
|
|
64
|
+
onSelectedSectionsChange,
|
|
65
|
+
unstableFieldRef
|
|
64
66
|
},
|
|
65
67
|
valueManager: _valueManagers.rangeValueManager,
|
|
66
68
|
fieldValueManager: _valueManagers.rangeFieldValueManager,
|
|
@@ -61,6 +61,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
61
61
|
}));
|
|
62
62
|
});
|
|
63
63
|
exports.SingleInputDateTimeRangeField = SingleInputDateTimeRangeField;
|
|
64
|
+
SingleInputDateTimeRangeField.fieldType = 'single-input';
|
|
64
65
|
process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
|
|
65
66
|
// ----------------------------- Warning --------------------------------
|
|
66
67
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -308,6 +309,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
308
309
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
309
310
|
*/
|
|
310
311
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
312
|
+
/**
|
|
313
|
+
* The ref object used to imperatively interact with the field.
|
|
314
|
+
*/
|
|
315
|
+
unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
311
316
|
/**
|
|
312
317
|
* The selected value.
|
|
313
318
|
* Used when the component is controlled.
|
|
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
11
|
var _valueManagers = require("../internal/utils/valueManagers");
|
|
12
12
|
var _useDateTimeRangeValidation = require("../internal/hooks/validation/useDateTimeRangeValidation");
|
|
13
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange"];
|
|
13
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
14
14
|
const useDefaultizedTimeRangeFieldProps = props => {
|
|
15
15
|
const utils = (0, _internals.useUtils)();
|
|
16
16
|
const defaultDates = (0, _internals.useDefaultDates)();
|
|
@@ -51,7 +51,8 @@ const useSingleInputDateTimeRangeField = ({
|
|
|
51
51
|
shouldDisableTime,
|
|
52
52
|
disableIgnoringDatePartForTimeValidation,
|
|
53
53
|
selectedSections,
|
|
54
|
-
onSelectedSectionsChange
|
|
54
|
+
onSelectedSectionsChange,
|
|
55
|
+
unstableFieldRef
|
|
55
56
|
} = _useDefaultizedTimeRa,
|
|
56
57
|
other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedTimeRa, _excluded);
|
|
57
58
|
return (0, _internals.useField)({
|
|
@@ -75,7 +76,8 @@ const useSingleInputDateTimeRangeField = ({
|
|
|
75
76
|
shouldDisableTime,
|
|
76
77
|
disableIgnoringDatePartForTimeValidation,
|
|
77
78
|
selectedSections,
|
|
78
|
-
onSelectedSectionsChange
|
|
79
|
+
onSelectedSectionsChange,
|
|
80
|
+
unstableFieldRef
|
|
79
81
|
},
|
|
80
82
|
valueManager: _valueManagers.rangeValueManager,
|
|
81
83
|
fieldValueManager: _valueManagers.rangeFieldValueManager,
|
|
@@ -61,6 +61,7 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
61
61
|
}));
|
|
62
62
|
});
|
|
63
63
|
exports.SingleInputTimeRangeField = SingleInputTimeRangeField;
|
|
64
|
+
SingleInputTimeRangeField.fieldType = 'single-input';
|
|
64
65
|
process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
65
66
|
// ----------------------------- Warning --------------------------------
|
|
66
67
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -284,6 +285,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
284
285
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
285
286
|
*/
|
|
286
287
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
288
|
+
/**
|
|
289
|
+
* The ref object used to imperatively interact with the field.
|
|
290
|
+
*/
|
|
291
|
+
unstableFieldRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
287
292
|
/**
|
|
288
293
|
* The selected value.
|
|
289
294
|
* Used when the component is controlled.
|
|
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
11
11
|
var _valueManagers = require("../internal/utils/valueManagers");
|
|
12
12
|
var _useTimeRangeValidation = require("../internal/hooks/validation/useTimeRangeValidation");
|
|
13
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
|
|
13
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
14
14
|
const useDefaultizedTimeRangeFieldProps = props => {
|
|
15
15
|
const utils = (0, _internals.useUtils)();
|
|
16
16
|
const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
|
|
@@ -41,7 +41,8 @@ const useSingleInputTimeRangeField = ({
|
|
|
41
41
|
disableFuture,
|
|
42
42
|
disablePast,
|
|
43
43
|
selectedSections,
|
|
44
|
-
onSelectedSectionsChange
|
|
44
|
+
onSelectedSectionsChange,
|
|
45
|
+
unstableFieldRef
|
|
45
46
|
} = _useDefaultizedTimeRa,
|
|
46
47
|
other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedTimeRa, _excluded);
|
|
47
48
|
return (0, _internals.useField)({
|
|
@@ -61,7 +62,8 @@ const useSingleInputTimeRangeField = ({
|
|
|
61
62
|
disableFuture,
|
|
62
63
|
disablePast,
|
|
63
64
|
selectedSections,
|
|
64
|
-
onSelectedSectionsChange
|
|
65
|
+
onSelectedSectionsChange,
|
|
66
|
+
unstableFieldRef
|
|
65
67
|
},
|
|
66
68
|
valueManager: _valueManagers.rangeValueManager,
|
|
67
69
|
fieldValueManager: _valueManagers.rangeFieldValueManager,
|
package/node/index.js
CHANGED
|
@@ -12,7 +12,7 @@ var _xLicensePro = require("@mui/x-license-pro");
|
|
|
12
12
|
var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
|
|
13
13
|
var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
|
|
14
14
|
var _internals = require("@mui/x-date-pickers/internals");
|
|
15
|
-
var
|
|
15
|
+
var _useEnrichedRangePickerFieldProps = require("../useEnrichedRangePickerFieldProps");
|
|
16
16
|
var _releaseInfo = require("../../utils/releaseInfo");
|
|
17
17
|
var _useRangePosition = require("../useRangePosition");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -31,17 +31,20 @@ const useDesktopRangePicker = ({
|
|
|
31
31
|
className,
|
|
32
32
|
sx,
|
|
33
33
|
format,
|
|
34
|
+
label,
|
|
35
|
+
inputRef,
|
|
34
36
|
readOnly,
|
|
35
37
|
disabled,
|
|
36
38
|
autoFocus,
|
|
37
39
|
disableOpenPicker,
|
|
38
40
|
localeText
|
|
39
41
|
} = props;
|
|
40
|
-
const
|
|
42
|
+
const fieldContainerRef = React.useRef(null);
|
|
41
43
|
const popperRef = React.useRef(null);
|
|
42
44
|
const {
|
|
43
45
|
rangePosition,
|
|
44
|
-
onRangePositionChange
|
|
46
|
+
onRangePositionChange,
|
|
47
|
+
singleInputFieldRef
|
|
45
48
|
} = (0, _useRangePosition.useRangePosition)(props);
|
|
46
49
|
const {
|
|
47
50
|
open,
|
|
@@ -63,25 +66,14 @@ const useDesktopRangePicker = ({
|
|
|
63
66
|
});
|
|
64
67
|
const handleBlur = () => {
|
|
65
68
|
(0, _internals.executeInTheNextEventLoopTick)(() => {
|
|
66
|
-
if (
|
|
69
|
+
if (fieldContainerRef.current?.contains((0, _internals.getActiveElement)(document)) || popperRef.current?.contains((0, _internals.getActiveElement)(document))) {
|
|
67
70
|
return;
|
|
68
71
|
}
|
|
69
72
|
actions.onDismiss();
|
|
70
73
|
});
|
|
71
74
|
};
|
|
72
|
-
const fieldSlotProps = (0, _useRangePickerInputProps.useRangePickerInputProps)({
|
|
73
|
-
wrapperVariant: 'desktop',
|
|
74
|
-
open,
|
|
75
|
-
actions,
|
|
76
|
-
readOnly,
|
|
77
|
-
disabled,
|
|
78
|
-
disableOpenPicker,
|
|
79
|
-
localeText,
|
|
80
|
-
onBlur: handleBlur,
|
|
81
|
-
rangePosition,
|
|
82
|
-
onRangePositionChange
|
|
83
|
-
});
|
|
84
75
|
const Field = slots.field;
|
|
76
|
+
const fieldType = Field.fieldType ?? 'multi-input';
|
|
85
77
|
const fieldProps = (0, _utils.useSlotProps)({
|
|
86
78
|
elementType: Field,
|
|
87
79
|
externalSlotProps: slotProps?.field,
|
|
@@ -92,25 +84,28 @@ const useDesktopRangePicker = ({
|
|
|
92
84
|
sx,
|
|
93
85
|
format,
|
|
94
86
|
autoFocus: autoFocus && !props.open,
|
|
95
|
-
ref:
|
|
87
|
+
ref: fieldContainerRef
|
|
88
|
+
}, fieldType === 'single-input' && {
|
|
89
|
+
inputRef
|
|
96
90
|
}),
|
|
97
91
|
ownerState: props
|
|
98
92
|
});
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
93
|
+
const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
|
|
94
|
+
wrapperVariant: 'desktop',
|
|
95
|
+
fieldType,
|
|
96
|
+
open,
|
|
97
|
+
actions,
|
|
98
|
+
readOnly,
|
|
99
|
+
disableOpenPicker,
|
|
100
|
+
label,
|
|
101
|
+
localeText,
|
|
102
|
+
onBlur: handleBlur,
|
|
103
|
+
rangePosition,
|
|
104
|
+
onRangePositionChange,
|
|
105
|
+
singleInputFieldRef,
|
|
106
|
+
pickerSlotProps: slotProps,
|
|
107
|
+
pickerSlots: slots,
|
|
108
|
+
fieldProps
|
|
114
109
|
});
|
|
115
110
|
const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
|
|
116
111
|
toolbar: (0, _extends2.default)({}, slotProps?.toolbar, {
|
|
@@ -121,13 +116,10 @@ const useDesktopRangePicker = ({
|
|
|
121
116
|
const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
|
|
122
117
|
const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_LocalizationProvider.LocalizationProvider, {
|
|
123
118
|
localeText: localeText,
|
|
124
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({},
|
|
125
|
-
slots: slotsForField,
|
|
126
|
-
slotProps: slotPropsForField
|
|
127
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, (0, _extends2.default)({
|
|
119
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, (0, _extends2.default)({
|
|
128
120
|
role: "tooltip",
|
|
129
121
|
containerRef: popperRef,
|
|
130
|
-
anchorEl:
|
|
122
|
+
anchorEl: fieldContainerRef.current,
|
|
131
123
|
onBlur: handleBlur
|
|
132
124
|
}, actions, {
|
|
133
125
|
open: open,
|