@mui/x-date-pickers-pro
Version:
The Pro plan edition of the Date and Time Picker components (MUI X).
49 lines (47 loc) • 1.55 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateDateRange = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _internals = require("@mui/x-date-pickers/internals");
var _dateUtils = require("../date-utils");
const _excluded = ["shouldDisableDate"];
const validateDateRange = ({
props,
value,
adapter
}) => {
const [start, end] = value;
const {
shouldDisableDate
} = props,
otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const dateValidations = [(0, _internals.validateDate)({
adapter,
value: start,
props: (0, _extends2.default)({}, otherProps, {
shouldDisableDate: day => !!shouldDisableDate?.(day, 'start')
})
}), (0, _internals.validateDate)({
adapter,
value: end,
props: (0, _extends2.default)({}, otherProps, {
shouldDisableDate: day => !!shouldDisableDate?.(day, 'end')
})
})];
if (dateValidations[0] || dateValidations[1]) {
return dateValidations;
}
// for partial input
if (start === null || end === null) {
return [null, null];
}
if (!(0, _dateUtils.isRangeValid)(adapter.utils, value)) {
return ['invalidRange', 'invalidRange'];
}
return [null, null];
};
exports.validateDateRange = validateDateRange;
;