{"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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"}