| 1 |
- import{a as w,c as M,l as O,m as G,ax as oe,ak as q,i as re,s as se,j as ue}from"./index-DvRafCRO.js";import{i as z}from"./index.es-BW_FzNZC.js";import{d as B,p as k,q as C,o as u,w as de,a as A,H as me,J as ve,j as $,e as h,c as p,F as I,Z as X,n as V,b as g,u as fe,s as S,v as U,y as ce,x as pe,A as ge}from"./vue-vendor-C15EL-OS.js";import{T as ye}from"./index-CZ4F-XkN.js";import{I as he}from"./index-aUIlUFuA.js";const be=B({name:"SliderButton",components:{Tooltip:ye},inheritAttrs:!1,props:{direction:{type:String,default:"horizontal"},disabled:{type:Boolean,default:!1},min:{type:Number,required:!0},max:{type:Number,required:!0},formatTooltip:{type:Function},value:[String,Number],tooltipPosition:{type:String},showTooltip:{type:Boolean,default:!0}},emits:["movestart","moving","moveend"],setup(e,{emit:n}){const r=M("slider-btn"),o=$(!1),d=s=>{e.disabled||(s.preventDefault(),o.value=!0,O(window,"mousemove",f),O(window,"mouseup",a),O(window,"contextmenu",a),n("movestart"))},f=s=>{n("moving",s.clientX,s.clientY)},a=()=>{o.value=!1,G(window,"mousemove",f),G(window,"mouseup",a),n("moveend")},l=h(()=>[r]),y=h(()=>{var s;return((s=e.tooltipPosition)!=null?s:e.direction==="vertical")?"right":"top"}),c=h(()=>{var s,D;return(D=(s=e.formatTooltip)==null?void 0:s.call(e,e.value))!=null?D:`${e.value}`}),m=h(()=>e.showTooltip?o.value?!0:void 0:!1);return{prefixCls:r,cls:l,tooltipContent:c,mergedTooltipPosition:y,popupVisible:m,handleMouseDown:d}}}),ke=["aria-disabled","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"];function Ce(e,n,r,o,d,f){const a=k("tooltip");return u(),C(a,{"popup-visible":e.popupVisible,position:e.mergedTooltipPosition,content:e.tooltipContent},{default:de(()=>[A("div",me(e.$attrs,{tabindex:"0",role:"slider","aria-disabled":e.disabled,"aria-valuemax":e.max,"aria-valuemin":e.min,"aria-valuenow":e.value,"aria-valuetext":e.tooltipContent,class:e.cls,onMousedown:n[0]||(n[0]=(...l)=>e.handleMouseDown&&e.handleMouseDown(...l)),onClick:n[1]||(n[1]=ve(()=>{},["stop"]))}),null,16,ke)]),_:1},8,["popup-visible","position","content"])}var $e=w(be,[["render",Ce]]);const b=(e,[n,r])=>{const o=Math.max((e-n)/(r-n),0);return`${z.round(o*100,2)}%`},L=(e,n)=>n==="vertical"?{bottom:e}:{left:e},Se=B({name:"SliderDots",props:{data:{type:Array,required:!0},min:{type:Number,required:!0},max:{type:Number,required:!0},direction:{type:String,default:"horizontal"}},setup(e){return{prefixCls:M("slider"),getStyle:o=>L(b(o,[e.min,e.max]),e.direction)}}});function Ve(e,n,r,o,d,f){return u(),p("div",{class:g(`${e.prefixCls}-dots`)},[(u(!0),p(I,null,X(e.data,(a,l)=>(u(),p("div",{key:l,class:g(`${e.prefixCls}-dot-wrapper`),style:V(e.getStyle(a.key))},[A("div",{class:g([`${e.prefixCls}-dot`,{[`${e.prefixCls}-dot-active`]:a.isActive}])},null,2)],6))),128))],2)}var we=w(Se,[["render",Ve]]);const Me=B({name:"SliderMarks",props:{data:{type:Array,required:!0},min:{type:Number,required:!0},max:{type:Number,required:!0},direction:{type:String,default:"horizontal"}},setup(e){return{prefixCls:M("slider"),getStyle:o=>L(b(o,[e.min,e.max]),e.direction)}}});function Be(e,n,r,o,d,f){return u(),p("div",{class:g(`${e.prefixCls}-marks`)},[(u(!0),p(I,null,X(e.data,(a,l)=>(u(),p("div",{key:l,"aria-hidden":"true",class:g(`${e.prefixCls}-mark`),style:V(e.getStyle(a.key))},fe(a.content),7))),128))],2)}var Ne=w(Me,[["render",Be]]);const Te=B({name:"SliderTicks",props:{value:{type:Array,required:!0},step:{type:Number,required:!0},min:{type:Number,required:!0},max:{type:Number,required:!0},direction:{type:String,default:"horizontal"}},setup(e){const n=M("slider"),r=h(()=>{const d=[],f=Math.floor((e.max-e.min)/e.step);for(let a=0;a<=f;a++){const l=z.plus(a*e.step,e.min);l<=e.min||l>=e.max||d.push({key:l,isActive:l>=e.value[0]&&l<=e.value[1]})}return d});return{prefixCls:n,steps:r,getStyle:d=>L(b(d,[e.min,e.max]),e.direction)}}});function qe(e,n,r,o,d,f){return u(),p("div",{class:g(`${e.prefixCls}-ticks`)},[(u(!0),p(I,null,X(e.steps,(a,l)=>(u(),p("div",{key:l,class:g([`${e.prefixCls}-tick`,{[`${e.prefixCls}-tick-active`]:a.isActive}]),style:V(e.getStyle(a.key))},null,6))),128))],2)}var Ae=w(Te,[["render",qe]]);const De=B({name:"SliderInput",components:{InputNumber:he},props:{modelValue:{type:Array,required:!0},min:{type:Number},max:{type:Number},step:{type:Number},disabled:{type:Boolean},range:{type:Boolean}},emits:["startChange","endChange"],setup(e,{emit:n}){return{prefixCls:M("slider")}}});function Ee(e,n,r,o,d,f){const a=k("input-number");return u(),p("div",{class:g(`${e.prefixCls}-input`)},[e.range?(u(),p(I,{key:0},[U(a,{min:e.min,max:e.max,step:e.step,disabled:e.disabled,"model-value":e.modelValue[0],"hide-button":"",onChange:n[0]||(n[0]=l=>e.$emit("startChange",l))},null,8,["min","max","step","disabled","model-value"]),A("div",{class:g(`${e.prefixCls}-input-hyphens`)},null,2)],64)):S("v-if",!0),U(a,{min:e.min,max:e.max,step:e.step,disabled:e.disabled,"model-value":e.modelValue[1],"hide-button":"",onChange:n[1]||(n[1]=l=>e.$emit("endChange",l))},null,8,["min","max","step","disabled","model-value"])],2)}var Pe=w(De,[["render",Ee]]);const ze=B({name:"Slider",components:{SliderButton:$e,SliderDots:we,SliderMarks:Ne,SliderTicks:Ae,SliderInput:Pe},props:{modelValue:{type:[Number,Array],default:void 0},defaultValue:{type:[Number,Array],default:0},step:{type:Number,default:1},min:{type:Number,default:0},marks:{type:Object},max:{type:Number,default:100},direction:{type:String,default:"horizontal"},disabled:{type:Boolean,default:!1},showTicks:{type:Boolean,default:!1},showInput:{type:Boolean,default:!1},range:{type:Boolean,default:!1},formatTooltip:{type:Function},showTooltip:{type:Boolean,default:!0}},emits:{"update:modelValue":e=>!0,change:e=>!0},setup(e,{emit:n}){const{modelValue:r}=ce(e),o=M("slider"),{mergedDisabled:d,eventHandlers:f}=oe({disabled:pe(e,"disabled")}),a=$(null),l=$(),y=e.modelValue?e.modelValue:e.defaultValue,c=$(q(y)?y[0]:0),m=$(q(y)?y[1]:y);ge(r,t=>{var i,v,E,P,N;q(t)?(c.value=(v=(i=t[0])!=null?i:e.min)!=null?v:0,m.value=(P=(E=t[1])!=null?E:e.min)!=null?P:0):m.value=(N=t??e.min)!=null?N:0});const s=()=>{var t,i;e.range?(n("update:modelValue",[c.value,m.value]),n("change",[c.value,m.value])):(n("update:modelValue",m.value),n("change",m.value)),(i=(t=f.value)==null?void 0:t.onChange)==null||i.call(t)},D=t=>{t=t??e.min,c.value=t,s()},J=t=>{t=t??e.min,m.value=t,s()},R=h(()=>{var t,i,v;return e.range?q(e.modelValue)?e.modelValue:[c.value,(t=e.modelValue)!=null?t:m.value]:re(e.modelValue)?[c.value,m.value]:q(e.modelValue)?[(i=e.min)!=null?i:0,e.modelValue[1]]:[(v=e.min)!=null?v:0,e.modelValue]}),Z=h(()=>Object.keys(e.marks||{}).map(t=>{var i;const v=Number(t);return{key:v,content:(i=e.marks)==null?void 0:i[v],isActive:v>=R.value[0]&&v<=R.value[1]}})),K=t=>L(b(t,[e.min,e.max]),e.direction),Y=$(!1),Q=()=>{Y.value=!0,a.value&&(l.value=a.value.getBoundingClientRect())};function j(t,i){if(!l.value)return 0;const{left:v,top:E,width:P,height:N}=l.value,F=e.direction==="horizontal"?P:N,le=F*e.step/(e.max-e.min);let T=e.direction==="horizontal"?t-v:E+N-i;T<0&&(T=0),T>F&&(T=F);const ie=Math.round(T/le);return z.plus(e.min,z.times(ie,e.step))}const W=(t,i)=>{m.value=j(t,i),s()},x=t=>{if(d.value)return;const{clientX:i,clientY:v}=t;a.value&&(l.value=a.value.getBoundingClientRect()),m.value=j(i,v),s()};function _([t,i]){return t>i&&([t,i]=[i,t]),e.direction==="vertical"?{bottom:b(t,[e.min,e.max]),top:b(e.max+e.min-i,[e.min,e.max])}:{left:b(t,[e.min,e.max]),right:b(e.max+e.min-i,[e.min,e.max])}}const ee=(t,i)=>{c.value=j(t,i),s()},te=()=>{Y.value=!1},ne=h(()=>[o,{[`${o}-vertical`]:e.direction==="vertical",[`${o}-with-marks`]:!!e.marks}]),ae=h(()=>[`${o}-track`,{[`${o}-track-disabled`]:d.value,[`${o}-track-vertical`]:e.direction==="vertical"}]);return{prefixCls:o,cls:ne,trackCls:ae,trackRef:a,computedValue:R,mergedDisabled:d,markList:Z,getBtnStyle:K,getBarStyle:_,handleClick:x,handleMoveStart:Q,handleEndMoving:W,handleMoveEnd:te,handleStartMoving:ee,handleStartChange:D,handleEndChange:J}}});function Ie(e,n,r,o,d,f){const a=k("slider-ticks"),l=k("slider-dots"),y=k("slider-marks"),c=k("slider-button"),m=k("slider-input");return u(),p("div",{class:g(e.cls)},[A("div",{ref:"trackRef",class:g(e.trackCls),onClick:n[0]||(n[0]=(...s)=>e.handleClick&&e.handleClick(...s))},[A("div",{class:g(`${e.prefixCls}-bar`),style:V(e.getBarStyle(e.computedValue))},null,6),e.showTicks?(u(),C(a,{key:0,value:e.computedValue,step:e.step,min:e.min,max:e.max,direction:e.direction},null,8,["value","step","min","max","direction"])):S("v-if",!0),e.marks?(u(),C(l,{key:1,data:e.markList,min:e.min,max:e.max,direction:e.direction},null,8,["data","min","max","direction"])):S("v-if",!0),e.marks?(u(),C(y,{key:2,data:e.markList,min:e.min,max:e.max,direction:e.direction},null,8,["data","min","max","direction"])):S("v-if",!0),e.range?(u(),C(c,{key:3,style:V(e.getBtnStyle(e.computedValue[0])),value:e.computedValue[0],direction:e.direction,disabled:e.mergedDisabled,min:e.min,max:e.max,"format-tooltip":e.formatTooltip,"show-tooltip":e.showTooltip,onMovestart:e.handleMoveStart,onMoving:e.handleStartMoving,onMoveend:e.handleMoveEnd},null,8,["style","value","direction","disabled","min","max","format-tooltip","show-tooltip","onMovestart","onMoving","onMoveend"])):S("v-if",!0),U(c,{style:V(e.getBtnStyle(e.computedValue[1])),value:e.computedValue[1],direction:e.direction,disabled:e.mergedDisabled,min:e.min,max:e.max,"format-tooltip":e.formatTooltip,"show-tooltip":e.showTooltip,onMovestart:e.handleMoveStart,onMoving:e.handleEndMoving,onMoveend:e.handleMoveEnd},null,8,["style","value","direction","disabled","min","max","format-tooltip","show-tooltip","onMovestart","onMoving","onMoveend"])],2),e.showInput?(u(),C(m,{key:0,"model-value":e.computedValue,min:e.min,max:e.max,step:e.step,range:e.range,disabled:e.disabled,onStartChange:e.handleStartChange,onEndChange:e.handleEndChange},null,8,["model-value","min","max","step","range","disabled","onStartChange","onEndChange"])):S("v-if",!0)],2)}var H=w(ze,[["render",Ie]]);const He=Object.assign(H,{install:(e,n)=>{se(e,n);const r=ue(n);e.component(r+H.name,H)}});export{He as S};
|