tdesign-react
Version:
TDesign Component for React
100 lines (94 loc) • 3.66 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../../_chunks/dep-8e4d656d.js');
var React = require('react');
var format = require('../../_chunks/dep-0227e11a.js');
var log = require('../../_chunks/dep-59671c87.js');
var hooks_useControlled = require('../../hooks/useControlled.js');
require('../../_chunks/dep-00b49251.js');
require('dayjs');
require('../../_chunks/dep-5b5ab11b.js');
require('../../_chunks/dep-1d328330.js');
require('../../_chunks/dep-4ed9eda4.js');
require('../../_chunks/dep-25585736.js');
require('../../_chunks/dep-667ac7af.js');
require('../../_chunks/dep-64577888.js');
require('../../_chunks/dep-62e73936.js');
require('../../_util/noop.js');
require('../../_chunks/dep-66114ce9.js');
require('../../_chunks/dep-62d1dd66.js');
require('../../_chunks/dep-7a148045.js');
require('../../_chunks/dep-255ceed8.js');
require('../../_chunks/dep-79629634.js');
function useSingleValue(props) {
var _useControlled = hooks_useControlled["default"](props, "value", props.onChange),
_useControlled2 = slicedToArray._slicedToArray(_useControlled, 2),
value = _useControlled2[0],
onChange = _useControlled2[1];
var _getDefaultFormat = format.getDefaultFormat({
mode: props.mode,
format: props.format,
enableTimePicker: props.multiple ? false : props.enableTimePicker
}),
format$1 = _getDefaultFormat.format,
timeFormat = _getDefaultFormat.timeFormat;
if (props.enableTimePicker) {
if (!format.extractTimeFormat(format$1)) log.log.error("DatePicker", "format: ".concat(format$1, " is invalid\uFF0Ctime selection must include time formatting HH:mm:ss"));
}
var _useState = React.useState(function () {
return format.formatTime(props.multiple ? value === null || value === void 0 ? void 0 : value[0] : value, format$1, timeFormat, props.defaultTime);
}),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
time = _useState2[0],
setTime = _useState2[1];
var _useState3 = React.useState(function () {
return format.parseToDayjs(props.multiple ? value === null || value === void 0 ? void 0 : value[0] : value, format$1).month();
}),
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
month = _useState4[0],
setMonth = _useState4[1];
var _useState5 = React.useState(function () {
return format.parseToDayjs(props.multiple ? value === null || value === void 0 ? void 0 : value[0] : value, format$1).year();
}),
_useState6 = slicedToArray._slicedToArray(_useState5, 2),
year = _useState6[0],
setYear = _useState6[1];
var _useState7 = React.useState(function () {
return format.formatDate(props.multiple ? value === null || value === void 0 ? void 0 : value[0] : value, {
format: format$1
});
}),
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
cacheValue = _useState8[0],
setCacheValue = _useState8[1];
React.useEffect(function () {
if (!value) {
setCacheValue("");
return;
}
if (!format.isValidDate(value, format$1)) return;
setCacheValue(format.formatDate(value, {
format: format$1
}));
setTime(format.formatTime(value, format$1, timeFormat, props.defaultTime));
}, [value]);
return {
year: year,
month: month,
value: value,
time: time,
cacheValue: cacheValue,
onChange: onChange,
setYear: setYear,
setMonth: setMonth,
setTime: setTime,
setCacheValue: setCacheValue
};
}
exports["default"] = useSingleValue;
//# sourceMappingURL=useSingleValue.js.map