var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,u=(a,t,r)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,i=(e,a)=>{for(var t in a||(a={}))l.call(a,t)&&u(e,t,a[t]);if(r)for(var t of r(a))n.call(a,t)&&u(e,t,a[t]);return e},s=(e,r)=>a(e,t(r));import{a_ as o,ai as m,a2 as c,ak as d,bJ as p,_ as b,d as v,bB as f,X as N,a as y,r as x,c as g,a6 as V,w as h,o as E,br as S,e as I,f as w,J as _,k as A,p as j,u as O,B as F,i as k,j as B,z as $,y as M,a4 as D,d2 as P,ab as G,cW as K,aZ as z,c1 as C,aG as R,aa as T,V as L,d3 as X,W as J,ap as W}from"./index-DBHnxsy6.js";import{E as H}from"./index-qSQlj0RO.js";import{u as U,d as Z,t as q}from"./index-nZra831X.js";import{U as Q,I as Y,C as ee}from"./index-MOpuiu9Z.js";import{v as ae}from"./index-CuWUnlSZ.js";import{a as te}from"./use-form-item-ByasanrX.js";import{u as re,b as le}from"./use-form-common-props-BOfz9xGR.js";const ne=c(s(i({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:Boolean,size:p,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>null===e||o(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}},U(["ariaLabel"])),{inputmode:{type:d(String),default:void 0},align:{type:d(String),default:"center"},disabledScientific:Boolean})),ue={[ee]:(e,a)=>a!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Y]:e=>o(e)||m(e),[Q]:e=>o(e)||m(e)},ie=v({name:"ElInputNumber"});const se=W(b(v(s(i({},ie),{props:ne,emits:ue,setup(e,{expose:a,emit:t}){const r=e,{t:l}=f(),n=N("input-number"),u=y(),i=x({currentValue:r.modelValue,userInput:null}),{formItem:s}=te(),c=g(()=>o(r.modelValue)&&r.modelValue<=r.min),d=g(()=>o(r.modelValue)&&r.modelValue>=r.max),p=g(()=>{const e=ue(r.step);return V(r.precision)?Math.max(ue(r.modelValue),e):(r.precision,r.precision)}),b=g(()=>r.controls&&"right"===r.controlsPosition),v=re(),W=le(),U=g(()=>{if(null!==i.userInput)return i.userInput;let e=i.currentValue;if(m(e))return"";if(o(e)){if(Number.isNaN(e))return"";V(r.precision)||(e=e.toFixed(r.precision))}return e}),ne=(e,a)=>{if(V(a)&&(a=p.value),0===a)return Math.round(e);let t=String(e);const r=t.indexOf(".");if(-1===r)return e;if(!t.replace(".","").split("")[r+a])return e;const l=t.length;return"5"===t.charAt(l-1)&&(t=`${t.slice(0,Math.max(0,l-1))}6`),Number.parseFloat(Number(t).toFixed(a))},ue=e=>{if(m(e))return 0;const a=e.toString(),t=a.indexOf(".");let r=0;return-1!==t&&(r=a.length-t-1),r},ie=(e,a=1)=>o(e)?e>=Number.MAX_SAFE_INTEGER&&1===a||e<=Number.MIN_SAFE_INTEGER&&-1===a?e:ne(e+r.step*a):i.currentValue,se=e=>{const a=L(e),t=X(e);if(r.disabledScientific&&["e","E"].includes(t))e.preventDefault();else switch(a){case J.up:e.preventDefault(),oe();break;case J.down:e.preventDefault(),me()}},oe=()=>{if(r.readonly||W.value||d.value)return;const e=Number(U.value)||0,a=ie(e);de(a),t(Y,i.currentValue),Ne()},me=()=>{if(r.readonly||W.value||c.value)return;const e=Number(U.value)||0,a=ie(e,-1);de(a),t(Y,i.currentValue),Ne()},ce=(e,a)=>{const{max:l,min:n,step:u,precision:i,stepStrictly:s,valueOnClear:o}=r;ll||cl?l:n,a&&t(Q,c)),c},de=(e,a=!0)=>{var l;const n=i.currentValue,u=ce(e);a?n===u&&e||(i.userInput=null,t(Q,u),n!==u&&t(ee,u,n),r.validateEvent&&(null==(l=null==s?void 0:s.validate)||l.call(s,"change").catch(e=>Z())),i.currentValue=u):t(Q,u)},pe=e=>{i.userInput=e;const a=""===e?null:Number(e);t(Y,a),de(a,!1)},be=e=>{const a=""!==e?Number(e):"";(o(a)&&!Number.isNaN(a)||""===e)&&de(a),Ne(),i.userInput=null},ve=e=>{t("focus",e)},fe=e=>{var a,l;i.userInput=null,null===i.currentValue&&(null==(a=u.value)?void 0:a.input)&&(u.value.input.value=""),t("blur",e),r.validateEvent&&(null==(l=null==s?void 0:s.validate)||l.call(s,"blur").catch(e=>Z()))},Ne=()=>{i.currentValue!==r.modelValue&&(i.currentValue=r.modelValue)},ye=e=>{document.activeElement===e.target&&e.preventDefault()};return h(()=>r.modelValue,(e,a)=>{const t=ce(e,!0);null===i.userInput&&t!==a&&(i.currentValue=t)},{immediate:!0}),h(()=>r.precision,()=>{i.currentValue=ce(r.modelValue)}),E(()=>{var e;const{min:a,max:l,modelValue:n}=r,s=null==(e=u.value)?void 0:e.input;if(s.setAttribute("role","spinbutton"),Number.isFinite(l)?s.setAttribute("aria-valuemax",String(l)):s.removeAttribute("aria-valuemax"),Number.isFinite(a)?s.setAttribute("aria-valuemin",String(a)):s.removeAttribute("aria-valuemin"),s.setAttribute("aria-valuenow",i.currentValue||0===i.currentValue?String(i.currentValue):""),s.setAttribute("aria-disabled",String(W.value)),!o(n)&&null!=n){let e=Number(n);Number.isNaN(e)&&(e=null),t(Q,e)}s.addEventListener("wheel",ye,{passive:!1})}),S(()=>{var e,a;const t=null==(e=u.value)?void 0:e.input;null==t||t.setAttribute("aria-valuenow",`${null!=(a=i.currentValue)?a:""}`)}),a({focus:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.focus)||a.call(e)},blur:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.blur)||a.call(e)}}),(e,a)=>(w(),I("div",{class:k([O(n).b(),O(n).m(O(v)),O(n).is("disabled",O(W)),O(n).is("without-controls",!e.controls),O(n).is("controls-right",O(b)),O(n).is(e.align,!!e.align)]),onDragstart:R(()=>{},["prevent"])},[e.controls?_((w(),I("span",{key:0,role:"button","aria-label":O(l)("el.inputNumber.decrease"),class:k([O(n).e("decrease"),O(n).is("disabled",O(c))]),onKeydown:F(me,["enter"])},[B(e.$slots,"decrease-icon",{},()=>[j(O(G),null,{default:$(()=>[O(b)?(w(),M(O(D),{key:0})):(w(),M(O(P),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[O(ae),me]]):A("v-if",!0),e.controls?_((w(),I("span",{key:1,role:"button","aria-label":O(l)("el.inputNumber.increase"),class:k([O(n).e("increase"),O(n).is("disabled",O(d))]),onKeydown:F(oe,["enter"])},[B(e.$slots,"increase-icon",{},()=>[j(O(G),null,{default:$(()=>[O(b)?(w(),M(O(K),{key:0})):(w(),M(O(z),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[O(ae),oe]]):A("v-if",!0),j(O(H),{id:e.id,ref_key:"input",ref:u,type:"number",step:e.step,"model-value":O(U),placeholder:e.placeholder,readonly:e.readonly,disabled:O(W),size:O(v),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,onKeyup:se,onBlur:fe,onFocus:ve,onInput:pe,onChange:be},C({_:2},[e.$slots.prefix?{name:"prefix",fn:$(()=>[B(e.$slots,"prefix")])}:void 0,e.$slots.suffix?{name:"suffix",fn:$(()=>[B(e.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}})),[["__file","input-number.vue"]]));export{se as E};