import{H as t,aJ as e,o as i,e as s,w as n,f as l,R as r,X as a,n as u,g as h,j as p,a8 as o}from"./index-d0750414.js";import{_ as m}from"./_plugin-vue_export-helper.1b428a4d.js";const d=m({name:"u-numberbox",emits:["update:modelValue","input","change","blur","plus","minus"],props:{value:{type:Number,default:1},modelValue:{type:Number,default:1},bgColor:{type:String,default:"#F2F3F5"},min:{type:Number,default:0},max:{type:Number,default:99999},step:{type:Number,default:1},stepFirst:{type:Number,default:0},stepStrictly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:[Number,String],default:26},color:{type:String,default:"#323233"},inputWidth:{type:[Number,String],default:80},inputHeight:{type:[Number,String],default:50},index:{type:[Number,String],default:""},disabledInput:{type:Boolean,default:!1},cursorSpacing:{type:[Number,String],default:100},longPress:{type:Boolean,default:!0},pressTime:{type:[Number,String],default:250},positiveInteger:{type:Boolean,default:!0}},watch:{valueCom(t,e){this.changeFromInner||(this.inputVal=t,this.$nextTick(function(){this.changeFromInner=!1}))},inputVal(t,e){if(""==t)return;let i=0;i=this.isNumber(t)&&t>=this.min&&t<=this.max?t:e,this.positiveInteger&&(t<0||-1!==String(t).indexOf("."))&&(i=e,this.$nextTick(()=>{this.inputVal=e})),this.handleChange(i,"change")},min(t){void 0!==t&&""!=t&&this.valueComt&&this.$emit("input",t)}},data:()=>({inputVal:1,timer:null,changeFromInner:!1,innerChangeTimer:null}),created(){this.inputVal=Number(this.valueCom)},mounted(){},computed:{getCursorSpacing(){return Number(t(this.cursorSpacing))},valueCom(){return this.modelValue}},methods:{btnTouchStart(t){this[t](),this.longPress&&(clearInterval(this.timer),this.timer=null,this.timer=setInterval(()=>{this[t]()},this.pressTime))},clearTimer(){this.$nextTick(()=>{clearInterval(this.timer),this.timer=null})},minus(){this.computeVal("minus")},plus(){this.computeVal("plus")},calcPlus(t,e){let i,s,n;try{s=t.toString().split(".")[1].length}catch(l){s=0}try{n=e.toString().split(".")[1].length}catch(l){n=0}return i=Math.pow(10,Math.max(s,n)),((t*i+e*i)/i).toFixed(s>=n?s:n)},calcMinus(t,e){let i,s,n;try{s=t.toString().split(".")[1].length}catch(l){s=0}try{n=e.toString().split(".")[1].length}catch(l){n=0}return i=Math.pow(10,Math.max(s,n)),((t*i-e*i)/i).toFixed(s>=n?s:n)},computeVal(t){if(e(),this.disabled)return;let i=0;if("minus"===t?i=this.stepFirst>0&&this.inputVal==this.stepFirst?this.min:this.calcMinus(this.inputVal,this.step):"plus"===t&&(i=this.stepFirst>0&&this.inputVal0&&(i-=e),this.stepFirst>0&&i>0&&ithis.max?i=this.max:i0&&this.inputVal0&&(e=this.stepFirst),this.stepStrictly){let t=e%this.step;t>0&&(e-=t),this.stepFirst>0&&e>0&&ethis.max?e=this.max:e{this.inputVal=e}),this.handleChange(e,"blur")},handleChange(t,e){this.disabled||(this.innerChangeTimer&&(clearTimeout(this.innerChangeTimer),this.innerChangeTimer=null),this.changeFromInner=!0,this.innerChangeTimer=setTimeout(()=>{this.changeFromInner=!1},150),this.$emit("input",Number(t)),this.$emit("update:modelValue",Number(t)),this.$emit(e,{value:Number(t),index:this.index}))},isNumber:t=>/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)}},[["render",function(t,e,m,d,c,g){const b=p,f=o;return i(),s(b,{class:"u-numberbox"},{default:n(()=>[l(b,{class:r(["u-icon-minus",{"u-icon-disabled":m.disabled||c.inputVal<=m.min}]),onTouchstart:e[0]||(e[0]=a(t=>g.btnTouchStart("minus"),["prevent"])),onTouchend:a(g.clearTimer,["stop","prevent"]),style:u({background:m.bgColor,height:m.inputHeight+"rpx",color:m.color,fontSize:m.size+"rpx",minHeight:"1.4em"})},{default:n(()=>[l(b,{style:u("font-size:"+(Number(m.size)+4)+"rpx"),class:"num-btn"},{default:n(()=>[h("-")]),_:1},8,["style"])]),_:1},8,["onTouchend","class","style"]),l(f,{disabled:m.disabledInput||m.disabled,"cursor-spacing":g.getCursorSpacing,class:r([{"u-input-disabled":m.disabled},"u-number-input"]),modelValue:c.inputVal,"onUpdate:modelValue":e[1]||(e[1]=t=>c.inputVal=t),onBlur:g.onBlur,type:"number",style:u({color:m.color,fontSize:m.size+"rpx",background:m.bgColor||"#f6f7f8",height:m.inputHeight+"rpx",width:m.inputWidth+"rpx"})},null,8,["disabled","cursor-spacing","class","modelValue","onBlur","style"]),l(b,{class:r(["u-icon-plus",{"u-icon-disabled":m.disabled||c.inputVal>=m.max}]),onTouchstart:e[2]||(e[2]=a(t=>g.btnTouchStart("plus"),["prevent"])),onTouchend:a(g.clearTimer,["stop","prevent"]),style:u({background:m.bgColor,height:m.inputHeight+"rpx",color:m.color,fontSize:m.size+"rpx",minHeight:"1.4em"})},{default:n(()=>[l(b,{style:u("font-size:"+(Number(m.size)+4)+"rpx"),class:"num-btn"},{default:n(()=>[h("+")]),_:1},8,["style"])]),_:1},8,["onTouchend","class","style"])]),_:1})}],["__scopeId","data-v-016b995b"]]);export{d as _};