UNPKG

tdesign-react

Version:
117 lines (113 loc) 3.75 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import { _ as _slicedToArray } from '../../_chunks/dep-48805ab8.js'; import { useState, useEffect } from 'react'; import { g as getDefaultFormat, e as extractTimeFormat, b as isValidDate, i as initYearMonthTime, f as formatDate, a as formatTime } from '../../_chunks/dep-9036728c.js'; import '../../_chunks/dep-f53c91cd.js'; import useControlled from '../../hooks/useControlled.js'; import { l as log } from '../../_chunks/dep-b908e1fe.js'; import '../../_chunks/dep-026a4c6b.js'; import 'lodash-es'; import 'dayjs'; import '../../_chunks/dep-e29214cb.js'; import '../../_chunks/dep-dbf3be07.js'; import '../../_util/noop.js'; var PARTIAL_MAP = { first: "start", second: "end" }; function useRange(props) { var _useControlled = useControlled(props, "value", props.onChange), _useControlled2 = _slicedToArray(_useControlled, 2), value = _useControlled2[0], onChange = _useControlled2[1]; var _getDefaultFormat = getDefaultFormat({ mode: props.mode, format: props.format, enableTimePicker: props.enableTimePicker }), format = _getDefaultFormat.format, timeFormat = _getDefaultFormat.timeFormat; if (props.enableTimePicker) { if (!extractTimeFormat(format)) log.error("DatePicker", "format: ".concat(format, " is invalid\uFF0Ctime selection must include time formatting HH:mm:ss")); } if (!Array.isArray(value)) { log.error("DatePicker", "typeof value: ".concat(value, " must be Array!")); } else if (!isValidDate(value, format)) { log.error("DatePicker", "value: ".concat(value, " is invalid dateTime! Check whether the value is consistent with format: ").concat(format)); } var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isFirstValueSelected = _useState2[0], setIsFirstValueSelected = _useState2[1]; var _useState3 = useState(function () { return initYearMonthTime({ value: value, mode: props.mode, format: format, enableTimePicker: props.enableTimePicker }).time; }), _useState4 = _slicedToArray(_useState3, 2), time = _useState4[0], setTime = _useState4[1]; var _useState5 = useState(function () { return initYearMonthTime({ value: value, mode: props.mode, format: format, enableTimePicker: props.enableTimePicker }).month; }), _useState6 = _slicedToArray(_useState5, 2), month = _useState6[0], setMonth = _useState6[1]; var _useState7 = useState(function () { return initYearMonthTime({ value: value, mode: props.mode, format: format }).year; }), _useState8 = _slicedToArray(_useState7, 2), year = _useState8[0], setYear = _useState8[1]; var _useState9 = useState(function () { return formatDate(value, { format: format }); }), _useState0 = _slicedToArray(_useState9, 2), cacheValue = _useState0[0], setCacheValue = _useState0[1]; useEffect(function () { if (!value) { setCacheValue([]); return; } if (!isValidDate(value, format)) return; setCacheValue(formatDate(value, { format: format })); setTime(formatTime(value, format, 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 }; } export { PARTIAL_MAP, useRange as default }; //# sourceMappingURL=useRangeValue.js.map