{"version":3,"file":"time-range-picker.mjs","sources":["../../../components/time-picker/time-range-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, watch, computed, ComputedRef } from 'vue';\nimport dayjs from 'dayjs';\nimport { isArray } from 'lodash-es';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { TimeIcon as TdTimeIcon } from 'tdesign-icons-vue-next';\n\nimport { RangeInputPopup, RangeInputPosition } from '../range-input';\nimport TimePickerPanel from './panel/time-picker-panel';\n\nimport { TIME_PICKER_EMPTY } from '@tdesign/common-js/time-picker/const';\nimport { formatInputValue, validateInputValue } from '@tdesign/common-js/time-picker/utils';\n\n// interfaces\nimport props from './time-range-picker-props';\nimport { TimeRangeValue } from './types';\nimport { TimeRangePickerPartial } from './type';\n// hooks\nimport {\n  useVModel,\n  useConfig,\n  useDisabled,\n  useReadonly,\n  useGlobalIcon,\n  usePrefixClass,\n  useCommonClassName,\n  useEventForward,\n} from '@tdesign/shared-hooks';\n\ndayjs.extend(customParseFormat);\n\nexport default defineComponent({\n  name: 'TTimeRangePicker',\n  props: { ...props, rangeInputProps: Object, popupProps: Object },\n  setup(props) {\n    const COMPONENT_NAME = usePrefixClass('time-range-picker');\n    const { globalConfig } = useConfig('timePicker');\n    const { STATUS } = useCommonClassName();\n    const { TimeIcon } = useGlobalIcon({ TimeIcon: TdTimeIcon });\n\n    const isDisabled = useDisabled() as ComputedRef<boolean>;\n    const currentPanelIdx = ref(undefined);\n    const currentValue = ref<Array<string>>(TIME_PICKER_EMPTY);\n    const isShowPanel = ref(false);\n    const isReadOnly = useReadonly();\n\n    const inputClasses = computed(() => [\n      `${COMPONENT_NAME.value}__group`,\n      {\n        [STATUS.value.focused]: isShowPanel.value,\n      },\n    ]);\n    const { value, modelValue, allowInput, format } = toRefs(props);\n    const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange as any);\n\n    const handleShowPopup = (visible: boolean, context: any) => {\n      if (isReadOnly.value) return;\n      // 输入框点击不关闭面板\n      if (context.trigger === 'trigger-element-click') {\n        isShowPanel.value = true;\n        return;\n      }\n      isShowPanel.value = visible;\n    };\n\n    const handleClear = (context: { e: MouseEvent }) => {\n      const { e } = context;\n      e.stopPropagation();\n      currentValue.value = TIME_PICKER_EMPTY;\n      setInnerValue(null);\n    };\n\n    const handleClick = ({ position }: { position: 'first' | 'second' }) => {\n      currentPanelIdx.value = position === 'first' ? 0 : 1;\n    };\n\n    const handleTimeChange = (newValue: string | string[], e: MouseEvent) => {\n      if (isArray(newValue)) {\n        currentValue.value = newValue;\n      } else if (currentPanelIdx.value === 0) {\n        currentValue.value = [newValue, currentValue.value[1] ?? newValue];\n      } else {\n        currentValue.value = [currentValue.value[0] ?? newValue, newValue];\n      }\n      handleOnPick(newValue, e);\n    };\n\n    const handleInputBlur = (value: TimeRangeValue, { e }: { e: FocusEvent }) => {\n      if (allowInput.value) {\n        const isValidTime = validateInputValue(currentValue.value[currentPanelIdx.value], format.value);\n        if (isValidTime) {\n          const formattedVal = formatInputValue(currentValue.value[currentPanelIdx.value], format.value);\n          currentPanelIdx.value === 0\n            ? (currentValue.value = [formattedVal, currentValue.value[1] ?? formattedVal])\n            : (currentValue.value = [currentValue.value[0] ?? formattedVal, formattedVal]);\n        } else {\n          const previousValue = innerValue.value ?? TIME_PICKER_EMPTY;\n          currentPanelIdx.value === 0\n            ? (currentValue.value = [previousValue[0] ?? TIME_PICKER_EMPTY[0], currentValue.value[1]])\n            : (currentValue.value = [currentValue.value[0], previousValue[1] ?? TIME_PICKER_EMPTY[1]]);\n        }\n      }\n      props.onBlur?.({ value, e });\n    };\n\n    const handleInputChange = (\n      inputVal: TimeRangeValue,\n      { e, position }: { e: InputEvent; position: RangeInputPosition },\n    ) => {\n      currentValue.value = inputVal;\n      props.onInput?.({ value: innerValue.value, e, position: position === 'first' ? 'start' : 'end' });\n    };\n\n    const handleClickConfirm = () => {\n      const isValidTime = !currentValue.value.find((v) => !validateInputValue(v, format.value));\n      if (isValidTime) setInnerValue(currentValue.value);\n      if (props.autoSwap) autoSwapTime();\n      isShowPanel.value = false;\n    };\n\n    const handleFocus = (value: TimeRangeValue, { e, position }: { e: FocusEvent; position: RangeInputPosition }) => {\n      props.onFocus?.({ value, e, position: position === 'first' ? 'start' : 'end' });\n    };\n\n    const autoSwapTime = () => {\n      const [startTime, endTime] = currentValue.value;\n      const startDayjs = dayjs(startTime, props.format);\n      const endDayjs = dayjs(endTime, props.format);\n\n      if (startDayjs.isAfter(endDayjs, 'second')) {\n        setInnerValue([currentValue.value[1], currentValue.value[0]]);\n      } else {\n        setInnerValue([currentValue.value[0], currentValue.value[1]]);\n      }\n    };\n\n    const handleOnPick = (pickValue: string | string[], e: MouseEvent) => {\n      let pickedRangeValue = [];\n      let context;\n      if (isArray(pickValue)) {\n        pickedRangeValue = pickValue;\n        context = { e };\n      } else if (currentPanelIdx.value === 0) {\n        pickedRangeValue = [pickValue, currentValue.value[1] ?? pickValue];\n        context = { e, position: 'start' as TimeRangePickerPartial };\n      } else {\n        pickedRangeValue = [currentValue.value[0] ?? pickValue, pickValue];\n        context = { e, position: 'end' as TimeRangePickerPartial };\n      }\n      props.onPick?.(pickedRangeValue, context);\n    };\n\n    watch(\n      () => isShowPanel.value,\n      () => {\n        currentValue.value = isShowPanel.value ? innerValue.value ?? TIME_PICKER_EMPTY : TIME_PICKER_EMPTY;\n        if (!isShowPanel.value) currentPanelIdx.value = undefined;\n      },\n    );\n\n    const rangeInputEvents = useEventForward(props.rangeInputProps, {\n      onClear: handleClear,\n      onClick: handleClick,\n      onFocus: handleFocus,\n      onBlur: handleInputBlur,\n    });\n\n    const popupEvents = useEventForward(props.popupProps, {\n      onVisibleChange: handleShowPopup,\n    });\n\n    return () => (\n      <div class={COMPONENT_NAME.value}>\n        <RangeInputPopup\n          disabled={isDisabled.value}\n          popupVisible={isShowPanel.value}\n          popupProps={{\n            overlayInnerStyle: {\n              width: 'auto',\n              padding: 0,\n            },\n            ...popupEvents.value,\n          }}\n          onInputChange={handleInputChange}\n          inputValue={isShowPanel.value ? currentValue.value : innerValue.value ?? TIME_PICKER_EMPTY}\n          rangeInputProps={{\n            size: props.size,\n            clearable: props.clearable,\n            class: inputClasses.value,\n            value: isShowPanel.value ? currentValue.value : innerValue.value ?? undefined,\n            placeholder: props.placeholder || [globalConfig.value.placeholder, globalConfig.value.placeholder],\n            borderless: props.borderless,\n            suffixIcon: () => <TimeIcon />,\n            readonly: isReadOnly.value || !allowInput.value,\n            activeIndex: currentPanelIdx.value,\n            ...rangeInputEvents.value,\n          }}\n          label={props.label}\n          status={props.status}\n          tips={props.tips}\n          panel={() => (\n            <TimePickerPanel\n              steps={props.steps}\n              format={format.value}\n              isShowPanel={isShowPanel.value}\n              disableTime={props.disableTime}\n              hideDisabledTime={props.hideDisabledTime}\n              isFooterDisplay={true}\n              value={currentValue.value[currentPanelIdx.value || 0]}\n              onChange={handleTimeChange}\n              handleConfirmClick={handleClickConfirm}\n              position={currentPanelIdx.value === 0 ? 'start' : 'end'}\n              activeIndex={currentPanelIdx.value}\n              presets={props.presets}\n            />\n          )}\n        />\n      </div>\n    );\n  },\n});\n"],"names":["dayjs","extend","customParseFormat","defineComponent","name","props","rangeInputProps","Object","popupProps","setup","COMPONENT_NAME","usePrefixClass","_useConfig","useConfig","globalConfig","_useCommonClassName","useCommonClassName","STATUS","_useGlobalIcon","useGlobalIcon","TimeIcon","TdTimeIcon","isDisabled","useDisabled","currentPanelIdx","ref","currentValue","TIME_PICKER_EMPTY","isShowPanel","isReadOnly","useReadonly","inputClasses","computed","concat","value","_defineProperty","focused","_toRefs","toRefs","modelValue","allowInput","format","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","handleShowPopup","visible","context","trigger","handleClear","e","stopPropagation","handleClick","_ref2","position","handleTimeChange","newValue","isArray","_currentValue$value$","_currentValue$value$2","handleOnPick","handleInputBlur","_ref3","_props2$onBlur","isValidTime","validateInputValue","_currentValue$value$3","_currentValue$value$4","formattedVal","formatInputValue","_innerValue$value","_previousValue$","_previousValue$2","previousValue","onBlur","handleInputChange","inputVal","_ref4","_props2$onInput","onInput","handleClickConfirm","find","v","autoSwap","autoSwapTime","handleFocus","_props2$onFocus","_ref5","onFocus","_currentValue$value","startTime","endTime","startDayjs","endDayjs","isAfter","pickValue","_props2$onPick","pickedRangeValue","_currentValue$value$5","_currentValue$value$6","onPick","watch","_innerValue$value2","rangeInputEvents","useEventForward","onClear","onClick","popupEvents","onVisibleChange","_innerValue$value3","_innerValue$value4","_createVNode","RangeInputPopup","overlayInnerStyle","width","padding","_objectSpread","size","clearable","placeholder","borderless","suffixIcon","readonly","activeIndex","label","status","tips","panel","TimePickerPanel","steps","disableTime","hideDisabledTime","presets"],"mappings":"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"}