全栈小学生 0e47055ccb v1.0.0-beta.1
2023-04-15 17:12:49 +08:00

2 lines
15 KiB
JavaScript

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