Files
anmo/server/public/admin/assets/el-slider-9wl3SPcz.js
2025-08-21 16:20:27 +08:00

2 lines
14 KiB
JavaScript

import{as as ve,at as ee,a4 as he,d$ as Be,a5 as Te,a6 as le,f4 as fe,b5 as xe,a8 as ce,ag as ze,r as q,k as Fe,dO as re,N as se,c as f,ad as Ie,s as _e,aa as Xe,O as oe,dG as Ve,dX as Ke,aE as Re,ae as we,d as ae,ao as ge,j as Me,aw as me,o as C,a as I,m as Ce,w as Se,b as H,t as Ye,f as a,D as _,$ as $e,ar as G,aq as Le,a7 as ke,cj as Ae,bj as We,al as Oe,ak as Ue,au as je,B as ie,G as te,F as ne,e as ue,R as pe,eT as Ge,ax as He}from"./index-Bp03Znup.js";const Ne=Symbol("sliderContextKey"),qe=ve({modelValue:{type:ee([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:he,inputSize:he,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:ee(Function),default:void 0},disabled:Boolean,range:Boolean,vertical:Boolean,height:String,debounce:{type:Number,default:300},rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:ee(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Be,default:"top"},marks:{type:ee(Object)},validateEvent:{type:Boolean,default:!0},...Te(["ariaLabel"])}),de=e=>ce(e)||ze(e)&&e.every(ce),Je={[le]:de,[fe]:de,[xe]:de},Qe=(e,l,d)=>{const t=q();return Fe(async()=>{e.range?(Array.isArray(e.modelValue)?(l.firstValue=Math.max(e.min,e.modelValue[0]),l.secondValue=Math.min(e.max,e.modelValue[1])):(l.firstValue=e.min,l.secondValue=e.max),l.oldValue=[l.firstValue,l.secondValue]):(typeof e.modelValue!="number"||Number.isNaN(e.modelValue)?l.firstValue=e.min:l.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),l.oldValue=l.firstValue),re(window,"resize",d),await se(),d()}),{sliderWrapper:t}},Ze=e=>f(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((d,t)=>d-t).filter(d=>d<=e.max&&d>=e.min).map(d=>({point:d,position:(d-e.min)*100/(e.max-e.min),mark:e.marks[d]})):[]),De=(e,l,d)=>{const{form:t,formItem:i}=Ie(),m=_e(),u=q(),b=q(),y={firstButton:u,secondButton:b},c=f(()=>e.disabled||(t==null?void 0:t.disabled)||!1),v=f(()=>Math.min(l.firstValue,l.secondValue)),n=f(()=>Math.max(l.firstValue,l.secondValue)),k=f(()=>e.range?`${100*(n.value-v.value)/(e.max-e.min)}%`:`${100*(l.firstValue-e.min)/(e.max-e.min)}%`),N=f(()=>e.range?`${100*(v.value-e.min)/(e.max-e.min)}%`:"0%"),z=f(()=>e.vertical?{height:e.height}:{}),X=f(()=>e.vertical?{height:k.value,bottom:N.value}:{width:k.value,left:N.value}),P=()=>{m.value&&(l.sliderSize=m.value[`client${e.vertical?"Height":"Width"}`])},T=s=>{const h=e.min+s*(e.max-e.min)/100;if(!e.range)return u;let V;return Math.abs(v.value-h)<Math.abs(n.value-h)?V=l.firstValue<l.secondValue?"firstButton":"secondButton":V=l.firstValue>l.secondValue?"firstButton":"secondButton",y[V]},E=s=>{const h=T(s);return h.value.setPosition(s),h},L=s=>{l.firstValue=s??e.min,R(e.range?[v.value,n.value]:s??e.min)},B=s=>{l.secondValue=s,e.range&&R([v.value,n.value])},R=s=>{d(le,s),d(fe,s)},Y=async()=>{await se(),d(xe,e.range?[v.value,n.value]:e.modelValue)},O=s=>{var h,V,U,j,A,p;if(c.value||l.dragging)return;P();let x=0;if(e.vertical){const w=(U=(V=(h=s.touches)==null?void 0:h.item(0))==null?void 0:V.clientY)!=null?U:s.clientY;x=(m.value.getBoundingClientRect().bottom-w)/l.sliderSize*100}else{const w=(p=(A=(j=s.touches)==null?void 0:j.item(0))==null?void 0:A.clientX)!=null?p:s.clientX,M=m.value.getBoundingClientRect().left;x=(w-M)/l.sliderSize*100}if(!(x<0||x>100))return E(x)};return{elFormItem:i,slider:m,firstButton:u,secondButton:b,sliderDisabled:c,minValue:v,maxValue:n,runwayStyle:z,barStyle:X,resetSize:P,setPosition:E,emitChange:Y,onSliderWrapperPrevent:s=>{var h,V;((h=y.firstButton.value)!=null&&h.dragging||(V=y.secondButton.value)!=null&&V.dragging)&&s.preventDefault()},onSliderClick:s=>{O(s)&&Y()},onSliderDown:async s=>{const h=O(s);h&&(await se(),h.value.onButtonDown(s))},onSliderMarkerDown:s=>{c.value||l.dragging||E(s)},setFirstValue:L,setSecondValue:B}},{left:el,down:ll,right:al,up:tl,home:nl,end:ol,pageUp:rl,pageDown:sl}=Ke,il=(e,l,d)=>{const t=q(),i=q(!1),m=f(()=>l.value instanceof Function),u=f(()=>m.value&&l.value(e.modelValue)||e.modelValue),b=Ve(()=>{d.value&&(i.value=!0)},50),y=Ve(()=>{d.value&&(i.value=!1)},50);return{tooltip:t,tooltipVisible:i,formatValue:u,displayTooltip:b,hideTooltip:y}},ul=(e,l,d)=>{const{disabled:t,min:i,max:m,step:u,showTooltip:b,precision:y,sliderSize:c,formatTooltip:v,emitChange:n,resetSize:k,updateDragging:N}=Xe(Ne),{tooltip:z,tooltipVisible:X,formatValue:P,displayTooltip:T,hideTooltip:E}=il(e,v,b),L=q(),B=f(()=>`${(e.modelValue-i.value)/(m.value-i.value)*100}%`),R=f(()=>e.vertical?{bottom:B.value}:{left:B.value}),Y=()=>{l.hovering=!0,T()},O=()=>{l.hovering=!1,l.dragging||E()},J=o=>{t.value||(o.preventDefault(),p(o),window.addEventListener("mousemove",x),window.addEventListener("touchmove",x),window.addEventListener("mouseup",w),window.addEventListener("touchend",w),window.addEventListener("contextmenu",w),L.value.focus())},F=o=>{t.value||(l.newPosition=Number.parseFloat(B.value)+o/(m.value-i.value)*100,M(l.newPosition),n())},Q=()=>{F(-u.value)},$=()=>{F(u.value)},s=()=>{F(-u.value*4)},h=()=>{F(u.value*4)},V=()=>{t.value||(M(0),n())},U=()=>{t.value||(M(100),n())},j=o=>{let g=!0;[el,ll].includes(o.key)?Q():[al,tl].includes(o.key)?$():o.key===nl?V():o.key===ol?U():o.key===sl?s():o.key===rl?h():g=!1,g&&o.preventDefault()},A=o=>{let g,S;return o.type.startsWith("touch")?(S=o.touches[0].clientY,g=o.touches[0].clientX):(S=o.clientY,g=o.clientX),{clientX:g,clientY:S}},p=o=>{l.dragging=!0,l.isClick=!0;const{clientX:g,clientY:S}=A(o);e.vertical?l.startY=S:l.startX=g,l.startPosition=Number.parseFloat(B.value),l.newPosition=l.startPosition},x=o=>{if(l.dragging){l.isClick=!1,T(),k();let g;const{clientX:S,clientY:K}=A(o);e.vertical?(l.currentY=K,g=(l.startY-l.currentY)/c.value*100):(l.currentX=S,g=(l.currentX-l.startX)/c.value*100),l.newPosition=l.startPosition+g,M(l.newPosition)}},w=()=>{l.dragging&&(setTimeout(()=>{l.dragging=!1,l.hovering||E(),l.isClick||M(l.newPosition),n()},0),window.removeEventListener("mousemove",x),window.removeEventListener("touchmove",x),window.removeEventListener("mouseup",w),window.removeEventListener("touchend",w),window.removeEventListener("contextmenu",w))},M=async o=>{if(o===null||Number.isNaN(+o))return;o<0?o=0:o>100&&(o=100);const g=100/((m.value-i.value)/u.value);let K=Math.round(o/g)*g*(m.value-i.value)*.01+i.value;K=Number.parseFloat(K.toFixed(y.value)),K!==e.modelValue&&d(le,K),!l.dragging&&e.modelValue!==l.oldValue&&(l.oldValue=e.modelValue),await se(),l.dragging&&T(),z.value.updatePopper()};return oe(()=>l.dragging,o=>{N(o)}),re(L,"touchstart",J,{passive:!1}),{disabled:t,button:L,tooltip:z,tooltipVisible:X,showTooltip:b,wrapperStyle:R,formatValue:P,handleMouseEnter:Y,handleMouseLeave:O,onButtonDown:J,onKeyDown:j,setPosition:M}},dl=(e,l,d,t)=>({stops:f(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return[];const u=(e.max-e.min)/e.step,b=100*e.step/(e.max-e.min),y=Array.from({length:u-1}).map((c,v)=>(v+1)*b);return e.range?y.filter(c=>c<100*(d.value-e.min)/(e.max-e.min)||c>100*(t.value-e.min)/(e.max-e.min)):y.filter(c=>c>100*(l.firstValue-e.min)/(e.max-e.min))}),getStopStyle:u=>e.vertical?{bottom:`${u}%`}:{left:`${u}%`}}),cl=(e,l,d,t,i,m)=>{const u=c=>{i(le,c),i(fe,c)},b=()=>e.range?![d.value,t.value].every((c,v)=>c===l.oldValue[v]):e.modelValue!==l.oldValue,y=()=>{var c,v;e.min>e.max&&Re("Slider","min should not be greater than max.");const n=e.modelValue;e.range&&Array.isArray(n)?n[1]<e.min?u([e.min,e.min]):n[0]>e.max?u([e.max,e.max]):n[0]<e.min?u([e.min,n[1]]):n[1]>e.max?u([n[0],e.max]):(l.firstValue=n[0],l.secondValue=n[1],b()&&(e.validateEvent&&((c=m==null?void 0:m.validate)==null||c.call(m,"change").catch(k=>we())),l.oldValue=n.slice())):!e.range&&typeof n=="number"&&!Number.isNaN(n)&&(n<e.min?u(e.min):n>e.max?u(e.max):(l.firstValue=n,b()&&(e.validateEvent&&((v=m==null?void 0:m.validate)==null||v.call(m,"change").catch(k=>we())),l.oldValue=n)))};y(),oe(()=>l.dragging,c=>{c||y()}),oe(()=>e.modelValue,(c,v)=>{l.dragging||Array.isArray(c)&&Array.isArray(v)&&c.every((n,k)=>n===v[k])&&l.firstValue===c[0]&&l.secondValue===c[1]||y()},{deep:!0}),oe(()=>[e.min,e.max],()=>{y()})},ml=ve({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Be,default:"top"}}),vl={[le]:e=>ce(e)},fl=ae({name:"ElSliderButton"}),gl=ae({...fl,props:ml,emits:vl,setup(e,{expose:l,emit:d}){const t=e,i=ge("slider"),m=Me({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:t.modelValue}),{disabled:u,button:b,tooltip:y,showTooltip:c,tooltipVisible:v,wrapperStyle:n,formatValue:k,handleMouseEnter:N,handleMouseLeave:z,onButtonDown:X,onKeyDown:P,setPosition:T}=ul(t,m,d),{hovering:E,dragging:L}=me(m);return l({onButtonDown:X,onKeyDown:P,setPosition:T,hovering:E,dragging:L}),(B,R)=>(C(),I("div",{ref_key:"button",ref:b,class:_([a(i).e("button-wrapper"),{hover:a(E),dragging:a(L)}]),style:G(a(n)),tabindex:a(u)?-1:0,onMouseenter:a(N),onMouseleave:a(z),onMousedown:a(X),onFocus:a(N),onBlur:a(z),onKeydown:a(P)},[Ce(a($e),{ref_key:"tooltip",ref:y,visible:a(v),placement:B.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":B.tooltipClass,disabled:!a(c),persistent:""},{content:Se(()=>[H("span",null,Ye(a(k)),1)]),default:Se(()=>[H("div",{class:_([a(i).e("button"),{hover:a(E),dragging:a(L)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled"])],46,["tabindex","onMouseenter","onMouseleave","onMousedown","onFocus","onBlur","onKeydown"]))}});var Ee=Le(gl,[["__file","button.vue"]]);const bl=ve({mark:{type:ee([String,Object]),default:void 0}});var yl=ae({name:"ElSliderMarker",props:bl,setup(e){const l=ge("slider"),d=f(()=>ke(e.mark)?e.mark:e.mark.label),t=f(()=>ke(e.mark)?void 0:e.mark.style);return()=>Ae("div",{class:l.e("marks-text"),style:t.value},d.value)}});const hl=ae({name:"ElSlider"}),Vl=ae({...hl,props:qe,emits:Je,setup(e,{expose:l,emit:d}){const t=e,i=ge("slider"),{t:m}=We(),u=Me({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:b,slider:y,firstButton:c,secondButton:v,sliderDisabled:n,minValue:k,maxValue:N,runwayStyle:z,barStyle:X,resetSize:P,emitChange:T,onSliderWrapperPrevent:E,onSliderClick:L,onSliderDown:B,onSliderMarkerDown:R,setFirstValue:Y,setSecondValue:O}=De(t,u,d),{stops:J,getStopStyle:F}=dl(t,u,k,N),{inputId:Q,isLabeledByFormItem:$}=Oe(t,{formItemContext:b}),s=Ue(),h=f(()=>t.inputSize||s.value),V=f(()=>t.ariaLabel||m("el.slider.defaultLabel",{min:t.min,max:t.max})),U=f(()=>t.range?t.rangeStartLabel||m("el.slider.defaultRangeStartLabel"):V.value),j=f(()=>t.formatValueText?t.formatValueText(g.value):`${g.value}`),A=f(()=>t.rangeEndLabel||m("el.slider.defaultRangeEndLabel")),p=f(()=>t.formatValueText?t.formatValueText(S.value):`${S.value}`),x=f(()=>[i.b(),i.m(s.value),i.is("vertical",t.vertical),{[i.m("with-input")]:t.showInput}]),w=Ze(t);cl(t,u,k,N,d,b);const M=f(()=>{const r=[t.min,t.max,t.step].map(be=>{const Z=`${be}`.split(".")[1];return Z?Z.length:0});return Math.max.apply(null,r)}),{sliderWrapper:o}=Qe(t,u,P),{firstValue:g,secondValue:S,sliderSize:K}=me(u),Pe=r=>{u.dragging=r};return re(o,"touchstart",E,{passive:!1}),re(o,"touchmove",E,{passive:!1}),je(Ne,{...me(t),sliderSize:K,disabled:n,precision:M,emitChange:T,resetSize:P,updateDragging:Pe}),l({onSliderClick:L}),(r,be)=>{var Z,ye;return C(),I("div",{id:r.range?a(Q):void 0,ref_key:"sliderWrapper",ref:o,class:_(a(x)),role:r.range?"group":void 0,"aria-label":r.range&&!a($)?a(V):void 0,"aria-labelledby":r.range&&a($)?(Z=a(b))==null?void 0:Z.labelId:void 0},[H("div",{ref_key:"slider",ref:y,class:_([a(i).e("runway"),{"show-input":r.showInput&&!r.range},a(i).is("disabled",a(n))]),style:G(a(z)),onMousedown:a(B),onTouchstartPassive:a(B)},[H("div",{class:_(a(i).e("bar")),style:G(a(X))},null,6),Ce(Ee,{id:r.range?void 0:a(Q),ref_key:"firstButton",ref:c,"model-value":a(g),vertical:r.vertical,"tooltip-class":r.tooltipClass,placement:r.placement,role:"slider","aria-label":r.range||!a($)?a(U):void 0,"aria-labelledby":!r.range&&a($)?(ye=a(b))==null?void 0:ye.labelId:void 0,"aria-valuemin":r.min,"aria-valuemax":r.range?a(S):r.max,"aria-valuenow":a(g),"aria-valuetext":a(j),"aria-orientation":r.vertical?"vertical":"horizontal","aria-disabled":a(n),"onUpdate:modelValue":a(Y)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),r.range?(C(),ie(Ee,{key:0,ref_key:"secondButton",ref:v,"model-value":a(S),vertical:r.vertical,"tooltip-class":r.tooltipClass,placement:r.placement,role:"slider","aria-label":a(A),"aria-valuemin":a(g),"aria-valuemax":r.max,"aria-valuenow":a(S),"aria-valuetext":a(p),"aria-orientation":r.vertical?"vertical":"horizontal","aria-disabled":a(n),"onUpdate:modelValue":a(O)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):te("v-if",!0),r.showStops?(C(),I("div",{key:1},[(C(!0),I(ne,null,ue(a(J),(W,D)=>(C(),I("div",{key:D,class:_(a(i).e("stop")),style:G(a(F)(W))},null,6))),128))])):te("v-if",!0),a(w).length>0?(C(),I(ne,{key:2},[H("div",null,[(C(!0),I(ne,null,ue(a(w),(W,D)=>(C(),I("div",{key:D,style:G(a(F)(W.position)),class:_([a(i).e("stop"),a(i).e("marks-stop")])},null,6))),128))]),H("div",{class:_(a(i).e("marks"))},[(C(!0),I(ne,null,ue(a(w),(W,D)=>(C(),ie(a(yl),{key:D,mark:W.mark,style:G(a(F)(W.position)),onMousedown:pe(Sl=>a(R)(W.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):te("v-if",!0)],46,["onMousedown","onTouchstartPassive"]),r.showInput&&!r.range?(C(),ie(a(Ge),{key:0,ref:"input","model-value":a(g),class:_(a(i).e("input")),step:r.step,disabled:a(n),controls:r.showInputControls,min:r.min,max:r.max,precision:a(M),debounce:r.debounce,size:a(h),"onUpdate:modelValue":a(Y),onChange:a(T)},null,8,["model-value","class","step","disabled","controls","min","max","precision","debounce","size","onUpdate:modelValue","onChange"])):te("v-if",!0)],10,["id","role","aria-label","aria-labelledby"])}}});var wl=Le(Vl,[["__file","slider.vue"]]);const El=He(wl);export{El as E};