{"version":3,"file":"BaseInputCore.cjs","sources":["../../../../../../packages/vue-components/vc-input/src/BaseInputCore.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport type { BaseInputInnerExpose } from './BaseInputInner';\nimport { anyType, PropTypes, styleObjectToString } from '@antdv/utils';\nimport { computed, defineComponent, ref, shallowRef, watch } from 'vue';\nimport BaseInputInner from './BaseInputInner';\n\nexport interface BaseInputExpose {\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 BaseInputCore = defineComponent({\n  name: 'BaseInputCore',\n  compatConfig: { MODE: 3 },\n  inheritAttrs: false,\n  props: {\n    disabled: {\n      type: Boolean,\n    },\n    type: String,\n    value: anyType(),\n    lazy: {\n      type: Boolean,\n      default: true,\n    },\n    tag: {\n      type: String as PropType<'input' | 'textarea'>,\n      default: 'input',\n    },\n    size: String,\n    style: PropTypes.oneOfType([String, Object]),\n    class: PropTypes.string,\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, { emit, attrs, expose }) {\n    const inputRef = shallowRef<BaseInputInnerExpose>(null);\n    const renderValue = ref();\n    const isComposing = ref(false);\n    watch(\n      [() => props.value, isComposing],\n      () => {\n        if (isComposing.value) return;\n        renderValue.value = props.value;\n      },\n      { immediate: true },\n    );\n    const handleChange = (e: Event) => {\n      emit('change', e);\n    };\n    const onCompositionstart = (e: CompositionEvent) => {\n      isComposing.value = true;\n      (e.target as any).composing = true;\n      emit('compositionstart', e);\n    };\n    const onCompositionend = (e: CompositionEvent) => {\n      isComposing.value = false;\n      (e.target as any).composing = false;\n      emit('compositionend', e);\n      const event = document.createEvent('HTMLEvents');\n      event.initEvent('input', true, true);\n      e.target.dispatchEvent(event);\n      handleChange(e);\n    };\n    const handleInput = (e: Event) => {\n      if (isComposing.value && props.lazy) {\n        renderValue.value = (e.target as HTMLInputElement).value;\n        return;\n      }\n      emit('input', e);\n    };\n\n    const handleBlur = (e: Event) => {\n      emit('blur', e);\n    };\n    const handleFocus = (e: Event) => {\n      emit('focus', e);\n    };\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 handleKeyDown = (e: KeyboardEvent) => {\n      emit('keydown', e);\n    };\n    const handleKeyUp = (e: KeyboardEvent) => {\n      emit('keyup', e);\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: computed(() => inputRef.value?.input),\n      setSelectionRange,\n      select,\n      getSelectionStart: () => inputRef.value?.getSelectionStart(),\n      getSelectionEnd: () => inputRef.value?.getSelectionEnd(),\n      getScrollTop: () => inputRef.value?.getScrollTop(),\n    });\n    const handleMousedown = (e: MouseEvent) => {\n      emit('mousedown', e);\n    };\n    const handlePaste = (e: ClipboardEvent) => {\n      emit('paste', e);\n    };\n    const styleString = computed(() => {\n      return props.style && typeof props.style !== 'string'\n        ? styleObjectToString(props.style)\n        : props.style;\n    });\n    return () => {\n      const { style, lazy, ...restProps } = props;\n      return (\n        <BaseInputInner\n          {...restProps}\n          {...attrs}\n          style={styleString.value}\n          onInput={handleInput}\n          onChange={handleChange}\n          onBlur={handleBlur}\n          onFocus={handleFocus}\n          ref={inputRef}\n          value={renderValue.value}\n          onCompositionstart={onCompositionstart}\n          onCompositionend={onCompositionend}\n          onKeyup={handleKeyUp}\n          onKeydown={handleKeyDown}\n          onPaste={handlePaste}\n          onMousedown={handleMousedown}\n        />\n      );\n    };\n  },\n});\n\nexport default BaseInputCore;\n"],"names":["BaseInputCore","defineComponent","name","compatConfig","MODE","inheritAttrs","props","disabled","type","Boolean","String","value","anyType","lazy","default","tag","size","style","PropTypes","oneOfType","Object","class","string","emits","setup","emit","attrs","expose","inputRef","shallowRef","renderValue","ref","isComposing","watch","immediate","handleChange","e","onCompositionstart","target","composing","onCompositionend","event","document","createEvent","initEvent","dispatchEvent","handleInput","handleBlur","handleFocus","focus","blur","handleKeyDown","handleKeyUp","setSelectionRange","start","end","direction","select","input","computed","getSelectionStart","getSelectionEnd","getScrollTop","handleMousedown","handlePaste","styleString","styleObjectToString","restProps","_createVNode","BaseInputInner"],"mappings":";;;;;;;;;;;AAqBA,MAAMA,gCAAgCC,mBAAA,CAAA;AAAA,EACpCC,IAAM,EAAA,eAAA;AAAA,EACNC,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,YAAc,EAAA,KAAA;AAAA,EACdC,KAAO,EAAA;AAAA,IACLC,QAAU,EAAA;AAAA,MACRC,IAAMC,EAAAA,OAAAA;AAAAA,KACR;AAAA,IACAD,IAAME,EAAAA,MAAAA;AAAAA,IACNC,OAAOC,gBAAQ,EAAA;AAAA,IACfC,IAAM,EAAA;AAAA,MACJL,IAAMC,EAAAA,OAAAA;AAAAA,MACNK,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACAC,GAAK,EAAA;AAAA,MACHP,IAAME,EAAAA,MAAAA;AAAAA,MACNI,OAAS,EAAA,OAAA;AAAA,KACX;AAAA,IACAE,IAAMN,EAAAA,MAAAA;AAAAA,IACNO,OAAOC,gBAAUC,CAAAA,SAAAA,CAAU,CAACT,MAAAA,EAAQU,MAAM,CAAC,CAAA;AAAA,IAC3CC,OAAOH,gBAAUI,CAAAA,MAAAA;AAAAA,GACnB;AAAA,EACAC,KAAAA,EAAO,CACL,QAAA,EACA,OACA,EAAA,MAAA,EACA,SACA,EAAA,OAAA,EACA,kBACA,EAAA,gBAAA,EACA,OACA,EAAA,OAAA,EACA,WAAW,CAAA;AAAA,EAEbC,MAAMlB,KAAO,EAAA;AAAA,IAAEmB,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,IAAOC,MAAAA;AAAAA,GAAU,EAAA;AACpC,IAAMC,MAAAA,QAAAA,GAAWC,eAAiC,IAAI,CAAA,CAAA;AACtD,IAAA,MAAMC,cAAcC,OAAI,EAAA,CAAA;AACxB,IAAMC,MAAAA,WAAAA,GAAcD,QAAI,KAAK,CAAA,CAAA;AAC7BE,IAAAA,SAAAA,CACE,CAAC,MAAM3B,KAAAA,CAAMK,KAAOqB,EAAAA,WAAW,GAC/B,MAAM;AACJ,MAAA,IAAIA,WAAYrB,CAAAA,KAAAA;AAAO,QAAA,OAAA;AACvBmB,MAAAA,WAAAA,CAAYnB,QAAQL,KAAMK,CAAAA,KAAAA,CAAAA;AAAAA,KAE5B,EAAA;AAAA,MAAEuB,SAAW,EAAA,IAAA;AAAA,KACf,CAAA,CAAA;AACA,IAAA,MAAMC,eAAgBC,CAAa,CAAA,KAAA;AACjCX,MAAAA,IAAAA,CAAK,UAAUW,CAAC,CAAA,CAAA;AAAA,KAClB,CAAA;AACA,IAAA,MAAMC,qBAAsBD,CAAwB,CAAA,KAAA;AAClDJ,MAAAA,WAAAA,CAAYrB,KAAQ,GAAA,IAAA,CAAA;AACnByB,MAAAA,CAAAA,CAAEE,OAAeC,SAAY,GAAA,IAAA,CAAA;AAC9Bd,MAAAA,IAAAA,CAAK,oBAAoBW,CAAC,CAAA,CAAA;AAAA,KAC5B,CAAA;AACA,IAAA,MAAMI,mBAAoBJ,CAAwB,CAAA,KAAA;AAChDJ,MAAAA,WAAAA,CAAYrB,KAAQ,GAAA,KAAA,CAAA;AACnByB,MAAAA,CAAAA,CAAEE,OAAeC,SAAY,GAAA,KAAA,CAAA;AAC9Bd,MAAAA,IAAAA,CAAK,kBAAkBW,CAAC,CAAA,CAAA;AACxB,MAAMK,MAAAA,KAAAA,GAAQC,QAASC,CAAAA,WAAAA,CAAY,YAAY,CAAA,CAAA;AAC/CF,MAAMG,KAAAA,CAAAA,SAAAA,CAAU,OAAS,EAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AACnCR,MAAEE,CAAAA,CAAAA,MAAAA,CAAOO,cAAcJ,KAAK,CAAA,CAAA;AAC5BN,MAAAA,YAAAA,CAAaC,CAAC,CAAA,CAAA;AAAA,KAChB,CAAA;AACA,IAAA,MAAMU,cAAeV,CAAa,CAAA,KAAA;AAChC,MAAIJ,IAAAA,WAAAA,CAAYrB,KAASL,IAAAA,KAAAA,CAAMO,IAAM,EAAA;AACnCiB,QAAYnB,WAAAA,CAAAA,KAAAA,GAASyB,EAAEE,MAA4B3B,CAAAA,KAAAA,CAAAA;AACnD,QAAA,OAAA;AAAA,OACF;AACAc,MAAAA,IAAAA,CAAK,SAASW,CAAC,CAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAA,MAAMW,aAAcX,CAAa,CAAA,KAAA;AAC/BX,MAAAA,IAAAA,CAAK,QAAQW,CAAC,CAAA,CAAA;AAAA,KAChB,CAAA;AACA,IAAA,MAAMY,cAAeZ,CAAa,CAAA,KAAA;AAChCX,MAAAA,IAAAA,CAAK,SAASW,CAAC,CAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAA,MAAMa,QAAQA,MAAM;AAClB,MAAA,IAAIrB,QAASjB,CAAAA,KAAAA;AACXiB,QAAAA,QAAAA,CAASjB,MAAMsC,KAAM,EAAA,CAAA;AAAA,KACzB,CAAA;AACA,IAAA,MAAMC,OAAOA,MAAM;AACjB,MAAA,IAAItB,QAASjB,CAAAA,KAAAA;AACXiB,QAAAA,QAAAA,CAASjB,MAAMuC,IAAK,EAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAA,MAAMC,gBAAiBf,CAAqB,CAAA,KAAA;AAC1CX,MAAAA,IAAAA,CAAK,WAAWW,CAAC,CAAA,CAAA;AAAA,KACnB,CAAA;AACA,IAAA,MAAMgB,cAAehB,CAAqB,CAAA,KAAA;AACxCX,MAAAA,IAAAA,CAAK,SAASW,CAAC,CAAA,CAAA;AAAA,KACjB,CAAA;AACA,IAAA,MAAMiB,iBAAoBA,GAAAA,CACxBC,KACAC,EAAAA,GAAAA,EACAC,SACG,KAAA;;AACH5B,MAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,KAATiB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAgByB,iBAAkBC,CAAAA,KAAAA,EAAOC,GAAKC,EAAAA,SAAAA,CAAAA,CAAAA;AAAAA,KAChD,CAAA;AAEA,IAAA,MAAMC,SAASA,MAAM;;AACnB7B,MAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,UAATiB,IAAgB6B,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,MAAAA,EAAAA,CAAAA;AAAAA,KAClB,CAAA;AACA9B,IAAO,MAAA,CAAA;AAAA,MACLsB,KAAAA;AAAAA,MACAC,IAAAA;AAAAA,MACAQ,KAAAA,EAAOC,aAAS,MAAA;;AAAM/B,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,UAATiB,IAAgB8B,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,KAAAA,CAAAA;AAAAA,OAAK,CAAA;AAAA,MAC3CL,iBAAAA;AAAAA,MACAI,MAAAA;AAAAA,MACAG,mBAAmBA,MAAMhC;;AAAAA,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,UAATiB,IAAgBgC,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,iBAAAA,EAAAA,CAAAA;AAAAA,OAAAA;AAAAA,MACzCC,iBAAiBA,MAAMjC;;AAAAA,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,UAATiB,IAAgBiC,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,eAAAA,EAAAA,CAAAA;AAAAA,OAAAA;AAAAA,MACvCC,cAAcA,MAAMlC;;AAAAA,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASjB,UAATiB,IAAgBkC,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,YAAAA,EAAAA,CAAAA;AAAAA,OAAAA;AAAAA,KACrC,CAAA,CAAA;AACD,IAAA,MAAMC,kBAAmB3B,CAAkB,CAAA,KAAA;AACzCX,MAAAA,IAAAA,CAAK,aAAaW,CAAC,CAAA,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,MAAM4B,cAAe5B,CAAsB,CAAA,KAAA;AACzCX,MAAAA,IAAAA,CAAK,SAASW,CAAC,CAAA,CAAA;AAAA,KACjB,CAAA;AACA,IAAM6B,MAAAA,WAAAA,GAAcN,aAAS,MAAM;AACjC,MAAOrD,OAAAA,KAAAA,CAAMW,KAAS,IAAA,OAAOX,KAAMW,CAAAA,KAAAA,KAAU,WACzCiD,uBAAoB5D,CAAAA,KAAAA,CAAMW,KAAK,CAAA,GAC/BX,KAAMW,CAAAA,KAAAA,CAAAA;AAAAA,KACX,CAAA,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QAAEA,KAAAA;AAAAA,QAAOJ,IAAAA;AAAAA,QAAM,GAAGsD,SAAAA;AAAAA,OAAc7D,GAAAA,KAAAA,CAAAA;AACtC,MAAA,OAAA8D,gBAAAC,sBAAA,EAAA;AAAA,QAAA,GAEQF,SAAAA;AAAAA,QAAS,GACTzC,KAAAA;AAAAA,QAAK,SACFuC,WAAYtD,CAAAA,KAAAA;AAAAA,QAAK,SACfmC,EAAAA,WAAAA;AAAAA,QAAW,UACVX,EAAAA,YAAAA;AAAAA,QAAY,QACdY,EAAAA,UAAAA;AAAAA,QAAU,SACTC,EAAAA,WAAAA;AAAAA,QAAW,KACfpB,EAAAA,QAAAA;AAAAA,QAAQ,SACNE,WAAYnB,CAAAA,KAAAA;AAAAA,QAAK,oBACJ0B,EAAAA,kBAAAA;AAAAA,QAAkB,kBACpBG,EAAAA,gBAAAA;AAAAA,QAAgB,SACzBY,EAAAA,WAAAA;AAAAA,QAAW,WACTD,EAAAA,aAAAA;AAAAA,QAAa,SACfa,EAAAA,WAAAA;AAAAA,QAAW,aACPD,EAAAA,eAAAA;AAAAA,SAAe,IAAA,CAAA,CAAA;AAAA,KAGlC,CAAA;AAAA,GACF;AACF,CAAC;;;;"}