@mui/x-date-pickers-pro 6.0.0-alpha.12 → 6.0.0-alpha.13
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 +132 -0
- package/DateRangeCalendar/DateRangeCalendar.js +7 -1
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
- package/DateRangePicker/DateRangePicker.js +0 -5
- package/DateRangePicker/DateRangePickerView.d.ts +3 -3
- package/DateRangePicker/DateRangePickerView.js +6 -3
- package/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +5 -0
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
- package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
- package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
- package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +2 -2
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +3 -3
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +2 -2
- package/NextDateRangePicker/NextDateRangePicker.js +16 -2
- package/NextDateRangePicker/shared.d.ts +9 -2
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +3 -2
- package/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
- package/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
- package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +13 -0
- package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/dateRangeViewRenderers/index.d.ts +2 -0
- package/dateRangeViewRenderers/index.js +1 -0
- package/dateRangeViewRenderers/package.json +6 -0
- package/index.d.ts +1 -0
- package/index.js +5 -2
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -5
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -5
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
- package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +2 -0
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
- package/internal/hooks/useRangePickerInputProps.d.ts +4 -6
- package/internal/hooks/useRangePickerInputProps.js +5 -6
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
- package/internal/models/dateRange.d.ts +11 -1
- package/internal/models/dateTimeRange.d.ts +2 -2
- package/internal/models/timeRange.d.ts +2 -1
- package/internal/utils/date-fields-utils.d.ts +17 -1
- package/internal/utils/releaseInfo.js +1 -1
- package/internal/utils/valueManagers.js +15 -21
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +7 -1
- package/legacy/DateRangePicker/DateRangePicker.js +0 -5
- package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
- package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
- package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
- package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +44 -11
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
- package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
- package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
- package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
- package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/legacy/dateRangeViewRenderers/index.js +1 -0
- package/legacy/index.js +5 -2
- package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
- package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
- package/legacy/internal/hooks/useRangePickerInputProps.js +5 -6
- package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/legacy/internal/utils/valueManagers.js +15 -23
- package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +7 -1
- package/modern/DateRangePicker/DateRangePicker.js +0 -5
- package/modern/DateRangePicker/DateRangePickerView.js +6 -3
- package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
- package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
- package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
- package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
- package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
- package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
- package/modern/dateRangeViewRenderers/index.js +1 -0
- package/modern/index.js +5 -2
- package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
- package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
- package/modern/internal/hooks/useRangePickerInputProps.js +5 -6
- package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/modern/internal/utils/valueManagers.js +15 -21
- package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +7 -1
- package/node/DateRangePicker/DateRangePicker.js +0 -5
- package/node/DateRangePicker/DateRangePickerView.js +6 -3
- package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
- package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
- package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
- package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
- package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
- package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
- package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
- package/node/dateRangeViewRenderers/index.js +12 -0
- package/node/index.js +13 -1
- package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
- package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
- package/node/internal/hooks/useRangePickerInputProps.js +5 -6
- package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
- package/node/internal/utils/releaseInfo.js +1 -1
- package/node/internal/utils/valueManagers.js +14 -20
- package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/package.json +3 -3
- package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/internal/utils/viewRenderers.d.ts +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
const _excluded = ["components", "componentsProps"],
|
|
4
|
-
_excluded2 = ["ref", "onPaste", "inputMode"];
|
|
4
|
+
_excluded2 = ["ref", "onPaste", "inputMode", "readOnly"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import TextField from '@mui/material/TextField';
|
|
@@ -35,7 +35,8 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
35
35
|
{
|
|
36
36
|
ref: inputRef,
|
|
37
37
|
onPaste,
|
|
38
|
-
inputMode
|
|
38
|
+
inputMode,
|
|
39
|
+
readOnly
|
|
39
40
|
} = _useSingleInputDateRa,
|
|
40
41
|
fieldProps = _objectWithoutPropertiesLoose(_useSingleInputDateRa, _excluded2);
|
|
41
42
|
return /*#__PURE__*/_jsx(Input, _extends({
|
|
@@ -44,7 +45,8 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
44
45
|
inputProps: _extends({}, fieldProps.inputProps, {
|
|
45
46
|
ref: inputRef,
|
|
46
47
|
onPaste,
|
|
47
|
-
inputMode
|
|
48
|
+
inputMode,
|
|
49
|
+
readOnly
|
|
48
50
|
})
|
|
49
51
|
}));
|
|
50
52
|
});
|
|
@@ -53,6 +55,19 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
53
55
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
54
56
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
55
57
|
// ----------------------------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* If `true`, the `input` element is focused during the first mount.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
autoFocus: PropTypes.bool,
|
|
63
|
+
className: PropTypes.string,
|
|
64
|
+
/**
|
|
65
|
+
* The color of the component.
|
|
66
|
+
* It supports both default and custom theme colors, which can be added as shown in the
|
|
67
|
+
* [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
|
|
68
|
+
* @default 'primary'
|
|
69
|
+
*/
|
|
70
|
+
color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
|
|
56
71
|
/**
|
|
57
72
|
* Overrideable components.
|
|
58
73
|
* @default {}
|
|
@@ -67,6 +82,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
67
82
|
* The default value. Use when the component is not controlled.
|
|
68
83
|
*/
|
|
69
84
|
defaultValue: PropTypes.arrayOf(PropTypes.any),
|
|
85
|
+
/**
|
|
86
|
+
* If `true`, the component is disabled.
|
|
87
|
+
* @default false
|
|
88
|
+
*/
|
|
89
|
+
disabled: PropTypes.bool,
|
|
70
90
|
/**
|
|
71
91
|
* If `true` disable values before the current date for date components, time for time components and both for date time components.
|
|
72
92
|
* @default false
|
|
@@ -77,10 +97,70 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
77
97
|
* @default false
|
|
78
98
|
*/
|
|
79
99
|
disablePast: PropTypes.bool,
|
|
100
|
+
/**
|
|
101
|
+
* If `true`, the component is displayed in focused state.
|
|
102
|
+
*/
|
|
103
|
+
focused: PropTypes.bool,
|
|
80
104
|
/**
|
|
81
105
|
* Format of the date when rendered in the input(s).
|
|
82
106
|
*/
|
|
83
107
|
format: PropTypes.string,
|
|
108
|
+
/**
|
|
109
|
+
* Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
|
|
110
|
+
*/
|
|
111
|
+
FormHelperTextProps: PropTypes.object,
|
|
112
|
+
/**
|
|
113
|
+
* If `true`, the input will take up the full width of its container.
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
fullWidth: PropTypes.bool,
|
|
117
|
+
/**
|
|
118
|
+
* The helper text content.
|
|
119
|
+
*/
|
|
120
|
+
helperText: PropTypes.node,
|
|
121
|
+
/**
|
|
122
|
+
* If `true`, the label is hidden.
|
|
123
|
+
* This is used to increase density for a `FilledInput`.
|
|
124
|
+
* Be sure to add `aria-label` to the `input` element.
|
|
125
|
+
* @default false
|
|
126
|
+
*/
|
|
127
|
+
hiddenLabel: PropTypes.bool,
|
|
128
|
+
/**
|
|
129
|
+
* The id of the `input` element.
|
|
130
|
+
* Use this prop to make `label` and `helperText` accessible for screen readers.
|
|
131
|
+
*/
|
|
132
|
+
id: PropTypes.string,
|
|
133
|
+
/**
|
|
134
|
+
* Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
|
|
135
|
+
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
|
136
|
+
*/
|
|
137
|
+
InputLabelProps: PropTypes.object,
|
|
138
|
+
/**
|
|
139
|
+
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
140
|
+
*/
|
|
141
|
+
inputProps: PropTypes.object,
|
|
142
|
+
/**
|
|
143
|
+
* Props applied to the Input element.
|
|
144
|
+
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
145
|
+
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
146
|
+
* component depending on the `variant` prop value.
|
|
147
|
+
*/
|
|
148
|
+
InputProps: PropTypes.object,
|
|
149
|
+
/**
|
|
150
|
+
* Pass a ref to the `input` element.
|
|
151
|
+
*/
|
|
152
|
+
inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
153
|
+
current: PropTypes.any.isRequired
|
|
154
|
+
})]),
|
|
155
|
+
/**
|
|
156
|
+
* The label content.
|
|
157
|
+
*/
|
|
158
|
+
label: PropTypes.node,
|
|
159
|
+
/**
|
|
160
|
+
* If `dense` or `normal`, will adjust vertical spacing of this and contained components.
|
|
161
|
+
* @default 'none'
|
|
162
|
+
*/
|
|
163
|
+
margin: PropTypes.oneOf(['dense', 'none', 'normal']),
|
|
84
164
|
/**
|
|
85
165
|
* Maximal selectable date.
|
|
86
166
|
*/
|
|
@@ -89,6 +169,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
89
169
|
* Minimal selectable date.
|
|
90
170
|
*/
|
|
91
171
|
minDate: PropTypes.any,
|
|
172
|
+
/**
|
|
173
|
+
* Name attribute of the `input` element.
|
|
174
|
+
*/
|
|
175
|
+
name: PropTypes.string,
|
|
176
|
+
onBlur: PropTypes.func,
|
|
92
177
|
/**
|
|
93
178
|
* Callback fired when the value changes.
|
|
94
179
|
* @template TValue, TError
|
|
@@ -103,6 +188,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
103
188
|
* @param {TValue} value The value associated to the error.
|
|
104
189
|
*/
|
|
105
190
|
onError: PropTypes.func,
|
|
191
|
+
onFocus: PropTypes.func,
|
|
106
192
|
/**
|
|
107
193
|
* Callback fired when the selected sections change.
|
|
108
194
|
* @param {FieldSelectedSections} newValue The new selected sections.
|
|
@@ -114,6 +200,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
114
200
|
* @default false
|
|
115
201
|
*/
|
|
116
202
|
readOnly: PropTypes.bool,
|
|
203
|
+
/**
|
|
204
|
+
* If `true`, the label is displayed as required and the `input` element is required.
|
|
205
|
+
* @default false
|
|
206
|
+
*/
|
|
207
|
+
required: PropTypes.bool,
|
|
117
208
|
/**
|
|
118
209
|
* The currently selected sections.
|
|
119
210
|
* This prop accept four formats:
|
|
@@ -123,7 +214,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
123
214
|
* 4. If `null` is provided, no section will be selected
|
|
124
215
|
* If not provided, the selected sections will be handled internally.
|
|
125
216
|
*/
|
|
126
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
217
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
127
218
|
endIndex: PropTypes.number.isRequired,
|
|
128
219
|
startIndex: PropTypes.number.isRequired
|
|
129
220
|
})]),
|
|
@@ -135,10 +226,24 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
135
226
|
* @returns {boolean} Returns `true` if the date should be disabled.
|
|
136
227
|
*/
|
|
137
228
|
shouldDisableDate: PropTypes.func,
|
|
229
|
+
/**
|
|
230
|
+
* The size of the component.
|
|
231
|
+
*/
|
|
232
|
+
size: PropTypes.oneOf(['medium', 'small']),
|
|
233
|
+
style: PropTypes.object,
|
|
234
|
+
/**
|
|
235
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
236
|
+
*/
|
|
237
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
138
238
|
/**
|
|
139
239
|
* The selected value.
|
|
140
240
|
* Used when the component is controlled.
|
|
141
241
|
*/
|
|
142
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
242
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
243
|
+
/**
|
|
244
|
+
* The variant to use.
|
|
245
|
+
* @default 'outlined'
|
|
246
|
+
*/
|
|
247
|
+
variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])
|
|
143
248
|
} : void 0;
|
|
144
249
|
export { SingleInputDateRangeField };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
|
-
import TextField
|
|
3
|
+
import TextField from '@mui/material/TextField';
|
|
4
|
+
import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
4
5
|
import { UseDateRangeFieldDefaultizedProps, UseDateRangeFieldProps } from '../internal/models';
|
|
5
6
|
export interface UseSingleInputDateRangeFieldParams<TDate, TChildProps extends {}> {
|
|
6
7
|
props: UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps>;
|
|
@@ -10,7 +11,7 @@ export interface UseSingleInputDateRangeFieldProps<TDate> extends UseDateRangeFi
|
|
|
10
11
|
}
|
|
11
12
|
export type UseSingleInputDateRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseDateRangeFieldDefaultizedProps<TDate> & AdditionalProps;
|
|
12
13
|
export type UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseSingleInputDateRangeFieldProps<TDate>> & UseSingleInputDateRangeFieldProps<TDate>;
|
|
13
|
-
export interface SingleInputDateRangeFieldProps<TDate> extends UseSingleInputDateRangeFieldComponentProps<TDate,
|
|
14
|
+
export interface SingleInputDateRangeFieldProps<TDate> extends UseSingleInputDateRangeFieldComponentProps<TDate, FieldsTextFieldProps> {
|
|
14
15
|
/**
|
|
15
16
|
* Overrideable components.
|
|
16
17
|
* @default {}
|
|
@@ -245,11 +245,6 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes = {
|
|
|
245
245
|
* @returns {void|Promise} -
|
|
246
246
|
*/
|
|
247
247
|
onMonthChange: PropTypes.func,
|
|
248
|
-
/**
|
|
249
|
-
* Callback fired on view change.
|
|
250
|
-
* @param {DateView} view The new view.
|
|
251
|
-
*/
|
|
252
|
-
onViewChange: PropTypes.func,
|
|
253
248
|
/**
|
|
254
249
|
* Props to pass to keyboard adornment button.
|
|
255
250
|
*/
|
|
@@ -3,19 +3,20 @@ import * as React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { useStaticRangePicker } from '../internal/hooks/useStaticRangePicker';
|
|
5
5
|
import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
|
|
6
|
+
import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
|
|
6
7
|
import { rangeValueManager } from '../internal/utils/valueManagers';
|
|
7
|
-
import { renderDateRangeView } from '../internal/utils/viewRenderers';
|
|
8
8
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
9
|
-
const VIEW_LOOKUP = {
|
|
10
|
-
day: renderDateRangeView
|
|
11
|
-
};
|
|
12
9
|
const StaticNextDateRangePicker = /*#__PURE__*/React.forwardRef(function StaticNextDateRangePicker(inProps, ref) {
|
|
13
10
|
var _defaultizedProps$dis, _defaultizedProps$cal, _defaultizedProps$sho;
|
|
14
11
|
const defaultizedProps = useNextDateRangePickerDefaultizedProps(inProps, 'MuiStaticNextDateRangePicker');
|
|
15
12
|
const displayStaticWrapperAs = (_defaultizedProps$dis = defaultizedProps.displayStaticWrapperAs) != null ? _defaultizedProps$dis : 'mobile';
|
|
13
|
+
const viewRenderers = _extends({
|
|
14
|
+
day: renderDateRangeViewCalendar
|
|
15
|
+
}, defaultizedProps.viewRenderers);
|
|
16
16
|
|
|
17
17
|
// Props with the default values specific to the static variant
|
|
18
18
|
const props = _extends({}, defaultizedProps, {
|
|
19
|
+
viewRenderers,
|
|
19
20
|
displayStaticWrapperAs,
|
|
20
21
|
views: ['day'],
|
|
21
22
|
openTo: 'day',
|
|
@@ -27,7 +28,6 @@ const StaticNextDateRangePicker = /*#__PURE__*/React.forwardRef(function StaticN
|
|
|
27
28
|
} = useStaticRangePicker({
|
|
28
29
|
props,
|
|
29
30
|
valueManager: rangeValueManager,
|
|
30
|
-
viewLookup: VIEW_LOOKUP,
|
|
31
31
|
validator: validateDateRange,
|
|
32
32
|
ref
|
|
33
33
|
});
|
|
@@ -38,6 +38,12 @@ StaticNextDateRangePicker.propTypes = {
|
|
|
38
38
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
39
39
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
40
40
|
// ----------------------------------------------------------------------
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, the main element is focused during the first mount.
|
|
43
|
+
* This main element is:
|
|
44
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
45
|
+
* - the `input` element if there is a field rendered.
|
|
46
|
+
*/
|
|
41
47
|
autoFocus: PropTypes.bool,
|
|
42
48
|
/**
|
|
43
49
|
* The number of calendars to render.
|
|
@@ -205,6 +211,14 @@ StaticNextDateRangePicker.propTypes = {
|
|
|
205
211
|
* The selected value.
|
|
206
212
|
* Used when the component is controlled.
|
|
207
213
|
*/
|
|
208
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
214
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
215
|
+
/**
|
|
216
|
+
* Define custom view renderers for each section.
|
|
217
|
+
* If `null`, the section will only have field editing.
|
|
218
|
+
* If `undefined`, internally defined view will be the used.
|
|
219
|
+
*/
|
|
220
|
+
viewRenderers: PropTypes.shape({
|
|
221
|
+
day: PropTypes.func
|
|
222
|
+
})
|
|
209
223
|
};
|
|
210
224
|
export { StaticNextDateRangePicker };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DateOrTimeView } from '@mui/x-date-pickers/internals';
|
|
3
|
+
import { DateRangeCalendarProps } from '../DateRangeCalendar';
|
|
4
|
+
export interface DateRangeViewRendererProps<TDate, TView extends DateOrTimeView> extends DateRangeCalendarProps<TDate> {
|
|
5
|
+
view: TView;
|
|
6
|
+
onViewChange?: (view: TView) => void;
|
|
7
|
+
views: readonly TView[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* We don't pass all the props down to `DateRangeCalendar`,
|
|
11
|
+
* because otherwise some unwanted props would be passed to the HTML element.
|
|
12
|
+
*/
|
|
13
|
+
export declare const renderDateRangeViewCalendar: <TDate extends unknown>({ value, defaultValue, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, reduceAnimations, onMonthChange, defaultCalendarMonth, rangePosition, onRangePositionChange, calendars, components, componentsProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, disableAutoMonthSwitching, sx, autoFocus, fixedWeekNumber, disableDragEditing, displayWeekNumber, }: DateRangeViewRendererProps<TDate, any>) => JSX.Element;
|
package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js}
RENAMED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { DateRangeCalendar } from '
|
|
3
|
-
|
|
2
|
+
import { DateRangeCalendar } from '../DateRangeCalendar';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
/**
|
|
5
5
|
* We don't pass all the props down to `DateRangeCalendar`,
|
|
6
6
|
* because otherwise some unwanted props would be passed to the HTML element.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
export const renderDateRangeView = ({
|
|
8
|
+
export const renderDateRangeViewCalendar = ({
|
|
10
9
|
value,
|
|
11
10
|
defaultValue,
|
|
12
11
|
onChange,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { renderDateRangeViewCalendar } from './dateRangeViewRenderers';
|
package/index.d.ts
CHANGED
|
@@ -15,4 +15,5 @@ export * from './NextDateRangePicker';
|
|
|
15
15
|
export * from './DesktopNextDateRangePicker';
|
|
16
16
|
export * from './MobileNextDateRangePicker';
|
|
17
17
|
export * from './StaticNextDateRangePicker';
|
|
18
|
+
export * from './dateRangeViewRenderers';
|
|
18
19
|
export type { DateRangeValidationError } from './internal/hooks/validation/useDateRangeValidation';
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MUI v6.0.0-alpha.
|
|
1
|
+
/** @license MUI v6.0.0-alpha.13
|
|
2
2
|
*
|
|
3
3
|
* This source code is licensed under the MIT license found in the
|
|
4
4
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -23,4 +23,7 @@ export * from './DateRangeCalendar';
|
|
|
23
23
|
export * from './NextDateRangePicker';
|
|
24
24
|
export * from './DesktopNextDateRangePicker';
|
|
25
25
|
export * from './MobileNextDateRangePicker';
|
|
26
|
-
export * from './StaticNextDateRangePicker';
|
|
26
|
+
export * from './StaticNextDateRangePicker';
|
|
27
|
+
|
|
28
|
+
// View renderers
|
|
29
|
+
export * from './dateRangeViewRenderers';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DateOrTimeView } from '@mui/x-date-pickers/internals';
|
|
3
3
|
import { UseDesktopRangePickerParams, UseDesktopRangePickerProps } from './useDesktopRangePicker.types';
|
|
4
|
-
export declare const useDesktopRangePicker: <TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any>>({ props, valueManager,
|
|
4
|
+
export declare const useDesktopRangePicker: <TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>>({ props, valueManager, validator, }: UseDesktopRangePickerParams<TDate, TView, TExternalProps>) => {
|
|
5
5
|
renderPicker: () => JSX.Element;
|
|
6
6
|
};
|
|
@@ -12,7 +12,6 @@ const releaseInfo = getReleaseInfo();
|
|
|
12
12
|
export const useDesktopRangePicker = ({
|
|
13
13
|
props,
|
|
14
14
|
valueManager,
|
|
15
|
-
viewLookup,
|
|
16
15
|
validator
|
|
17
16
|
}) => {
|
|
18
17
|
useLicenseVerifier('x-date-pickers-pro', releaseInfo);
|
|
@@ -41,7 +40,6 @@ export const useDesktopRangePicker = ({
|
|
|
41
40
|
props,
|
|
42
41
|
valueManager,
|
|
43
42
|
wrapperVariant: 'desktop',
|
|
44
|
-
viewLookup,
|
|
45
43
|
validator,
|
|
46
44
|
autoFocusView: true,
|
|
47
45
|
additionalViewProps: {
|
|
@@ -59,7 +57,7 @@ export const useDesktopRangePicker = ({
|
|
|
59
57
|
});
|
|
60
58
|
};
|
|
61
59
|
const fieldSlotsProps = useRangePickerInputProps({
|
|
62
|
-
wrapperVariant: '
|
|
60
|
+
wrapperVariant: 'desktop',
|
|
63
61
|
open,
|
|
64
62
|
actions,
|
|
65
63
|
readOnly,
|
|
@@ -96,7 +94,7 @@ export const useDesktopRangePicker = ({
|
|
|
96
94
|
const inputPropsPassedByField = resolveComponentProps((_fieldProps$component = fieldProps.componentsProps) == null ? void 0 : _fieldProps$component.input, ownerState);
|
|
97
95
|
const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotsProps.startInput : fieldSlotsProps.endInput;
|
|
98
96
|
return _extends({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
|
|
99
|
-
inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps
|
|
97
|
+
inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps)
|
|
100
98
|
});
|
|
101
99
|
},
|
|
102
100
|
root: ownerState => {
|
|
@@ -3,7 +3,7 @@ import TextField, { TextFieldProps } from '@mui/material/TextField';
|
|
|
3
3
|
import Stack, { StackProps } from '@mui/material/Stack';
|
|
4
4
|
import Typography, { TypographyProps } from '@mui/material/Typography';
|
|
5
5
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
6
|
-
import { DateOrTimeView, UsePickerParams, BaseNextPickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedPickersViewLayoutSlotsComponent, ExportedPickersViewLayoutSlotsComponentsProps, ExportedBaseToolbarProps, DesktopOnlyPickerProps } from '@mui/x-date-pickers/internals';
|
|
6
|
+
import { DateOrTimeView, UsePickerParams, BaseNextPickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedPickersViewLayoutSlotsComponent, ExportedPickersViewLayoutSlotsComponentsProps, ExportedBaseToolbarProps, DesktopOnlyPickerProps, UsePickerViewsProps } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { DateRange, RangePositionProps } from '../../models';
|
|
8
8
|
import { BaseMultiInputFieldProps } from '../../models/fields';
|
|
9
9
|
export interface UseDesktopRangePickerSlotsComponent extends PickersPopperSlotsComponent, ExportedPickersViewLayoutSlotsComponent {
|
|
@@ -21,7 +21,7 @@ export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends
|
|
|
21
21
|
}
|
|
22
22
|
export interface DesktopRangeOnlyPickerProps<TDate> extends DesktopOnlyPickerProps<TDate> {
|
|
23
23
|
}
|
|
24
|
-
export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeView, TError
|
|
24
|
+
export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeView, TError, TExternalProps extends UsePickerViewsProps<any, TView, any, any>> extends DesktopRangeOnlyPickerProps<TDate>, BaseNextPickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, DesktopRangePickerAdditionalViewProps> {
|
|
25
25
|
/**
|
|
26
26
|
* Overrideable components.
|
|
27
27
|
* @default {}
|
|
@@ -33,9 +33,8 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeView,
|
|
|
33
33
|
*/
|
|
34
34
|
componentsProps?: UseDesktopRangePickerSlotsComponentsProps<TDate, TView>;
|
|
35
35
|
}
|
|
36
|
-
interface DesktopRangePickerAdditionalViewProps extends RangePositionProps {
|
|
36
|
+
export interface DesktopRangePickerAdditionalViewProps extends RangePositionProps {
|
|
37
37
|
}
|
|
38
|
-
export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | '
|
|
38
|
+
export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
39
39
|
props: TExternalProps;
|
|
40
40
|
}
|
|
41
|
-
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DateOrTimeView } from '@mui/x-date-pickers/internals';
|
|
3
3
|
import { UseMobileRangePickerParams, UseMobileRangePickerProps } from './useMobileRangePicker.types';
|
|
4
|
-
export declare const useMobileRangePicker: <TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any>>({ props, valueManager,
|
|
4
|
+
export declare const useMobileRangePicker: <TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>>({ props, valueManager, validator, }: UseMobileRangePickerParams<TDate, TView, TExternalProps>) => {
|
|
5
5
|
renderPicker: () => JSX.Element;
|
|
6
6
|
};
|
|
@@ -12,7 +12,6 @@ const releaseInfo = getReleaseInfo();
|
|
|
12
12
|
export const useMobileRangePicker = ({
|
|
13
13
|
props,
|
|
14
14
|
valueManager,
|
|
15
|
-
viewLookup,
|
|
16
15
|
validator
|
|
17
16
|
}) => {
|
|
18
17
|
useLicenseVerifier('x-date-pickers-pro', releaseInfo);
|
|
@@ -38,7 +37,6 @@ export const useMobileRangePicker = ({
|
|
|
38
37
|
props,
|
|
39
38
|
valueManager,
|
|
40
39
|
wrapperVariant: 'mobile',
|
|
41
|
-
viewLookup,
|
|
42
40
|
validator,
|
|
43
41
|
autoFocusView: true,
|
|
44
42
|
additionalViewProps: {
|
|
@@ -62,7 +60,7 @@ export const useMobileRangePicker = ({
|
|
|
62
60
|
elementType: Field,
|
|
63
61
|
externalSlotProps: componentsProps.field,
|
|
64
62
|
additionalProps: _extends({}, pickerFieldProps, {
|
|
65
|
-
readOnly,
|
|
63
|
+
readOnly: readOnly != null ? readOnly : true,
|
|
66
64
|
disabled,
|
|
67
65
|
className,
|
|
68
66
|
format,
|
|
@@ -80,7 +78,7 @@ export const useMobileRangePicker = ({
|
|
|
80
78
|
const inputPropsPassedByField = resolveComponentProps((_fieldProps$component = fieldProps.componentsProps) == null ? void 0 : _fieldProps$component.input, ownerState);
|
|
81
79
|
const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotsProps.startInput : fieldSlotsProps.endInput;
|
|
82
80
|
return _extends({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
|
|
83
|
-
inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps
|
|
81
|
+
inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps)
|
|
84
82
|
});
|
|
85
83
|
},
|
|
86
84
|
root: ownerState => {
|
|
@@ -3,7 +3,7 @@ import TextField, { TextFieldProps } from '@mui/material/TextField';
|
|
|
3
3
|
import Stack, { StackProps } from '@mui/material/Stack';
|
|
4
4
|
import Typography, { TypographyProps } from '@mui/material/Typography';
|
|
5
5
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
6
|
-
import { DateOrTimeView, UsePickerParams, BaseNextPickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedPickersViewLayoutSlotsComponent, ExportedPickersViewLayoutSlotsComponentsProps, ExportedBaseToolbarProps, MobileOnlyPickerProps } from '@mui/x-date-pickers/internals';
|
|
6
|
+
import { DateOrTimeView, UsePickerParams, BaseNextPickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedPickersViewLayoutSlotsComponent, ExportedPickersViewLayoutSlotsComponentsProps, ExportedBaseToolbarProps, MobileOnlyPickerProps, UsePickerViewsProps } from '@mui/x-date-pickers/internals';
|
|
7
7
|
import { DateRange, RangePositionProps } from '../../models';
|
|
8
8
|
import { BaseMultiInputFieldProps } from '../../models/fields';
|
|
9
9
|
export interface UseMobileRangePickerSlotsComponent extends PickersModalDialogSlotsComponent, ExportedPickersViewLayoutSlotsComponent {
|
|
@@ -21,7 +21,7 @@ export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends D
|
|
|
21
21
|
}
|
|
22
22
|
export interface MobileRangeOnlyPickerProps<TDate> extends MobileOnlyPickerProps<TDate> {
|
|
23
23
|
}
|
|
24
|
-
export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView, TError
|
|
24
|
+
export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView, TError, TExternalProps extends UsePickerViewsProps<any, TView, any, any>> extends MobileRangeOnlyPickerProps<TDate>, BaseNextPickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, MobileRangePickerAdditionalViewProps> {
|
|
25
25
|
/**
|
|
26
26
|
* Overrideable components.
|
|
27
27
|
* @default {}
|
|
@@ -33,9 +33,8 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView,
|
|
|
33
33
|
*/
|
|
34
34
|
componentsProps?: UseMobileRangePickerSlotsComponentsProps<TDate, TView>;
|
|
35
35
|
}
|
|
36
|
-
interface MobileRangePickerAdditionalViewProps extends RangePositionProps {
|
|
36
|
+
export interface MobileRangePickerAdditionalViewProps extends RangePositionProps {
|
|
37
37
|
}
|
|
38
|
-
export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | '
|
|
38
|
+
export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
39
39
|
props: TExternalProps;
|
|
40
40
|
}
|
|
41
|
-
export {};
|
|
@@ -20,7 +20,9 @@ export const useMultiInputDateRangeField = ({
|
|
|
20
20
|
value: valueProp,
|
|
21
21
|
defaultValue,
|
|
22
22
|
format,
|
|
23
|
-
onChange
|
|
23
|
+
onChange,
|
|
24
|
+
disabled,
|
|
25
|
+
readOnly
|
|
24
26
|
} = sharedProps;
|
|
25
27
|
const firstDefaultValue = React.useRef(defaultValue);
|
|
26
28
|
|
|
@@ -48,6 +50,8 @@ export const useMultiInputDateRangeField = ({
|
|
|
48
50
|
const handleStartDateChange = useEventCallback(buildChangeHandler(0));
|
|
49
51
|
const handleEndDateChange = useEventCallback(buildChangeHandler(1));
|
|
50
52
|
const startInputProps = _extends({}, inStartInputProps, {
|
|
53
|
+
disabled,
|
|
54
|
+
readOnly,
|
|
51
55
|
format,
|
|
52
56
|
value: valueProp === undefined ? undefined : valueProp[0],
|
|
53
57
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
|
|
@@ -55,6 +59,8 @@ export const useMultiInputDateRangeField = ({
|
|
|
55
59
|
});
|
|
56
60
|
const endInputProps = _extends({}, inEndInputProps, {
|
|
57
61
|
format,
|
|
62
|
+
disabled,
|
|
63
|
+
readOnly,
|
|
58
64
|
value: valueProp === undefined ? undefined : valueProp[1],
|
|
59
65
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
|
|
60
66
|
onChange: handleEndDateChange
|
|
@@ -36,7 +36,9 @@ export const useMultiInputDateTimeRangeField = ({
|
|
|
36
36
|
value: valueProp,
|
|
37
37
|
defaultValue,
|
|
38
38
|
format,
|
|
39
|
-
onChange
|
|
39
|
+
onChange,
|
|
40
|
+
disabled,
|
|
41
|
+
readOnly
|
|
40
42
|
} = sharedProps;
|
|
41
43
|
const firstDefaultValue = React.useRef(defaultValue);
|
|
42
44
|
|
|
@@ -65,12 +67,16 @@ export const useMultiInputDateTimeRangeField = ({
|
|
|
65
67
|
const handleEndDateChange = useEventCallback(buildChangeHandler(1));
|
|
66
68
|
const startInputProps = _extends({}, inStartInputProps, {
|
|
67
69
|
format,
|
|
70
|
+
disabled,
|
|
71
|
+
readOnly,
|
|
68
72
|
value: valueProp === undefined ? undefined : valueProp[0],
|
|
69
73
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
|
|
70
74
|
onChange: handleStartDateChange
|
|
71
75
|
});
|
|
72
76
|
const endInputProps = _extends({}, inEndInputProps, {
|
|
73
77
|
format,
|
|
78
|
+
disabled,
|
|
79
|
+
readOnly,
|
|
74
80
|
value: valueProp === undefined ? undefined : valueProp[1],
|
|
75
81
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
|
|
76
82
|
onChange: handleEndDateChange
|
|
@@ -2,8 +2,10 @@ import { UseFieldResponse } from '@mui/x-date-pickers/internals';
|
|
|
2
2
|
export interface UseMultiInputRangeFieldResponse<TChildProps extends {}> {
|
|
3
3
|
startDate: UseFieldResponse<TChildProps> & {
|
|
4
4
|
error: boolean;
|
|
5
|
+
readOnly: boolean;
|
|
5
6
|
};
|
|
6
7
|
endDate: UseFieldResponse<TChildProps> & {
|
|
7
8
|
error: boolean;
|
|
9
|
+
readOnly: boolean;
|
|
8
10
|
};
|
|
9
11
|
}
|
|
@@ -32,7 +32,9 @@ export const useMultiInputTimeRangeField = ({
|
|
|
32
32
|
value: valueProp,
|
|
33
33
|
defaultValue,
|
|
34
34
|
format,
|
|
35
|
-
onChange
|
|
35
|
+
onChange,
|
|
36
|
+
disabled,
|
|
37
|
+
readOnly
|
|
36
38
|
} = sharedProps;
|
|
37
39
|
const firstDefaultValue = React.useRef(defaultValue);
|
|
38
40
|
|
|
@@ -61,12 +63,16 @@ export const useMultiInputTimeRangeField = ({
|
|
|
61
63
|
const handleEndDateChange = useEventCallback(buildChangeHandler(1));
|
|
62
64
|
const startInputProps = _extends({}, inStartInputProps, {
|
|
63
65
|
format,
|
|
66
|
+
disabled,
|
|
67
|
+
readOnly,
|
|
64
68
|
value: valueProp === undefined ? undefined : valueProp[0],
|
|
65
69
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
|
|
66
70
|
onChange: handleStartDateChange
|
|
67
71
|
});
|
|
68
72
|
const endInputProps = _extends({}, inEndInputProps, {
|
|
69
73
|
format,
|
|
74
|
+
disabled,
|
|
75
|
+
readOnly,
|
|
70
76
|
value: valueProp === undefined ? undefined : valueProp[1],
|
|
71
77
|
defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
|
|
72
78
|
onChange: handleEndDateChange
|
|
@@ -14,9 +14,8 @@ interface UseRangePickerFieldParams<TDate, TView extends DateOrTimeView> extends
|
|
|
14
14
|
}
|
|
15
15
|
export declare const useRangePickerInputProps: <TDate, TView extends DateOrTimeView>({ wrapperVariant, open, actions, readOnly, disabled, disableOpenPicker, onBlur, rangePosition, onRangePositionChange, localeText: inLocaleText, }: UseRangePickerFieldParams<TDate, TView>) => {
|
|
16
16
|
startInput: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
17
|
+
readOnly: boolean;
|
|
18
|
+
disabled: boolean | undefined;
|
|
20
19
|
onClick?: ((event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
|
|
21
20
|
inputRef: React.RefObject<HTMLInputElement>;
|
|
22
21
|
label: string;
|
|
@@ -25,9 +24,8 @@ export declare const useRangePickerInputProps: <TDate, TView extends DateOrTimeV
|
|
|
25
24
|
focused: boolean | undefined;
|
|
26
25
|
};
|
|
27
26
|
endInput: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
27
|
+
readOnly: boolean;
|
|
28
|
+
disabled: boolean | undefined;
|
|
31
29
|
onClick?: ((event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
|
|
32
30
|
inputRef: React.RefObject<HTMLInputElement>;
|
|
33
31
|
label: string;
|