{"version":3,"file":"range-input.mjs","sources":["../../../components/range-input/range-input.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, computed, Fragment } from 'vue';\nimport { CloseCircleFilledIcon as TdCloseCircleFilledIcon } from 'tdesign-icons-vue-next';\nimport { isArray } from 'lodash-es';\n\nimport Input, { TdInputProps } from '../input';\nimport props from './props';\nimport { RangeInputValue, RangeInputPosition } from './type';\n\n// hooks\nimport {\n  useVModel,\n  useDisabled,\n  useReadonly,\n  useTNodeJSX,\n  useGlobalIcon,\n  usePrefixClass,\n  useCommonClassName,\n  useEventForward,\n} from '@tdesign/shared-hooks';\n\nfunction calcArrayValue(value: unknown | Array<unknown>) {\n  if (isArray(value)) {\n    return value;\n  }\n  return [value, value];\n}\n\nexport default defineComponent({\n  name: 'TRangeInput',\n  inheritAttrs: false,\n  props,\n  setup(props, { expose, attrs }) {\n    const { value, modelValue } = toRefs(props);\n    const { STATUS, SIZE } = useCommonClassName();\n    const classPrefix = usePrefixClass();\n    const COMPONENT_NAME = usePrefixClass('range-input');\n    const { CloseCircleFilledIcon } = useGlobalIcon({ CloseCircleFilledIcon: TdCloseCircleFilledIcon });\n    const renderTNodeJSX = useTNodeJSX();\n\n    const isDisabled = useDisabled();\n    const isReadonly = useReadonly();\n    const focused = ref(false);\n    const isHover = ref(false);\n    const format = computed(() => calcArrayValue(props.format));\n    const inputProps = computed(() => calcArrayValue(props.inputProps));\n    const placeholder = computed(() => calcArrayValue(props.placeholder));\n    const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n    const inputValue = computed(() => String((innerValue.value?.[0] || innerValue.value?.[1]) ?? ''));\n\n    const isShowClearIcon = computed(\n      () =>\n        ((props.clearable && inputValue.value?.length && !isDisabled.value) || props.showClearIconOnEmpty) &&\n        isHover.value,\n    );\n\n    const inputRefs = {\n      firstInputRef: ref(),\n      secondInputRef: ref(),\n    };\n\n    function handleClear(context: { e: MouseEvent }) {\n      props.onClear?.(context);\n      setInnerValue(['', ''], { ...context, trigger: 'clear', position: 'all' });\n    }\n\n    function handleEnter(rangeValue: RangeInputValue, context: { e: MouseEvent }) {\n      props.onEnter?.(rangeValue, context);\n    }\n\n    function handleFocus(rangeValue: RangeInputValue, context: { e: MouseEvent }) {\n      focused.value = true;\n      props.onFocus?.(rangeValue, context);\n    }\n\n    function handleBlur(rangeValue: RangeInputValue, context: { e: MouseEvent }) {\n      focused.value = false;\n      props.onBlur?.(rangeValue, context);\n    }\n\n    function handleMouseEnter(e: MouseEvent) {\n      isHover.value = true;\n      props?.onMouseenter?.({ e });\n    }\n\n    function handleMouseLeave(e: MouseEvent) {\n      isHover.value = false;\n      props?.onMouseleave?.({ e });\n    }\n\n    expose({\n      firstInputElement: inputRefs.firstInputRef.value,\n      secondInputElement: inputRefs.secondInputRef.value,\n      focus: (options: any) => {\n        const { position = 'first' } = options || {};\n        inputRefs[`${position as Exclude<RangeInputPosition, 'all'>}InputRef`].value?.focus();\n      },\n      blur: (options: any) => {\n        const { position = 'first' } = options || {};\n        inputRefs[`${position as Exclude<RangeInputPosition, 'all'>}InputRef`].value?.blur();\n      },\n      select: (options: any) => {\n        const { position = 'first' } = options || {};\n        inputRefs[`${position as Exclude<RangeInputPosition, 'all'>}InputRef`].value?.select();\n      },\n    });\n\n    return () => {\n      const labelContent = renderTNodeJSX('label');\n      const prefixIconContent = renderTNodeJSX('prefixIcon');\n      const suffixContent = renderTNodeJSX('suffix');\n      const suffixIconContent = renderTNodeJSX('suffixIcon');\n      const tips = renderTNodeJSX('tips');\n      const separator = renderTNodeJSX('separator');\n\n      const firstInputEvents = useEventForward(inputProps.value[0] as TdInputProps, {\n        onClick: ({ e }: { e: MouseEvent }) => {\n          props.onClick?.({ e, position: 'first' });\n        },\n        onClear: () => setInnerValue([], { position: 'first', trigger: 'input' }),\n        onEnter: (val, { e }) => {\n          handleEnter([val, innerValue.value?.[1]], { e, position: 'first' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onFocus: (val, { e }) => {\n          handleFocus([val, innerValue.value?.[1]], { e, position: 'first' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onBlur: (val, { e }) => {\n          handleBlur([val, innerValue.value?.[1]], { e, position: 'first' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onChange: (val, { e }) => {\n          setInnerValue([val, innerValue.value?.[1]], { e, position: 'first', trigger: 'input' });\n        },\n      });\n      const secondInputEvents = useEventForward(inputProps.value[1] as TdInputProps, {\n        onClick: ({ e }: { e: MouseEvent }) => {\n          props.onClick?.({ e, position: 'second' });\n        },\n        onClear: () => {\n          setInnerValue([], { position: 'second', trigger: 'input' });\n        },\n        onEnter: (val, { e }) => {\n          handleEnter([innerValue.value?.[0], val], { e, position: 'second' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onFocus: (val, { e }) => {\n          handleFocus([innerValue.value?.[0], val], { e, position: 'second' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onBlur: (val, { e }) => {\n          handleBlur([innerValue.value?.[0], val], { e, position: 'second' } as {\n            e: any;\n            position: RangeInputPosition;\n          });\n        },\n        onChange: (val, { e }) => {\n          setInnerValue([innerValue.value?.[0], val], { e, position: 'second', trigger: 'input' });\n        },\n      });\n\n      const RangeInputContent = (\n        <div\n          {...attrs}\n          class={[\n            COMPONENT_NAME.value,\n            {\n              [SIZE.value[props.size]]: props.size !== 'medium',\n              [STATUS.value.disabled]: isArray(isDisabled.value) ? isDisabled.value.every(Boolean) : isDisabled.value,\n              [STATUS.value.focused]: focused.value,\n              [STATUS.value.success]: props.status === 'success',\n              [STATUS.value.warning]: props.status === 'warning',\n              [STATUS.value.error]: props.status === 'error',\n              [`${COMPONENT_NAME.value}--prefix`]: prefixIconContent || labelContent,\n              [`${COMPONENT_NAME.value}--suffix`]: suffixContent || suffixIconContent,\n              [`${COMPONENT_NAME.value}--borderless`]: props.borderless,\n            },\n          ]}\n          onMouseenter={handleMouseEnter}\n          onMouseleave={handleMouseLeave}\n        >\n          <div class={`${COMPONENT_NAME.value}__inner`}>\n            {prefixIconContent && <div class={`${COMPONENT_NAME.value}__prefix`}>{prefixIconContent}</div>}\n            {labelContent ? <div class={`${COMPONENT_NAME.value}__prefix`}>{labelContent}</div> : null}\n            <Input\n              ref={inputRefs.firstInputRef}\n              class={`${COMPONENT_NAME.value}__inner-left`}\n              inputClass={{\n                [`${classPrefix.value}-is-focused`]: props.activeIndex === 0,\n                [`${classPrefix.value}-is-disabled`]: isArray(isDisabled.value) && isDisabled.value[0],\n              }}\n              placeholder={placeholder.value[0]}\n              disabled={isArray(isDisabled.value) ? isDisabled.value[0] : isDisabled.value}\n              readonly={isReadonly.value}\n              format={format.value[0]}\n              value={innerValue.value?.[0]}\n              {...firstInputEvents.value}\n            />\n\n            <div class={`${COMPONENT_NAME.value}__inner-separator`}>{separator}</div>\n\n            <Input\n              ref={inputRefs.secondInputRef}\n              class={`${COMPONENT_NAME.value}__inner-right`}\n              inputClass={{\n                [`${classPrefix.value}-is-focused`]: props.activeIndex === 1,\n                [`${classPrefix.value}-is-disabled`]: isArray(isDisabled.value) && isDisabled.value[1],\n              }}\n              placeholder={placeholder.value[1]}\n              disabled={isArray(isDisabled.value) ? isDisabled.value[1] : isDisabled.value}\n              readonly={isReadonly.value}\n              format={format.value[1]}\n              value={innerValue.value?.[1]}\n              {...secondInputEvents.value}\n            />\n            {suffixContent ? <div class={`${COMPONENT_NAME.value}__suffix`}>{suffixContent}</div> : null}\n            {(suffixIconContent || isShowClearIcon.value) && (\n              <span class={`${COMPONENT_NAME.value}__suffix ${COMPONENT_NAME.value}__suffix-icon`}>\n                {isShowClearIcon.value ? (\n                  <CloseCircleFilledIcon class={`${COMPONENT_NAME.value}__suffix-clear`} onClick={handleClear} />\n                ) : (\n                  suffixIconContent\n                )}\n              </span>\n            )}\n          </div>\n        </div>\n      );\n\n      const tipsClasses = [\n        `${COMPONENT_NAME.value}__tips`,\n        `${classPrefix.value}-tips`,\n        `${classPrefix.value}-is-${props.status}`,\n      ];\n      return (\n        <Fragment>\n          {RangeInputContent}\n          {tips && <div class={tipsClasses}>{tips}</div>}\n        </Fragment>\n      );\n    };\n  },\n});\n"],"names":["calcArrayValue","value","isArray","defineComponent","name","inheritAttrs","props","setup","expose","_ref","attrs","_toRefs","toRefs","modelValue","_useCommonClassName","useCommonClassName","STATUS","SIZE","classPrefix","usePrefixClass","COMPONENT_NAME","_useGlobalIcon","useGlobalIcon","CloseCircleFilledIcon","TdCloseCircleFilledIcon","renderTNodeJSX","useTNodeJSX","isDisabled","useDisabled","isReadonly","useReadonly","focused","ref","isHover","format","computed","inputProps","placeholder","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","inputValue","_ref2","_innerValue$value","_innerValue$value2","String","isShowClearIcon","_inputValue$value","clearable","length","showClearIconOnEmpty","inputRefs","firstInputRef","secondInputRef","handleClear","context","_props2$onClear","onClear","_objectSpread","trigger","position","handleEnter","rangeValue","_props2$onEnter","onEnter","handleFocus","_props2$onFocus","onFocus","handleBlur","_props2$onBlur","onBlur","handleMouseEnter","e","_props2$onMouseenter","onMouseenter","handleMouseLeave","_props2$onMouseleave","onMouseleave","firstInputElement","secondInputElement","focus","options","_inputRefs$value","_ref3","_ref3$position","concat","blur","_inputRefs$value2","_ref4","_ref4$position","select","_inputRefs$value3","_ref5","_ref5$position","_innerValue$value1","_innerValue$value10","labelContent","prefixIconContent","suffixContent","suffixIconContent","tips","separator","firstInputEvents","useEventForward","onClick","_ref6","_props2$onClick","val","_ref7","_innerValue$value3","_ref8","_innerValue$value4","_ref9","_innerValue$value5","_ref0","_innerValue$value6","secondInputEvents","_ref1","_props2$onClick2","_ref10","_innerValue$value7","_ref11","_innerValue$value8","_ref12","_innerValue$value9","_ref13","_innerValue$value0","RangeInputContent","_createVNode","_mergeProps","_defineProperty","size","disabled","every","Boolean","success","status","warning","error","borderless","Input","activeIndex","tipsClasses","_Fragment"],"mappings":"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"}