@mui/x-date-pickers 7.0.0-alpha.4 → 7.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -0
- package/DateCalendar/DateCalendar.types.d.ts +6 -6
- package/DateCalendar/DayCalendar.d.ts +4 -4
- package/DateCalendar/index.d.ts +1 -1
- package/DateField/DateField.js +17 -50
- package/DateField/DateField.types.d.ts +5 -9
- package/DateField/useDateField.d.ts +2 -2
- package/DateField/useDateField.js +1 -5
- package/DatePicker/DatePicker.js +5 -1
- package/DatePicker/DatePicker.types.d.ts +6 -6
- package/DatePicker/index.d.ts +1 -1
- package/DatePicker/shared.d.ts +6 -6
- package/DateTimeField/DateTimeField.js +17 -50
- package/DateTimeField/DateTimeField.types.d.ts +5 -9
- package/DateTimeField/useDateTimeField.d.ts +2 -2
- package/DateTimeField/useDateTimeField.js +1 -5
- package/DateTimePicker/DateTimePicker.js +5 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
- package/DateTimePicker/index.d.ts +1 -1
- package/DateTimePicker/shared.d.ts +6 -6
- package/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
- package/DesktopDatePicker/index.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
- package/DesktopDateTimePicker/index.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
- package/DesktopTimePicker/index.d.ts +1 -1
- package/DigitalClock/DigitalClock.types.d.ts +4 -4
- package/DigitalClock/index.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +7 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
- package/MobileDatePicker/index.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
- package/MobileDateTimePicker/index.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +5 -1
- package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
- package/MobileTimePicker/index.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
- package/MultiSectionDigitalClock/index.d.ts +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
- package/PickersCalendarHeader/index.d.ts +1 -1
- package/PickersLayout/PickersLayout.types.d.ts +6 -6
- package/PickersLayout/index.d.ts +1 -1
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
- package/StaticDatePicker/index.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
- package/StaticDateTimePicker/index.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
- package/StaticTimePicker/index.d.ts +1 -1
- package/TimeClock/TimeClock.types.d.ts +5 -5
- package/TimeClock/index.d.ts +1 -1
- package/TimeField/TimeField.js +17 -50
- package/TimeField/TimeField.types.d.ts +5 -9
- package/TimeField/useTimeField.d.ts +2 -2
- package/TimeField/useTimeField.js +1 -5
- package/TimePicker/TimePicker.js +5 -1
- package/TimePicker/TimePicker.types.d.ts +6 -6
- package/TimePicker/index.d.ts +1 -1
- package/TimePicker/shared.d.ts +5 -5
- package/hooks/index.d.ts +1 -0
- package/hooks/useClearableField.d.ts +32 -20
- package/hooks/useClearableField.js +32 -33
- package/index.js +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
- package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
- package/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/internals/components/PickersModalDialog.d.ts +4 -4
- package/internals/components/PickersPopper.d.ts +4 -4
- package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/useField.js +3 -3
- package/internals/hooks/useField/useField.types.d.ts +4 -24
- package/internals/hooks/useField/useField.utils.js +24 -4
- package/internals/hooks/useField/useFieldState.js +7 -3
- package/internals/hooks/useMobilePicker/index.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
- package/internals/hooks/useStaticPicker/index.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
- package/internals/index.d.ts +7 -6
- package/internals/index.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +4 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/legacy/DateField/DateField.js +19 -47
- package/legacy/DateField/useDateField.js +1 -4
- package/legacy/DatePicker/DatePicker.js +5 -1
- package/legacy/DateTimeField/DateTimeField.js +19 -47
- package/legacy/DateTimeField/useDateTimeField.js +1 -4
- package/legacy/DateTimePicker/DateTimePicker.js +5 -1
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
- package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
- package/legacy/TimeField/TimeField.js +19 -47
- package/legacy/TimeField/useTimeField.js +1 -4
- package/legacy/TimePicker/TimePicker.js +5 -1
- package/legacy/hooks/useClearableField.js +30 -32
- package/legacy/index.js +1 -1
- package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/legacy/internals/hooks/useField/useField.js +4 -4
- package/legacy/internals/hooks/useField/useField.utils.js +26 -4
- package/legacy/internals/hooks/useField/useFieldState.js +7 -3
- package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/legacy/internals/index.js +1 -0
- package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
- package/models/fields.d.ts +2 -1
- package/modern/DateField/DateField.js +17 -50
- package/modern/DateField/useDateField.js +1 -5
- package/modern/DatePicker/DatePicker.js +5 -1
- package/modern/DateTimeField/DateTimeField.js +17 -50
- package/modern/DateTimeField/useDateTimeField.js +1 -5
- package/modern/DateTimePicker/DateTimePicker.js +5 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
- package/modern/TimeField/TimeField.js +17 -50
- package/modern/TimeField/useTimeField.js +1 -5
- package/modern/TimePicker/TimePicker.js +5 -1
- package/modern/hooks/useClearableField.js +32 -33
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/modern/internals/hooks/useField/useField.js +3 -3
- package/modern/internals/hooks/useField/useField.utils.js +24 -4
- package/modern/internals/hooks/useField/useFieldState.js +7 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/node/DateField/DateField.js +18 -51
- package/node/DateField/useDateField.js +1 -5
- package/node/DatePicker/DatePicker.js +5 -1
- package/node/DateTimeField/DateTimeField.js +18 -51
- package/node/DateTimeField/useDateTimeField.js +1 -5
- package/node/DateTimePicker/DateTimePicker.js +5 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/node/MobileDatePicker/MobileDatePicker.js +10 -5
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/node/MobileTimePicker/MobileTimePicker.js +5 -1
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/TimeField/TimeField.js +18 -51
- package/node/TimeField/useTimeField.js +1 -5
- package/node/TimePicker/TimePicker.js +5 -1
- package/node/hooks/useClearableField.js +33 -34
- package/node/index.js +1 -1
- package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/node/internals/hooks/useField/useField.js +3 -3
- package/node/internals/hooks/useField/useField.utils.js +24 -4
- package/node/internals/hooks/useField/useFieldState.js +7 -3
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/node/internals/index.js +7 -0
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
- package/package.json +2 -2
- package/themeAugmentation/overrides.d.ts +5 -7
- package/themeAugmentation/props.d.ts +6 -8
|
@@ -192,7 +192,7 @@ export const addPositionPropertiesToSections = (sections, isRTL) => {
|
|
|
192
192
|
|
|
193
193
|
// The ...InInput values consider the unicode characters but do include them in their indexes
|
|
194
194
|
const cleanedValue = cleanString(renderedValue);
|
|
195
|
-
const startInInput = positionInInput + renderedValue.indexOf(cleanedValue[0]) + section.startSeparator.length;
|
|
195
|
+
const startInInput = positionInInput + (cleanedValue === '' ? 0 : renderedValue.indexOf(cleanedValue[0])) + section.startSeparator.length;
|
|
196
196
|
const endInInput = startInInput + cleanedValue.length;
|
|
197
197
|
newSections.push(_extends({}, section, {
|
|
198
198
|
start: position,
|
|
@@ -425,6 +425,21 @@ export const splitFormatIntoSections = (utils, timezone, localeText, format, dat
|
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
427
|
commitToken(currentTokenValue);
|
|
428
|
+
if (sections.length === 0 && startSeparator.length > 0) {
|
|
429
|
+
sections.push({
|
|
430
|
+
type: 'empty',
|
|
431
|
+
contentType: 'letter',
|
|
432
|
+
maxLength: null,
|
|
433
|
+
format: '',
|
|
434
|
+
value: '',
|
|
435
|
+
placeholder: '',
|
|
436
|
+
hasLeadingZerosInFormat: false,
|
|
437
|
+
hasLeadingZerosInInput: false,
|
|
438
|
+
startSeparator,
|
|
439
|
+
endSeparator: '',
|
|
440
|
+
modified: false
|
|
441
|
+
});
|
|
442
|
+
}
|
|
428
443
|
return sections.map(section => {
|
|
429
444
|
const cleanSeparator = separator => {
|
|
430
445
|
let cleanedSeparator = separator;
|
|
@@ -566,6 +581,10 @@ export const getSectionsBoundaries = (utils, timezone) => {
|
|
|
566
581
|
meridiem: () => ({
|
|
567
582
|
minimum: 0,
|
|
568
583
|
maximum: 0
|
|
584
|
+
}),
|
|
585
|
+
empty: () => ({
|
|
586
|
+
minimum: 0,
|
|
587
|
+
maximum: 0
|
|
569
588
|
})
|
|
570
589
|
};
|
|
571
590
|
};
|
|
@@ -573,7 +592,7 @@ let warnedOnceInvalidSection = false;
|
|
|
573
592
|
export const validateSections = (sections, valueType) => {
|
|
574
593
|
if (process.env.NODE_ENV !== 'production') {
|
|
575
594
|
if (!warnedOnceInvalidSection) {
|
|
576
|
-
const supportedSections = [];
|
|
595
|
+
const supportedSections = ['empty'];
|
|
577
596
|
if (['date', 'date-time'].includes(valueType)) {
|
|
578
597
|
supportedSections.push('weekDay', 'day', 'month', 'year');
|
|
579
598
|
}
|
|
@@ -582,7 +601,7 @@ export const validateSections = (sections, valueType) => {
|
|
|
582
601
|
}
|
|
583
602
|
const invalidSection = sections.find(section => !supportedSections.includes(section.type));
|
|
584
603
|
if (invalidSection) {
|
|
585
|
-
console.warn(`MUI: The field component you are using is not compatible with the "${invalidSection.type} date section.`, `The supported date sections are ["${supportedSections.join('", "')}"]\`.`);
|
|
604
|
+
console.warn(`MUI: The field component you are using is not compatible with the "${invalidSection.type}" date section.`, `The supported date sections are ["${supportedSections.join('", "')}"]\`.`);
|
|
586
605
|
warnedOnceInvalidSection = true;
|
|
587
606
|
}
|
|
588
607
|
}
|
|
@@ -649,7 +668,8 @@ const reliableSectionModificationOrder = {
|
|
|
649
668
|
hours: 5,
|
|
650
669
|
minutes: 6,
|
|
651
670
|
seconds: 7,
|
|
652
|
-
meridiem: 8
|
|
671
|
+
meridiem: 8,
|
|
672
|
+
empty: 9
|
|
653
673
|
};
|
|
654
674
|
export const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom, sections, referenceDate, shouldLimitToEditedSections) =>
|
|
655
675
|
// cloning sections before sort to avoid mutating it
|
|
@@ -94,17 +94,21 @@ export const useFieldState = params => {
|
|
|
94
94
|
if (typeof selectedSections === 'number') {
|
|
95
95
|
return {
|
|
96
96
|
startIndex: selectedSections,
|
|
97
|
-
endIndex: selectedSections
|
|
97
|
+
endIndex: selectedSections,
|
|
98
|
+
shouldSelectBoundarySelectors: state.sections[selectedSections].type === 'empty'
|
|
98
99
|
};
|
|
99
100
|
}
|
|
100
101
|
if (typeof selectedSections === 'string') {
|
|
101
102
|
const selectedSectionIndex = state.sections.findIndex(section => section.type === selectedSections);
|
|
102
103
|
return {
|
|
103
104
|
startIndex: selectedSectionIndex,
|
|
104
|
-
endIndex: selectedSectionIndex
|
|
105
|
+
endIndex: selectedSectionIndex,
|
|
106
|
+
shouldSelectBoundarySelectors: state.sections[selectedSectionIndex].type === 'empty'
|
|
105
107
|
};
|
|
106
108
|
}
|
|
107
|
-
return selectedSections
|
|
109
|
+
return _extends({}, selectedSections, {
|
|
110
|
+
shouldSelectBoundarySelectors: selectedSections.startIndex === selectedSections.endIndex && state.sections[selectedSections.startIndex].type === 'empty'
|
|
111
|
+
});
|
|
108
112
|
}, [selectedSections, state.sections]);
|
|
109
113
|
const publishValue = ({
|
|
110
114
|
value,
|
|
@@ -33,6 +33,7 @@ export const useMobilePicker = _ref => {
|
|
|
33
33
|
format,
|
|
34
34
|
formatDensity,
|
|
35
35
|
timezone,
|
|
36
|
+
name,
|
|
36
37
|
label,
|
|
37
38
|
inputRef,
|
|
38
39
|
readOnly,
|
|
@@ -73,7 +74,8 @@ export const useMobilePicker = _ref => {
|
|
|
73
74
|
format,
|
|
74
75
|
formatDensity,
|
|
75
76
|
timezone,
|
|
76
|
-
label
|
|
77
|
+
label,
|
|
78
|
+
name
|
|
77
79
|
}),
|
|
78
80
|
ownerState: props
|
|
79
81
|
});
|
|
@@ -16,6 +16,7 @@ export { useStaticPicker } from './hooks/useStaticPicker';
|
|
|
16
16
|
export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNow } from './hooks/useUtils';
|
|
17
17
|
export { useValidation } from './hooks/useValidation';
|
|
18
18
|
export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
|
|
19
|
+
export { convertFieldResponseIntoMuiTextFieldProps } from './utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
19
20
|
export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate } from './utils/date-utils';
|
|
20
21
|
export { splitFieldInternalAndForwardedProps } from './utils/fields';
|
|
21
22
|
export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
const _excluded = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef"];
|
|
4
|
+
export const convertFieldResponseIntoMuiTextFieldProps = fieldResponse => {
|
|
5
|
+
const {
|
|
6
|
+
onPaste,
|
|
7
|
+
onKeyDown,
|
|
8
|
+
inputMode,
|
|
9
|
+
readOnly,
|
|
10
|
+
InputProps,
|
|
11
|
+
inputProps,
|
|
12
|
+
inputRef
|
|
13
|
+
} = fieldResponse,
|
|
14
|
+
other = _objectWithoutPropertiesLoose(fieldResponse, _excluded);
|
|
15
|
+
return _extends({}, other, {
|
|
16
|
+
InputProps: _extends({}, InputProps ?? {}, {
|
|
17
|
+
readOnly
|
|
18
|
+
}),
|
|
19
|
+
inputProps: _extends({}, inputProps ?? {}, {
|
|
20
|
+
inputMode,
|
|
21
|
+
onPaste,
|
|
22
|
+
onKeyDown,
|
|
23
|
+
ref: inputRef
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
@@ -13,12 +13,11 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
|
13
13
|
var _styles = require("@mui/material/styles");
|
|
14
14
|
var _utils = require("@mui/base/utils");
|
|
15
15
|
var _utils2 = require("@mui/utils");
|
|
16
|
-
var
|
|
16
|
+
var _useDateField = require("./useDateField");
|
|
17
17
|
var _hooks = require("../hooks");
|
|
18
|
+
var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
20
|
-
_excluded2 = ["inputRef"],
|
|
21
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
20
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
22
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
23
|
/**
|
|
@@ -31,7 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
31
30
|
*
|
|
32
31
|
* - [DateField API](https://mui.com/x/api/date-pickers/date-field/)
|
|
33
32
|
*/
|
|
34
|
-
const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps,
|
|
33
|
+
const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRef) {
|
|
35
34
|
const themeProps = (0, _styles.useThemeProps)({
|
|
36
35
|
props: inProps,
|
|
37
36
|
name: 'MuiDateField'
|
|
@@ -45,58 +44,26 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
|
|
|
45
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
46
45
|
const ownerState = themeProps;
|
|
47
46
|
const TextField = slots?.textField ?? _TextField.default;
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
textFieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
|
|
47
|
+
const textFieldProps = (0, _utils.useSlotProps)({
|
|
48
|
+
elementType: TextField,
|
|
49
|
+
externalSlotProps: slotProps?.textField,
|
|
50
|
+
externalForwardedProps: other,
|
|
51
|
+
additionalProps: {
|
|
52
|
+
ref: inRef
|
|
53
|
+
},
|
|
54
|
+
ownerState
|
|
55
|
+
});
|
|
58
56
|
|
|
59
57
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
60
58
|
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
61
59
|
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}),
|
|
66
|
-
{
|
|
67
|
-
ref: inputRef,
|
|
68
|
-
onPaste,
|
|
69
|
-
onKeyDown,
|
|
70
|
-
inputMode,
|
|
71
|
-
readOnly,
|
|
72
|
-
clearable,
|
|
73
|
-
onClear
|
|
74
|
-
} = _useDateField,
|
|
75
|
-
fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useDateField, _excluded3);
|
|
76
|
-
const {
|
|
77
|
-
InputProps: ProcessedInputProps,
|
|
78
|
-
fieldProps: processedFieldProps
|
|
79
|
-
} = (0, _hooks.useClearableField)({
|
|
80
|
-
onClear,
|
|
81
|
-
clearable,
|
|
82
|
-
fieldProps,
|
|
83
|
-
InputProps: fieldProps.InputProps,
|
|
60
|
+
const fieldResponse = (0, _useDateField.useDateField)(textFieldProps);
|
|
61
|
+
const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
|
|
62
|
+
const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
|
|
84
63
|
slots,
|
|
85
64
|
slotProps
|
|
86
|
-
});
|
|
87
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
|
|
88
|
-
ref: ref
|
|
89
|
-
}, processedFieldProps, {
|
|
90
|
-
InputProps: (0, _extends2.default)({}, ProcessedInputProps, {
|
|
91
|
-
readOnly
|
|
92
|
-
}),
|
|
93
|
-
inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
|
|
94
|
-
inputMode,
|
|
95
|
-
onPaste,
|
|
96
|
-
onKeyDown,
|
|
97
|
-
ref: inputRef
|
|
98
|
-
})
|
|
99
65
|
}));
|
|
66
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
|
|
100
67
|
});
|
|
101
68
|
process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
102
69
|
// ----------------------------- Warning --------------------------------
|
|
@@ -274,7 +241,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
|
|
|
274
241
|
* 4. If `null` is provided, no section will be selected
|
|
275
242
|
* If not provided, the selected sections will be handled internally.
|
|
276
243
|
*/
|
|
277
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
244
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
278
245
|
endIndex: _propTypes.default.number.isRequired,
|
|
279
246
|
startIndex: _propTypes.default.number.isRequired
|
|
280
247
|
})]),
|
|
@@ -23,17 +23,13 @@ const useDefaultizedDateField = props => {
|
|
|
23
23
|
maxDate: (0, _dateUtils.applyDefaultDate)(utils, props.maxDate, defaultDates.maxDate)
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
|
-
const useDateField =
|
|
27
|
-
props: inProps,
|
|
28
|
-
inputRef
|
|
29
|
-
}) => {
|
|
26
|
+
const useDateField = inProps => {
|
|
30
27
|
const props = useDefaultizedDateField(inProps);
|
|
31
28
|
const {
|
|
32
29
|
forwardedProps,
|
|
33
30
|
internalProps
|
|
34
31
|
} = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date');
|
|
35
32
|
return (0, _useField.useField)({
|
|
36
|
-
inputRef,
|
|
37
33
|
forwardedProps,
|
|
38
34
|
internalProps,
|
|
39
35
|
valueManager: _valueManagers.singleItemValueManager,
|
|
@@ -169,6 +169,10 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
169
169
|
* @default 3
|
|
170
170
|
*/
|
|
171
171
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
172
|
+
/**
|
|
173
|
+
* Name attribute used by the `input` element in the Field.
|
|
174
|
+
*/
|
|
175
|
+
name: _propTypes.default.string,
|
|
172
176
|
/**
|
|
173
177
|
* Callback fired when the value is accepted.
|
|
174
178
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -267,7 +271,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
267
271
|
* 4. If `null` is provided, no section will be selected
|
|
268
272
|
* If not provided, the selected sections will be handled internally.
|
|
269
273
|
*/
|
|
270
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
274
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
271
275
|
endIndex: _propTypes.default.number.isRequired,
|
|
272
276
|
startIndex: _propTypes.default.number.isRequired
|
|
273
277
|
})]),
|
|
@@ -13,12 +13,11 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
|
13
13
|
var _styles = require("@mui/material/styles");
|
|
14
14
|
var _utils = require("@mui/base/utils");
|
|
15
15
|
var _utils2 = require("@mui/utils");
|
|
16
|
-
var
|
|
16
|
+
var _useDateTimeField = require("./useDateTimeField");
|
|
17
17
|
var _hooks = require("../hooks");
|
|
18
|
+
var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
20
|
-
_excluded2 = ["inputRef"],
|
|
21
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
20
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
22
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
23
|
/**
|
|
@@ -31,7 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
31
30
|
*
|
|
32
31
|
* - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
|
|
33
32
|
*/
|
|
34
|
-
const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps,
|
|
33
|
+
const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
|
|
35
34
|
const themeProps = (0, _styles.useThemeProps)({
|
|
36
35
|
props: inProps,
|
|
37
36
|
name: 'MuiDateTimeField'
|
|
@@ -45,58 +44,26 @@ const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(func
|
|
|
45
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
|
|
46
45
|
const ownerState = themeProps;
|
|
47
46
|
const TextField = slots?.textField ?? _TextField.default;
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
textFieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
|
|
47
|
+
const textFieldProps = (0, _utils.useSlotProps)({
|
|
48
|
+
elementType: TextField,
|
|
49
|
+
externalSlotProps: slotProps?.textField,
|
|
50
|
+
externalForwardedProps: other,
|
|
51
|
+
ownerState,
|
|
52
|
+
additionalProps: {
|
|
53
|
+
ref: inRef
|
|
54
|
+
}
|
|
55
|
+
});
|
|
58
56
|
|
|
59
57
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
60
58
|
textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
|
|
61
59
|
textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}),
|
|
66
|
-
{
|
|
67
|
-
ref: inputRef,
|
|
68
|
-
onPaste,
|
|
69
|
-
onKeyDown,
|
|
70
|
-
inputMode,
|
|
71
|
-
readOnly,
|
|
72
|
-
clearable,
|
|
73
|
-
onClear
|
|
74
|
-
} = _useDateTimeField,
|
|
75
|
-
fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useDateTimeField, _excluded3);
|
|
76
|
-
const {
|
|
77
|
-
InputProps: ProcessedInputProps,
|
|
78
|
-
fieldProps: processedFieldProps
|
|
79
|
-
} = (0, _hooks.useClearableField)({
|
|
80
|
-
onClear,
|
|
81
|
-
clearable,
|
|
82
|
-
fieldProps,
|
|
83
|
-
InputProps: fieldProps.InputProps,
|
|
60
|
+
const fieldResponse = (0, _useDateTimeField.useDateTimeField)(textFieldProps);
|
|
61
|
+
const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
|
|
62
|
+
const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
|
|
84
63
|
slots,
|
|
85
64
|
slotProps
|
|
86
|
-
});
|
|
87
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
|
|
88
|
-
ref: ref
|
|
89
|
-
}, processedFieldProps, {
|
|
90
|
-
InputProps: (0, _extends2.default)({}, ProcessedInputProps, {
|
|
91
|
-
readOnly
|
|
92
|
-
}),
|
|
93
|
-
inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
|
|
94
|
-
inputMode,
|
|
95
|
-
onPaste,
|
|
96
|
-
onKeyDown,
|
|
97
|
-
ref: inputRef
|
|
98
|
-
})
|
|
99
65
|
}));
|
|
66
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
|
|
100
67
|
});
|
|
101
68
|
process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
102
69
|
// ----------------------------- Warning --------------------------------
|
|
@@ -307,7 +274,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
307
274
|
* 4. If `null` is provided, no section will be selected
|
|
308
275
|
* If not provided, the selected sections will be handled internally.
|
|
309
276
|
*/
|
|
310
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
277
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
311
278
|
endIndex: _propTypes.default.number.isRequired,
|
|
312
279
|
startIndex: _propTypes.default.number.isRequired
|
|
313
280
|
})]),
|
|
@@ -28,17 +28,13 @@ const useDefaultizedDateTimeField = props => {
|
|
|
28
28
|
maxTime: props.maxDateTime ?? props.maxTime
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
|
-
const useDateTimeField =
|
|
32
|
-
props: inProps,
|
|
33
|
-
inputRef
|
|
34
|
-
}) => {
|
|
31
|
+
const useDateTimeField = inProps => {
|
|
35
32
|
const props = useDefaultizedDateTimeField(inProps);
|
|
36
33
|
const {
|
|
37
34
|
forwardedProps,
|
|
38
35
|
internalProps
|
|
39
36
|
} = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date-time');
|
|
40
37
|
return (0, _useField.useField)({
|
|
41
|
-
inputRef,
|
|
42
38
|
forwardedProps,
|
|
43
39
|
internalProps,
|
|
44
40
|
valueManager: _valueManagers.singleItemValueManager,
|
|
@@ -207,6 +207,10 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
207
207
|
* @default 3
|
|
208
208
|
*/
|
|
209
209
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
210
|
+
/**
|
|
211
|
+
* Name attribute used by the `input` element in the Field.
|
|
212
|
+
*/
|
|
213
|
+
name: _propTypes.default.string,
|
|
210
214
|
/**
|
|
211
215
|
* Callback fired when the value is accepted.
|
|
212
216
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -305,7 +309,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
305
309
|
* 4. If `null` is provided, no section will be selected
|
|
306
310
|
* If not provided, the selected sections will be handled internally.
|
|
307
311
|
*/
|
|
308
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
312
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
309
313
|
endIndex: _propTypes.default.number.isRequired,
|
|
310
314
|
startIndex: _propTypes.default.number.isRequired
|
|
311
315
|
})]),
|
|
@@ -12,7 +12,8 @@ var _utils = require("@mui/base/utils");
|
|
|
12
12
|
var _utils2 = require("@mui/utils");
|
|
13
13
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
14
14
|
var _shared = require("../DatePicker/shared");
|
|
15
|
-
var
|
|
15
|
+
var _useUtils = require("../internals/hooks/useUtils");
|
|
16
|
+
var _validateDate = require("../internals/utils/validation/validateDate");
|
|
16
17
|
var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
|
|
17
18
|
var _icons = require("../icons");
|
|
18
19
|
var _DateField = require("../DateField");
|
|
@@ -32,8 +33,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
32
33
|
* - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
|
|
33
34
|
*/
|
|
34
35
|
const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
|
|
35
|
-
const localeText = (0,
|
|
36
|
-
const utils = (0,
|
|
36
|
+
const localeText = (0, _useUtils.useLocaleText)();
|
|
37
|
+
const utils = (0, _useUtils.useUtils)();
|
|
37
38
|
|
|
38
39
|
// Props with the default values common to all date pickers
|
|
39
40
|
const defaultizedProps = (0, _shared.useDatePickerDefaultizedProps)(inProps, 'MuiDesktopDatePicker');
|
|
@@ -68,7 +69,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
|
|
|
68
69
|
valueManager: _valueManagers.singleItemValueManager,
|
|
69
70
|
valueType: 'date',
|
|
70
71
|
getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
|
|
71
|
-
validator:
|
|
72
|
+
validator: _validateDate.validateDate
|
|
72
73
|
});
|
|
73
74
|
return renderPicker();
|
|
74
75
|
});
|
|
@@ -183,6 +184,10 @@ DesktopDatePicker.propTypes = {
|
|
|
183
184
|
* @default 3
|
|
184
185
|
*/
|
|
185
186
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
187
|
+
/**
|
|
188
|
+
* Name attribute used by the `input` element in the Field.
|
|
189
|
+
*/
|
|
190
|
+
name: _propTypes.default.string,
|
|
186
191
|
/**
|
|
187
192
|
* Callback fired when the value is accepted.
|
|
188
193
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -281,7 +286,7 @@ DesktopDatePicker.propTypes = {
|
|
|
281
286
|
* 4. If `null` is provided, no section will be selected
|
|
282
287
|
* If not provided, the selected sections will be handled internally.
|
|
283
288
|
*/
|
|
284
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
289
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
285
290
|
endIndex: _propTypes.default.number.isRequired,
|
|
286
291
|
startIndex: _propTypes.default.number.isRequired
|
|
287
292
|
})]),
|
|
@@ -260,6 +260,10 @@ DesktopDateTimePicker.propTypes = {
|
|
|
260
260
|
* @default 3
|
|
261
261
|
*/
|
|
262
262
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
263
|
+
/**
|
|
264
|
+
* Name attribute used by the `input` element in the Field.
|
|
265
|
+
*/
|
|
266
|
+
name: _propTypes.default.string,
|
|
263
267
|
/**
|
|
264
268
|
* Callback fired when the value is accepted.
|
|
265
269
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -358,7 +362,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
358
362
|
* 4. If `null` is provided, no section will be selected
|
|
359
363
|
* If not provided, the selected sections will be handled internally.
|
|
360
364
|
*/
|
|
361
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
365
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
362
366
|
endIndex: _propTypes.default.number.isRequired,
|
|
363
367
|
startIndex: _propTypes.default.number.isRequired
|
|
364
368
|
})]),
|
|
@@ -194,6 +194,10 @@ DesktopTimePicker.propTypes = {
|
|
|
194
194
|
* @default 1
|
|
195
195
|
*/
|
|
196
196
|
minutesStep: _propTypes.default.number,
|
|
197
|
+
/**
|
|
198
|
+
* Name attribute used by the `input` element in the Field.
|
|
199
|
+
*/
|
|
200
|
+
name: _propTypes.default.string,
|
|
197
201
|
/**
|
|
198
202
|
* Callback fired when the value is accepted.
|
|
199
203
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -274,7 +278,7 @@ DesktopTimePicker.propTypes = {
|
|
|
274
278
|
* 4. If `null` is provided, no section will be selected
|
|
275
279
|
* If not provided, the selected sections will be handled internally.
|
|
276
280
|
*/
|
|
277
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
281
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
278
282
|
endIndex: _propTypes.default.number.isRequired,
|
|
279
283
|
startIndex: _propTypes.default.number.isRequired
|
|
280
284
|
})]),
|
|
@@ -12,7 +12,8 @@ var _utils = require("@mui/base/utils");
|
|
|
12
12
|
var _utils2 = require("@mui/utils");
|
|
13
13
|
var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
14
14
|
var _shared = require("../DatePicker/shared");
|
|
15
|
-
var
|
|
15
|
+
var _useUtils = require("../internals/hooks/useUtils");
|
|
16
|
+
var _validateDate = require("../internals/utils/validation/validateDate");
|
|
16
17
|
var _DateField = require("../DateField");
|
|
17
18
|
var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
|
|
18
19
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
@@ -31,8 +32,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
31
32
|
* - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
|
|
32
33
|
*/
|
|
33
34
|
const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
|
|
34
|
-
const localeText = (0,
|
|
35
|
-
const utils = (0,
|
|
35
|
+
const localeText = (0, _useUtils.useLocaleText)();
|
|
36
|
+
const utils = (0, _useUtils.useUtils)();
|
|
36
37
|
|
|
37
38
|
// Props with the default values common to all date pickers
|
|
38
39
|
const defaultizedProps = (0, _shared.useDatePickerDefaultizedProps)(inProps, 'MuiMobileDatePicker');
|
|
@@ -65,7 +66,7 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
|
|
|
65
66
|
valueManager: _valueManagers.singleItemValueManager,
|
|
66
67
|
valueType: 'date',
|
|
67
68
|
getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
|
|
68
|
-
validator:
|
|
69
|
+
validator: _validateDate.validateDate
|
|
69
70
|
});
|
|
70
71
|
return renderPicker();
|
|
71
72
|
});
|
|
@@ -180,6 +181,10 @@ MobileDatePicker.propTypes = {
|
|
|
180
181
|
* @default 3
|
|
181
182
|
*/
|
|
182
183
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
184
|
+
/**
|
|
185
|
+
* Name attribute used by the `input` element in the Field.
|
|
186
|
+
*/
|
|
187
|
+
name: _propTypes.default.string,
|
|
183
188
|
/**
|
|
184
189
|
* Callback fired when the value is accepted.
|
|
185
190
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -278,7 +283,7 @@ MobileDatePicker.propTypes = {
|
|
|
278
283
|
* 4. If `null` is provided, no section will be selected
|
|
279
284
|
* If not provided, the selected sections will be handled internally.
|
|
280
285
|
*/
|
|
281
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
286
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
282
287
|
endIndex: _propTypes.default.number.isRequired,
|
|
283
288
|
startIndex: _propTypes.default.number.isRequired
|
|
284
289
|
})]),
|
|
@@ -229,6 +229,10 @@ MobileDateTimePicker.propTypes = {
|
|
|
229
229
|
* @default 3
|
|
230
230
|
*/
|
|
231
231
|
monthsPerRow: _propTypes.default.oneOf([3, 4]),
|
|
232
|
+
/**
|
|
233
|
+
* Name attribute used by the `input` element in the Field.
|
|
234
|
+
*/
|
|
235
|
+
name: _propTypes.default.string,
|
|
232
236
|
/**
|
|
233
237
|
* Callback fired when the value is accepted.
|
|
234
238
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -327,7 +331,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
327
331
|
* 4. If `null` is provided, no section will be selected
|
|
328
332
|
* If not provided, the selected sections will be handled internally.
|
|
329
333
|
*/
|
|
330
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
334
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
331
335
|
endIndex: _propTypes.default.number.isRequired,
|
|
332
336
|
startIndex: _propTypes.default.number.isRequired
|
|
333
337
|
})]),
|
|
@@ -173,6 +173,10 @@ MobileTimePicker.propTypes = {
|
|
|
173
173
|
* @default 1
|
|
174
174
|
*/
|
|
175
175
|
minutesStep: _propTypes.default.number,
|
|
176
|
+
/**
|
|
177
|
+
* Name attribute used by the `input` element in the Field.
|
|
178
|
+
*/
|
|
179
|
+
name: _propTypes.default.string,
|
|
176
180
|
/**
|
|
177
181
|
* Callback fired when the value is accepted.
|
|
178
182
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -253,7 +257,7 @@ MobileTimePicker.propTypes = {
|
|
|
253
257
|
* 4. If `null` is provided, no section will be selected
|
|
254
258
|
* If not provided, the selected sections will be handled internally.
|
|
255
259
|
*/
|
|
256
|
-
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
260
|
+
selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
|
|
257
261
|
endIndex: _propTypes.default.number.isRequired,
|
|
258
262
|
startIndex: _propTypes.default.number.isRequired
|
|
259
263
|
})]),
|
|
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _shared = require("../DatePicker/shared");
|
|
12
12
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
13
13
|
var _useStaticPicker = require("../internals/hooks/useStaticPicker");
|
|
14
|
-
var
|
|
14
|
+
var _validateDate = require("../internals/utils/validation/validateDate");
|
|
15
15
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -51,7 +51,7 @@ const StaticDatePicker = exports.StaticDatePicker = /*#__PURE__*/React.forwardRe
|
|
|
51
51
|
props,
|
|
52
52
|
valueManager: _valueManagers.singleItemValueManager,
|
|
53
53
|
valueType: 'date',
|
|
54
|
-
validator:
|
|
54
|
+
validator: _validateDate.validateDate,
|
|
55
55
|
ref
|
|
56
56
|
});
|
|
57
57
|
return renderPicker();
|