全栈小学生 a0528dc947 update admin
2023-06-21 18:37:59 +08:00

2 lines
14 KiB
JavaScript

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