@mui/x-date-pickers-pro 7.0.0-alpha.3 → 7.0.0-alpha.5
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 +245 -0
- package/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +6 -6
- package/DateRangeCalendar/index.d.ts +1 -1
- package/DateRangePicker/DateRangePicker.js +6 -1
- package/DateRangePicker/DateRangePicker.types.d.ts +6 -6
- package/DateRangePicker/index.d.ts +1 -1
- package/DateRangePicker/shared.d.ts +5 -5
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -6
- package/DesktopDateRangePicker/index.d.ts +1 -1
- package/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -6
- package/MobileDateRangePicker/index.d.ts +1 -1
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -4
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +4 -4
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +4 -4
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -9
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -2
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +5 -9
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -2
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +5 -9
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -2
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -6
- package/StaticDateRangePicker/index.d.ts +1 -1
- package/index.js +1 -1
- package/internals/hooks/useDesktopRangePicker/index.d.ts +1 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -7
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -5
- package/internals/hooks/useMobileRangePicker/index.d.ts +1 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -7
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -2
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/internals/hooks/useStaticRangePicker/index.d.ts +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -5
- package/internals/models/rangePickerProps.d.ts +5 -0
- package/internals/utils/releaseInfo.js +1 -1
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/legacy/DateRangePicker/DateRangePicker.js +6 -1
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -48
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -48
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -48
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -47
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -4
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -47
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -4
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -48
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -4
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/legacy/internals/utils/releaseInfo.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/modern/DateRangePicker/DateRangePicker.js +6 -1
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/node/DateRangePicker/DateRangePicker.js +6 -1
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -51
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -51
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -51
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/node/index.js +1 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/node/internals/utils/releaseInfo.js +1 -1
- package/package.json +6 -6
|
@@ -25,15 +25,15 @@ export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateR
|
|
|
25
25
|
* Overridable component slots.
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
|
-
slots?:
|
|
28
|
+
slots?: MultiInputDateRangeFieldSlots;
|
|
29
29
|
/**
|
|
30
30
|
* The props used for each component slot.
|
|
31
31
|
* @default {}
|
|
32
32
|
*/
|
|
33
|
-
slotProps?:
|
|
33
|
+
slotProps?: MultiInputDateRangeFieldSlotProps<TDate>;
|
|
34
34
|
}
|
|
35
35
|
export type MultiInputDateRangeFieldOwnerState<TDate> = MultiInputDateRangeFieldProps<TDate>;
|
|
36
|
-
export interface
|
|
36
|
+
export interface MultiInputDateRangeFieldSlots {
|
|
37
37
|
/**
|
|
38
38
|
* Element rendered at the root.
|
|
39
39
|
* @default MultiInputDateRangeFieldRoot
|
|
@@ -52,7 +52,7 @@ export interface MultiInputDateRangeFieldSlotsComponent {
|
|
|
52
52
|
*/
|
|
53
53
|
separator?: React.ElementType;
|
|
54
54
|
}
|
|
55
|
-
export interface
|
|
55
|
+
export interface MultiInputDateRangeFieldSlotProps<TDate> {
|
|
56
56
|
root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldOwnerState<TDate>>;
|
|
57
57
|
textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldOwnerState<TDate> & {
|
|
58
58
|
position: RangePosition;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"]
|
|
4
|
-
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
5
|
-
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import clsx from 'clsx';
|
|
@@ -12,7 +10,7 @@ import Typography from '@mui/material/Typography';
|
|
|
12
10
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
13
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
14
12
|
import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
15
|
-
import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
|
|
13
|
+
import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
16
14
|
import { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
|
|
17
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -116,58 +114,23 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
116
114
|
ownerState,
|
|
117
115
|
className: classes.separator
|
|
118
116
|
});
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}),
|
|
123
|
-
startTextFieldProps,
|
|
124
|
-
endTextFieldProps,
|
|
125
|
-
startInputRef: startTextFieldProps.inputRef,
|
|
126
|
-
unstableStartFieldRef,
|
|
127
|
-
endInputRef: endTextFieldProps.inputRef,
|
|
128
|
-
unstableEndFieldRef
|
|
117
|
+
const fieldResponse = useMultiInputDateTimeRangeField({
|
|
118
|
+
sharedProps: _extends({}, dateTimeFieldInternalProps, {
|
|
119
|
+
disabled
|
|
129
120
|
}),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
endDate: {
|
|
138
|
-
onKeyDown: onEndInputKeyDown,
|
|
139
|
-
ref: endInputRef,
|
|
140
|
-
readOnly: endReadOnly,
|
|
141
|
-
inputMode: endInputMode
|
|
142
|
-
}
|
|
143
|
-
} = _useMultiInputDateTim,
|
|
144
|
-
startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateTim.startDate, _excluded3),
|
|
145
|
-
endDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateTim.endDate, _excluded2);
|
|
121
|
+
startTextFieldProps,
|
|
122
|
+
endTextFieldProps,
|
|
123
|
+
unstableStartFieldRef,
|
|
124
|
+
unstableEndFieldRef
|
|
125
|
+
});
|
|
126
|
+
const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
|
|
127
|
+
const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
|
|
146
128
|
return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
|
|
147
129
|
children: [/*#__PURE__*/_jsx(TextField, _extends({
|
|
148
130
|
fullWidth: true
|
|
149
|
-
}, startDateProps, {
|
|
150
|
-
InputProps: _extends({}, startDateProps.InputProps, {
|
|
151
|
-
readOnly: startReadOnly
|
|
152
|
-
}),
|
|
153
|
-
inputProps: _extends({}, startDateProps.inputProps, {
|
|
154
|
-
ref: startInputRef,
|
|
155
|
-
inputMode: startInputMode,
|
|
156
|
-
onKeyDown: onStartInputKeyDown
|
|
157
|
-
})
|
|
158
|
-
})), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
|
|
131
|
+
}, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
|
|
159
132
|
fullWidth: true
|
|
160
|
-
}, endDateProps
|
|
161
|
-
InputProps: _extends({}, endDateProps.InputProps, {
|
|
162
|
-
readOnly: endReadOnly
|
|
163
|
-
}),
|
|
164
|
-
inputProps: _extends({}, endDateProps.inputProps, {
|
|
165
|
-
ref: endInputRef,
|
|
166
|
-
readOnly: endReadOnly,
|
|
167
|
-
inputMode: endInputMode,
|
|
168
|
-
onKeyDown: onEndInputKeyDown
|
|
169
|
-
})
|
|
170
|
-
}))]
|
|
133
|
+
}, endDateProps))]
|
|
171
134
|
}));
|
|
172
135
|
});
|
|
173
136
|
process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
|
|
@@ -304,7 +267,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
304
267
|
* 4. If `null` is provided, no section will be selected
|
|
305
268
|
* If not provided, the selected sections will be handled internally.
|
|
306
269
|
*/
|
|
307
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
270
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
308
271
|
endIndex: PropTypes.number.isRequired,
|
|
309
272
|
startIndex: PropTypes.number.isRequired
|
|
310
273
|
})]),
|
|
@@ -25,15 +25,15 @@ export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputD
|
|
|
25
25
|
* Overridable component slots.
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
|
-
slots?:
|
|
28
|
+
slots?: MultiInputDateTimeRangeFieldSlots;
|
|
29
29
|
/**
|
|
30
30
|
* The props used for each component slot.
|
|
31
31
|
* @default {}
|
|
32
32
|
*/
|
|
33
|
-
slotProps?:
|
|
33
|
+
slotProps?: MultiInputDateTimeRangeFieldSlotProps<TDate>;
|
|
34
34
|
}
|
|
35
35
|
export type MultiInputDateTimeRangeFieldOwnerState<TDate> = MultiInputDateTimeRangeFieldProps<TDate>;
|
|
36
|
-
export interface
|
|
36
|
+
export interface MultiInputDateTimeRangeFieldSlots {
|
|
37
37
|
/**
|
|
38
38
|
* Element rendered at the root.
|
|
39
39
|
* @default MultiInputDateTimeRangeFieldRoot
|
|
@@ -52,7 +52,7 @@ export interface MultiInputDateTimeRangeFieldSlotsComponent {
|
|
|
52
52
|
*/
|
|
53
53
|
separator?: React.ElementType;
|
|
54
54
|
}
|
|
55
|
-
export interface
|
|
55
|
+
export interface MultiInputDateTimeRangeFieldSlotProps<TDate> {
|
|
56
56
|
root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldOwnerState<TDate>>;
|
|
57
57
|
textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldOwnerState<TDate> & {
|
|
58
58
|
position: RangePosition;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"]
|
|
4
|
-
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
5
|
-
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import { clsx } from 'clsx';
|
|
@@ -12,7 +10,7 @@ import Typography from '@mui/material/Typography';
|
|
|
12
10
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
13
11
|
import { useSlotProps } from '@mui/base/utils';
|
|
14
12
|
import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
15
|
-
import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
|
|
13
|
+
import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
16
14
|
import { useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
|
|
17
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -116,58 +114,23 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
116
114
|
ownerState,
|
|
117
115
|
className: classes.separator
|
|
118
116
|
});
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}),
|
|
123
|
-
startTextFieldProps,
|
|
124
|
-
endTextFieldProps,
|
|
125
|
-
startInputRef: startTextFieldProps.inputRef,
|
|
126
|
-
unstableStartFieldRef,
|
|
127
|
-
endInputRef: endTextFieldProps.inputRef,
|
|
128
|
-
unstableEndFieldRef
|
|
117
|
+
const fieldResponse = useMultiInputTimeRangeField({
|
|
118
|
+
sharedProps: _extends({}, timeFieldInternalProps, {
|
|
119
|
+
disabled
|
|
129
120
|
}),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
endDate: {
|
|
138
|
-
onKeyDown: onEndInputKeyDown,
|
|
139
|
-
ref: endInputRef,
|
|
140
|
-
readOnly: endReadOnly,
|
|
141
|
-
inputMode: endInputMode
|
|
142
|
-
}
|
|
143
|
-
} = _useMultiInputTimeRan,
|
|
144
|
-
startDateProps = _objectWithoutPropertiesLoose(_useMultiInputTimeRan.startDate, _excluded3),
|
|
145
|
-
endDateProps = _objectWithoutPropertiesLoose(_useMultiInputTimeRan.endDate, _excluded2);
|
|
121
|
+
startTextFieldProps,
|
|
122
|
+
endTextFieldProps,
|
|
123
|
+
unstableStartFieldRef,
|
|
124
|
+
unstableEndFieldRef
|
|
125
|
+
});
|
|
126
|
+
const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
|
|
127
|
+
const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
|
|
146
128
|
return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
|
|
147
129
|
children: [/*#__PURE__*/_jsx(TextField, _extends({
|
|
148
130
|
fullWidth: true
|
|
149
|
-
}, startDateProps, {
|
|
150
|
-
InputProps: _extends({}, startDateProps.InputProps, {
|
|
151
|
-
readOnly: startReadOnly
|
|
152
|
-
}),
|
|
153
|
-
inputProps: _extends({}, startDateProps.inputProps, {
|
|
154
|
-
ref: startInputRef,
|
|
155
|
-
inputMode: startInputMode,
|
|
156
|
-
onKeyDown: onStartInputKeyDown
|
|
157
|
-
})
|
|
158
|
-
})), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
|
|
131
|
+
}, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
|
|
159
132
|
fullWidth: true
|
|
160
|
-
}, endDateProps
|
|
161
|
-
InputProps: _extends({}, endDateProps.InputProps, {
|
|
162
|
-
readOnly: endReadOnly
|
|
163
|
-
}),
|
|
164
|
-
inputProps: _extends({}, endDateProps.inputProps, {
|
|
165
|
-
ref: endInputRef,
|
|
166
|
-
readOnly: endReadOnly,
|
|
167
|
-
inputMode: endInputMode,
|
|
168
|
-
onKeyDown: onEndInputKeyDown
|
|
169
|
-
})
|
|
170
|
-
}))]
|
|
133
|
+
}, endDateProps))]
|
|
171
134
|
}));
|
|
172
135
|
});
|
|
173
136
|
process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
@@ -288,7 +251,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
288
251
|
* 4. If `null` is provided, no section will be selected
|
|
289
252
|
* If not provided, the selected sections will be handled internally.
|
|
290
253
|
*/
|
|
291
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
254
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
292
255
|
endIndex: PropTypes.number.isRequired,
|
|
293
256
|
startIndex: PropTypes.number.isRequired
|
|
294
257
|
})]),
|
|
@@ -25,15 +25,15 @@ export interface MultiInputTimeRangeFieldProps<TDate> extends UseMultiInputTimeR
|
|
|
25
25
|
* Overridable slots.
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
|
-
slots?:
|
|
28
|
+
slots?: MultiInputTimeRangeFieldSlots;
|
|
29
29
|
/**
|
|
30
30
|
* The props used for each component slot.
|
|
31
31
|
* @default {}
|
|
32
32
|
*/
|
|
33
|
-
slotProps?:
|
|
33
|
+
slotProps?: MultiInputTimeRangeFieldSlotProps<TDate>;
|
|
34
34
|
}
|
|
35
35
|
export type MultiInputTimeRangeFieldOwnerState<TDate> = MultiInputTimeRangeFieldProps<TDate>;
|
|
36
|
-
export interface
|
|
36
|
+
export interface MultiInputTimeRangeFieldSlots {
|
|
37
37
|
/**
|
|
38
38
|
* Element rendered at the root.
|
|
39
39
|
* @default MultiInputTimeRangeFieldRoot
|
|
@@ -52,7 +52,7 @@ export interface MultiInputTimeRangeFieldSlotsComponent {
|
|
|
52
52
|
*/
|
|
53
53
|
separator?: React.ElementType;
|
|
54
54
|
}
|
|
55
|
-
export interface
|
|
55
|
+
export interface MultiInputTimeRangeFieldSlotProps<TDate> {
|
|
56
56
|
root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldOwnerState<TDate>>;
|
|
57
57
|
textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldOwnerState<TDate> & {
|
|
58
58
|
position: RangePosition;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
9
7
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
8
|
import { useSlotProps } from '@mui/base/utils';
|
|
11
9
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
10
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
12
11
|
import { refType } from '@mui/utils';
|
|
13
12
|
import { useSingleInputDateRangeField } from './useSingleInputDateRangeField';
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [SingleInputDateRangeField API](https://mui.com/x/api/single-input-date-range-field/)
|
|
24
23
|
*/
|
|
25
|
-
const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps,
|
|
24
|
+
const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, inRef) {
|
|
26
25
|
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
@@ -37,58 +36,26 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
38
|
const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
39
|
+
const textFieldProps = useSlotProps({
|
|
40
|
+
elementType: TextField,
|
|
41
|
+
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
42
|
+
externalForwardedProps: other,
|
|
43
|
+
ownerState,
|
|
44
|
+
additionalProps: {
|
|
45
|
+
ref: inRef
|
|
46
|
+
}
|
|
47
|
+
});
|
|
50
48
|
|
|
51
49
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
50
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
51
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
{
|
|
59
|
-
ref: inputRef,
|
|
60
|
-
onPaste,
|
|
61
|
-
onKeyDown,
|
|
62
|
-
inputMode,
|
|
63
|
-
readOnly,
|
|
64
|
-
clearable,
|
|
65
|
-
onClear
|
|
66
|
-
} = _useSingleInputDateRa,
|
|
67
|
-
fieldProps = _objectWithoutPropertiesLoose(_useSingleInputDateRa, _excluded3);
|
|
68
|
-
const {
|
|
69
|
-
InputProps: ProcessedInputProps,
|
|
70
|
-
fieldProps: processedFieldProps
|
|
71
|
-
} = useClearableField({
|
|
72
|
-
onClear,
|
|
73
|
-
clearable,
|
|
74
|
-
fieldProps,
|
|
75
|
-
InputProps: fieldProps.InputProps,
|
|
52
|
+
const fieldResponse = useSingleInputDateRangeField(textFieldProps);
|
|
53
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
54
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
76
55
|
slots,
|
|
77
56
|
slotProps
|
|
78
|
-
});
|
|
79
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
80
|
-
ref: ref
|
|
81
|
-
}, processedFieldProps, {
|
|
82
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
83
|
-
readOnly
|
|
84
|
-
}),
|
|
85
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
86
|
-
inputMode,
|
|
87
|
-
onPaste,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
ref: inputRef
|
|
90
|
-
})
|
|
91
57
|
}));
|
|
58
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
92
59
|
});
|
|
93
60
|
SingleInputDateRangeField.fieldType = 'single-input';
|
|
94
61
|
process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
@@ -267,7 +234,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
267
234
|
* 4. If `null` is provided, no section will be selected
|
|
268
235
|
* If not provided, the selected sections will be handled internally.
|
|
269
236
|
*/
|
|
270
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
237
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
271
238
|
endIndex: PropTypes.number.isRequired,
|
|
272
239
|
startIndex: PropTypes.number.isRequired
|
|
273
240
|
})]),
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
3
|
import TextField from '@mui/material/TextField';
|
|
4
|
-
import { FieldsTextFieldProps
|
|
4
|
+
import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
5
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
|
|
5
6
|
import { UseDateRangeFieldDefaultizedProps, UseDateRangeFieldProps } from '../internals/models';
|
|
6
|
-
export interface UseSingleInputDateRangeFieldParams<TDate, TChildProps extends {}> {
|
|
7
|
-
props: UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps>;
|
|
8
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
9
|
-
}
|
|
10
7
|
export interface UseSingleInputDateRangeFieldProps<TDate> extends UseDateRangeFieldProps<TDate> {
|
|
11
8
|
}
|
|
12
9
|
export type UseSingleInputDateRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseDateRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
|
|
@@ -16,15 +13,15 @@ export type SingleInputDateRangeFieldProps<TDate, TChildProps extends {} = Field
|
|
|
16
13
|
* Overridable component slots.
|
|
17
14
|
* @default {}
|
|
18
15
|
*/
|
|
19
|
-
slots?:
|
|
16
|
+
slots?: SingleInputDateRangeFieldSlots;
|
|
20
17
|
/**
|
|
21
18
|
* The props used for each component slot.
|
|
22
19
|
* @default {}
|
|
23
20
|
*/
|
|
24
|
-
slotProps?:
|
|
21
|
+
slotProps?: SingleInputDateRangeFieldSlotProps<TDate>;
|
|
25
22
|
};
|
|
26
23
|
export type SingleInputDateRangeFieldOwnerState<TDate> = SingleInputDateRangeFieldProps<TDate>;
|
|
27
|
-
export interface
|
|
24
|
+
export interface SingleInputDateRangeFieldSlots extends UseClearableFieldSlots {
|
|
28
25
|
/**
|
|
29
26
|
* Form control with an input to render the value.
|
|
30
27
|
* Receives the same props as `@mui/material/TextField`.
|
|
@@ -32,6 +29,6 @@ export interface SingleInputDateRangeFieldSlotsComponent extends FieldSlotsCompo
|
|
|
32
29
|
*/
|
|
33
30
|
textField?: React.ElementType;
|
|
34
31
|
}
|
|
35
|
-
export interface
|
|
32
|
+
export interface SingleInputDateRangeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
36
33
|
textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateRangeFieldOwnerState<TDate>>;
|
|
37
34
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSingleInputDateRangeFieldComponentProps, UseSingleInputDateRangeFieldDefaultizedProps, UseSingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
|
|
2
2
|
export declare const useDefaultizedDateRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseSingleInputDateRangeFieldProps<TDate>) => UseSingleInputDateRangeFieldDefaultizedProps<TDate, AdditionalProps>;
|
|
3
|
-
export declare const useSingleInputDateRangeField: <TDate, TChildProps extends {}>(
|
|
3
|
+
export declare const useSingleInputDateRangeField: <TDate, TChildProps extends {}>(inProps: UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputDateRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputDateRangeFieldProps<any>>>;
|
|
@@ -14,17 +14,13 @@ export const useDefaultizedDateRangeFieldProps = props => {
|
|
|
14
14
|
maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
-
export const useSingleInputDateRangeField =
|
|
18
|
-
props: inProps,
|
|
19
|
-
inputRef
|
|
20
|
-
}) => {
|
|
17
|
+
export const useSingleInputDateRangeField = inProps => {
|
|
21
18
|
const props = useDefaultizedDateRangeFieldProps(inProps);
|
|
22
19
|
const {
|
|
23
20
|
forwardedProps,
|
|
24
21
|
internalProps
|
|
25
22
|
} = splitFieldInternalAndForwardedProps(props, 'date');
|
|
26
23
|
return useField({
|
|
27
|
-
inputRef,
|
|
28
24
|
forwardedProps,
|
|
29
25
|
internalProps,
|
|
30
26
|
valueManager: rangeValueManager,
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
9
8
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
9
|
import { useSlotProps } from '@mui/base/utils';
|
|
11
10
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [SingleInputDateTimeRangeField API](https://mui.com/x/api/single-input-date-time-range-field/)
|
|
24
23
|
*/
|
|
25
|
-
const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps,
|
|
24
|
+
const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps, inRef) {
|
|
26
25
|
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
@@ -37,58 +36,26 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
38
|
const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
39
|
+
const textFieldProps = useSlotProps({
|
|
40
|
+
elementType: TextField,
|
|
41
|
+
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
42
|
+
externalForwardedProps: other,
|
|
43
|
+
ownerState,
|
|
44
|
+
additionalProps: {
|
|
45
|
+
ref: inRef
|
|
46
|
+
}
|
|
47
|
+
});
|
|
50
48
|
|
|
51
49
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
50
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
51
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
{
|
|
59
|
-
ref: inputRef,
|
|
60
|
-
onPaste,
|
|
61
|
-
onKeyDown,
|
|
62
|
-
inputMode,
|
|
63
|
-
readOnly,
|
|
64
|
-
clearable,
|
|
65
|
-
onClear
|
|
66
|
-
} = _useSingleInputDateTi,
|
|
67
|
-
fieldProps = _objectWithoutPropertiesLoose(_useSingleInputDateTi, _excluded3);
|
|
68
|
-
const {
|
|
69
|
-
InputProps: ProcessedInputProps,
|
|
70
|
-
fieldProps: processedFieldProps
|
|
71
|
-
} = useClearableField({
|
|
72
|
-
onClear,
|
|
73
|
-
clearable,
|
|
74
|
-
fieldProps,
|
|
75
|
-
InputProps: fieldProps.InputProps,
|
|
52
|
+
const fieldResponse = useSingleInputDateTimeRangeField(textFieldProps);
|
|
53
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
54
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
76
55
|
slots,
|
|
77
56
|
slotProps
|
|
78
|
-
});
|
|
79
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
80
|
-
ref: ref
|
|
81
|
-
}, processedFieldProps, {
|
|
82
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
83
|
-
readOnly
|
|
84
|
-
}),
|
|
85
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
86
|
-
inputMode,
|
|
87
|
-
onPaste,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
ref: inputRef
|
|
90
|
-
})
|
|
91
57
|
}));
|
|
58
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
92
59
|
});
|
|
93
60
|
SingleInputDateTimeRangeField.fieldType = 'single-input';
|
|
94
61
|
process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
|
|
@@ -300,7 +267,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
300
267
|
* 4. If `null` is provided, no section will be selected
|
|
301
268
|
* If not provided, the selected sections will be handled internally.
|
|
302
269
|
*/
|
|
303
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
270
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
304
271
|
endIndex: PropTypes.number.isRequired,
|
|
305
272
|
startIndex: PropTypes.number.isRequired
|
|
306
273
|
})]),
|
|
@@ -2,12 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
3
|
import TextField from '@mui/material/TextField';
|
|
4
4
|
import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals/models/fields';
|
|
5
|
-
import {
|
|
5
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
|
|
6
6
|
import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models';
|
|
7
|
-
export interface UseSingleInputDateTimeRangeFieldParams<TDate, TChildProps extends {}> {
|
|
8
|
-
props: UseSingleInputDateTimeRangeFieldComponentProps<TDate, TChildProps>;
|
|
9
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
10
|
-
}
|
|
11
7
|
export interface UseSingleInputDateTimeRangeFieldProps<TDate> extends UseDateTimeRangeFieldProps<TDate> {
|
|
12
8
|
}
|
|
13
9
|
export type UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
|
|
@@ -17,15 +13,15 @@ export interface SingleInputDateTimeRangeFieldProps<TDate> extends UseSingleInpu
|
|
|
17
13
|
* Overridable component slots.
|
|
18
14
|
* @default {}
|
|
19
15
|
*/
|
|
20
|
-
slots?:
|
|
16
|
+
slots?: SingleInputDateTimeRangeFieldSlots;
|
|
21
17
|
/**
|
|
22
18
|
* The props used for each component slot.
|
|
23
19
|
* @default {}
|
|
24
20
|
*/
|
|
25
|
-
slotProps?:
|
|
21
|
+
slotProps?: SingleInputDateTimeRangeFieldSlotProps<TDate>;
|
|
26
22
|
}
|
|
27
23
|
export type SingleInputDateTimeRangeFieldOwnerState<TDate> = SingleInputDateTimeRangeFieldProps<TDate>;
|
|
28
|
-
export interface
|
|
24
|
+
export interface SingleInputDateTimeRangeFieldSlots extends UseClearableFieldSlots {
|
|
29
25
|
/**
|
|
30
26
|
* Form control with an input to render the value.
|
|
31
27
|
* Receives the same props as `@mui/material/TextField`.
|
|
@@ -33,6 +29,6 @@ export interface SingleInputDateTimeRangeFieldSlotsComponent extends FieldSlotsC
|
|
|
33
29
|
*/
|
|
34
30
|
textField?: React.ElementType;
|
|
35
31
|
}
|
|
36
|
-
export interface
|
|
32
|
+
export interface SingleInputDateTimeRangeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
37
33
|
textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldOwnerState<TDate>>;
|
|
38
34
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSingleInputDateTimeRangeFieldComponentProps, UseSingleInputDateTimeRangeFieldDefaultizedProps, UseSingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
|
|
2
2
|
export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseSingleInputDateTimeRangeFieldProps<TDate>) => UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
|
|
3
|
-
export declare const useSingleInputDateTimeRangeField: <TDate, TChildProps extends {}>(
|
|
3
|
+
export declare const useSingleInputDateTimeRangeField: <TDate, TChildProps extends {}>(inProps: UseSingleInputDateTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputDateTimeRangeFieldProps<any>>>;
|
|
@@ -19,17 +19,13 @@ export const useDefaultizedTimeRangeFieldProps = props => {
|
|
|
19
19
|
disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
-
export const useSingleInputDateTimeRangeField =
|
|
23
|
-
props: inProps,
|
|
24
|
-
inputRef
|
|
25
|
-
}) => {
|
|
22
|
+
export const useSingleInputDateTimeRangeField = inProps => {
|
|
26
23
|
const props = useDefaultizedTimeRangeFieldProps(inProps);
|
|
27
24
|
const {
|
|
28
25
|
forwardedProps,
|
|
29
26
|
internalProps
|
|
30
27
|
} = splitFieldInternalAndForwardedProps(props, 'date-time');
|
|
31
28
|
return useField({
|
|
32
|
-
inputRef,
|
|
33
29
|
forwardedProps,
|
|
34
30
|
internalProps,
|
|
35
31
|
valueManager: rangeValueManager,
|