Files
ETB/ETB-FrontEnd/node_modules/@mui/x-date-pickers/node/DateTimePicker/shared.js
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

76 lines
3.0 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.resolveViewTypeFromView = exports.dateTimePickerValueManager = void 0;
exports.useDateTimePickerDefaultizedProps = useDateTimePickerDefaultizedProps;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _styles = require("@mui/material/styles");
var _useUtils = require("../internals/hooks/useUtils");
var _dateUtils = require("../internals/utils/date-utils");
function useDateTimePickerDefaultizedProps(props, name) {
var _themeProps$ampm, _themeProps$minDateTi, _themeProps$maxDateTi, _themeProps$minDateTi2, _themeProps$maxDateTi2;
// This is technically unsound if the type parameters appear in optional props.
// Optional props can be filled by `useThemeProps` with types that don't match the type parameters.
const themeProps = (0, _styles.useThemeProps)({
props,
name
});
const utils = (0, _useUtils.useUtils)();
const defaultDates = (0, _useUtils.useDefaultDates)();
const ampm = (_themeProps$ampm = themeProps.ampm) != null ? _themeProps$ampm : utils.is12HourCycleInCurrentLocale();
if (themeProps.orientation != null && themeProps.orientation !== 'portrait') {
throw new Error('We are not supporting custom orientation for DateTimePicker yet :(');
}
return (0, _extends2.default)({
ampm,
orientation: 'portrait',
openTo: 'day',
views: ['year', 'day', 'hours', 'minutes'],
ampmInClock: true,
acceptRegex: ampm ? /[\dap]/gi : /\d/gi,
disableMaskedInput: false,
inputFormat: ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h,
disableIgnoringDatePartForTimeValidation: Boolean(themeProps.minDateTime || themeProps.maxDateTime),
disablePast: false,
disableFuture: false
}, themeProps, {
minDate: (0, _dateUtils.parseNonNullablePickerDate)(utils, (_themeProps$minDateTi = themeProps.minDateTime) != null ? _themeProps$minDateTi : themeProps.minDate, defaultDates.minDate),
maxDate: (0, _dateUtils.parseNonNullablePickerDate)(utils, (_themeProps$maxDateTi = themeProps.maxDateTime) != null ? _themeProps$maxDateTi : themeProps.maxDate, defaultDates.maxDate),
minTime: (_themeProps$minDateTi2 = themeProps.minDateTime) != null ? _themeProps$minDateTi2 : themeProps.minTime,
maxTime: (_themeProps$maxDateTi2 = themeProps.maxDateTime) != null ? _themeProps$maxDateTi2 : themeProps.maxTime
});
}
const dateTimePickerValueManager = {
emptyValue: null,
getTodayValue: utils => utils.date(),
parseInput: _dateUtils.parsePickerInputValue,
areValuesEqual: (utils, a, b) => utils.isEqual(a, b)
};
exports.dateTimePickerValueManager = dateTimePickerValueManager;
const resolveViewTypeFromView = view => {
switch (view) {
case 'year':
case 'month':
case 'day':
return 'calendar';
default:
return 'clock';
}
};
exports.resolveViewTypeFromView = resolveViewTypeFromView;