Files
YG_FT/frontend/dist/assets/el-slider-DkuDEniy.js
2026-07-27 09:50:33 +08:00

2 lines
16 KiB
JavaScript

import{ak as K,a6 as se,b as Se,aS as Be,R as Z,G as Ke,aT as ce,P as me,y as te,a1 as Xe,j as f,aK as ye,aQ as Ie,D as de,C as We,aU as Me,B as $e,V as Ue,W as F,d as ke,a as Ee,z as Pe,aV as we,o as T,c as $,s as Te,w as pe,q as ee,n as U,f as a,aa as Oe,al as D,I as je,J as Ne,aW as Ae,F as _e,e as be,g as ie,M as ue,ad as he,aL as Fe,l as Ge}from"./index-DdQQsURt.js";import{b as He,c as qe,d as Je,e as Qe}from"./index-D0UXUP15.js";import{E as Ze}from"./el-input-number-8Eh01QWw.js";import{C as ze,I as xe,U as re}from"./raf-BYY9WY16.js";import{u as De}from"./index-Cgs7GwqN.js";import{a as Re,E as et}from"./el-popper-B8UgShUN.js";import{d as Ce}from"./debounce-GPVXeeg3.js";import{c as tt}from"./clamp-V2IKZsEW.js";const Ye=Symbol("sliderContextKey"),at=Se({modelValue:{type:Z([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Z([Number,String]),default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Be,inputSize:Be,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:Z(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:Z(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Re,default:"top"},marks:{type:Z(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...De(["ariaLabel"])}),Ve=e=>K(e)||se(e)&&e.every(K),lt={[re]:Ve,[xe]:Ve,[ze]:Ve},nt=(e,t,u)=>{const l=te();return Ke(async()=>{e.range?(se(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!K(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),ce(window,"resize",u),await me(),u()}),{sliderWrapper:l}},st=e=>{const t=f(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((u,l)=>u-l).filter(u=>u<=e.max&&u>=e.min).map(u=>({point:u,position:(u-e.min)*100/(e.max-e.min),mark:e.marks[u]})):[]);return Xe(()=>{if(e.step==="mark"&&!e.marks&&ye("ElSlider","marks prop must be provided when step is mark"),e.marks){const u=Object.keys(e.marks),l=t.value.map(s=>s.point),d=u.filter(s=>{const o=Number.parseFloat(s);return Number.isNaN(o)||!l.includes(o)});d.length>0&&ye("ElSlider",`Some marks keys are invalid (not a number or out of [min, max]): [${d.map(s=>`'${s}'`).join(", ")}] and will be ignored.`)}}),t},rt=(e,t,u)=>{const{formItem:l}=He(),d=Ie(),s=te(),o=te(),h={firstButton:s,secondButton:o},V=qe(),n=f(()=>Math.min(t.firstValue,t.secondValue)),g=f(()=>Math.max(t.firstValue,t.secondValue)),p=f(()=>e.range?`${100*(g.value-n.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),w=f(()=>e.range?`${100*(n.value-e.min)/(e.max-e.min)}%`:"0%"),O=f(()=>e.vertical?{height:e.height}:{}),j=f(()=>e.vertical?{height:p.value,bottom:w.value}:{width:p.value,left:w.value}),S=()=>{d.value&&(t.sliderSize=d.value.getBoundingClientRect()[e.vertical?"height":"width"])},z=c=>{const v=e.min+c*(e.max-e.min)/100;if(!e.range)return s;let k;return Math.abs(n.value-v)<Math.abs(g.value-v)?k=t.firstValue<t.secondValue?"firstButton":"secondButton":k=t.firstValue>t.secondValue?"firstButton":"secondButton",h[k]},C=c=>{const v=z(c);return v.value.setPosition(c),v},X=c=>{t.firstValue=c??e.min,I(e.range?[n.value,g.value]:c??e.min)},P=c=>{t.secondValue=c,e.range&&I([n.value,g.value])},I=c=>{u(re,c),u(xe,c)},x=async()=>{await me(),u(ze,e.range?[n.value,g.value]:e.modelValue)},L=c=>{var k,q,_,G;if(V.value||t.dragging)return;S();let v=0;if(e.vertical){const ae=((q=(k=c.touches)==null?void 0:k.item(0))==null?void 0:q.clientY)??c.clientY;v=(d.value.getBoundingClientRect().bottom-ae)/t.sliderSize*100}else v=((((G=(_=c.touches)==null?void 0:_.item(0))==null?void 0:G.clientX)??c.clientX)-d.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(v<0||v>100))return C(v)};return{elFormItem:l,slider:d,firstButton:s,secondButton:o,sliderDisabled:V,minValue:n,maxValue:g,runwayStyle:O,barStyle:j,resetSize:S,setPosition:C,emitChange:x,onSliderWrapperPrevent:c=>{var v,k;((v=h.firstButton.value)!=null&&v.dragging||(k=h.secondButton.value)!=null&&k.dragging)&&c.preventDefault()},onSliderClick:c=>{L(c)&&x()},onSliderDown:async c=>{const v=L(c);v&&(await me(),v.value.onButtonDown(c))},onSliderMarkerDown:c=>{V.value||t.dragging||C(c)&&x()},setFirstValue:X,setSecondValue:P}},ot=(e,t,u,l)=>({stops:f(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step==="mark"||e.step===0)return e.step===0&&ye("ElSlider","step should not be 0."),[];const o=Math.ceil((e.max-e.min)/e.step),h=100*e.step/(e.max-e.min),V=Array.from({length:o-1}).map((n,g)=>(g+1)*h);return e.range?V.filter(n=>n<100*(u.value-e.min)/(e.max-e.min)||n>100*(l.value-e.min)/(e.max-e.min)):V.filter(n=>n>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:o=>e.vertical?{bottom:`${o}%`}:{left:`${o}%`}}),it=(e,t,u,l,d,s)=>{const o=n=>{d(re,n),d(xe,n)},h=()=>e.range?![u.value,l.value].every((n,g)=>n===t.oldValue[g]):e.modelValue!==t.oldValue,V=()=>{var g,p;e.min>e.max&&We("Slider","min should not be greater than max.");const n=e.modelValue;e.range&&se(n)?n[1]<e.min?o([e.min,e.min]):n[0]>e.max?o([e.max,e.max]):n[0]<e.min?o([e.min,n[1]]):n[1]>e.max?o([n[0],e.max]):(t.firstValue=n[0],t.secondValue=n[1],h()&&(e.validateEvent&&((g=s==null?void 0:s.validate)==null||g.call(s,"change").catch(Me)),t.oldValue=n.slice())):!e.range&&K(n)&&!Number.isNaN(n)&&(n<e.min?o(e.min):n>e.max?o(e.max):(t.firstValue=n,h()&&(e.validateEvent&&((p=s==null?void 0:s.validate)==null||p.call(s,"change").catch(Me)),t.oldValue=n)))};V(),de(()=>t.dragging,n=>{n||V()}),de(()=>e.modelValue,(n,g)=>{t.dragging||se(n)&&se(g)&&n.every((p,w)=>p===g[w])&&t.firstValue===n[0]&&t.secondValue===n[1]||V()},{deep:!0}),de(()=>[e.min,e.max],()=>{V()})},ut=(e,t,u)=>{const l=te(),d=te(!1),s=f(()=>t.value instanceof Function);return{tooltip:l,tooltipVisible:d,formatValue:f(()=>s.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:Ce(()=>{u.value&&(d.value=!0)},50),hideTooltip:Ce(()=>{u.value&&(d.value=!1)},50)}},dt=(e,t,u)=>{const{disabled:l,min:d,max:s,step:o,showTooltip:h,persistent:V,precision:n,sliderSize:g,formatTooltip:p,emitChange:w,resetSize:O,updateDragging:j,markList:S}=$e(Ye),{tooltip:z,tooltipVisible:C,formatValue:X,displayTooltip:P,hideTooltip:I}=ut(e,p,h),x=te(),L=f(()=>`${(e.modelValue-d.value)/(s.value-d.value)*100}%`),A=f(()=>e.vertical?{bottom:L.value}:{left:L.value}),y=f(()=>o.value==="mark"&&S.value.length>0),B=()=>{t.hovering=!0,P()},H=()=>{t.hovering=!1,t.dragging||I()},c=r=>{l.value||(r.preventDefault(),J(r),window.addEventListener("mousemove",Q),window.addEventListener("touchmove",Q),window.addEventListener("mouseup",W),window.addEventListener("touchend",W),window.addEventListener("contextmenu",W),x.value.focus())},v=r=>{l.value||(t.newPosition=Number.parseFloat(L.value)+r/(s.value-d.value)*100,R(t.newPosition),w())},k=r=>{if(l.value||!S.value.length)return;const m=e.modelValue,b=Number.EPSILON,N=Math.abs(r);let i;if(r>0){const M=S.value.findIndex(E=>E.point>m+b);if(M!==-1){const E=Math.min(M+N-1,S.value.length-1);i=S.value[E].point}}else{let M=-1;for(let E=S.value.length-1;E>=0;E--)if(S.value[E].point<m-b){M=E;break}if(M!==-1){const E=Math.max(M-(N-1),0);i=S.value[E].point}}i!==void 0&&i!==m&&(R((i-d.value)/(s.value-d.value)*100),w())},q=()=>{y.value?k(-1):K(o.value)&&v(-o.value)},_=()=>{y.value?k(1):K(o.value)&&v(o.value)},G=()=>{y.value?k(-4):K(o.value)&&v(-o.value*4)},ae=()=>{y.value?k(4):K(o.value)&&v(o.value*4)},ve=()=>{l.value||(R(0),w())},fe=()=>{l.value||(R(100),w())},ge=r=>{const m=Ue(r);let b=!0;switch(m){case F.left:case F.down:q();break;case F.right:case F.up:_();break;case F.home:ve();break;case F.end:fe();break;case F.pageDown:G();break;case F.pageUp:ae();break;default:b=!1;break}b&&r.preventDefault()},oe=r=>{let m,b;return r.type.startsWith("touch")?(b=r.touches[0].clientY,m=r.touches[0].clientX):(b=r.clientY,m=r.clientX),{clientX:m,clientY:b}},J=r=>{t.dragging=!0,t.isClick=!0;const{clientX:m,clientY:b}=oe(r);e.vertical?t.startY=b:t.startX=m,t.startPosition=Number.parseFloat(L.value),t.newPosition=t.startPosition},Q=r=>{if(t.dragging){t.isClick=!1,P(),O();let m;const{clientX:b,clientY:N}=oe(r);e.vertical?(t.currentY=N,m=(t.startY-t.currentY)/g.value*100):(t.currentX=b,m=(t.currentX-t.startX)/g.value*100),t.newPosition=t.startPosition+m,R(t.newPosition)}},W=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||I(),t.isClick||R(t.newPosition),w()},0),window.removeEventListener("mousemove",Q),window.removeEventListener("touchmove",Q),window.removeEventListener("mouseup",W),window.removeEventListener("touchend",W),window.removeEventListener("contextmenu",W))},R=async r=>{if(r===null||Number.isNaN(+r))return;r=tt(r,0,100);let m;if(o.value==="mark")S.value.length===0?m=r<=50?d.value:s.value:m=S.value.reduce((b,N)=>Math.abs(N.position-r)<Math.abs(b.position-r)?N:b).point;else{const b=Math.floor((s.value-d.value)/o.value),N=b*o.value/(s.value-d.value)*100,i=N+(100-N)/2;if(r<N){const M=N/b,E=Math.round(r/M);m=d.value+E*o.value}else r<i?m=d.value+b*o.value:m=s.value;m=Number.parseFloat(m.toFixed(n.value))}m!==e.modelValue&&u(re,m),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await me(),t.dragging&&P(),z.value.updatePopper()};return de(()=>t.dragging,r=>{j(r)}),ce(x,"touchstart",c,{passive:!1}),{disabled:l,button:x,tooltip:z,tooltipVisible:C,showTooltip:h,persistent:V,wrapperStyle:A,formatValue:X,handleMouseEnter:B,handleMouseLeave:H,onButtonDown:c,onKeyDown:ge,setPosition:R}},ct=Se({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Re,default:"top"}}),mt={[re]:e=>K(e)},vt=["tabindex"];var ft=ke({name:"ElSliderButton",__name:"button",props:ct,emits:mt,setup(e,{expose:t,emit:u}){const l=e,d=u,s=Ee("slider"),o=Pe({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:l.modelValue}),h=f(()=>p.value?w.value:!1),{disabled:V,button:n,tooltip:g,showTooltip:p,persistent:w,tooltipVisible:O,wrapperStyle:j,formatValue:S,handleMouseEnter:z,handleMouseLeave:C,onButtonDown:X,onKeyDown:P,setPosition:I}=dt(l,o,d),{hovering:x,dragging:L}=we(o);return t({onButtonDown:X,onKeyDown:P,setPosition:I,hovering:x,dragging:L}),(A,y)=>(T(),$("div",{ref_key:"button",ref:n,class:U([a(s).e("button-wrapper"),{hover:a(x),dragging:a(L)}]),style:D(a(j)),tabindex:a(V)?void 0:0,onMouseenter:y[0]||(y[0]=(...B)=>a(z)&&a(z)(...B)),onMouseleave:y[1]||(y[1]=(...B)=>a(C)&&a(C)(...B)),onMousedown:y[2]||(y[2]=(...B)=>a(X)&&a(X)(...B)),onFocus:y[3]||(y[3]=(...B)=>a(z)&&a(z)(...B)),onBlur:y[4]||(y[4]=(...B)=>a(C)&&a(C)(...B)),onKeydown:y[5]||(y[5]=(...B)=>a(P)&&a(P)(...B))},[Te(a(et),{ref_key:"tooltip",ref:g,visible:a(O),placement:A.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":A.tooltipClass,disabled:!a(p),persistent:h.value},{content:pe(()=>[ee("span",null,Oe(a(S)),1)]),default:pe(()=>[ee("div",{class:U([a(s).e("button"),{hover:a(x),dragging:a(L)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled","persistent"])],46,vt))}}),Le=ft;const gt=Se({mark:{type:Z([String,Object]),default:void 0}});var bt=ke({name:"ElSliderMarker",props:gt,setup(e){const t=Ee("slider"),u=f(()=>Ne(e.mark)?e.mark:e.mark.label),l=f(()=>Ne(e.mark)?void 0:e.mark.style);return()=>je("div",{class:t.e("marks-text"),style:l.value},u.value)}});const ht=["id","role","aria-label","aria-labelledby"],Vt={key:1};var yt=ke({name:"ElSlider",__name:"slider",props:at,emits:lt,setup(e,{expose:t,emit:u}){const l=e,d=u,s=Ee("slider"),{t:o}=Ae(),h=Pe({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:V,slider:n,firstButton:g,secondButton:p,sliderDisabled:w,minValue:O,maxValue:j,runwayStyle:S,barStyle:z,resetSize:C,emitChange:X,onSliderWrapperPrevent:P,onSliderClick:I,onSliderDown:x,onSliderMarkerDown:L,setFirstValue:A,setSecondValue:y}=rt(l,h,d),{stops:B,getStopStyle:H}=ot(l,h,O,j),{inputId:c,isLabeledByFormItem:v}=Je(l,{formItemContext:V}),k=Qe(),q=f(()=>l.inputSize||k.value),_=f(()=>l.showInput&&!l.range&&l.step!=="mark"),G=f(()=>l.ariaLabel||o("el.slider.defaultLabel",{min:l.min,max:l.max})),ae=f(()=>l.range?l.rangeStartLabel||o("el.slider.defaultRangeStartLabel"):G.value),ve=f(()=>l.formatValueText?l.formatValueText(r.value):`${r.value}`),fe=f(()=>l.rangeEndLabel||o("el.slider.defaultRangeEndLabel")),ge=f(()=>l.formatValueText?l.formatValueText(m.value):`${m.value}`),oe=f(()=>[s.b(),s.m(k.value),s.is("vertical",l.vertical),{[s.m("with-input")]:_.value}]),J=st(l);it(l,h,O,j,d,V);const Q=f(()=>K(l.step)?l.step:1),W=f(()=>{const i=K(l.step)?l.step:1,M=[l.min,l.max,i].map(E=>{const le=`${E}`.split(".")[1];return le?le.length:0});return Math.max.apply(null,M)}),{sliderWrapper:R}=nt(l,h,C),{firstValue:r,secondValue:m,sliderSize:b}=we(h),N=i=>{h.dragging=i};return ce(R,"touchstart",P,{passive:!1}),ce(R,"touchmove",P,{passive:!1}),_e(Ye,{...we(l),sliderSize:b,disabled:w,precision:W,markList:J,emitChange:X,resetSize:C,updateDragging:N}),t({onSliderClick:I}),(i,M)=>{var E,le;return T(),$("div",{id:i.range?a(c):void 0,ref_key:"sliderWrapper",ref:R,class:U(oe.value),role:i.range?"group":void 0,"aria-label":i.range&&!a(v)?G.value:void 0,"aria-labelledby":i.range&&a(v)?(E=a(V))==null?void 0:E.labelId:void 0},[ee("div",{ref_key:"slider",ref:n,class:U([a(s).e("runway"),{"show-input":_.value},a(s).is("disabled",a(w))]),style:D(a(S)),onMousedown:M[0]||(M[0]=(...Y)=>a(x)&&a(x)(...Y)),onTouchstartPassive:M[1]||(M[1]=(...Y)=>a(x)&&a(x)(...Y))},[ee("div",{class:U(a(s).e("bar")),style:D(a(z))},null,6),Te(Le,{id:i.range?void 0:a(c),ref_key:"firstButton",ref:g,"model-value":a(r),vertical:i.vertical,"tooltip-class":i.tooltipClass,placement:i.placement,role:"slider","aria-label":i.range||!a(v)?ae.value:void 0,"aria-labelledby":!i.range&&a(v)?(le=a(V))==null?void 0:le.labelId:void 0,"aria-valuemin":i.min,"aria-valuemax":i.range?a(m):i.max,"aria-valuenow":a(r),"aria-valuetext":ve.value,"aria-orientation":i.vertical?"vertical":"horizontal","aria-disabled":a(w),"onUpdate:modelValue":a(A)},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"]),i.range?(T(),be(Le,{key:0,ref_key:"secondButton",ref:p,"model-value":a(m),vertical:i.vertical,"tooltip-class":i.tooltipClass,placement:i.placement,role:"slider","aria-label":fe.value,"aria-valuemin":a(r),"aria-valuemax":i.max,"aria-valuenow":a(m),"aria-valuetext":ge.value,"aria-orientation":i.vertical?"vertical":"horizontal","aria-disabled":a(w),"onUpdate:modelValue":a(y)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):ie("v-if",!0),i.showStops?(T(),$("div",Vt,[(T(!0),$(ue,null,he(a(B),(Y,ne)=>(T(),$("div",{key:ne,class:U(a(s).e("stop")),style:D(a(H)(Y))},null,6))),128))])):ie("v-if",!0),a(J).length>0?(T(),$(ue,{key:2},[ee("div",null,[(T(!0),$(ue,null,he(a(J),(Y,ne)=>(T(),$("div",{key:ne,style:D(a(H)(Y.position)),class:U([a(s).e("stop"),a(s).e("marks-stop")])},null,6))),128))]),ee("div",{class:U(a(s).e("marks"))},[(T(!0),$(ue,null,he(a(J),(Y,ne)=>(T(),be(a(bt),{key:ne,mark:Y.mark,style:D(a(H)(Y.position)),onMousedown:Fe(St=>a(L)(Y.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):ie("v-if",!0)],38),_.value?(T(),be(a(Ze),{key:0,ref:"input","model-value":a(r),class:U(a(s).e("input")),step:Q.value,disabled:a(w),controls:i.showInputControls,min:i.min,max:i.max,precision:W.value,size:q.value,"onUpdate:modelValue":a(A),onChange:a(X)},null,8,["model-value","class","step","disabled","controls","min","max","precision","size","onUpdate:modelValue","onChange"])):ie("v-if",!0)],10,ht)}}}),wt=yt;const Lt=Ge(wt);export{Lt as E};