tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 54.2 kB
Source Map (JSON)
{"version":3,"file":"DateRangePicker.mjs","sources":["../../../components/date-picker/DateRangePicker.tsx"],"sourcesContent":["import { defineComponent, computed, ref, watch, ComputedRef } from 'vue';\nimport dayjs from 'dayjs';\nimport { useDisabled, useReadonly, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport { isArray, isFunction } from 'lodash-es';\n\nimport props from './date-range-picker-props';\nimport {\n DateValue,\n DateRangePickerPartial,\n DatePickerYearChangeTrigger,\n DatePickerMonthChangeTrigger,\n PickerDateRange,\n} from './type';\n\nimport { RangeInputPopup as TRangeInputPopup } from '../range-input';\nimport TRangePanel from './components/panel/RangePanel';\nimport { useRange } from './hooks/useRange';\nimport {\n parseToDayjs,\n formatTime,\n formatDate,\n isValidDate,\n getDefaultFormat,\n initYearMonthTime,\n} from '@tdesign/common-js/date-picker/format';\nimport { subtractMonth, addMonth, extractTimeObj, getRangeBounds } from '@tdesign/common-js/date-picker/utils';\nimport { dateCorrection, triggerMap } from './utils';\n\nexport default defineComponent({\n name: 'TDateRangePicker',\n props,\n setup(props, { slots }) {\n const COMPONENT_NAME = usePrefixClass('date-range-picker');\n\n const {\n inputValue,\n popupVisible,\n rangeInputProps,\n popupProps,\n value,\n year,\n month,\n time,\n cacheValue,\n activeIndex,\n isHoverCell,\n isFirstValueSelected,\n onRawChange,\n } = useRange(props);\n\n const isDisabled = useDisabled() as ComputedRef<boolean | Array<boolean>>;\n const isReadOnly = useReadonly();\n\n const formatRef = computed(() =>\n getDefaultFormat({\n mode: props.mode,\n enableTimePicker: props.enableTimePicker,\n format: props.format,\n valueType: props.valueType,\n }),\n );\n\n // 记录面板是否选中过\n const isSelected = ref(false);\n\n watch(popupVisible, (visible) => {\n // 面板展开重置数据\n if (visible) {\n if (isSingleSideDisabled()) activeIndex.value = isArray(props.disabled) && props.disabled[0] ? 1 : 0;\n\n isSelected.value = false;\n cacheValue.value = formatDate(value.value || [], {\n format: formatRef.value.valueType,\n targetFormat: formatRef.value.format,\n }) as string[];\n time.value = formatTime(\n value.value || [dayjs().format(formatRef.value.timeFormat), dayjs().format(formatRef.value.timeFormat)],\n formatRef.value.format,\n formatRef.value.timeFormat,\n props.defaultTime,\n ) as string[];\n\n // 空数据重置为当前年月\n if (!value.value.length) {\n if ((props.range && isArray(props.range)) || props.panelActiveDate) {\n let startRange = props.range as PickerDateRange;\n let endRange = props.range as PickerDateRange;\n if (isArray(props.range)) {\n const [first, second] = props.range;\n if (isArray(first) || isFunction(first) || isArray(second) || isFunction(second)) {\n startRange = first as PickerDateRange;\n endRange = second as PickerDateRange;\n }\n }\n\n const startRangeBounds = getRangeBounds(startRange);\n const endRangeBounds = getRangeBounds(endRange);\n\n const startYearFromRange = startRangeBounds.min?.getFullYear() ?? startRangeBounds.max?.getFullYear();\n const startMonthFromRange = startRangeBounds.min?.getMonth() ?? startRangeBounds.max?.getMonth();\n\n const endYearFromRange = endRangeBounds.min?.getFullYear() ?? endRangeBounds.max?.getFullYear();\n const endMonthFromRange = endRangeBounds.min?.getMonth() ?? endRangeBounds.max?.getMonth();\n\n let startPanelActiveDate = props.panelActiveDate as any;\n let endPanelActiveDate = props.panelActiveDate as any;\n if (isArray(props.panelActiveDate)) {\n [startPanelActiveDate, endPanelActiveDate] = props.panelActiveDate;\n }\n\n const leftYear = (startPanelActiveDate?.year ?? startYearFromRange) as number;\n const leftMonth = startPanelActiveDate?.month\n ? Number(startPanelActiveDate?.month) - 1\n : startMonthFromRange;\n const rightYear = (endPanelActiveDate?.year ?? endYearFromRange) as number;\n const rightMonth = endPanelActiveDate?.month ? Number(endPanelActiveDate?.month) - 1 : endMonthFromRange;\n\n // 获取默认值作为兜底\n const { year: defaultYear, month: defaultMonth } = initYearMonthTime({\n value: value.value,\n mode: props.mode,\n format: formatRef.value.format,\n enableTimePicker: props.enableTimePicker,\n });\n\n year.value = [leftYear ?? defaultYear[0], rightYear ?? defaultYear[1]];\n month.value = [leftMonth ?? defaultMonth[0], rightMonth ?? defaultMonth[1]];\n\n // 修正:如果左右面板年月完全一致且未显式指定不同范围,则偏移面板\n if (year.value[0] === year.value[1] && month.value[0] === month.value[1] && !props.enableTimePicker) {\n if (startRange === endRange) {\n if (props.mode === 'year') year.value[1] += 10;\n else if (props.mode === 'month' || props.mode === 'quarter') year.value[1] += 1;\n else month.value[1] += 1;\n }\n }\n } else {\n const { year: defaultYear, month: defaultMonth } = initYearMonthTime({\n value: value.value,\n mode: props.mode,\n format: formatRef.value.format,\n enableTimePicker: props.enableTimePicker,\n });\n year.value = defaultYear;\n month.value = defaultMonth;\n }\n } else if (value.value.length === 2 && !props.enableTimePicker) {\n // 确保右侧面板月份比左侧大 避免两侧面板月份一致\n const nextMonth = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).month());\n year.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.valueType).year());\n if (year.value[0] === year.value[1] && nextMonth[0] === nextMonth[1]) {\n nextMonth[0] === 11 ? (nextMonth[0] -= 1) : (nextMonth[1] += 1);\n }\n month.value = nextMonth;\n // 月份季度选择时需要确保右侧面板年份比左侧大\n if ((props.mode === 'month' || props.mode === 'quarter') && year.value[0] === year.value[1]) {\n year.value = [year.value[0], year.value[0] + 1];\n }\n } else {\n year.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).year());\n if (year.value.length === 1) year.value = [year.value[0], year.value[0]];\n\n month.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).month());\n if (month.value.length === 1) month.value = [month.value[0], Math.min(month.value[0] + 1, 11)];\n }\n } else {\n activeIndex.value = 0;\n isHoverCell.value = false;\n isFirstValueSelected.value = false;\n if (props.needConfirm) {\n inputValue.value = formatDate(value.value, {\n format: formatRef.value.valueType,\n targetFormat: formatRef.value.format,\n });\n } else {\n confirmValueChange();\n }\n }\n });\n\n function normalizeRangeValue(nextValue: string[]) {\n return [nextValue[0] || '', nextValue[1] || ''];\n }\n\n function getInvalidIndex(nextValue: string[]) {\n return nextValue.findIndex((v, index) => {\n if (!v) return !(isArray(props.disabled) && props.disabled[index]);\n return !isValidDate(v, formatRef.value.format);\n });\n }\n\n function getDayjsValue(nextValue: string[]) {\n return nextValue.map((v, i) =>\n v ? parseToDayjs(v, formatRef.value.format, undefined, undefined, props.defaultTime?.[i]) : null,\n );\n }\n\n function isSingleSideDisabled() {\n return isArray(props.disabled) && props.disabled.filter(Boolean).length === 1;\n }\n\n function getAvailableActiveIndex() {\n if (!isArray(props.disabled)) return activeIndex.value;\n if (props.disabled[0] && !props.disabled[1]) return 1;\n if (!props.disabled[0] && props.disabled[1]) return 0;\n return activeIndex.value;\n }\n\n // 日期 hover\n function onCellMouseEnter(date: Date) {\n isHoverCell.value = true;\n const nextValue = [...(inputValue.value as string[])];\n nextValue[activeIndex.value] = formatDate(date, {\n format: formatRef.value.format,\n }) as string;\n inputValue.value = nextValue;\n }\n\n // 日期 leave\n function onCellMouseLeave() {\n isHoverCell.value = false;\n inputValue.value = cacheValue.value;\n }\n\n // 日期点击\n function onCellClick(date: Date, { e }: { e: MouseEvent; partial: DateRangePickerPartial }) {\n const nextActiveIndex = getAvailableActiveIndex();\n activeIndex.value = nextActiveIndex as 0 | 1;\n\n props.onPick?.(date, { e, partial: nextActiveIndex ? 'end' : 'start' });\n\n isHoverCell.value = false;\n isSelected.value = true;\n\n const nextValue = [...(inputValue.value as string[])];\n nextValue[nextActiveIndex] = formatDate(date, {\n format: formatRef.value.format,\n }) as string;\n const normalizedValue = normalizeRangeValue(nextValue);\n cacheValue.value = normalizedValue;\n inputValue.value = normalizedValue;\n\n // 有时间选择器走 confirm 逻辑\n if (props.enableTimePicker) {\n const selectedValue = [...normalizedValue];\n const selectedActiveIndex = nextActiveIndex;\n setTimeout(() => {\n popupVisible.value = true;\n activeIndex.value = selectedActiveIndex as 0 | 1;\n isSelected.value = true;\n cacheValue.value = selectedValue;\n inputValue.value = selectedValue;\n });\n return;\n }\n\n // 确保两端都是有效值\n const notValidIndex = getInvalidIndex(normalizedValue);\n\n // 当两端都有有效值时更改 value\n if (notValidIndex === -1 && normalizedValue.length === 2) {\n // 二次修改时当其中一侧不符合上次区间规范时,清空另一侧数据\n if (\n !isFirstValueSelected.value &&\n normalizedValue[0] &&\n normalizedValue[1] &&\n parseToDayjs(normalizedValue[0], formatRef.value.format).isAfter(\n parseToDayjs(normalizedValue[1], formatRef.value.format),\n )\n ) {\n normalizedValue[activeIndex.value ? 0 : 1] = '';\n cacheValue.value = normalizedValue;\n inputValue.value = normalizedValue;\n } else {\n onRawChange?.(\n formatDate(normalizedValue, {\n format: formatRef.value.format,\n targetFormat: formatRef.value.valueType,\n autoSwap: true,\n defaultTime: props.defaultTime,\n }) as DateValue[],\n {\n dayjsValue: getDayjsValue(normalizedValue),\n trigger: 'pick',\n },\n );\n }\n }\n\n if (Array.isArray(props.disabled)) return;\n\n // 首次点击不关闭、确保两端都有有效值并且无时间选择器时点击后自动关闭\n if (!isFirstValueSelected.value) {\n let nextIndex = notValidIndex;\n if (nextIndex === -1) nextIndex = activeIndex.value ? 0 : 1;\n activeIndex.value = nextIndex as 0 | 1;\n isFirstValueSelected.value = normalizedValue.some((v) => !!v);\n } else {\n popupVisible.value = false;\n }\n }\n\n // 头部快速切换\n function onJumperClick({\n trigger,\n partial,\n }: {\n trigger: 'prev' | 'next' | 'current';\n partial: DateRangePickerPartial;\n }) {\n const partialIndex = partial === 'start' ? 0 : 1;\n\n const monthCountMap = { date: 1, week: 1, month: 12, quarter: 12, year: 120 };\n const monthCount = monthCountMap[props.mode] || 0;\n const current = new Date(year.value[partialIndex], month.value[partialIndex]);\n\n let next = null;\n if (trigger === 'prev') {\n next = subtractMonth(current, monthCount);\n } else if (trigger === 'current') {\n next = new Date();\n } else if (trigger === 'next') {\n next = addMonth(current, monthCount);\n }\n\n let nextYear = [...year.value];\n nextYear[partialIndex] = next.getFullYear();\n let nextMonth = [...month.value];\n nextMonth[partialIndex] = next.getMonth();\n const onlyYearSelect = ['year', 'quarter', 'month'].includes(props.mode);\n\n // 头部日期切换修正\n const correctedDate = dateCorrection(partialIndex, nextYear, nextMonth, onlyYearSelect);\n nextYear = correctedDate.nextYear;\n nextMonth = correctedDate.nextMonth;\n\n const yearChanged = year.value[partialIndex] !== nextYear[partialIndex];\n const monthChanged = month.value[partialIndex] !== nextMonth[partialIndex];\n\n year.value = nextYear;\n month.value = nextMonth;\n\n // 触发年份变化事件\n if (yearChanged) {\n props.onYearChange?.({\n partial,\n year: nextYear[partialIndex],\n date: value.value.map((v) => dayjs(v).toDate()),\n trigger: trigger === 'current' ? 'today' : (`year-${triggerMap[trigger]}` as DatePickerYearChangeTrigger),\n });\n }\n\n // 触发月份变化事件\n if (monthChanged) {\n props.onMonthChange?.({\n partial,\n month: nextMonth[partialIndex],\n date: value.value.map((v) => dayjs(v).toDate()),\n trigger: trigger === 'current' ? 'today' : (`month-${triggerMap[trigger]}` as DatePickerMonthChangeTrigger),\n });\n }\n }\n\n // time-picker 点击\n function onTimePickerChange(val: string) {\n const { hours, minutes, seconds, milliseconds, meridiem } = extractTimeObj(val);\n\n const nextInputValue = [...(inputValue.value as DateValue[])];\n const changedInputValue = nextInputValue[activeIndex.value];\n const currentDate = !dayjs(changedInputValue, formatRef.value.format).isValid()\n ? dayjs().year(year.value[activeIndex.value]).month(month.value[activeIndex.value])\n : dayjs(changedInputValue, formatRef.value.format);\n // am pm 12小时制转化 24小时制\n let nextHours = hours;\n if (/am/i.test(meridiem) && nextHours === 12) nextHours -= 12;\n if (/pm/i.test(meridiem) && nextHours < 12) nextHours += 12;\n\n const nextDate = currentDate.hour(nextHours).minute(minutes).second(seconds).millisecond(milliseconds).toDate();\n nextInputValue[activeIndex.value] = nextDate;\n\n const nextTime = [...time.value];\n nextTime[activeIndex.value] = val;\n time.value = nextTime;\n\n isSelected.value = true;\n inputValue.value = formatDate(nextInputValue, {\n format: formatRef.value.format,\n });\n cacheValue.value = formatDate(nextInputValue, {\n format: formatRef.value.format,\n });\n }\n const confirmValueChange = (e?: MouseEvent) => {\n const nextValue = normalizeRangeValue([...(inputValue.value as string[])]);\n\n const notValidIndex = getInvalidIndex(nextValue);\n\n // 当两端都有有效值时更改 value\n if (notValidIndex === -1 && nextValue.length === 2) {\n // 二次修改时当其中一侧不符合上次区间规范时,清空另一侧数据\n if (\n !isFirstValueSelected.value &&\n nextValue[0] &&\n nextValue[1] &&\n parseToDayjs(nextValue[0], formatRef.value.format).isAfter(parseToDayjs(nextValue[1], formatRef.value.format))\n ) {\n nextValue[activeIndex.value ? 0 : 1] = '';\n cacheValue.value = nextValue;\n inputValue.value = nextValue;\n } else {\n const formattedValue = formatDate(nextValue, {\n format: formatRef.value.format,\n targetFormat: formatRef.value.valueType,\n autoSwap: true,\n defaultTime: props.defaultTime,\n }) as DateValue[];\n const isSame =\n Array.isArray(formattedValue) &&\n formattedValue.length === 2 &&\n formattedValue[0] != null &&\n formattedValue[1] != null &&\n value.value[0] != null &&\n value.value[1] != null &&\n dayjs(formattedValue[0] as any).valueOf() === dayjs(value.value[0] as any).valueOf() &&\n dayjs(formattedValue[1] as any).valueOf() === dayjs(value.value[1] as any).valueOf();\n //判断传入的值和当前值是否相同,不同再触发 onChange,避免不必要的事件触发\n props?.onConfirm?.({\n date: nextValue.map((v) => (v ? dayjs(v).toDate() : null)) as Date[],\n e: e || null,\n partial: activeIndex.value ? 'end' : 'start',\n });\n if (!isSame) {\n onRawChange?.(formattedValue, {\n dayjsValue: getDayjsValue(nextValue),\n trigger: 'confirm',\n });\n }\n }\n }\n };\n // 确定\n function onConfirmClick({ e }: { e: MouseEvent }) {\n confirmValueChange(e);\n\n const nextValue = normalizeRangeValue([...(inputValue.value as string[])]);\n\n const notValidIndex = getInvalidIndex(nextValue);\n\n if (isSingleSideDisabled()) {\n popupVisible.value = false;\n } else if (!isFirstValueSelected.value) {\n // 首次点击不关闭、确保两端都有有效值并且无时间选择器时点击后自动关闭\n let nextIndex = notValidIndex;\n if (nextIndex === -1) nextIndex = activeIndex.value ? 0 : 1;\n activeIndex.value = nextIndex as 0 | 1;\n isFirstValueSelected.value = nextValue.some((v) => !!v);\n } else if (nextValue.length === 2) {\n popupVisible.value = false;\n }\n }\n\n // 预设\n function onPresetClick(preset: any, context: any) {\n let presetValue = preset;\n if (isFunction(preset)) {\n presetValue = preset();\n }\n if (!isArray(presetValue)) {\n console.error(`preset: ${preset} 预设值必须是数组!`);\n } else {\n onRawChange?.(\n formatDate(presetValue, {\n format: formatRef.value.format,\n targetFormat: formatRef.value.valueType,\n autoSwap: true,\n defaultTime: props.defaultTime,\n }) as DateValue[],\n {\n dayjsValue: presetValue.map((p, i) =>\n parseToDayjs(p, formatRef.value.format, undefined, undefined, props.defaultTime?.[i]),\n ),\n trigger: 'preset',\n },\n );\n // 更新到 input,避免 needConfirm 导致值被覆盖\n inputValue.value = formatDate(presetValue, {\n format: formatRef.value.format,\n });\n popupVisible.value = false;\n props.onPresetClick?.(context);\n }\n }\n\n function onYearChange(nextVal: number, { partial }: { partial: DateRangePickerPartial }) {\n let partialIndex = partial === 'start' ? 0 : 1;\n if (props.enableTimePicker) partialIndex = activeIndex.value;\n\n let nextYear = [...year.value];\n let nextMonth = [...month.value];\n\n nextYear[partialIndex] = nextVal;\n const onlyYearSelect = ['year', 'quarter', 'month'].includes(props.mode);\n\n // 头部日期切换修正\n const correctedDate = dateCorrection(partialIndex, nextYear, nextMonth, onlyYearSelect);\n nextYear = correctedDate.nextYear;\n nextMonth = correctedDate.nextMonth;\n\n year.value = nextYear;\n if (!onlyYearSelect) month.value = nextMonth;\n\n props.onYearChange?.({\n partial,\n year: nextYear[partialIndex],\n date: value.value.map((v) => dayjs(v).toDate()),\n trigger: 'year-select',\n });\n }\n\n function onMonthChange(nextVal: number, { partial }: { partial: DateRangePickerPartial }) {\n let partialIndex = partial === 'start' ? 0 : 1;\n if (props.enableTimePicker) partialIndex = activeIndex.value;\n\n const nextMonth = [...month.value];\n nextMonth[partialIndex] = nextVal;\n // 保证左侧时间不大于右侧\n if (year.value[0] === year.value[1]) {\n if (partialIndex === 0) {\n // 操作了左侧区间, 处理右侧区间小于或等于左侧区间的场景,交互上始终报错右侧比左侧大 1\n if (nextMonth[1] <= nextMonth[0]) {\n nextMonth[1] = nextMonth[0] + 1;\n if (nextMonth[1] === 12) {\n // 处理跨年的边界场景\n nextMonth[1] = 0;\n year.value = [year.value?.[0], year.value?.[1] + 1];\n }\n }\n }\n if (partialIndex === 1) {\n // 操作了右侧区间, 处理右侧区间小于或等于左侧区间的场景,交互上始终报错左侧比右侧小 1\n nextMonth[0] = Math.min(nextMonth[0], nextMonth[1]);\n if (nextMonth[0] >= nextMonth[1]) {\n nextMonth[0] -= 1;\n if (nextMonth[0] === -1) {\n // 处理跨年的边界场景\n nextMonth[0] = 11;\n year.value = [year.value?.[0] - 1, year.value?.[1]];\n }\n }\n }\n }\n\n month.value = nextMonth;\n\n props.onMonthChange?.({\n partial,\n month: nextMonth[partialIndex],\n date: value.value.map((v) => dayjs(v).toDate()),\n trigger: 'month-select',\n });\n }\n\n const panelProps = computed(() => ({\n hoverValue: (isHoverCell.value ? inputValue.value : []) as string[],\n value: (isSelected.value ? cacheValue.value : value.value) as string[],\n isFirstValueSelected: isFirstValueSelected.value,\n activeIndex: activeIndex.value,\n year: year.value,\n month: month.value,\n format: formatRef.value.format,\n mode: props.mode,\n presets: props.presets,\n time: time.value,\n disableDate: props.disableDate,\n disabled: isDisabled.value,\n disableTime: props.disableTime,\n firstDayOfWeek: props.firstDayOfWeek,\n timePickerProps: props.timePickerProps,\n enableTimePicker: props.enableTimePicker,\n presetsPlacement: props.presetsPlacement,\n popupVisible: popupVisible.value,\n range: props.range,\n panelPreselection: props.panelPreselection,\n cancelRangeSelectLimit: props.cancelRangeSelectLimit,\n needConfirm: props.needConfirm,\n onCellClick,\n onCellMouseEnter,\n onCellMouseLeave,\n onJumperClick,\n onConfirmClick,\n onPresetClick,\n onYearChange,\n onMonthChange,\n onTimePickerChange,\n cell: props.cell,\n }));\n\n return () => (\n <div class={COMPONENT_NAME.value}>\n <TRangeInputPopup\n readonly={isReadOnly.value}\n disabled={isDisabled.value}\n label={props.label}\n status={props.status}\n tips={props.tips || slots.tips}\n inputValue={inputValue.value as string[]}\n popupProps={popupProps.value}\n rangeInputProps={rangeInputProps.value}\n popupVisible={popupVisible.value}\n panel={() => <TRangePanel {...panelProps.value} v-slots={slots} />}\n />\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","setup","slots","_ref","COMPONENT_NAME","usePrefixClass","_useRange","useRange","inputValue","popupVisible","rangeInputProps","popupProps","value","year","month","time","cacheValue","activeIndex","isHoverCell","isFirstValueSelected","onRawChange","isDisabled","useDisabled","isReadOnly","useReadonly","formatRef","computed","getDefaultFormat","mode","enableTimePicker","format","valueType","isSelected","ref","watch","visible","isSingleSideDisabled","isArray","disabled","formatDate","targetFormat","formatTime","dayjs","timeFormat","defaultTime","length","range","panelActiveDate","_startRangeBounds$min","_startRangeBounds$min2","_startRangeBounds$max","_startRangeBounds$min3","_startRangeBounds$min4","_startRangeBounds$max2","_endRangeBounds$min$g","_endRangeBounds$min","_endRangeBounds$max","_endRangeBounds$min$g2","_endRangeBounds$min2","_endRangeBounds$max2","_startPanelActiveDate","_startPanelActiveDate2","_startPanelActiveDate3","_startPanelActiveDate4","_endPanelActiveDate$y","_endPanelActiveDate","_endPanelActiveDate2","_endPanelActiveDate3","startRange","endRange","_props2$range","_slicedToArray","first","second","isFunction","startRangeBounds","getRangeBounds","endRangeBounds","startYearFromRange","min","getFullYear","max","startMonthFromRange","getMonth","endYearFromRange","endMonthFromRange","startPanelActiveDate","endPanelActiveDate","_props2$panelActiveDa","leftYear","leftMonth","Number","rightYear","rightMonth","_initYearMonthTime","initYearMonthTime","defaultYear","defaultMonth","_initYearMonthTime2","nextMonth","map","v","parseToDayjs","Math","needConfirm","confirmValueChange","normalizeRangeValue","nextValue","getInvalidIndex","findIndex","index","isValidDate","getDayjsValue","i","_props2$defaultTime","filter","Boolean","getAvailableActiveIndex","onCellMouseEnter","date","_toConsumableArray","onCellMouseLeave","onCellClick","_ref2","_props2$onPick","e","nextActiveIndex","onPick","partial","normalizedValue","selectedValue","selectedActiveIndex","setTimeout","notValidIndex","isAfter","autoSwap","dayjsValue","trigger","Array","nextIndex","some","onJumperClick","_ref3","partialIndex","monthCountMap","week","quarter","monthCount","current","Date","next","subtractMonth","addMonth","nextYear","onlyYearSelect","includes","correctedDate","dateCorrection","yearChanged","monthChanged","_props2$onYearChange","onYearChange","toDate","concat","triggerMap","_props2$onMonthChange","onMonthChange","onTimePickerChange","val","_extractTimeObj","extractTimeObj","hours","minutes","seconds","milliseconds","meridiem","nextInputValue","changedInputValue","currentDate","isValid","nextHours","test","nextDate","hour","minute","millisecond","nextTime","_props2$onConfirm","formattedValue","isSame","valueOf","onConfirm","onConfirmClick","_ref4","onPresetClick","preset","context","presetValue","console","error","_props2$onPresetClick","p","_props2$defaultTime2","nextVal","_ref5","_props2$onYearChange2","_ref6","_props2$onMonthChange2","_year$value","_year$value2","_year$value3","_year$value4","panelProps","hoverValue","presets","disableDate","disableTime","firstDayOfWeek","timePickerProps","presetsPlacement","panelPreselection","cancelRangeSelectLimit","cell","_createVNode","TRangeInputPopup","label","status","tips","panel","TRangePanel"],"mappings":"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