{"version":3,"file":"input.vue2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n  <el-input\n    ref=\"inputRef\"\n    v-model=\"value\"\n    :class=\"`${bem.b()} ${prepareClassNames()}`\"\n    :style=\"{\n      ...prepareStyles(),\n    }\"\n    v-bind=\"customAttrs\"\n    :type=\"type === 'number' ? 'text' : type\"\n  >\n    <template v-for=\"name in slots\" #[name]=\"scope\">\n      <slot :name=\"name\" v-bind=\"scope\" />\n    </template>\n  </el-input>\n</template>\n<script setup lang=\"ts\">\nimport { computed, useSlots, watch, ref, nextTick} from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { inputProps, inputEmits, inputEmitsKeys } from './input'\nimport type { InputProps, InputEmits } from './input'\nimport {\n  prepareProps,\n  prepareEvents,\n  prepareClassNames,\n  prepareStyles,\n} from '@el-plus/utils/props'\ndefineOptions({\n  name: 'EpInput',\n  inheritAttrs: false,\n})\nconst bem = createNameSpace('input')\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\nconst slots = computed(() => {\n  return Object.keys(useSlots())\n})\nlet isBluring = false\nlet isFocusing = false\nconst customAttrs = computed(() => {\n  return {\n    ...prepareProps(props, ['modelValue']),\n    ...prepareEvents<InputEmits>(emit, inputEmitsKeys),\n    placeholder: props.disabled ? '' : props.placeholder,\n    onClear: () => {\n      emit('clear')\n      if (!props.clearableFocus) {\n        nextTick(() => {\n          inputRef.value?.blur?.()\n        })\n      }\n    },\n    onFocus: (e: FocusEvent) => {\n      isFocusing = true\n      if (props.thousand) {\n        ;(e.target as HTMLInputElement).value = value.value\n          ? String(value.value)\n          : ''\n      }\n      emit('focus', e)\n    },\n    onBlur: (e: FocusEvent) => {\n      if (props.type === 'number') {\n        let val = value.value as string\n        if (props.nonzero && +val === 0) {\n          val = ''\n        }\n        if (val && val[val.length - 1] === '.') {\n          val = String(val).slice(0, -1)\n        }\n\n        if (val && val === '-') {\n          val = ''\n        }\n        value.value = val ? +val : val\n        ;(e.target as HTMLInputElement).value =value.value? toThousand(value.value):''\n      }\n      isBluring = true\n      isFocusing = false\n      emit('blur', e)\n    },\n  }\n})\nconst value = defineModel<InputProps['modelValue']>()\nconst inputRef = ref()\nconst toThousand = (val: string | number) => {\n  if (props.thousand) {\n    return val ? window.hx.thousand(val) : val\n  }\n  return val\n}\nwatch(\n  () => value.value,\n  (val) => {\n    if (props.type === 'number' && !isFocusing) {\n      nextTick(() => {\n        inputRef.value.input.value = val?toThousand(val as number):''\n      })\n    }\n    if (isBluring) {\n      isBluring = false\n      return\n    }\n    if (!isFocusing) {\n      return\n    }\n    if (props.type === 'number') {\n      if (typeof val === 'number') {\n        val = '' + val\n      }\n      if (typeof val === 'string') {\n        // 校验一次是否0+数字开头，这种情况直接把0去除\n        const zeroReg = new RegExp('^[-+]?0[0-9]\\\\d*')\n        if (zeroReg.test(val)) {\n          val = val.replace('0', '')\n        }\n        const reg = new RegExp('^([-+])?\\\\d*(\\\\.?\\\\d*)', 'g')\n        val = val.match(reg) ? val.match(reg)![0] : ''\n\n        // 限制小数位数\n        if (props.radix || props.radix === 0) {\n          const reg =\n            props.radix === 0\n              ? new RegExp('^([-+])?\\\\d*', 'g')\n              : new RegExp(`^([-+])?\\\\d*(\\\\.?\\\\d{0,${props.radix}})`, 'g')\n          val = val.match(reg) ? val.match(reg)![0] : ''\n        }\n        if ((props.max || props.max === 0) && +val > props.max) {\n          val = props.max\n        }\n        // 最大最小值\n        if (\n          (props.min || props.min === 0) &&\n          (val || val === 0) &&\n          +val < props.min\n        ) {\n          val = props.min\n        }\n      }\n    } else if (props.type === 'text') {\n      val = (val as string).trim()\n    }\n    value.value = val\n  },\n  {\n    immediate: true,\n  },\n)\n</script>\n"],"names":["_useModel","reg","_openBlock","_createBlock","_mergeProps","_unref","type","_renderList","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}