| 1 |
- import{c as Z,ax as ee,ay as ne,d as c,b3 as ae,i as le,aL as ue,f as te,aj as re,B as D,b7 as ie,a9 as E,s as oe,j as de}from"./index-gDIc8bwb.js";import{i as S}from"./index.es-BW_FzNZC.js";import{I as se}from"./index-DZ6JXkT0.js";import{d as ce,y as fe,j as w,e as N,A as R,v as s,F as ve}from"./vue-vendor-C15EL-OS.js";var me=Object.defineProperty,z=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,A=(n,u,a)=>u in n?me(n,u,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[u]=a,_e=(n,u)=>{for(var a in u||(u={}))be.call(u,a)&&A(n,a,u[a]);if(z)for(var a of z(u))ye.call(u,a)&&A(n,a,u[a]);return n};const xe=800,ge=150;S.enableBoundaryChecking(!1);var I=ce({name:"InputNumber",props:{modelValue:Number,defaultValue:Number,mode:{type:String,default:"embed"},precision:Number,step:{type:Number,default:1},disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},max:{type:Number,default:1/0},min:{type:Number,default:-1/0},formatter:{type:Function},parser:{type:Function},placeholder:String,hideButton:{type:Boolean,default:!1},size:{type:String},allowClear:{type:Boolean,default:!1},modelEvent:{type:String,default:"change"},readOnly:{type:Boolean,default:!1},inputAttrs:{type:Object}},emits:{"update:modelValue":n=>!0,change:(n,u)=>!0,focus:n=>!0,blur:n=>!0,clear:n=>!0,input:(n,u,a)=>!0,keydown:n=>!0},setup(n,{emit:u,slots:a}){var V;const{size:F,disabled:j}=fe(n),i=Z("input-number"),O=w(),{mergedSize:K,mergedDisabled:f,eventHandlers:T}=ee({size:F,disabled:j}),{mergedSize:_}=ne(K),x=N(()=>{if(c(n.precision)){const e=`${n.step}`.split(".")[1],l=e&&e.length||0;return Math.max(l,n.precision)}}),g=e=>{var l,t;if(!c(e))return"";const d=x.value?e.toFixed(x.value):String(e);return(t=(l=n.formatter)==null?void 0:l.call(n,d))!=null?t:d},o=w(g((V=n.modelValue)!=null?V:n.defaultValue)),r=N(()=>{var e,l;if(!o.value)return;const t=Number((l=(e=n.parser)==null?void 0:e.call(n,o.value))!=null?l:o.value);return Number.isNaN(t)?void 0:t}),m=w(c(r.value)&&r.value<=n.min),b=w(c(r.value)&&r.value>=n.max);let y=0;const v=()=>{y&&(window.clearTimeout(y),y=0)},B=e=>{if(!le(e))return c(n.min)&&e<n.min&&(e=n.min),c(n.max)&&e>n.max&&(e=n.max),c(x.value)?S.round(e,x.value):e},p=e=>{let l=!1,t=!1;c(e)&&(e<=n.min&&(l=!0),e>=n.max&&(t=!0)),b.value!==t&&(b.value=t),m.value!==l&&(m.value=l)},P=()=>{const e=B(r.value),l=g(e);(e!==r.value||o.value!==l)&&(o.value=l),u("update:modelValue",e)};R(()=>[n.max,n.min],()=>{P(),p(r.value)});const M=(e,l)=>{if(f.value||e==="plus"&&b.value||e==="minus"&&m.value)return;let t;c(r.value)?t=B(S[e](r.value,n.step)):t=n.min===-1/0?0:n.min,o.value=g(t),p(t),u("update:modelValue",t),u("change",t,l)},h=(e,l,t=!1)=>{var d;e.preventDefault(),!n.readOnly&&((d=O.value)==null||d.focus(),M(l,e),t&&(y=window.setTimeout(()=>e.target.dispatchEvent(e),y?ge:xe)))},k=(e,l)=>{var t,d,$,C;e=e.trim().replace(/。/g,"."),e=(d=(t=n.parser)==null?void 0:t.call(n,e))!=null?d:e,(c(Number(e))||/^(\.|-)$/.test(e))&&(o.value=(C=($=n.formatter)==null?void 0:$.call(n,e))!=null?C:e,p(r.value),u("input",r.value,o.value,l),n.modelEvent==="input"&&(u("update:modelValue",r.value),u("change",r.value,l)))},H=e=>{u("focus",e)},L=(e,l)=>{l instanceof MouseEvent&&!e||(P(),u("change",r.value,l))},U=e=>{u("blur",e)},W=e=>{var l,t;o.value="",u("update:modelValue",void 0),u("change",void 0,e),(t=(l=T.value)==null?void 0:l.onChange)==null||t.call(l,e),u("clear",e)},Y=ae(new Map([[E.ARROW_UP,e=>{e.preventDefault(),!n.readOnly&&M("plus",e)}],[E.ARROW_DOWN,e=>{e.preventDefault(),!n.readOnly&&M("minus",e)}]])),G=e=>{u("keydown",e),e.defaultPrevented||Y(e)};R(()=>n.modelValue,e=>{e!==r.value&&(o.value=g(e),p(e))});const q=()=>{var e,l,t;return n.readOnly?null:s(ve,null,[a.suffix&&s("div",{class:`${i}-suffix`},[(e=a.suffix)==null?void 0:e.call(a)]),s("div",{class:`${i}-step`},[s("button",{class:[`${i}-step-button`,{[`${i}-step-button-disabled`]:f.value||b.value}],type:"button",tabindex:"-1",disabled:f.value||b.value,onMousedown:d=>h(d,"plus",!0),onMouseup:v,onMouseleave:v},[a.plus?(l=a.plus)==null?void 0:l.call(a):s(ue,null,null)]),s("button",{class:[`${i}-step-button`,{[`${i}-step-button-disabled`]:f.value||m.value}],type:"button",tabindex:"-1",disabled:f.value||m.value,onMousedown:d=>h(d,"minus",!0),onMouseup:v,onMouseleave:v},[a.minus?(t=a.minus)==null?void 0:t.call(a):s(te,null,null)])])])},J=N(()=>[i,`${i}-mode-${n.mode}`,`${i}-size-${_.value}`,{[`${i}-readonly`]:n.readOnly}]),Q=()=>s(D,{size:_.value,tabindex:"-1",class:`${i}-step-button`,disabled:f.value||m.value,onMousedown:e=>h(e,"minus",!0),onMouseup:v,onMouseleave:v},{icon:()=>s(ie,null,null)}),X=()=>s(D,{size:_.value,tabindex:"-1",class:`${i}-step-button`,disabled:f.value||b.value,onMousedown:e=>h(e,"plus",!0),onMouseup:v,onMouseleave:v},{icon:()=>s(re,null,null)});return{inputRef:O,render:()=>{const e=n.mode==="embed"?{prepend:a.prepend,prefix:a.prefix,suffix:n.hideButton?a.suffix:q,append:a.append}:{prepend:n.hideButton?a.prepend:Q,prefix:a.prefix,suffix:a.suffix,append:n.hideButton?a.append:X};return s(se,{key:`__arco__${n.mode}`,ref:O,class:J.value,type:"text",allowClear:n.allowClear,size:_.value,modelValue:o.value,placeholder:n.placeholder,disabled:f.value,readonly:n.readOnly,error:n.error,inputAttrs:_e({role:"spinbutton","aria-valuemax":n.max,"aria-valuemin":n.min,"aria-valuenow":o.value},n.inputAttrs),onInput:k,onFocus:H,onBlur:U,onClear:W,onChange:L,onKeydown:G},e)}}},methods:{focus(){var n;(n=this.inputRef)==null||n.focus()},blur(){var n;(n=this.inputRef)==null||n.blur()}},render(){return this.render()}});const Ne=Object.assign(I,{install:(n,u)=>{oe(n,u);const a=de(u);n.component(a+I.name,I)}});export{Ne as I};
|