{"version":3,"file":"range-input.mjs","sources":["../../src/range-input/range-input.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, computed, Fragment } from 'vue';\n\nimport Input from '../input';\nimport props from './props';\nimport { RangeInputValue, RangeInputPosition } from './type';\n\n// hooks\nimport useVModel from '../hooks/useVModel';\nimport { useFormDisabled } from '../form/hooks';\nimport { usePrefixClass, useCommonClassName } from '../hooks/useConfig';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport isArray from 'lodash/isArray';\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: 'XRangeInput',\n\n  inheritAttrs: false,\n  props,\n\n  setup(props, { expose, attrs }) {\n    const { value, modelValue } = toRefs(props);\n    const { STATUS, SIZE } = useCommonClassName();\n    const classPrefix = usePrefixClass();\n    const disabled = useFormDisabled();\n    const COMPONENT_NAME = usePrefixClass('range-input');\n    const renderTNodeJSX = useTNodeJSX();\n\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 isShowClearIcon = computed(\n      () =>\n        ((props.clearable && props.value?.length && !disabled.value) || props.showClearIconOnEmpty) && 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}InputRef`].value?.focus();\n      },\n      blur: (options: any) => {\n        const { position = 'first' } = options || {};\n        inputRefs[`${position}InputRef`].value?.blur();\n      },\n      select: (options: any) => {\n        const { position = 'first' } = options || {};\n        inputRefs[`${position}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 RangeInputContent = (\n        <div\n          {...attrs}\n          class={[\n            COMPONENT_NAME.value,\n            {\n              [SIZE.value[props.size]]: props.size !== 'medium',\n              [STATUS.value.disabled]: disabled.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            },\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              }}\n              placeholder={placeholder.value[0]}\n              disabled={disabled.value}\n              readonly={props.readonly}\n              format={format.value[0]}\n              value={innerValue.value?.[0]}\n              onClick={({ e }: { e: MouseEvent }) => props.onClick?.({ e, position: 'first' })}\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              {...inputProps.value[0]}\n            />\n\n            <div class={`${COMPONENT_NAME.value}__inner-separator`}>{props.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              }}\n              placeholder={placeholder.value[1]}\n              disabled={disabled.value}\n              readonly={props.readonly}\n              format={format.value[1]}\n              value={innerValue.value?.[1]}\n              onClick={({ e }: { e: MouseEvent }) => props.onClick?.({ e, position: 'second' })}\n              onClear={() => setInnerValue([], { position: 'second', trigger: 'input' })}\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              {...inputProps.value[1]}\n            />\n            {suffixContent ? <div class={`${COMPONENT_NAME.value}__suffix`}>{suffixContent}</div> : null}\n            {suffixIconContent && (\n              <span class={`${COMPONENT_NAME.value}__suffix ${COMPONENT_NAME.value}__suffix-icon`}>\n                {isShowClearIcon.value ? (\n                  <icon-ri-close-circle-fill 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":["isArray","name","inheritAttrs","props","setup","innerValue","setInnerValue","trigger","position","e","expose","firstInputElement","secondInputElement","focus","blur","select","_createVNode","_mergeProps"],"mappings":"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"}