1 |
- import{x as J,U as u,y as b,E as m,d as Z,W as B,Z as g,$ as L,b9 as j,a2 as x,aC as Q,i as h,ah as k,a_ as y,z as M,a7 as P,am as D,a5 as F,K as R,ba as X,a3 as Y,a8 as ee,aJ as te,D as ne}from"./index.9a8e7555.js";const[ae,_]=J("stepper"),re=200,oe=600,f=(t,s)=>String(t)===String(s),se={min:u(1),max:u(1/0),name:u(""),step:u(1),theme:String,integer:Boolean,disabled:Boolean,showPlus:b,showMinus:b,showInput:b,longPress:b,allowEmpty:Boolean,modelValue:m,inputWidth:m,buttonSize:m,placeholder:String,disablePlus:Boolean,disableMinus:Boolean,disableInput:Boolean,beforeChange:Function,defaultValue:u(1),decimalLength:m};var ie=Z({name:ae,props:se,emits:["plus","blur","minus","focus","change","overlimit","update:modelValue"],setup(t,{emit:s}){const l=e=>{const{min:n,max:o,allowEmpty:v,decimalLength:r}=t;return v&&e===""||(e=F(String(e),!t.integer),e=e===""?0:+e,e=Number.isNaN(e)?+n:e,e=Math.max(Math.min(+o,e),+n),R(r)&&(e=e.toFixed(+r))),e},A=()=>{var e;const n=(e=t.modelValue)!=null?e:t.defaultValue,o=l(n);return f(o,t.modelValue)||s("update:modelValue",o),o};let i;const T=B(),a=B(A()),d=g(()=>t.disabled||t.disableMinus||a.value<=+t.min),c=g(()=>t.disabled||t.disablePlus||a.value>=+t.max),W=g(()=>({width:L(t.inputWidth),height:L(t.buttonSize)})),V=g(()=>j(t.buttonSize)),$=()=>{const e=l(a.value);f(e,a.value)||(a.value=e)},I=e=>{t.beforeChange?te(t.beforeChange,{args:[e],done(){a.value=e}}):a.value=e},w=()=>{if(i==="plus"&&c.value||i==="minus"&&d.value){s("overlimit",i);return}const e=i==="minus"?-t.step:+t.step,n=l(X(+a.value,e));I(n),s(i)},G=e=>{const n=e.target,{value:o}=n,{decimalLength:v}=t;let r=F(String(o),!t.integer);if(R(v)&&r.includes(".")){const E=r.split(".");r=`${E[0]}.${E[1].slice(0,+v)}`}t.beforeChange?n.value=String(a.value):f(o,r)||(n.value=r);const H=r===String(+r);I(H?+r:r)},K=e=>{var n;t.disableInput?(n=T.value)==null||n.blur():s("focus",e)},O=e=>{const n=e.target,o=l(n.value);n.value=String(o),a.value=o,Y(()=>{s("blur",e),ee()})};let S,p;const z=()=>{p=setTimeout(()=>{w(),z()},re)},U=()=>{t.longPress&&(S=!1,clearTimeout(p),p=setTimeout(()=>{S=!0,w(),z()},oe))},C=e=>{t.longPress&&(clearTimeout(p),S&&P(e))},q=e=>{t.disableInput&&P(e)},N=e=>({onClick:n=>{P(n),i=e,w()},onTouchstart:()=>{i=e,U()},onTouchend:C,onTouchcancel:C});return x(()=>[t.max,t.min,t.integer,t.decimalLength],$),x(()=>t.modelValue,e=>{f(e,a.value)||(a.value=l(e))}),x(a,e=>{s("update:modelValue",e),s("change",e,{name:t.name})}),Q(()=>t.modelValue),()=>h("div",{role:"group",class:_([t.theme])},[k(h("button",M({type:"button",style:V.value,class:[_("minus",{disabled:d.value}),{[D]:!d.value}],"aria-disabled":d.value||void 0},N("minus")),null),[[y,t.showMinus]]),k(h("input",{ref:T,type:t.integer?"tel":"text",role:"spinbutton",class:_("input"),value:a.value,style:W.value,disabled:t.disabled,readonly:t.disableInput,inputmode:t.integer?"numeric":"decimal",placeholder:t.placeholder,"aria-valuemax":t.max,"aria-valuemin":t.min,"aria-valuenow":a.value,onBlur:O,onInput:G,onFocus:K,onMousedown:q},null),[[y,t.showInput]]),k(h("button",M({type:"button",style:V.value,class:[_("plus",{disabled:c.value}),{[D]:!c.value}],"aria-disabled":c.value||void 0},N("plus")),null),[[y,t.showPlus]])])}});const ue=ne(ie);export{ue as S};
|