@mui/x-date-pickers-pro 7.0.0-beta.7 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +266 -12
- package/DateRangeCalendar/DateRangeCalendar.js +17 -22
- package/DateRangeCalendar/useDragRange.js +1 -2
- package/DateRangePicker/DateRangePicker.js +1 -1
- package/DateRangePicker/shared.js +3 -5
- package/DateRangePickerDay/DateRangePickerDay.d.ts +5 -0
- package/DateRangePickerDay/DateRangePickerDay.js +107 -43
- package/DateTimeRangePicker/DateTimeRangePicker.d.ts +10 -0
- package/DateTimeRangePicker/DateTimeRangePicker.js +11 -1
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +4 -5
- package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -3
- package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +31 -15
- package/DateTimeRangePicker/shared.d.ts +5 -4
- package/DateTimeRangePicker/shared.js +9 -10
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -10
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +10 -0
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +31 -28
- package/MobileDateRangePicker/MobileDateRangePicker.js +5 -9
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +10 -0
- package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -14
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -15
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -15
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -14
- package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +1 -1
- package/README.md +1 -1
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +8 -4
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +6 -2
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +8 -4
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +6 -2
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +7 -3
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +6 -2
- package/StaticDateRangePicker/StaticDateRangePicker.js +4 -5
- package/index.js +1 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +9 -11
- package/internals/hooks/useEnrichedRangePickerFieldProps.js +26 -32
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +9 -10
- package/internals/hooks/useMultiInputFieldSelectedSections.js +3 -6
- package/internals/hooks/useRangePosition.js +3 -5
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -18
- package/internals/models/dateRange.d.ts +3 -3
- package/internals/models/dateTimeRange.d.ts +2 -2
- package/internals/models/timeRange.d.ts +2 -2
- package/internals/utils/releaseInfo.js +1 -1
- package/internals/utils/validation/validateDateRange.js +2 -2
- package/internals/utils/validation/validateDateTimeRange.js +2 -2
- package/internals/utils/valueManagers.d.ts +3 -1
- package/internals/utils/valueManagers.js +9 -7
- package/models/fields.d.ts +8 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/modern/DateRangePicker/DateRangePicker.js +1 -1
- package/modern/DateRangePickerDay/DateRangePickerDay.js +107 -43
- package/modern/DateTimeRangePicker/DateTimeRangePicker.js +11 -1
- package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +31 -15
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -1
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -9
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +1 -1
- package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -5
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +10 -4
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +10 -4
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +9 -3
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -1
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +6 -2
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -1
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +6 -2
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +6 -2
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +1 -1
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/utils/valueManagers.js +7 -5
- package/node/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/node/DateRangePicker/DateRangePicker.js +1 -1
- package/node/DateRangePickerDay/DateRangePickerDay.js +107 -43
- package/node/DateTimeRangePicker/DateTimeRangePicker.js +11 -1
- package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +31 -15
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -1
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -9
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +1 -1
- package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -5
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +10 -4
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +10 -4
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +9 -3
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -1
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +7 -1
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -1
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +7 -1
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +5 -0
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +7 -1
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +1 -1
- package/node/internals/utils/releaseInfo.js +1 -1
- package/node/internals/utils/valueManagers.js +9 -6
- package/package.json +7 -7
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.d.ts +0 -9
- package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -52
- package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -51
- package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -59
|
@@ -21,7 +21,6 @@ import { validateDateRange } from '../internals/utils/validation/validateDateRan
|
|
|
21
21
|
* - [MobileDateRangePicker API](https://mui.com/x/api/date-pickers/mobile-date-range-picker/)
|
|
22
22
|
*/
|
|
23
23
|
const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateRangePicker(inProps, ref) {
|
|
24
|
-
var _defaultizedProps$slo2;
|
|
25
24
|
// Props with the default values common to all date time pickers
|
|
26
25
|
const defaultizedProps = useDateRangePickerDefaultizedProps(inProps, 'MuiMobileDateRangePicker');
|
|
27
26
|
const viewRenderers = _extends({
|
|
@@ -37,15 +36,12 @@ const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateR
|
|
|
37
36
|
field: MultiInputDateRangeField
|
|
38
37
|
}, defaultizedProps.slots),
|
|
39
38
|
slotProps: _extends({}, defaultizedProps.slotProps, {
|
|
40
|
-
field: ownerState => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
ref
|
|
44
|
-
});
|
|
45
|
-
},
|
|
39
|
+
field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
|
|
40
|
+
ref
|
|
41
|
+
}),
|
|
46
42
|
toolbar: _extends({
|
|
47
43
|
hidden: false
|
|
48
|
-
},
|
|
44
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
49
45
|
})
|
|
50
46
|
});
|
|
51
47
|
const {
|
|
@@ -282,7 +278,7 @@ MobileDateRangePicker.propTypes = {
|
|
|
282
278
|
/**
|
|
283
279
|
* Disable specific date.
|
|
284
280
|
*
|
|
285
|
-
* Warning: This function can be called multiple times (
|
|
281
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
286
282
|
*
|
|
287
283
|
* @template TDate
|
|
288
284
|
* @param {TDate} day The date to test.
|
|
@@ -4,5 +4,15 @@ import { MobileDateTimeRangePickerProps } from './MobileDateTimeRangePicker.type
|
|
|
4
4
|
type MobileDateRangePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MobileDateTimeRangePickerProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
5
|
propTypes?: any;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Demos:
|
|
9
|
+
*
|
|
10
|
+
* - [DateTimeRangePicker](https://mui.com/x/react-date-pickers/date-time-range-picker/)
|
|
11
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
12
|
+
*
|
|
13
|
+
* API:
|
|
14
|
+
*
|
|
15
|
+
* - [MobileDateTimeRangePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-range-picker/)
|
|
16
|
+
*/
|
|
7
17
|
declare const MobileDateTimeRangePicker: MobileDateRangePickerComponent;
|
|
8
18
|
export { MobileDateTimeRangePicker };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["view", "openTo", "rangePosition"
|
|
3
|
+
const _excluded = ["view", "openTo", "rangePosition"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { refType } from '@mui/utils';
|
|
@@ -22,8 +22,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
22
22
|
const {
|
|
23
23
|
view,
|
|
24
24
|
openTo,
|
|
25
|
-
rangePosition
|
|
26
|
-
sx
|
|
25
|
+
rangePosition
|
|
27
26
|
} = rendererProps,
|
|
28
27
|
otherRendererProps = _objectWithoutPropertiesLoose(rendererProps, _excluded);
|
|
29
28
|
const finalProps = _extends({}, otherRendererProps, {
|
|
@@ -48,7 +47,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
48
47
|
[`&.${multiSectionDigitalClockClasses.root}, .${multiSectionDigitalClockSectionClasses.root}`]: {
|
|
49
48
|
maxHeight: RANGE_VIEW_HEIGHT - 1
|
|
50
49
|
}
|
|
51
|
-
}
|
|
50
|
+
}]
|
|
52
51
|
});
|
|
53
52
|
const isTimeView = isInternalTimeView(popperView);
|
|
54
53
|
const viewRenderer = inViewRenderers[popperView];
|
|
@@ -59,6 +58,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
59
58
|
return /*#__PURE__*/_jsx(DateTimeRangePickerTimeWrapper, _extends({}, finalProps, {
|
|
60
59
|
viewRenderer: viewRenderer,
|
|
61
60
|
view: view && isInternalTimeView(view) ? view : 'hours',
|
|
61
|
+
views: finalProps.views,
|
|
62
62
|
openTo: isInternalTimeView(openTo) ? openTo : 'hours'
|
|
63
63
|
}));
|
|
64
64
|
}
|
|
@@ -71,8 +71,17 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
|
|
|
71
71
|
openTo: isDatePickerView(openTo) ? openTo : 'day'
|
|
72
72
|
}));
|
|
73
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* Demos:
|
|
76
|
+
*
|
|
77
|
+
* - [DateTimeRangePicker](https://mui.com/x/react-date-pickers/date-time-range-picker/)
|
|
78
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
79
|
+
*
|
|
80
|
+
* API:
|
|
81
|
+
*
|
|
82
|
+
* - [MobileDateTimeRangePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-range-picker/)
|
|
83
|
+
*/
|
|
74
84
|
const MobileDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimeRangePicker(inProps, ref) {
|
|
75
|
-
var _defaultizedProps$slo2, _defaultizedProps$slo3;
|
|
76
85
|
// Props with the default values common to all date time range pickers
|
|
77
86
|
const defaultizedProps = useDateTimeRangePickerDefaultizedProps(inProps, 'MuiMobileDateTimeRangePicker');
|
|
78
87
|
const renderTimeView = defaultizedProps.shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
|
|
@@ -93,19 +102,16 @@ const MobileDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function MobileD
|
|
|
93
102
|
field: MultiInputDateTimeRangeField
|
|
94
103
|
}, defaultizedProps.slots),
|
|
95
104
|
slotProps: _extends({}, defaultizedProps.slotProps, {
|
|
96
|
-
field: ownerState => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
ref
|
|
100
|
-
});
|
|
101
|
-
},
|
|
105
|
+
field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
|
|
106
|
+
ref
|
|
107
|
+
}),
|
|
102
108
|
tabs: _extends({
|
|
103
109
|
hidden: false
|
|
104
|
-
},
|
|
110
|
+
}, defaultizedProps.slotProps?.tabs),
|
|
105
111
|
toolbar: _extends({
|
|
106
112
|
hidden: false,
|
|
107
113
|
toolbarVariant: 'mobile'
|
|
108
|
-
},
|
|
114
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
109
115
|
})
|
|
110
116
|
});
|
|
111
117
|
const {
|
|
@@ -388,7 +394,7 @@ MobileDateTimeRangePicker.propTypes = {
|
|
|
388
394
|
/**
|
|
389
395
|
* Disable specific date.
|
|
390
396
|
*
|
|
391
|
-
* Warning: This function can be called multiple times (
|
|
397
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
392
398
|
*
|
|
393
399
|
* @template TDate
|
|
394
400
|
* @param {TDate} day The date to test.
|
|
@@ -37,12 +37,7 @@ const MultiInputDateRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((prop
|
|
|
37
37
|
slot: 'Root',
|
|
38
38
|
overridesResolver: (props, styles) => styles.root
|
|
39
39
|
})({});
|
|
40
|
-
const MultiInputDateRangeFieldSeparator = styled(
|
|
41
|
-
var _props$children;
|
|
42
|
-
return /*#__PURE__*/_jsx(Typography, _extends({}, props, {
|
|
43
|
-
children: (_props$children = props.children) != null ? _props$children : ' – '
|
|
44
|
-
}));
|
|
45
|
-
}, {
|
|
40
|
+
const MultiInputDateRangeFieldSeparator = styled(Typography, {
|
|
46
41
|
name: 'MuiMultiInputDateRangeField',
|
|
47
42
|
slot: 'Separator',
|
|
48
43
|
overridesResolver: (props, styles) => styles.separator
|
|
@@ -60,7 +55,6 @@ const MultiInputDateRangeFieldSeparator = styled(props => {
|
|
|
60
55
|
* - [MultiInputDateRangeField API](https://mui.com/x/api/multi-input-date-range-field/)
|
|
61
56
|
*/
|
|
62
57
|
const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateRangeField(inProps, ref) {
|
|
63
|
-
var _slots$root, _slots$textField, _slots$separator;
|
|
64
58
|
const themeProps = useThemeProps({
|
|
65
59
|
props: inProps,
|
|
66
60
|
name: 'MuiMultiInputDateRangeField'
|
|
@@ -79,10 +73,10 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
79
73
|
otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
|
|
80
74
|
const ownerState = themeProps;
|
|
81
75
|
const classes = useUtilityClasses(ownerState);
|
|
82
|
-
const Root =
|
|
76
|
+
const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
|
|
83
77
|
const rootProps = useSlotProps({
|
|
84
78
|
elementType: Root,
|
|
85
|
-
externalSlotProps: slotProps
|
|
79
|
+
externalSlotProps: slotProps?.root,
|
|
86
80
|
externalForwardedProps: otherForwardedProps,
|
|
87
81
|
additionalProps: {
|
|
88
82
|
ref
|
|
@@ -90,25 +84,28 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
90
84
|
ownerState,
|
|
91
85
|
className: clsx(className, classes.root)
|
|
92
86
|
});
|
|
93
|
-
const TextField =
|
|
87
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
94
88
|
const startTextFieldProps = useSlotProps({
|
|
95
89
|
elementType: TextField,
|
|
96
|
-
externalSlotProps: slotProps
|
|
90
|
+
externalSlotProps: slotProps?.textField,
|
|
97
91
|
ownerState: _extends({}, ownerState, {
|
|
98
92
|
position: 'start'
|
|
99
93
|
})
|
|
100
94
|
});
|
|
101
95
|
const endTextFieldProps = useSlotProps({
|
|
102
96
|
elementType: TextField,
|
|
103
|
-
externalSlotProps: slotProps
|
|
97
|
+
externalSlotProps: slotProps?.textField,
|
|
104
98
|
ownerState: _extends({}, ownerState, {
|
|
105
99
|
position: 'end'
|
|
106
100
|
})
|
|
107
101
|
});
|
|
108
|
-
const Separator =
|
|
102
|
+
const Separator = slots?.separator ?? MultiInputDateRangeFieldSeparator;
|
|
109
103
|
const separatorProps = useSlotProps({
|
|
110
104
|
elementType: Separator,
|
|
111
|
-
externalSlotProps: slotProps
|
|
105
|
+
externalSlotProps: slotProps?.separator,
|
|
106
|
+
additionalProps: {
|
|
107
|
+
children: ` ${internalProps.dateSeparator ?? '–'} `
|
|
108
|
+
},
|
|
112
109
|
ownerState,
|
|
113
110
|
className: classes.separator
|
|
114
111
|
});
|
|
@@ -144,6 +141,11 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
144
141
|
classes: PropTypes.object,
|
|
145
142
|
className: PropTypes.string,
|
|
146
143
|
component: PropTypes.elementType,
|
|
144
|
+
/**
|
|
145
|
+
* String displayed between the start and the end dates.
|
|
146
|
+
* @default "–"
|
|
147
|
+
*/
|
|
148
|
+
dateSeparator: PropTypes.string,
|
|
147
149
|
/**
|
|
148
150
|
* The default value. Use when the component is not controlled.
|
|
149
151
|
*/
|
|
@@ -241,7 +243,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
241
243
|
/**
|
|
242
244
|
* Disable specific date.
|
|
243
245
|
*
|
|
244
|
-
* Warning: This function can be called multiple times (
|
|
246
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
245
247
|
*
|
|
246
248
|
* @template TDate
|
|
247
249
|
* @param {TDate} day The date to test.
|
|
@@ -37,12 +37,7 @@ const MultiInputDateTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((
|
|
|
37
37
|
slot: 'Root',
|
|
38
38
|
overridesResolver: (props, styles) => styles.root
|
|
39
39
|
})({});
|
|
40
|
-
const MultiInputDateTimeRangeFieldSeparator = styled(
|
|
41
|
-
var _props$children;
|
|
42
|
-
return /*#__PURE__*/_jsx(Typography, _extends({}, props, {
|
|
43
|
-
children: (_props$children = props.children) != null ? _props$children : ' – '
|
|
44
|
-
}));
|
|
45
|
-
}, {
|
|
40
|
+
const MultiInputDateTimeRangeFieldSeparator = styled(Typography, {
|
|
46
41
|
name: 'MuiMultiInputDateTimeRangeField',
|
|
47
42
|
slot: 'Separator',
|
|
48
43
|
overridesResolver: (props, styles) => styles.separator
|
|
@@ -60,7 +55,6 @@ const MultiInputDateTimeRangeFieldSeparator = styled(props => {
|
|
|
60
55
|
* - [MultiInputDateTimeRangeField API](https://mui.com/x/api/multi-input-date-time-range-field/)
|
|
61
56
|
*/
|
|
62
57
|
const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateTimeRangeField(inProps, ref) {
|
|
63
|
-
var _slots$root, _slots$textField, _slots$separator;
|
|
64
58
|
const themeProps = useThemeProps({
|
|
65
59
|
props: inProps,
|
|
66
60
|
name: 'MuiMultiInputDateTimeRangeField'
|
|
@@ -79,10 +73,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
79
73
|
otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
|
|
80
74
|
const ownerState = themeProps;
|
|
81
75
|
const classes = useUtilityClasses(ownerState);
|
|
82
|
-
const Root =
|
|
76
|
+
const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
|
|
83
77
|
const rootProps = useSlotProps({
|
|
84
78
|
elementType: Root,
|
|
85
|
-
externalSlotProps: slotProps
|
|
79
|
+
externalSlotProps: slotProps?.root,
|
|
86
80
|
externalForwardedProps: otherForwardedProps,
|
|
87
81
|
additionalProps: {
|
|
88
82
|
ref
|
|
@@ -90,25 +84,28 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
90
84
|
ownerState,
|
|
91
85
|
className: clsx(className, classes.root)
|
|
92
86
|
});
|
|
93
|
-
const TextField =
|
|
87
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
94
88
|
const startTextFieldProps = useSlotProps({
|
|
95
89
|
elementType: TextField,
|
|
96
|
-
externalSlotProps: slotProps
|
|
90
|
+
externalSlotProps: slotProps?.textField,
|
|
97
91
|
ownerState: _extends({}, ownerState, {
|
|
98
92
|
position: 'start'
|
|
99
93
|
})
|
|
100
94
|
});
|
|
101
95
|
const endTextFieldProps = useSlotProps({
|
|
102
96
|
elementType: TextField,
|
|
103
|
-
externalSlotProps: slotProps
|
|
97
|
+
externalSlotProps: slotProps?.textField,
|
|
104
98
|
ownerState: _extends({}, ownerState, {
|
|
105
99
|
position: 'end'
|
|
106
100
|
})
|
|
107
101
|
});
|
|
108
|
-
const Separator =
|
|
102
|
+
const Separator = slots?.separator ?? MultiInputDateTimeRangeFieldSeparator;
|
|
109
103
|
const separatorProps = useSlotProps({
|
|
110
104
|
elementType: Separator,
|
|
111
|
-
externalSlotProps: slotProps
|
|
105
|
+
externalSlotProps: slotProps?.separator,
|
|
106
|
+
additionalProps: {
|
|
107
|
+
children: ` ${internalProps.dateSeparator ?? '–'} `
|
|
108
|
+
},
|
|
112
109
|
ownerState,
|
|
113
110
|
className: classes.separator
|
|
114
111
|
});
|
|
@@ -149,6 +146,11 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
149
146
|
classes: PropTypes.object,
|
|
150
147
|
className: PropTypes.string,
|
|
151
148
|
component: PropTypes.elementType,
|
|
149
|
+
/**
|
|
150
|
+
* String displayed between the start and the end dates.
|
|
151
|
+
* @default "–"
|
|
152
|
+
*/
|
|
153
|
+
dateSeparator: PropTypes.string,
|
|
152
154
|
/**
|
|
153
155
|
* The default value. Use when the component is not controlled.
|
|
154
156
|
*/
|
|
@@ -274,7 +276,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
274
276
|
/**
|
|
275
277
|
* Disable specific date.
|
|
276
278
|
*
|
|
277
|
-
* Warning: This function can be called multiple times (
|
|
279
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
278
280
|
*
|
|
279
281
|
* @template TDate
|
|
280
282
|
* @param {TDate} day The date to test.
|
|
@@ -37,12 +37,7 @@ const MultiInputTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((prop
|
|
|
37
37
|
slot: 'Root',
|
|
38
38
|
overridesResolver: (props, styles) => styles.root
|
|
39
39
|
})({});
|
|
40
|
-
const MultiInputTimeRangeFieldSeparator = styled(
|
|
41
|
-
var _props$children;
|
|
42
|
-
return /*#__PURE__*/_jsx(Typography, _extends({}, props, {
|
|
43
|
-
children: (_props$children = props.children) != null ? _props$children : ' – '
|
|
44
|
-
}));
|
|
45
|
-
}, {
|
|
40
|
+
const MultiInputTimeRangeFieldSeparator = styled(Typography, {
|
|
46
41
|
name: 'MuiMultiInputTimeRangeField',
|
|
47
42
|
slot: 'Separator',
|
|
48
43
|
overridesResolver: (props, styles) => styles.separator
|
|
@@ -60,7 +55,6 @@ const MultiInputTimeRangeFieldSeparator = styled(props => {
|
|
|
60
55
|
* - [MultiInputTimeRangeField API](https://mui.com/x/api/multi-input-time-range-field/)
|
|
61
56
|
*/
|
|
62
57
|
const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputTimeRangeField(inProps, ref) {
|
|
63
|
-
var _slots$root, _slots$textField, _slots$separator;
|
|
64
58
|
const themeProps = useThemeProps({
|
|
65
59
|
props: inProps,
|
|
66
60
|
name: 'MuiMultiInputTimeRangeField'
|
|
@@ -79,10 +73,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
79
73
|
otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
|
|
80
74
|
const ownerState = themeProps;
|
|
81
75
|
const classes = useUtilityClasses(ownerState);
|
|
82
|
-
const Root =
|
|
76
|
+
const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
|
|
83
77
|
const rootProps = useSlotProps({
|
|
84
78
|
elementType: Root,
|
|
85
|
-
externalSlotProps: slotProps
|
|
79
|
+
externalSlotProps: slotProps?.root,
|
|
86
80
|
externalForwardedProps: otherForwardedProps,
|
|
87
81
|
additionalProps: {
|
|
88
82
|
ref
|
|
@@ -90,25 +84,28 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
90
84
|
ownerState,
|
|
91
85
|
className: clsx(className, classes.root)
|
|
92
86
|
});
|
|
93
|
-
const TextField =
|
|
87
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
94
88
|
const startTextFieldProps = useSlotProps({
|
|
95
89
|
elementType: TextField,
|
|
96
|
-
externalSlotProps: slotProps
|
|
90
|
+
externalSlotProps: slotProps?.textField,
|
|
97
91
|
ownerState: _extends({}, ownerState, {
|
|
98
92
|
position: 'start'
|
|
99
93
|
})
|
|
100
94
|
});
|
|
101
95
|
const endTextFieldProps = useSlotProps({
|
|
102
96
|
elementType: TextField,
|
|
103
|
-
externalSlotProps: slotProps
|
|
97
|
+
externalSlotProps: slotProps?.textField,
|
|
104
98
|
ownerState: _extends({}, ownerState, {
|
|
105
99
|
position: 'end'
|
|
106
100
|
})
|
|
107
101
|
});
|
|
108
|
-
const Separator =
|
|
102
|
+
const Separator = slots?.separator ?? MultiInputTimeRangeFieldSeparator;
|
|
109
103
|
const separatorProps = useSlotProps({
|
|
110
104
|
elementType: Separator,
|
|
111
|
-
externalSlotProps: slotProps
|
|
105
|
+
externalSlotProps: slotProps?.separator,
|
|
106
|
+
additionalProps: {
|
|
107
|
+
children: ` ${internalProps.dateSeparator ?? '–'} `
|
|
108
|
+
},
|
|
112
109
|
ownerState,
|
|
113
110
|
className: classes.separator
|
|
114
111
|
});
|
|
@@ -149,6 +146,11 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
149
146
|
classes: PropTypes.object,
|
|
150
147
|
className: PropTypes.string,
|
|
151
148
|
component: PropTypes.elementType,
|
|
149
|
+
/**
|
|
150
|
+
* String displayed between the start and the end dates.
|
|
151
|
+
* @default "–"
|
|
152
|
+
*/
|
|
153
|
+
dateSeparator: PropTypes.string,
|
|
152
154
|
/**
|
|
153
155
|
* The default value. Use when the component is not controlled.
|
|
154
156
|
*/
|
|
@@ -63,7 +63,7 @@ const PickersRangeCalendarHeader = /*#__PURE__*/React.forwardRef(function Picker
|
|
|
63
63
|
nextLabel: localeText.nextMonth,
|
|
64
64
|
slots: slots,
|
|
65
65
|
slotProps: slotProps,
|
|
66
|
-
children: utils.formatByString(month, format
|
|
66
|
+
children: utils.formatByString(month, format ?? `${utils.formats.month} ${utils.formats.year}`)
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
69
|
process.env.NODE_ENV !== "production" ? PickersRangeCalendarHeader.propTypes = {
|
package/README.md
CHANGED
|
@@ -23,7 +23,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
23
23
|
* - [SingleInputDateRangeField API](https://mui.com/x/api/single-input-date-range-field/)
|
|
24
24
|
*/
|
|
25
25
|
const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, inRef) {
|
|
26
|
-
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
29
28
|
name: 'MuiSingleInputDateRangeField'
|
|
@@ -36,10 +35,10 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
36
35
|
} = themeProps,
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
|
-
const TextField =
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
40
39
|
const textFieldProps = useSlotProps({
|
|
41
40
|
elementType: TextField,
|
|
42
|
-
externalSlotProps: slotProps
|
|
41
|
+
externalSlotProps: slotProps?.textField,
|
|
43
42
|
externalForwardedProps: other,
|
|
44
43
|
ownerState,
|
|
45
44
|
additionalProps: {
|
|
@@ -83,6 +82,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
83
82
|
*/
|
|
84
83
|
color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
|
|
85
84
|
component: PropTypes.elementType,
|
|
85
|
+
/**
|
|
86
|
+
* String displayed between the start and the end dates.
|
|
87
|
+
* @default "–"
|
|
88
|
+
*/
|
|
89
|
+
dateSeparator: PropTypes.string,
|
|
86
90
|
/**
|
|
87
91
|
* The default value. Use when the component is not controlled.
|
|
88
92
|
*/
|
|
@@ -243,7 +247,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
243
247
|
/**
|
|
244
248
|
* Disable specific date.
|
|
245
249
|
*
|
|
246
|
-
* Warning: This function can be called multiple times (
|
|
250
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
247
251
|
*
|
|
248
252
|
* @template TDate
|
|
249
253
|
* @param {TDate} day The date to test.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
|
|
2
|
-
import { rangeValueManager,
|
|
3
|
+
import { rangeValueManager, getRangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
3
4
|
import { validateDateRange } from '../internals/utils/validation/validateDateRange';
|
|
4
5
|
export const useSingleInputDateRangeField = inProps => {
|
|
5
6
|
const props = useDefaultizedDateField(inProps);
|
|
@@ -7,11 +8,14 @@ export const useSingleInputDateRangeField = inProps => {
|
|
|
7
8
|
forwardedProps,
|
|
8
9
|
internalProps
|
|
9
10
|
} = splitFieldInternalAndForwardedProps(props, 'date');
|
|
11
|
+
const fieldValueManager = React.useMemo(() => getRangeFieldValueManager({
|
|
12
|
+
dateSeparator: internalProps.dateSeparator
|
|
13
|
+
}), [internalProps.dateSeparator]);
|
|
10
14
|
return useField({
|
|
11
15
|
forwardedProps,
|
|
12
16
|
internalProps,
|
|
13
17
|
valueManager: rangeValueManager,
|
|
14
|
-
fieldValueManager
|
|
18
|
+
fieldValueManager,
|
|
15
19
|
validator: validateDateRange,
|
|
16
20
|
valueType: 'date'
|
|
17
21
|
});
|
|
@@ -23,7 +23,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
23
23
|
* - [SingleInputDateTimeRangeField API](https://mui.com/x/api/single-input-date-time-range-field/)
|
|
24
24
|
*/
|
|
25
25
|
const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps, inRef) {
|
|
26
|
-
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
29
28
|
name: 'MuiSingleInputDateTimeRangeField'
|
|
@@ -36,10 +35,10 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
36
35
|
} = themeProps,
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
|
-
const TextField =
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
40
39
|
const textFieldProps = useSlotProps({
|
|
41
40
|
elementType: TextField,
|
|
42
|
-
externalSlotProps: slotProps
|
|
41
|
+
externalSlotProps: slotProps?.textField,
|
|
43
42
|
externalForwardedProps: other,
|
|
44
43
|
ownerState,
|
|
45
44
|
additionalProps: {
|
|
@@ -88,6 +87,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
88
87
|
*/
|
|
89
88
|
color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
|
|
90
89
|
component: PropTypes.elementType,
|
|
90
|
+
/**
|
|
91
|
+
* String displayed between the start and the end dates.
|
|
92
|
+
* @default "–"
|
|
93
|
+
*/
|
|
94
|
+
dateSeparator: PropTypes.string,
|
|
91
95
|
/**
|
|
92
96
|
* The default value. Use when the component is not controlled.
|
|
93
97
|
*/
|
|
@@ -276,7 +280,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
276
280
|
/**
|
|
277
281
|
* Disable specific date.
|
|
278
282
|
*
|
|
279
|
-
* Warning: This function can be called multiple times (
|
|
283
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
280
284
|
*
|
|
281
285
|
* @template TDate
|
|
282
286
|
* @param {TDate} day The date to test.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
|
|
2
|
-
import { rangeValueManager,
|
|
3
|
+
import { rangeValueManager, getRangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
3
4
|
import { validateDateTimeRange } from '../internals/utils/validation/validateDateTimeRange';
|
|
4
5
|
export const useSingleInputDateTimeRangeField = inProps => {
|
|
5
6
|
const props = useDefaultizedDateTimeField(inProps);
|
|
@@ -7,11 +8,14 @@ export const useSingleInputDateTimeRangeField = inProps => {
|
|
|
7
8
|
forwardedProps,
|
|
8
9
|
internalProps
|
|
9
10
|
} = splitFieldInternalAndForwardedProps(props, 'date-time');
|
|
11
|
+
const fieldValueManager = React.useMemo(() => getRangeFieldValueManager({
|
|
12
|
+
dateSeparator: internalProps.dateSeparator
|
|
13
|
+
}), [internalProps.dateSeparator]);
|
|
10
14
|
return useField({
|
|
11
15
|
forwardedProps,
|
|
12
16
|
internalProps,
|
|
13
17
|
valueManager: rangeValueManager,
|
|
14
|
-
fieldValueManager
|
|
18
|
+
fieldValueManager,
|
|
15
19
|
validator: validateDateTimeRange,
|
|
16
20
|
valueType: 'date-time'
|
|
17
21
|
});
|
|
@@ -23,7 +23,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
23
23
|
* - [SingleInputTimeRangeField API](https://mui.com/x/api/single-input-time-range-field/)
|
|
24
24
|
*/
|
|
25
25
|
const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, inRef) {
|
|
26
|
-
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
29
28
|
name: 'MuiSingleInputTimeRangeField'
|
|
@@ -36,10 +35,10 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
36
35
|
} = themeProps,
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
|
-
const TextField =
|
|
38
|
+
const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
|
|
40
39
|
const textFieldProps = useSlotProps({
|
|
41
40
|
elementType: TextField,
|
|
42
|
-
externalSlotProps: slotProps
|
|
41
|
+
externalSlotProps: slotProps?.textField,
|
|
43
42
|
externalForwardedProps: other,
|
|
44
43
|
ownerState,
|
|
45
44
|
additionalProps: {
|
|
@@ -88,6 +87,11 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
88
87
|
*/
|
|
89
88
|
color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
|
|
90
89
|
component: PropTypes.elementType,
|
|
90
|
+
/**
|
|
91
|
+
* String displayed between the start and the end dates.
|
|
92
|
+
* @default "–"
|
|
93
|
+
*/
|
|
94
|
+
dateSeparator: PropTypes.string,
|
|
91
95
|
/**
|
|
92
96
|
* The default value. Use when the component is not controlled.
|
|
93
97
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { useField, splitFieldInternalAndForwardedProps, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
|
|
2
|
-
import { rangeValueManager,
|
|
3
|
+
import { rangeValueManager, getRangeFieldValueManager } from '../internals/utils/valueManagers';
|
|
3
4
|
import { validateTimeRange } from '../internals/utils/validation/validateTimeRange';
|
|
4
5
|
export const useSingleInputTimeRangeField = inProps => {
|
|
5
6
|
const props = useDefaultizedTimeField(inProps);
|
|
@@ -7,11 +8,14 @@ export const useSingleInputTimeRangeField = inProps => {
|
|
|
7
8
|
forwardedProps,
|
|
8
9
|
internalProps
|
|
9
10
|
} = splitFieldInternalAndForwardedProps(props, 'time');
|
|
11
|
+
const fieldValueManager = React.useMemo(() => getRangeFieldValueManager({
|
|
12
|
+
dateSeparator: internalProps.dateSeparator
|
|
13
|
+
}), [internalProps.dateSeparator]);
|
|
10
14
|
return useField({
|
|
11
15
|
forwardedProps,
|
|
12
16
|
internalProps,
|
|
13
17
|
valueManager: rangeValueManager,
|
|
14
|
-
fieldValueManager
|
|
18
|
+
fieldValueManager,
|
|
15
19
|
validator: validateTimeRange,
|
|
16
20
|
valueType: 'time'
|
|
17
21
|
});
|
|
@@ -17,9 +17,8 @@ import { validateDateRange } from '../internals/utils/validation/validateDateRan
|
|
|
17
17
|
* - [StaticDateRangePicker API](https://mui.com/x/api/date-pickers/static-date-range-picker/)
|
|
18
18
|
*/
|
|
19
19
|
const StaticDateRangePicker = /*#__PURE__*/React.forwardRef(function StaticDateRangePicker(inProps, ref) {
|
|
20
|
-
var _defaultizedProps$dis, _defaultizedProps$cal, _defaultizedProps$slo;
|
|
21
20
|
const defaultizedProps = useDateRangePickerDefaultizedProps(inProps, 'MuiStaticDateRangePicker');
|
|
22
|
-
const displayStaticWrapperAs =
|
|
21
|
+
const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
|
|
23
22
|
const viewRenderers = _extends({
|
|
24
23
|
day: renderDateRangeViewCalendar
|
|
25
24
|
}, defaultizedProps.viewRenderers);
|
|
@@ -30,11 +29,11 @@ const StaticDateRangePicker = /*#__PURE__*/React.forwardRef(function StaticDateR
|
|
|
30
29
|
displayStaticWrapperAs,
|
|
31
30
|
views: ['day'],
|
|
32
31
|
openTo: 'day',
|
|
33
|
-
calendars:
|
|
32
|
+
calendars: defaultizedProps.calendars ?? (displayStaticWrapperAs === 'mobile' ? 1 : 2),
|
|
34
33
|
slotProps: _extends({}, defaultizedProps.slotProps, {
|
|
35
34
|
toolbar: _extends({
|
|
36
35
|
hidden: displayStaticWrapperAs === 'desktop'
|
|
37
|
-
},
|
|
36
|
+
}, defaultizedProps.slotProps?.toolbar)
|
|
38
37
|
})
|
|
39
38
|
});
|
|
40
39
|
const {
|
|
@@ -218,7 +217,7 @@ StaticDateRangePicker.propTypes = {
|
|
|
218
217
|
/**
|
|
219
218
|
* Disable specific date.
|
|
220
219
|
*
|
|
221
|
-
* Warning: This function can be called multiple times (
|
|
220
|
+
* Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
|
|
222
221
|
*
|
|
223
222
|
* @template TDate
|
|
224
223
|
* @param {TDate} day The date to test.
|
package/index.js
CHANGED