mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-06 21:18:10 +00:00
2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
import{C as Q,I as P,U as h,w as _,d as D,f as R}from"./event-4977bef7.js";import{E as ue}from"./index-4ce9333e.js";import{b as se,ae as oe,e as d,aA as y,g as X,h as ie,r as ce,a4 as de,af as me,j as V,a6 as E,ag as pe,C as fe,w as be,o as ve,ax as Ne,m as f,n as z,a1 as Y,u as t,v as K,F as M,E as H,D as S,aj as Ve,ce as he,G as W,T as q,aB as ye,cf as Ie,_ as ge,z as we,y as _e}from"./base-45eb5090.js";import{u as Ee}from"./focus-trap-318ae2e0.js";import{v as J}from"./index-f79599e2.js";const Se=se({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:oe,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:l=>l===null||d(l)||["min","max"].includes(l),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:l=>l>=0&&l===Number.parseInt(`${l}`,10)},validateEvent:{type:Boolean,default:!0}}),Pe={[Q]:(l,A)=>A!==l,blur:l=>l instanceof FocusEvent,focus:l=>l instanceof FocusEvent,[P]:l=>d(l)||y(l),[h]:l=>d(l)||y(l)},Ae=["aria-label","onKeydown"],ke=["aria-label","onKeydown"],Ce=X({name:"ElInputNumber"}),Fe=X({...Ce,props:Se,emits:Pe,setup(l,{expose:A,emit:c}){const r=l,{t:O}=Ee(),m=ie("input-number"),v=ce(),s=de({currentValue:r.modelValue,userInput:null}),{formItem:b}=me(),U=V(()=>d(r.modelValue)&&r.modelValue<=r.min),G=V(()=>d(r.modelValue)&&r.modelValue>=r.max),Z=V(()=>{const e=j(r.step);return E(r.precision)?Math.max(j(r.modelValue),e):(e>r.precision,r.precision)}),k=V(()=>r.controls&&r.controlsPosition==="right"),$=pe(),N=fe(),C=V(()=>{if(s.userInput!==null)return s.userInput;let e=s.currentValue;if(y(e))return"";if(d(e)){if(Number.isNaN(e))return"";E(r.precision)||(e=e.toFixed(r.precision))}return e}),F=(e,n)=>{if(E(n)&&(n=Z.value),n===0)return Math.round(e);let a=String(e);const o=a.indexOf(".");if(o===-1||!a.replace(".","").split("")[o+n])return e;const g=a.length;return a.charAt(g-1)==="5"&&(a=`${a.slice(0,Math.max(0,g-1))}6`),Number.parseFloat(Number(a).toFixed(n))},j=e=>{if(y(e))return 0;const n=e.toString(),a=n.indexOf(".");let o=0;return a!==-1&&(o=n.length-a-1),o},L=(e,n=1)=>d(e)?F(e+r.step*n):s.currentValue,x=()=>{if(r.readonly||N.value||G.value)return;const e=Number(C.value)||0,n=L(e);I(n),c(P,s.currentValue)},B=()=>{if(r.readonly||N.value||U.value)return;const e=Number(C.value)||0,n=L(e,-1);I(n),c(P,s.currentValue)},T=(e,n)=>{const{max:a,min:o,step:u,precision:p,stepStrictly:g,valueOnClear:w}=r;let i=Number(e);if(y(e)||Number.isNaN(i))return null;if(e===""){if(w===null)return null;i=we(w)?{min:o,max:a}[w]:w}return g&&(i=F(Math.round(i/u)*u,p)),E(p)||(i=F(i,p)),(i>a||i<o)&&(i=i>a?a:o,n&&c(h,i)),i},I=(e,n=!0)=>{var a;const o=s.currentValue,u=T(e);if(o!==u){if(!n){c(h,u);return}s.userInput=null,c(h,u),c(Q,u,o),r.validateEvent&&((a=b==null?void 0:b.validate)==null||a.call(b,"change").catch(p=>R())),s.currentValue=u}},ee=e=>{s.userInput=e;const n=e===""?null:Number(e);c(P,n),I(n,!1)},ne=e=>{const n=e!==""?Number(e):"";(d(n)&&!Number.isNaN(n)||e==="")&&I(n),s.userInput=null},te=()=>{var e,n;(n=(e=v.value)==null?void 0:e.focus)==null||n.call(e)},ae=()=>{var e,n;(n=(e=v.value)==null?void 0:e.blur)==null||n.call(e)},re=e=>{c("focus",e)},le=e=>{var n;c("blur",e),r.validateEvent&&((n=b==null?void 0:b.validate)==null||n.call(b,"blur").catch(a=>R()))};return be(()=>r.modelValue,e=>{const n=T(s.userInput),a=T(e,!0);!d(n)&&(!n||n!==a)&&(s.currentValue=a,s.userInput=null)},{immediate:!0}),ve(()=>{var e;const{min:n,max:a,modelValue:o}=r,u=(e=v.value)==null?void 0:e.input;if(u.setAttribute("role","spinbutton"),Number.isFinite(a)?u.setAttribute("aria-valuemax",String(a)):u.removeAttribute("aria-valuemax"),Number.isFinite(n)?u.setAttribute("aria-valuemin",String(n)):u.removeAttribute("aria-valuemin"),u.setAttribute("aria-valuenow",String(s.currentValue)),u.setAttribute("aria-disabled",String(N.value)),!d(o)&&o!=null){let p=Number(o);Number.isNaN(p)&&(p=null),c(h,p)}}),Ne(()=>{var e;const n=(e=v.value)==null?void 0:e.input;n==null||n.setAttribute("aria-valuenow",`${s.currentValue}`)}),A({focus:te,blur:ae}),(e,n)=>(f(),z("div",{class:K([t(m).b(),t(m).m(t($)),t(m).is("disabled",t(N)),t(m).is("without-controls",!e.controls),t(m).is("controls-right",t(k))]),onDragstart:n[0]||(n[0]=D(()=>{},["prevent"]))},[e.controls?Y((f(),z("span",{key:0,role:"button","aria-label":t(O)("el.inputNumber.decrease"),class:K([t(m).e("decrease"),t(m).is("disabled",t(U))]),onKeydown:_(B,["enter"])},[M(t(W),null,{default:H(()=>[t(k)?(f(),S(t(Ve),{key:0})):(f(),S(t(he),{key:1}))]),_:1})],42,Ae)),[[t(J),B]]):q("v-if",!0),e.controls?Y((f(),z("span",{key:1,role:"button","aria-label":t(O)("el.inputNumber.increase"),class:K([t(m).e("increase"),t(m).is("disabled",t(G))]),onKeydown:_(x,["enter"])},[M(t(W),null,{default:H(()=>[t(k)?(f(),S(t(ye),{key:0})):(f(),S(t(Ie),{key:1}))]),_:1})],42,ke)),[[t(J),x]]):q("v-if",!0),M(t(ue),{id:e.id,ref_key:"input",ref:v,type:"number",step:e.step,"model-value":t(C),placeholder:e.placeholder,readonly:e.readonly,disabled:t(N),size:t($),max:e.max,min:e.min,name:e.name,label:e.label,"validate-event":!1,onKeydown:[_(D(x,["prevent"]),["up"]),_(D(B,["prevent"]),["down"])],onBlur:le,onFocus:re,onInput:ee,onChange:ne},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","label","onKeydown"])],34))}});var xe=ge(Fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input-number/src/input-number.vue"]]);const Me=_e(xe);export{Me as E};
|