1
0
Fork 0
react-playground/node_modules/@mui/x-date-pickers/validation/validateDate.js
Techognito fc0f69dacb Added Statistics calculation
Statistics now show calculated values
2025-09-04 17:30:00 +02:00

61 lines
No EOL
1.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateDate = void 0;
var _valueManagers = require("../internals/utils/valueManagers");
/**
* Validation props used by the Date Picker, Date Field and Date Calendar components.
*/
/**
* Validation props as received by the validateDate method.
*/
/**
* Name of the props that should be defaulted before being passed to the validateDate method.
*/
const validateDate = ({
props,
value,
timezone,
adapter
}) => {
if (value === null) {
return null;
}
const {
shouldDisableDate,
shouldDisableMonth,
shouldDisableYear,
disablePast,
disableFuture,
minDate,
maxDate
} = props;
const now = adapter.date(undefined, timezone);
switch (true) {
case !adapter.isValid(value):
return 'invalidDate';
case Boolean(shouldDisableDate && shouldDisableDate(value)):
return 'shouldDisableDate';
case Boolean(shouldDisableMonth && shouldDisableMonth(value)):
return 'shouldDisableMonth';
case Boolean(shouldDisableYear && shouldDisableYear(value)):
return 'shouldDisableYear';
case Boolean(disableFuture && adapter.isAfterDay(value, now)):
return 'disableFuture';
case Boolean(disablePast && adapter.isBeforeDay(value, now)):
return 'disablePast';
case Boolean(minDate && adapter.isBeforeDay(value, minDate)):
return 'minDate';
case Boolean(maxDate && adapter.isAfterDay(value, maxDate)):
return 'maxDate';
default:
return null;
}
};
exports.validateDate = validateDate;
validateDate.valueManager = _valueManagers.singleItemValueManager;