const e=require("./vue-types/index.js");let t=require("vue");var n=(0,t.defineComponent)({compatConfig:{MODE:3},props:{disabled:e.default.looseBool,type:e.default.string,value:e.default.any,tag:{type:String,default:`input`},size:e.default.string,onChange:Function,onInput:Function,onBlur:Function,onFocus:Function,onKeydown:Function,onCompositionstart:Function,onCompositionend:Function,onKeyup:Function,onPaste:Function,onMousedown:Function},emits:[`change`,`input`,`blur`,`keydown`,`focus`,`compositionstart`,`compositionend`,`keyup`,`paste`,`mousedown`],setup(e,{expose:n}){let r=(0,t.shallowRef)(null);return n({focus:()=>{r.value&&r.value.focus()},blur:()=>{r.value&&r.value.blur()},input:r,setSelectionRange:(e,t,n)=>{r.value?.setSelectionRange(e,t,n)},select:()=>{r.value?.select()},getSelectionStart:()=>r.value?.selectionStart,getSelectionEnd:()=>r.value?.selectionEnd,getScrollTop:()=>r.value?.scrollTop}),()=>{let{tag:n,value:i,...a}=e;return(0,t.createVNode)(n,{...a,ref:r,value:i},null)}}});exports.default=n;