Files
YG_FT/frontend/dist/assets/el-input-number-fKfc92sH.js
2026-07-25 21:55:24 +08:00

2 lines
7.2 KiB
JavaScript

import{ak as f,a8 as V,b as fe,aS as be,R as z,d as pe,aW as Ne,a as ve,z as he,D as H,G as Ve,bz as ye,o as N,c as $,K as J,f as i,t as q,n as K,h as S,s as O,w as x,e as w,S as Ee,bA as ge,E as Q,g as Y,bB as Se,bC as xe,aX as we,aL as Ie,y as Fe,j as h,V as Ae,bD as ke,W as Z,aU as _,aK as R,C as Ce,J as Pe,U as I,l as De}from"./index-DlMMG01R.js";import{U as F,I as A,C as te}from"./raf-BkRpj8vQ.js";import{b as Te,e as Be,c as Me}from"./index-CX3tRQGA.js";import{E as ze}from"./index-BXTVgd_U.js";import{v as ee}from"./index-CicPf2dR.js";import{u as $e}from"./index-BF7OFqWH.js";const Ke=fe({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:{type:Boolean,default:void 0},size:be,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:z([String,Number,null]),validator:a=>a===null||f(a)||["min","max"].includes(a),default:null},name:String,placeholder:String,precision:{type:Number,validator:a=>a>=0&&a===Number.parseInt(`${a}`,10)},validateEvent:{type:Boolean,default:!0},...$e(["ariaLabel"]),inputmode:{type:z(String),default:void 0},align:{type:z(String),default:"center"},disabledScientific:Boolean,formatter:{type:Function},parser:{type:Function},tabindex:{type:[String,Number],default:0}}),Oe={[te]:(a,k)=>k!==a,blur:a=>a instanceof FocusEvent,focus:a=>a instanceof FocusEvent,[A]:a=>f(a)||V(a),[F]:a=>f(a)||V(a)},Re=["aria-label"],Ue=["aria-label"];var Ge=pe({name:"ElInputNumber",__name:"input-number",props:Ke,emits:Oe,setup(a,{expose:k,emit:ae}){const n=a,o=ae,{t:U}=Ne(),d=ve("input-number"),b=Fe(),l=he({currentValue:n.modelValue,userInput:null}),{formItem:m}=Te(),G=h(()=>f(n.modelValue)&&n.modelValue<=n.min),L=h(()=>f(n.modelValue)&&n.modelValue>=n.max),ne=h(()=>{const e=X(n.step);return I(n.precision)?Math.max(X(n.modelValue),e):(e>n.precision&&R("InputNumber","precision should not be less than the decimal places of step"),n.precision)}),C=h(()=>n.controls&&n.controlsPosition==="right"),W=Be(),v=Me(),P=h(()=>{if(l.userInput!==null)return l.userInput;let e=l.currentValue;if(V(e))return"";if(f(e)){if(Number.isNaN(e))return"";I(n.precision)||(e=e.toFixed(n.precision))}return e}),y=(e,t)=>{if(I(t)&&(t=ne.value),t===0)return Math.round(e);let r=String(e);const u=r.indexOf(".");if(u===-1||!r.replace(".","").split("")[u+t])return e;const c=r.length;return r.charAt(c-1)==="5"&&(r=`${r.slice(0,Math.max(0,c-1))}6`),Number.parseFloat(Number(r).toFixed(t))},X=e=>{if(V(e))return 0;const t=e.toString(),r=t.indexOf(".");let u=0;return r!==-1&&(u=t.length-r-1),u},j=(e,t=1)=>f(e)?e>=Number.MAX_SAFE_INTEGER&&t===1?(R("InputNumber","The value has reached the maximum safe integer limit."),e):e<=Number.MIN_SAFE_INTEGER&&t===-1?(R("InputNumber","The value has reached the minimum safe integer limit."),e):y(e+n.step*t):l.currentValue,re=e=>{const t=Ae(e),r=ke(e);if(n.disabledScientific&&["e","E"].includes(r)){e.preventDefault();return}switch(t){case Z.up:e.preventDefault(),D();break;case Z.down:e.preventDefault(),T();break}},D=()=>{n.readonly||v.value||L.value||(E(j(Number(P.value)||0)),o(A,l.currentValue),M())},T=()=>{n.readonly||v.value||G.value||(E(j(Number(P.value)||0,-1)),o(A,l.currentValue),M())},B=(e,t)=>{const{max:r,min:u,step:c,precision:p,stepStrictly:me,valueOnClear:g}=n;r<u&&Ce("InputNumber","min should not be greater than max.");let s=e?Number.parseFloat(String(e)):Number(e);if(V(e)||Number.isNaN(s))return null;if(e===""){if(g===null)return null;s=Pe(g)?{min:u,max:r}[g]:g}return me&&(s=y(Math.round(y(s/c))*c,p),s!==e&&t&&o("update:modelValue",s)),I(p)||(s=y(s,p)),(s>r||s<u)&&(s=s>r?r:u,t&&o("update:modelValue",s)),s},E=(e,t=!0)=>{var c;const r=l.currentValue,u=B(e);if(!t){o(F,u);return}l.userInput=null,!(r===u&&e)&&(o(F,u),r!==u&&o(te,u,r),n.validateEvent&&((c=m==null?void 0:m.validate)==null||c.call(m,"change").catch(_)),l.currentValue=u)},ue=e=>{l.userInput=e;let t=e===""?null:Number.parseFloat(e);Number.isNaN(t)&&(t=null),o(A,t),E(t,!1)},ie=e=>{const t=e!==""?Number.parseFloat(e):"";(f(t)&&!Number.isNaN(t)||n.formatter&&Number.isNaN(t)||t==="")&&E(t),M(),l.userInput=null},le=()=>{var e,t;(t=(e=b.value)==null?void 0:e.focus)==null||t.call(e)},se=()=>{var e,t;(t=(e=b.value)==null?void 0:e.blur)==null||t.call(e)},oe=e=>{o("focus",e)},ce=e=>{var t,r,u;l.userInput=null,l.currentValue===null&&((t=b.value)!=null&&t.input)&&(b.value.input.value=((r=n.formatter)==null?void 0:r.call(n,""))??""),o("blur",e),n.validateEvent&&((u=m==null?void 0:m.validate)==null||u.call(m,"blur").catch(_))},M=()=>{l.currentValue!==n.modelValue&&(l.currentValue=n.modelValue)},de=e=>{document.activeElement===e.target&&e.preventDefault()};return H(()=>n.modelValue,(e,t)=>{const r=B(e,!0);l.userInput===null&&r!==t&&(l.currentValue=r)},{immediate:!0}),H(()=>n.precision,()=>{l.currentValue=B(n.modelValue)}),Ve(()=>{var c;const{min:e,max:t,modelValue:r}=n,u=(c=b.value)==null?void 0:c.input;if(u.setAttribute("role","spinbutton"),Number.isFinite(t)?u.setAttribute("aria-valuemax",String(t)):u.removeAttribute("aria-valuemax"),Number.isFinite(e)?u.setAttribute("aria-valuemin",String(e)):u.removeAttribute("aria-valuemin"),u.setAttribute("aria-valuenow",l.currentValue||l.currentValue===0?String(l.currentValue):""),u.setAttribute("aria-disabled",String(v.value)),!f(r)&&r!=null){let p=Number(r);Number.isNaN(p)&&(p=null),o(F,p)}u.addEventListener("wheel",de,{passive:!1})}),ye(()=>{var e,t;(t=(e=b.value)==null?void 0:e.input)==null||t.setAttribute("aria-valuenow",`${l.currentValue??""}`)}),k({focus:le,blur:se}),(e,t)=>(N(),$("div",{class:K([i(d).b(),i(d).m(i(W)),i(d).is("disabled",i(v)),i(d).is("without-controls",!a.controls),i(d).is("controls-right",C.value),i(d).is(a.align,!!a.align)]),onDragstart:t[0]||(t[0]=Ie(()=>{},["prevent"]))},[a.controls?J((N(),$("span",{key:0,role:"button","aria-label":i(U)("el.inputNumber.decrease"),class:K([i(d).e("decrease"),i(d).is("disabled",G.value)]),onKeydown:q(T,["enter"])},[S(e.$slots,"decrease-icon",{},()=>[O(i(Q),null,{default:x(()=>[C.value?(N(),w(i(Ee),{key:0})):(N(),w(i(ge),{key:1}))]),_:1})])],42,Re)),[[i(ee),T]]):Y("v-if",!0),a.controls?J((N(),$("span",{key:1,role:"button","aria-label":i(U)("el.inputNumber.increase"),class:K([i(d).e("increase"),i(d).is("disabled",L.value)]),onKeydown:q(D,["enter"])},[S(e.$slots,"increase-icon",{},()=>[O(i(Q),null,{default:x(()=>[C.value?(N(),w(i(Se),{key:0})):(N(),w(i(xe),{key:1}))]),_:1})])],42,Ue)),[[i(ee),D]]):Y("v-if",!0),O(i(ze),{id:a.id,ref_key:"input",ref:b,type:a.formatter?"text":"number",step:a.step,"model-value":P.value,placeholder:a.placeholder,readonly:a.readonly,disabled:i(v),size:i(W),max:a.max,min:a.min,name:a.name,"aria-label":a.ariaLabel,"validate-event":!1,inputmode:a.inputmode,formatter:a.formatter,parser:a.parser,tabindex:a.tabindex,onKeydown:re,onBlur:ce,onFocus:oe,onInput:ue,onChange:ie},we({_:2},[e.$slots.prefix?{name:"prefix",fn:x(()=>[S(e.$slots,"prefix")]),key:"0"}:void 0,e.$slots.suffix?{name:"suffix",fn:x(()=>[S(e.$slots,"suffix")]),key:"1"}:void 0]),1032,["id","type","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode","formatter","parser","tabindex"])],34))}}),Le=Ge;const Qe=De(Le);export{Qe as E};