{"version":3,"file":"BaseInputInner.cjs","sources":["../../../../../../packages/vue-components/vc-input/src/BaseInputInner.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport { PropTypes } from '@antdv/utils';\nimport { defineComponent, shallowRef } from 'vue';\n\nexport interface BaseInputInnerExpose {\n  focus: () => void;\n  blur: () => void;\n  input: HTMLInputElement | HTMLTextAreaElement | null;\n  setSelectionRange: (\n    start: number,\n    end: number,\n    direction?: 'forward' | 'backward' | 'none',\n  ) => void;\n  select: () => void;\n  getSelectionStart: () => number | null;\n  getSelectionEnd: () => number | null;\n  getScrollTop: () => number | null;\n  setScrollTop: (scrollTop: number) => void;\n}\nconst BaseInputInner = defineComponent({\n  compatConfig: { MODE: 3 },\n  // inheritAttrs: false,\n  props: {\n    disabled: PropTypes.looseBool,\n    type: PropTypes.string,\n    value: PropTypes.any,\n    tag: {\n      type: String as PropType<'input' | 'textarea'>,\n      default: 'input',\n    },\n    size: PropTypes.string,\n    onChange: Function as PropType<(e: Event) => void>,\n    onInput: Function as PropType<(e: Event) => void>,\n    onBlur: Function as PropType<(e: Event) => void>,\n    onFocus: Function as PropType<(e: Event) => void>,\n    onKeydown: Function as PropType<(e: Event) => void>,\n    onCompositionstart: Function as PropType<(e: Event) => void>,\n    onCompositionend: Function as PropType<(e: Event) => void>,\n    onKeyup: Function as PropType<(e: Event) => void>,\n    onPaste: Function as PropType<(e: Event) => void>,\n    onMousedown: Function as PropType<(e: Event) => void>,\n  },\n  emits: [\n    'change',\n    'input',\n    'blur',\n    'keydown',\n    'focus',\n    'compositionstart',\n    'compositionend',\n    'keyup',\n    'paste',\n    'mousedown',\n  ],\n  setup(props, { expose }) {\n    const inputRef = shallowRef(null);\n\n    const focus = () => {\n      if (inputRef.value)\n        inputRef.value.focus();\n    };\n    const blur = () => {\n      if (inputRef.value)\n        inputRef.value.blur();\n    };\n    const setSelectionRange = (\n      start: number,\n      end: number,\n      direction?: 'forward' | 'backward' | 'none',\n    ) => {\n      inputRef.value?.setSelectionRange(start, end, direction);\n    };\n\n    const select = () => {\n      inputRef.value?.select();\n    };\n    expose({\n      focus,\n      blur,\n      input: inputRef,\n      setSelectionRange,\n      select,\n      getSelectionStart: () => inputRef.value?.selectionStart,\n      getSelectionEnd: () => inputRef.value?.selectionEnd,\n      getScrollTop: () => inputRef.value?.scrollTop,\n    });\n    return () => {\n      const { tag: Tag, value, ...restProps } = props;\n      return <Tag {...restProps} ref={inputRef} value={value} />;\n    };\n  },\n});\n\nexport default BaseInputInner;\n"],"names":["BaseInputInner","defineComponent","compatConfig","MODE","props","disabled","PropTypes","looseBool","type","string","value","any","tag","String","default","size","onChange","Function","onInput","onBlur","onFocus","onKeydown","onCompositionstart","onCompositionend","onKeyup","onPaste","onMousedown","emits","setup","expose","inputRef","shallowRef","focus","blur","setSelectionRange","start","end","direction","select","input","getSelectionStart","selectionStart","getSelectionEnd","selectionEnd","getScrollTop","scrollTop","Tag","restProps","_createVNode"],"mappings":"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"}