{"version":3,"file":"Input.cjs","sources":["../../../../../../packages/vue-components/vc-input/src/Input.tsx"],"sourcesContent":["import type { ChangeEvent, FocusEventHandler } from '@antdv/types';\n\n// base 0.0.1-alpha.7\nimport type { ComponentPublicInstance } from 'vue';\nimport type { InputProps } from './inputProps';\nimport type { InputFocusOptions } from './utils/commonUtils';\nimport { classNames } from '@antdv/utils';\nimport { omit } from 'lodash-es';\nimport {\n  computed,\n  defineComponent,\n  nextTick,\n  onMounted,\n  shallowRef,\n  watch,\n} from 'vue';\nimport BaseInput from './BaseInput';\nimport BaseInputCore, { type BaseInputExpose } from './BaseInputCore';\nimport { inputProps } from './inputProps';\nimport { fixControlledValue, hasAddon, hasPrefixSuffix, resolveOnChange, triggerFocus } from './utils/commonUtils';\n\nexport default defineComponent({\n  name: 'VCInput',\n  inheritAttrs: false,\n  props: inputProps(),\n  setup(props, { slots, attrs, expose, emit }) {\n    const stateValue = shallowRef(props.value === undefined ? props.defaultValue : props.value);\n    const focused = shallowRef(false);\n    const inputRef = shallowRef<BaseInputExpose>();\n    const rootRef = shallowRef<ComponentPublicInstance>();\n    watch(\n      () => props.value,\n      () => {\n        stateValue.value = props.value;\n      },\n    );\n    watch(\n      () => props.disabled,\n      () => {\n        if (props.disabled)\n          focused.value = false;\n      },\n    );\n    const focus = (option?: InputFocusOptions) => {\n      if (inputRef.value)\n        triggerFocus(inputRef.value.input, option);\n    };\n\n    const blur = () => {\n      inputRef.value.input?.blur();\n    };\n\n    const setSelectionRange = (\n      start: number,\n      end: number,\n      direction?: 'forward' | 'backward' | 'none',\n    ) => {\n      inputRef.value.input?.setSelectionRange(start, end, direction);\n    };\n\n    const select = () => {\n      inputRef.value.input?.select();\n    };\n\n    expose({\n      focus,\n      blur,\n      input: computed(() => (inputRef.value.input as any)?.input),\n      stateValue,\n      setSelectionRange,\n      select,\n    });\n    const triggerChange = (e: Event) => {\n      emit('change', e);\n    };\n    const setValue = (value: string | number, callback?: Function) => {\n      if (stateValue.value === value)\n        return;\n\n      if (props.value === undefined) {\n        stateValue.value = value;\n      } else {\n        nextTick(() => {\n          if (inputRef.value.input.value !== stateValue.value)\n            rootRef.value?.$forceUpdate();\n        });\n      }\n      nextTick(() => {\n        callback && callback();\n      });\n    };\n    const handleChange = (e: ChangeEvent) => {\n      const { value } = e.target as any;\n      if (stateValue.value === value) return;\n      const newVal = e.target.value;\n      resolveOnChange(inputRef.value.input as HTMLInputElement, e, triggerChange);\n      setValue(newVal);\n    };\n\n    const handleKeyDown = (e: KeyboardEvent) => {\n      if (e.keyCode === 13)\n        emit('pressEnter', e);\n\n      emit('keydown', e);\n    };\n\n    const handleFocus: FocusEventHandler = (e) => {\n      focused.value = true;\n      emit('focus', e);\n    };\n\n    const handleBlur: FocusEventHandler = (e) => {\n      focused.value = false;\n      emit('blur', e);\n    };\n\n    const handleReset = (e: MouseEvent) => {\n      resolveOnChange(inputRef.value.input as HTMLInputElement, e, triggerChange);\n      setValue('', () => {\n        focus();\n      });\n    };\n\n    const getInputElement = () => {\n      const {\n        addonBefore = slots.addonBefore,\n        addonAfter = slots.addonAfter,\n        disabled,\n        valueModifiers = {},\n        htmlSize,\n        autocomplete,\n        prefixCls,\n        inputClassName,\n        prefix = slots.prefix?.(),\n        suffix = slots.suffix?.(),\n        allowClear,\n        type = 'text',\n      } = props;\n      const otherProps = omit(props as InputProps & { placeholder: string }, [\n        'prefixCls',\n        'onPressEnter',\n        'addonBefore',\n        'addonAfter',\n        'prefix',\n        'suffix',\n        'allowClear',\n        // Input elements must be either controlled or uncontrolled,\n        // specify either the value prop, or the defaultValue prop, but not both.\n        'defaultValue',\n        'size',\n        'bordered',\n        'htmlSize',\n        'lazy',\n        'showCount',\n        'valueModifiers',\n        'showCount',\n        'affixWrapperClassName',\n        'groupClassName',\n        'inputClassName',\n        'wrapperClassName',\n      ]);\n      const getInputProps = {\n        ...otherProps,\n        ...attrs,\n        autocomplete,\n        onChange: handleChange,\n        onInput: handleChange,\n        onFocus: handleFocus,\n        onBlur: handleBlur,\n        onKeydown: handleKeyDown,\n        class: classNames(\n          prefixCls,\n          {\n            [`${prefixCls}-disabled`]: disabled,\n          },\n          inputClassName,\n          !hasAddon({ addonAfter, addonBefore })\n            && !hasPrefixSuffix({ prefix, suffix, allowClear })\n            && attrs.class,\n        ),\n        ref: inputRef,\n        key: 'ant-input',\n        size: htmlSize,\n        type,\n        lazy: props.lazy,\n      };\n      if (valueModifiers.lazy)\n        delete getInputProps.onInput;\n\n      if (!getInputProps.autofocus)\n        delete getInputProps.autofocus;\n\n      const inputNode = <BaseInputCore {...omit(getInputProps, ['size'])} />;\n      return inputNode;\n    };\n    const getSuffix = () => {\n      const { maxlength, suffix = slots.suffix?.(), showCount, prefixCls } = props;\n      // Max length value\n      const hasMaxLength = Number(maxlength) > 0;\n\n      if (suffix || showCount) {\n        const valueLength = [...fixControlledValue(stateValue.value)].length;\n        const dataCount\n          = typeof showCount === 'object'\n            ? showCount.formatter({ count: valueLength, maxlength })\n            : `${valueLength}${hasMaxLength ? ` / ${maxlength}` : ''}`;\n\n        return (\n          <>\n            {!!showCount && (\n              <span\n                class={classNames(`${prefixCls}-show-count-suffix`, {\n                  [`${prefixCls}-show-count-has-suffix`]: !!suffix,\n                })}\n              >\n                {dataCount}\n              </span>\n            )}\n            {suffix}\n          </>\n        );\n      }\n      return null;\n    };\n    onMounted(() => {\n      if (process.env.NODE_ENV === 'test') {\n        if (props.autofocus)\n          focus();\n      }\n    });\n    return () => {\n      const { prefixCls, disabled, ...rest } = props;\n      return (\n        <BaseInput\n          {...rest}\n          {...attrs}\n          ref={rootRef}\n          prefixCls={prefixCls}\n          inputElement={getInputElement()}\n          handleReset={handleReset}\n          value={fixControlledValue(stateValue.value)}\n          focused={focused.value}\n          triggerFocus={focus}\n          suffix={getSuffix()}\n          disabled={disabled}\n          v-slots={slots}\n        />\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","inputProps","setup","slots","attrs","expose","emit","stateValue","shallowRef","value","undefined","defaultValue","focused","inputRef","rootRef","watch","disabled","focus","option","triggerFocus","input","blur","setSelectionRange","start","end","direction","select","computed","triggerChange","e","setValue","callback","nextTick","$forceUpdate","handleChange","target","newVal","resolveOnChange","handleKeyDown","keyCode","handleFocus","handleBlur","handleReset","getInputElement","addonBefore","addonAfter","valueModifiers","htmlSize","autocomplete","prefixCls","inputClassName","prefix","suffix","allowClear","type","otherProps","omit","getInputProps","onChange","onInput","onFocus","onBlur","onKeydown","class","classNames","hasAddon","hasPrefixSuffix","ref","key","size","lazy","autofocus","inputNode","_createVNode","BaseInputCore","getSuffix","maxlength","showCount","hasMaxLength","Number","valueLength","fixControlledValue","length","dataCount","formatter","count","_Fragment","onMounted","process","env","NODE_ENV","rest","BaseInput"],"mappings":"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"}