tdesign-react
Version:
TDesign Component for React
136 lines (130 loc) • 4.65 kB
JavaScript
/**
* tdesign v1.16.6
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../../_chunks/dep-3281986a.js');
var React = require('react');
var format = require('../../_chunks/dep-a12038f7.js');
var log = require('../../_chunks/dep-ed99b2c6.js');
var hooks_useControlled = require('../../hooks/useControlled.js');
var isObject = require('../../_chunks/dep-723e29d6.js');
require('../../_chunks/dep-54373955.js');
require('../../_chunks/dep-ef5bfcf1.js');
require('dayjs');
require('../../_chunks/dep-20f09a63.js');
require('../../_chunks/dep-f2e56581.js');
require('../../_chunks/dep-202d6c73.js');
require('../../_chunks/dep-615c149d.js');
require('../../_chunks/dep-90a93885.js');
require('../../_chunks/dep-a8d5081a.js');
require('../../_chunks/dep-0173c82c.js');
require('../../_util/noop.js');
require('../../_chunks/dep-825f3fca.js');
require('../../_chunks/dep-0cf6dbad.js');
require('../../_chunks/dep-cb9114ad.js');
require('../../_chunks/dep-d7d7df54.js');
require('../../_chunks/dep-4748ebeb.js');
var PARTIAL_MAP = {
first: "start",
second: "end"
};
function useRange(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.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"));
}
if (!Array.isArray(value)) {
log.log.error("DatePicker", "typeof value: ".concat(value, " must be Array!"));
} else if (!format.isValidDate(value, format$1)) {
log.log.error("DatePicker", "value: ".concat(value, " is invalid dateTime! Check whether the value is consistent with format: ").concat(format$1));
}
var _useState = React.useState(false),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
isFirstValueSelected = _useState2[0],
setIsFirstValueSelected = _useState2[1];
var _useState3 = React.useState(function () {
return format.initYearMonthTime({
value: value,
mode: props.mode,
format: format$1,
enableTimePicker: props.enableTimePicker
}).time;
}),
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
time = _useState4[0],
setTime = _useState4[1];
var _useState5 = React.useState(function () {
return format.initYearMonthTime({
value: value,
mode: props.mode,
format: format$1,
enableTimePicker: props.enableTimePicker
}).month;
}),
_useState6 = slicedToArray._slicedToArray(_useState5, 2),
month = _useState6[0],
setMonth = _useState6[1];
var _useState7 = React.useState(function () {
return format.initYearMonthTime({
value: value,
mode: props.mode,
format: format$1
}).year;
}),
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
year = _useState8[0],
setYear = _useState8[1];
var _useState9 = React.useState(function () {
return format.formatDate(value, {
format: format$1
});
}),
_useState0 = slicedToArray._slicedToArray(_useState9, 2),
cacheValue = _useState0[0],
setCacheValue = _useState0[1];
var isSwitchTimeMode = React.useMemo(function () {
return isObject.isObject(props.enableTimePicker) && props.enableTimePicker.mode === "switch";
}, [props.enableTimePicker]);
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 {
value: value,
onChange: onChange,
year: year,
setYear: setYear,
month: month,
setMonth: setMonth,
time: time,
setTime: setTime,
isFirstValueSelected: isFirstValueSelected,
setIsFirstValueSelected: setIsFirstValueSelected,
cacheValue: cacheValue,
setCacheValue: setCacheValue,
isSwitchTimeMode: isSwitchTimeMode
};
}
exports.PARTIAL_MAP = PARTIAL_MAP;
exports["default"] = useRange;
//# sourceMappingURL=useRangeValue.js.map