@mui/x-date-pickers-pro 6.0.0-alpha.11 → 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 +260 -0
- package/DateRangeCalendar/DateRangeCalendar.js +30 -3
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
- package/DateRangePicker/DateRangePicker.js +0 -6
- 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 -6
- package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
- package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
- package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -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 +2 -1
- package/index.js +5 -2
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -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 +4 -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 +7 -7
- package/internal/hooks/useRangePickerInputProps.js +12 -11
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
- 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/fields.d.ts +6 -1
- package/internal/models/range.d.ts +0 -4
- package/internal/models/timeRange.d.ts +2 -1
- package/internal/utils/date-fields-utils.d.ts +21 -5
- package/internal/utils/releaseInfo.js +1 -1
- package/internal/utils/valueManagers.d.ts +3 -2
- package/internal/utils/valueManagers.js +21 -22
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +36 -3
- package/legacy/DateRangePicker/DateRangePicker.js +0 -6
- 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 -6
- package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
- package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +48 -8
- 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 +6 -4
- package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -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 +12 -11
- package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/legacy/internal/utils/valueManagers.js +20 -23
- package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +29 -3
- package/modern/DateRangePicker/DateRangePicker.js +0 -6
- 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 -6
- package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
- package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
- 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 +6 -4
- package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -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 +11 -11
- package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/modern/internal/utils/valueManagers.js +21 -22
- package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +28 -2
- package/node/DateRangePicker/DateRangePicker.js +0 -6
- 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 -6
- package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
- package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
- 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 +6 -4
- package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -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 +11 -11
- package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
- package/node/internal/utils/releaseInfo.js +1 -1
- package/node/internal/utils/valueManagers.js +20 -21
- package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/package.json +4 -4
- package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
- package/internal/utils/viewRenderers.d.ts +0 -7
|
@@ -13,7 +13,7 @@ import { resolveComponentProps } from '@mui/base/utils';
|
|
|
13
13
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
14
14
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
15
15
|
import { Watermark } from '@mui/x-license-pro';
|
|
16
|
-
import { applyDefaultDate, DAY_MARGIN, DayCalendar, defaultReduceAnimations, PickersArrowSwitcher, PickersCalendarHeader, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, WrapperVariantContext } from '@mui/x-date-pickers/internals';
|
|
16
|
+
import { applyDefaultDate, DAY_MARGIN, DayCalendar, defaultReduceAnimations, PickersArrowSwitcher, PickersCalendarHeader, useCalendarState, useDefaultDates, useLocaleText, useNextMonthDisabled, usePreviousMonthDisabled, useUtils, WrapperVariantContext, useNow } from '@mui/x-date-pickers/internals';
|
|
17
17
|
import { getReleaseInfo } from '../internal/utils/releaseInfo';
|
|
18
18
|
import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from './dateRangeCalendarClasses';
|
|
19
19
|
import { isEndOfRange, isRangeValid, isStartOfRange, isWithinRange } from '../internal/utils/date-utils';
|
|
@@ -112,6 +112,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
|
112
112
|
var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar(inProps, ref) {
|
|
113
113
|
var utils = useUtils();
|
|
114
114
|
var localeText = useLocaleText();
|
|
115
|
+
var now = useNow();
|
|
115
116
|
var props = useDateRangeCalendarDefaultizedProps(inProps, 'MuiDateRangeCalendar');
|
|
116
117
|
var isMobile = React.useContext(WrapperVariantContext) === 'mobile';
|
|
117
118
|
var valueProp = props.value,
|
|
@@ -368,6 +369,32 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
|
|
|
368
369
|
return utils.setMonth(calendarState.currentMonth, utils.getMonth(calendarState.currentMonth) + index);
|
|
369
370
|
});
|
|
370
371
|
}, [utils, calendarState.currentMonth, calendars]);
|
|
372
|
+
var focusedMonth = React.useMemo(function () {
|
|
373
|
+
var _visibleMonths$find;
|
|
374
|
+
if (!autoFocus) {
|
|
375
|
+
return null;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// The focus priority of the "day" view is as follows:
|
|
379
|
+
// 1. Month of the `start` date
|
|
380
|
+
// 2. Month of the `end` date
|
|
381
|
+
// 3. Month of the current date
|
|
382
|
+
// 4. First visible month
|
|
383
|
+
|
|
384
|
+
if (value[0] != null) {
|
|
385
|
+
return visibleMonths.find(function (month) {
|
|
386
|
+
return utils.isSameMonth(month, value[0]);
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
if (value[1] != null) {
|
|
390
|
+
return visibleMonths.find(function (month) {
|
|
391
|
+
return utils.isSameMonth(month, value[1]);
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
return (_visibleMonths$find = visibleMonths.find(function (month) {
|
|
395
|
+
return utils.isSameMonth(month, now);
|
|
396
|
+
})) != null ? _visibleMonths$find : visibleMonths[0];
|
|
397
|
+
}, [utils, value, visibleMonths, autoFocus, now]);
|
|
371
398
|
return /*#__PURE__*/_jsxs(DateRangeCalendarRoot, _extends({
|
|
372
399
|
ref: ref,
|
|
373
400
|
className: clsx(className, classes.root),
|
|
@@ -381,7 +408,7 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
|
|
|
381
408
|
className: classes.monthContainer,
|
|
382
409
|
children: [calendars === 1 ? /*#__PURE__*/_jsx(PickersCalendarHeader, {
|
|
383
410
|
views: ['day'],
|
|
384
|
-
|
|
411
|
+
view: 'day',
|
|
385
412
|
currentMonth: calendarState.currentMonth,
|
|
386
413
|
onMonthChange: function onMonthChange(newMonth, direction) {
|
|
387
414
|
return handleChangeMonth({
|
|
@@ -426,7 +453,7 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
|
|
|
426
453
|
renderLoading: renderLoading,
|
|
427
454
|
components: componentsForDayCalendar,
|
|
428
455
|
componentsProps: componentsPropsForDayCalendar,
|
|
429
|
-
autoFocus:
|
|
456
|
+
autoFocus: month === focusedMonth,
|
|
430
457
|
fixedWeekNumber: fixedWeekNumber,
|
|
431
458
|
displayWeekNumber: displayWeekNumber
|
|
432
459
|
}), index)]
|
|
@@ -439,6 +466,12 @@ process.env.NODE_ENV !== "production" ? DateRangeCalendar.propTypes = {
|
|
|
439
466
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
440
467
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
441
468
|
// ----------------------------------------------------------------------
|
|
469
|
+
/**
|
|
470
|
+
* If `true`, the main element is focused during the first mount.
|
|
471
|
+
* This main element is:
|
|
472
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
473
|
+
* - the `input` element if there is a field rendered.
|
|
474
|
+
*/
|
|
442
475
|
autoFocus: PropTypes.bool,
|
|
443
476
|
/**
|
|
444
477
|
* The number of calendars to render.
|
|
@@ -54,7 +54,6 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
|
|
|
54
54
|
* @default /\dap/gi
|
|
55
55
|
*/
|
|
56
56
|
acceptRegex: PropTypes.instanceOf(RegExp),
|
|
57
|
-
autoFocus: PropTypes.bool,
|
|
58
57
|
/**
|
|
59
58
|
* The number of calendars that render on **desktop**.
|
|
60
59
|
* @default 2
|
|
@@ -234,11 +233,6 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
|
|
|
234
233
|
* Use in controlled mode (see open).
|
|
235
234
|
*/
|
|
236
235
|
onOpen: PropTypes.func,
|
|
237
|
-
/**
|
|
238
|
-
* Callback fired on view change.
|
|
239
|
-
* @param {DateView} view The new view.
|
|
240
|
-
*/
|
|
241
|
-
onViewChange: PropTypes.func,
|
|
242
236
|
/**
|
|
243
237
|
* Control the popup or dialog open state.
|
|
244
238
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["calendars", "className", "value", "DateInputProps", "defaultCalendarMonth", "disableAutoMonthSwitching", "disableFuture", "disableHighlightToday", "disablePast", "isMobileKeyboardViewOpen", "maxDate", "minDate", "onDateChange", "onMonthChange", "open", "reduceAnimations", "rangePosition", "onRangePositionChange", "shouldDisableDate", "showToolbar", "toggleMobileKeyboardView", "components", "componentsProps"];
|
|
4
|
+
var _excluded = ["calendars", "className", "value", "DateInputProps", "defaultCalendarMonth", "disableAutoMonthSwitching", "disableFuture", "disableHighlightToday", "disablePast", "isMobileKeyboardViewOpen", "maxDate", "minDate", "onDateChange", "onMonthChange", "open", "reduceAnimations", "rangePosition", "onRangePositionChange", "shouldDisableDate", "showToolbar", "toggleMobileKeyboardView", "components", "componentsProps", "onFocusedViewChange"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { Watermark } from '@mui/x-license-pro';
|
|
@@ -44,6 +44,7 @@ function DateRangePickerViewRaw(props) {
|
|
|
44
44
|
toggleMobileKeyboardView = props.toggleMobileKeyboardView,
|
|
45
45
|
components = props.components,
|
|
46
46
|
componentsProps = props.componentsProps,
|
|
47
|
+
onFocusedViewChange = props.onFocusedViewChange,
|
|
47
48
|
other = _objectWithoutProperties(props, _excluded);
|
|
48
49
|
var utils = useUtils();
|
|
49
50
|
var wrapperVariant = React.useContext(WrapperVariantContext);
|
|
@@ -127,7 +128,11 @@ function DateRangePickerViewRaw(props) {
|
|
|
127
128
|
components: components,
|
|
128
129
|
componentsProps: componentsProps,
|
|
129
130
|
shouldDisableDate: wrappedShouldDisableDate
|
|
130
|
-
}, calendarState,
|
|
131
|
+
}, calendarState, {
|
|
132
|
+
onFocusedViewChange: onFocusedViewChange ? function (newHasFocus) {
|
|
133
|
+
return onFocusedViewChange('day', newHasFocus);
|
|
134
|
+
} : undefined
|
|
135
|
+
}, other);
|
|
131
136
|
switch (wrapperVariant) {
|
|
132
137
|
case 'desktop':
|
|
133
138
|
{
|
|
@@ -68,7 +68,7 @@ export function DateRangePickerViewMobile(props) {
|
|
|
68
68
|
maxDate: maxDateWithDisabled,
|
|
69
69
|
minDate: minDateWithDisabled,
|
|
70
70
|
onMonthChange: changeMonth,
|
|
71
|
-
|
|
71
|
+
view: "day",
|
|
72
72
|
views: onlyDayView,
|
|
73
73
|
disabled: disabled
|
|
74
74
|
}, other)), /*#__PURE__*/_jsx(DayCalendar, _extends({}, other, {
|
|
@@ -187,10 +187,26 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
187
187
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
188
188
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
189
189
|
// ----------------------------------------------------------------------
|
|
190
|
+
/**
|
|
191
|
+
* A ref for imperative actions.
|
|
192
|
+
* It currently only supports `focusVisible()` action.
|
|
193
|
+
*/
|
|
194
|
+
action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
195
|
+
current: PropTypes.shape({
|
|
196
|
+
focusVisible: PropTypes.func.isRequired
|
|
197
|
+
})
|
|
198
|
+
})]),
|
|
199
|
+
/**
|
|
200
|
+
* If `true`, the ripples are centered.
|
|
201
|
+
* They won't start at the cursor interaction position.
|
|
202
|
+
* @default false
|
|
203
|
+
*/
|
|
204
|
+
centerRipple: PropTypes.bool,
|
|
190
205
|
/**
|
|
191
206
|
* Override or extend the styles applied to the component.
|
|
192
207
|
*/
|
|
193
208
|
classes: PropTypes.object,
|
|
209
|
+
className: PropTypes.string,
|
|
194
210
|
/**
|
|
195
211
|
* The date to show.
|
|
196
212
|
*/
|
|
@@ -210,6 +226,33 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
210
226
|
* @default false
|
|
211
227
|
*/
|
|
212
228
|
disableMargin: PropTypes.bool,
|
|
229
|
+
/**
|
|
230
|
+
* If `true`, the ripple effect is disabled.
|
|
231
|
+
*
|
|
232
|
+
* ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
|
|
233
|
+
* to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
|
|
234
|
+
* @default false
|
|
235
|
+
*/
|
|
236
|
+
disableRipple: PropTypes.bool,
|
|
237
|
+
/**
|
|
238
|
+
* If `true`, the touch ripple effect is disabled.
|
|
239
|
+
* @default false
|
|
240
|
+
*/
|
|
241
|
+
disableTouchRipple: PropTypes.bool,
|
|
242
|
+
/**
|
|
243
|
+
* If `true`, the base button will have a keyboard focus ripple.
|
|
244
|
+
* @default false
|
|
245
|
+
*/
|
|
246
|
+
focusRipple: PropTypes.bool,
|
|
247
|
+
/**
|
|
248
|
+
* This prop can help identify which element has keyboard focus.
|
|
249
|
+
* The class name will be applied when the element gains the focus through keyboard interaction.
|
|
250
|
+
* It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
|
|
251
|
+
* The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
|
|
252
|
+
* A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
|
|
253
|
+
* if needed.
|
|
254
|
+
*/
|
|
255
|
+
focusVisibleClassName: PropTypes.string,
|
|
213
256
|
isAnimating: PropTypes.bool,
|
|
214
257
|
/**
|
|
215
258
|
* Set to `true` if the `day` is the end of a highlighted date range.
|
|
@@ -240,6 +283,11 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
240
283
|
*/
|
|
241
284
|
isVisuallySelected: PropTypes.bool,
|
|
242
285
|
onDaySelect: PropTypes.func.isRequired,
|
|
286
|
+
/**
|
|
287
|
+
* Callback fired when the component is focused with a keyboard.
|
|
288
|
+
* We trigger a `onFocus` callback too.
|
|
289
|
+
*/
|
|
290
|
+
onFocusVisible: PropTypes.func,
|
|
243
291
|
onMouseEnter: PropTypes.func,
|
|
244
292
|
/**
|
|
245
293
|
* If `true`, day is outside of month and will be hidden.
|
|
@@ -255,11 +303,34 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
|
|
|
255
303
|
* @default false
|
|
256
304
|
*/
|
|
257
305
|
showDaysOutsideCurrentMonth: PropTypes.bool,
|
|
306
|
+
style: PropTypes.object,
|
|
307
|
+
/**
|
|
308
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
309
|
+
*/
|
|
310
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
311
|
+
/**
|
|
312
|
+
* @default 0
|
|
313
|
+
*/
|
|
314
|
+
tabIndex: PropTypes.number,
|
|
258
315
|
/**
|
|
259
316
|
* If `true`, renders as today date.
|
|
260
317
|
* @default false
|
|
261
318
|
*/
|
|
262
|
-
today: PropTypes.bool
|
|
319
|
+
today: PropTypes.bool,
|
|
320
|
+
/**
|
|
321
|
+
* Props applied to the `TouchRipple` element.
|
|
322
|
+
*/
|
|
323
|
+
TouchRippleProps: PropTypes.object,
|
|
324
|
+
/**
|
|
325
|
+
* A ref that points to the `TouchRipple` element.
|
|
326
|
+
*/
|
|
327
|
+
touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
328
|
+
current: PropTypes.shape({
|
|
329
|
+
pulsate: PropTypes.func.isRequired,
|
|
330
|
+
start: PropTypes.func.isRequired,
|
|
331
|
+
stop: PropTypes.func.isRequired
|
|
332
|
+
})
|
|
333
|
+
})])
|
|
263
334
|
} : void 0;
|
|
264
335
|
|
|
265
336
|
/**
|
|
@@ -78,7 +78,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
78
78
|
* @default /\dap/gi
|
|
79
79
|
*/
|
|
80
80
|
acceptRegex: PropTypes.instanceOf(RegExp),
|
|
81
|
-
autoFocus: PropTypes.bool,
|
|
82
81
|
/**
|
|
83
82
|
* The number of calendars that render on **desktop**.
|
|
84
83
|
* @default 2
|
|
@@ -252,11 +251,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
|
|
|
252
251
|
* Use in controlled mode (see open).
|
|
253
252
|
*/
|
|
254
253
|
onOpen: PropTypes.func,
|
|
255
|
-
/**
|
|
256
|
-
* Callback fired on view change.
|
|
257
|
-
* @param {DateView} view The new view.
|
|
258
|
-
*/
|
|
259
|
-
onViewChange: PropTypes.func,
|
|
260
254
|
/**
|
|
261
255
|
* Control the popup or dialog open state.
|
|
262
256
|
*/
|
|
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
|
|
|
7
7
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
8
|
import { rangeValueManager } from '../internal/utils/valueManagers';
|
|
9
9
|
import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
|
|
10
|
-
import {
|
|
10
|
+
import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
|
|
11
11
|
import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
|
|
12
|
-
import {
|
|
12
|
+
import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
|
|
13
13
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
14
|
-
var VIEW_LOOKUP = {
|
|
15
|
-
day: renderDateRangeView
|
|
16
|
-
};
|
|
17
14
|
var DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopNextDateRangePicker(inProps, ref) {
|
|
18
15
|
var _defaultizedProps$cal, _defaultizedProps$sho;
|
|
19
16
|
// Props with the default values common to all date time pickers
|
|
@@ -21,12 +18,15 @@ var DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopN
|
|
|
21
18
|
className = _useNextDateRangePick.className,
|
|
22
19
|
sx = _useNextDateRangePick.sx,
|
|
23
20
|
defaultizedProps = _objectWithoutProperties(_useNextDateRangePick, _excluded);
|
|
21
|
+
var viewRenderers = _extends({
|
|
22
|
+
day: renderDateRangeViewCalendar
|
|
23
|
+
}, defaultizedProps.viewRenderers);
|
|
24
24
|
var props = _extends({}, defaultizedProps, {
|
|
25
|
+
viewRenderers: viewRenderers,
|
|
25
26
|
calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 2,
|
|
26
27
|
views: ['day'],
|
|
27
28
|
openTo: 'day',
|
|
28
29
|
showToolbar: (_defaultizedProps$sho = defaultizedProps.showToolbar) != null ? _defaultizedProps$sho : false,
|
|
29
|
-
autoFocus: true,
|
|
30
30
|
components: _extends({
|
|
31
31
|
Field: MultiInputDateRangeField
|
|
32
32
|
}, defaultizedProps.components),
|
|
@@ -44,7 +44,6 @@ var DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopN
|
|
|
44
44
|
var _useDesktopRangePicke = useDesktopRangePicker({
|
|
45
45
|
props: props,
|
|
46
46
|
valueManager: rangeValueManager,
|
|
47
|
-
viewLookup: VIEW_LOOKUP,
|
|
48
47
|
validator: validateDateRange
|
|
49
48
|
}),
|
|
50
49
|
renderPicker = _useDesktopRangePicke.renderPicker;
|
|
@@ -55,6 +54,12 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
55
54
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
56
55
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
57
56
|
// ----------------------------------------------------------------------
|
|
57
|
+
/**
|
|
58
|
+
* If `true`, the main element is focused during the first mount.
|
|
59
|
+
* This main element is:
|
|
60
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
61
|
+
* - the `input` element if there is a field rendered.
|
|
62
|
+
*/
|
|
58
63
|
autoFocus: PropTypes.bool,
|
|
59
64
|
/**
|
|
60
65
|
* The number of calendars to render on **desktop**.
|
|
@@ -235,7 +240,7 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
235
240
|
* 4. If `null` is provided, no section will be selected
|
|
236
241
|
* If not provided, the selected sections will be handled internally.
|
|
237
242
|
*/
|
|
238
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
243
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
239
244
|
endIndex: PropTypes.number.isRequired,
|
|
240
245
|
startIndex: PropTypes.number.isRequired
|
|
241
246
|
})]),
|
|
@@ -265,6 +270,14 @@ DesktopNextDateRangePicker.propTypes = {
|
|
|
265
270
|
* The selected value.
|
|
266
271
|
* Used when the component is controlled.
|
|
267
272
|
*/
|
|
268
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
273
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
274
|
+
/**
|
|
275
|
+
* Define custom view renderers for each section.
|
|
276
|
+
* If `null`, the section will only have field editing.
|
|
277
|
+
* If `undefined`, internally defined view will be the used.
|
|
278
|
+
*/
|
|
279
|
+
viewRenderers: PropTypes.shape({
|
|
280
|
+
day: PropTypes.func
|
|
281
|
+
})
|
|
269
282
|
};
|
|
270
283
|
export { DesktopNextDateRangePicker };
|
|
@@ -83,7 +83,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
83
83
|
* @default /\dap/gi
|
|
84
84
|
*/
|
|
85
85
|
acceptRegex: PropTypes.instanceOf(RegExp),
|
|
86
|
-
autoFocus: PropTypes.bool,
|
|
87
86
|
/**
|
|
88
87
|
* The number of calendars that render on **desktop**.
|
|
89
88
|
* @default 2
|
|
@@ -257,11 +256,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
|
|
|
257
256
|
* Use in controlled mode (see open).
|
|
258
257
|
*/
|
|
259
258
|
onOpen: PropTypes.func,
|
|
260
|
-
/**
|
|
261
|
-
* Callback fired on view change.
|
|
262
|
-
* @param {DateView} view The new view.
|
|
263
|
-
*/
|
|
264
|
-
onViewChange: PropTypes.func,
|
|
265
259
|
/**
|
|
266
260
|
* Control the popup or dialog open state.
|
|
267
261
|
*/
|
|
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
|
|
|
7
7
|
import { resolveComponentProps } from '@mui/base/utils';
|
|
8
8
|
import { rangeValueManager } from '../internal/utils/valueManagers';
|
|
9
9
|
import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
|
|
10
|
-
import {
|
|
10
|
+
import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
|
|
11
11
|
import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
|
|
12
|
-
import {
|
|
12
|
+
import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
|
|
13
13
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
14
|
-
var VIEW_LOOKUP = {
|
|
15
|
-
day: renderDateRangeView
|
|
16
|
-
};
|
|
17
14
|
var MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNextDateRangePicker(inProps, ref) {
|
|
18
15
|
var _defaultizedProps$cal, _defaultizedProps$sho;
|
|
19
16
|
// Props with the default values common to all date time pickers
|
|
@@ -21,12 +18,15 @@ var MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNex
|
|
|
21
18
|
className = _useNextDateRangePick.className,
|
|
22
19
|
sx = _useNextDateRangePick.sx,
|
|
23
20
|
defaultizedProps = _objectWithoutProperties(_useNextDateRangePick, _excluded);
|
|
21
|
+
var viewRenderers = _extends({
|
|
22
|
+
day: renderDateRangeViewCalendar
|
|
23
|
+
}, defaultizedProps.viewRenderers);
|
|
24
24
|
var props = _extends({}, defaultizedProps, {
|
|
25
|
+
viewRenderers: viewRenderers,
|
|
25
26
|
calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 1,
|
|
26
27
|
views: ['day'],
|
|
27
28
|
openTo: 'day',
|
|
28
29
|
showToolbar: (_defaultizedProps$sho = defaultizedProps.showToolbar) != null ? _defaultizedProps$sho : true,
|
|
29
|
-
autoFocus: true,
|
|
30
30
|
components: _extends({
|
|
31
31
|
Field: MultiInputDateRangeField
|
|
32
32
|
}, defaultizedProps.components),
|
|
@@ -44,7 +44,6 @@ var MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNex
|
|
|
44
44
|
var _useMobileRangePicker = useMobileRangePicker({
|
|
45
45
|
props: props,
|
|
46
46
|
valueManager: rangeValueManager,
|
|
47
|
-
viewLookup: VIEW_LOOKUP,
|
|
48
47
|
validator: validateDateRange
|
|
49
48
|
}),
|
|
50
49
|
renderPicker = _useMobileRangePicker.renderPicker;
|
|
@@ -55,6 +54,12 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
55
54
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
56
55
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
57
56
|
// ----------------------------------------------------------------------
|
|
57
|
+
/**
|
|
58
|
+
* If `true`, the main element is focused during the first mount.
|
|
59
|
+
* This main element is:
|
|
60
|
+
* - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
|
|
61
|
+
* - the `input` element if there is a field rendered.
|
|
62
|
+
*/
|
|
58
63
|
autoFocus: PropTypes.bool,
|
|
59
64
|
/**
|
|
60
65
|
* The number of calendars to render on **desktop**.
|
|
@@ -235,7 +240,7 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
235
240
|
* 4. If `null` is provided, no section will be selected
|
|
236
241
|
* If not provided, the selected sections will be handled internally.
|
|
237
242
|
*/
|
|
238
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
243
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
239
244
|
endIndex: PropTypes.number.isRequired,
|
|
240
245
|
startIndex: PropTypes.number.isRequired
|
|
241
246
|
})]),
|
|
@@ -265,6 +270,14 @@ MobileNextDateRangePicker.propTypes = {
|
|
|
265
270
|
* The selected value.
|
|
266
271
|
* Used when the component is controlled.
|
|
267
272
|
*/
|
|
268
|
-
value: PropTypes.arrayOf(PropTypes.any)
|
|
273
|
+
value: PropTypes.arrayOf(PropTypes.any),
|
|
274
|
+
/**
|
|
275
|
+
* Define custom view renderers for each section.
|
|
276
|
+
* If `null`, the section will only have field editing.
|
|
277
|
+
* If `undefined`, internally defined view will be the used.
|
|
278
|
+
*/
|
|
279
|
+
viewRenderers: PropTypes.shape({
|
|
280
|
+
day: PropTypes.func
|
|
281
|
+
})
|
|
269
282
|
};
|
|
270
283
|
export { MobileNextDateRangePicker };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
var _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
|
|
4
|
-
_excluded2 = ["onKeyDown", "ref"],
|
|
5
|
-
_excluded3 = ["onKeyDown", "ref"];
|
|
3
|
+
var _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "autoFocus"],
|
|
4
|
+
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
5
|
+
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import Stack from '@mui/material/Stack';
|
|
@@ -15,12 +15,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
15
15
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
16
|
var MultiInputDateRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
17
17
|
return /*#__PURE__*/_jsx(Stack, _extends({
|
|
18
|
-
ref: ref
|
|
19
|
-
}, props, {
|
|
18
|
+
ref: ref,
|
|
20
19
|
spacing: 2,
|
|
21
20
|
direction: "row",
|
|
22
|
-
alignItems: "
|
|
23
|
-
}));
|
|
21
|
+
alignItems: "baseline"
|
|
22
|
+
}, props));
|
|
24
23
|
}), {
|
|
25
24
|
name: 'MuiMultiInputDateRangeField',
|
|
26
25
|
slot: 'Root',
|
|
@@ -53,6 +52,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
|
|
|
53
52
|
format = themeProps.format,
|
|
54
53
|
onChange = themeProps.onChange,
|
|
55
54
|
readOnly = themeProps.readOnly,
|
|
55
|
+
disabled = themeProps.disabled,
|
|
56
56
|
onError = themeProps.onError,
|
|
57
57
|
shouldDisableDate = themeProps.shouldDisableDate,
|
|
58
58
|
minDate = themeProps.minDate,
|
|
@@ -61,6 +61,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
|
|
|
61
61
|
disablePast = themeProps.disablePast,
|
|
62
62
|
selectedSections = themeProps.selectedSections,
|
|
63
63
|
onSelectedSectionsChange = themeProps.onSelectedSectionsChange,
|
|
64
|
+
autoFocus = themeProps.autoFocus,
|
|
64
65
|
other = _objectWithoutProperties(themeProps, _excluded);
|
|
65
66
|
var ownerState = themeProps;
|
|
66
67
|
var Root = (_components$Root = components == null ? void 0 : components.Root) != null ? _components$Root : MultiInputDateRangeFieldRoot;
|
|
@@ -77,6 +78,9 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
|
|
|
77
78
|
var startInputProps = useSlotProps({
|
|
78
79
|
elementType: Input,
|
|
79
80
|
externalSlotProps: componentsProps == null ? void 0 : componentsProps.input,
|
|
81
|
+
additionalProps: {
|
|
82
|
+
autoFocus: autoFocus
|
|
83
|
+
},
|
|
80
84
|
ownerState: _extends({}, ownerState, {
|
|
81
85
|
position: 'start'
|
|
82
86
|
})
|
|
@@ -101,6 +105,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
|
|
|
101
105
|
format: format,
|
|
102
106
|
onChange: onChange,
|
|
103
107
|
readOnly: readOnly,
|
|
108
|
+
disabled: disabled,
|
|
104
109
|
onError: onError,
|
|
105
110
|
shouldDisableDate: shouldDisableDate,
|
|
106
111
|
minDate: minDate,
|
|
@@ -118,20 +123,28 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
|
|
|
118
123
|
_useMultiInputDateRan2 = _useMultiInputDateRan.startDate,
|
|
119
124
|
onStartInputKeyDown = _useMultiInputDateRan2.onKeyDown,
|
|
120
125
|
startInputRef = _useMultiInputDateRan2.ref,
|
|
126
|
+
startReadOnly = _useMultiInputDateRan2.readOnly,
|
|
127
|
+
startInputMode = _useMultiInputDateRan2.inputMode,
|
|
121
128
|
startDateProps = _objectWithoutProperties(_useMultiInputDateRan2, _excluded2),
|
|
122
129
|
_useMultiInputDateRan3 = _useMultiInputDateRan.endDate,
|
|
123
130
|
onEndInputKeyDown = _useMultiInputDateRan3.onKeyDown,
|
|
124
131
|
endInputRef = _useMultiInputDateRan3.ref,
|
|
132
|
+
endReadOnly = _useMultiInputDateRan3.readOnly,
|
|
133
|
+
endInputMode = _useMultiInputDateRan3.inputMode,
|
|
125
134
|
endDateProps = _objectWithoutProperties(_useMultiInputDateRan3, _excluded3);
|
|
126
135
|
return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
|
|
127
136
|
children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
|
|
128
137
|
inputProps: _extends({}, startDateProps.inputProps, {
|
|
129
138
|
ref: startInputRef,
|
|
139
|
+
readOnly: startReadOnly,
|
|
140
|
+
inputMode: startInputMode,
|
|
130
141
|
onKeyDown: onStartInputKeyDown
|
|
131
142
|
})
|
|
132
143
|
})), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
|
|
133
144
|
inputProps: _extends({}, endDateProps.inputProps, {
|
|
134
145
|
ref: endInputRef,
|
|
146
|
+
readOnly: endReadOnly,
|
|
147
|
+
inputMode: endInputMode,
|
|
135
148
|
onKeyDown: onEndInputKeyDown
|
|
136
149
|
})
|
|
137
150
|
}))]
|
|
@@ -142,6 +155,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
142
155
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
143
156
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
144
157
|
// ----------------------------------------------------------------------
|
|
158
|
+
autoFocus: PropTypes.bool,
|
|
159
|
+
className: PropTypes.string,
|
|
145
160
|
/**
|
|
146
161
|
* Overrideable components.
|
|
147
162
|
* @default {}
|
|
@@ -156,6 +171,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
156
171
|
* The default value. Use when the component is not controlled.
|
|
157
172
|
*/
|
|
158
173
|
defaultValue: PropTypes.arrayOf(PropTypes.any),
|
|
174
|
+
/**
|
|
175
|
+
* Defines the `flex-direction` style property.
|
|
176
|
+
* It is applied for all screen sizes.
|
|
177
|
+
* @default 'column'
|
|
178
|
+
*/
|
|
179
|
+
direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
|
|
180
|
+
/**
|
|
181
|
+
* If `true`, the component is disabled.
|
|
182
|
+
* @default false
|
|
183
|
+
*/
|
|
184
|
+
disabled: PropTypes.bool,
|
|
159
185
|
/**
|
|
160
186
|
* If `true` disable values before the current date for date components, time for time components and both for date time components.
|
|
161
187
|
* @default false
|
|
@@ -166,6 +192,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
166
192
|
* @default false
|
|
167
193
|
*/
|
|
168
194
|
disablePast: PropTypes.bool,
|
|
195
|
+
/**
|
|
196
|
+
* Add an element between each child.
|
|
197
|
+
*/
|
|
198
|
+
divider: PropTypes.node,
|
|
169
199
|
/**
|
|
170
200
|
* Format of the date when rendered in the input(s).
|
|
171
201
|
*/
|
|
@@ -212,7 +242,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
212
242
|
* 4. If `null` is provided, no section will be selected
|
|
213
243
|
* If not provided, the selected sections will be handled internally.
|
|
214
244
|
*/
|
|
215
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
245
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
|
|
216
246
|
endIndex: PropTypes.number.isRequired,
|
|
217
247
|
startIndex: PropTypes.number.isRequired
|
|
218
248
|
})]),
|
|
@@ -224,6 +254,16 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
224
254
|
* @returns {boolean} Returns `true` if the date should be disabled.
|
|
225
255
|
*/
|
|
226
256
|
shouldDisableDate: PropTypes.func,
|
|
257
|
+
/**
|
|
258
|
+
* Defines the space between immediate children.
|
|
259
|
+
* @default 0
|
|
260
|
+
*/
|
|
261
|
+
spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
|
|
262
|
+
style: PropTypes.object,
|
|
263
|
+
/**
|
|
264
|
+
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
265
|
+
*/
|
|
266
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
227
267
|
/**
|
|
228
268
|
* The selected value.
|
|
229
269
|
* Used when the component is controlled.
|