"use strict";const MultiRangeSlider=function(e){let t=0,n=100,a=5,i=25,l=75,r=!0,u=!0,s=!0,d=0,m=null,o=null,c=null,p=!1,v=!1,h=null;const b=((e=e||{}).baseClassName||"multi-range-slider")+"-",_=function(){let e=this.ruler;e.innerHTML="",e.rule=[];for(let i=0,l=(n-t)/a;i1&&(a=1),e.deltaY<0&&(a=-a),e.shiftKey&&e.ctrlKey?(p=!0,L.value_min=i+a,p=!1,L.value_max=l+a,c=[L.bar.thumb_left,L.bar.thumb_right]):e.ctrlKey?(L.value_max=l+a,c=L.bar.thumb_right):e.shiftKey&&(L.value_min=i+a,c=L.bar.thumb_left),N("input"),h?window.clearTimeout(h):N("slidestart",{slider:c}),h=window.setTimeout(function(){N("slideend",{slider:c}),h=null},500),N("slide",{slider:c})},x=function(e){if(e.preventDefault(),this.previousElementSibling.focus(),m=e.clientX,"touchstart"===e.type){if(1!==e.touches.length)return;m=e.touches[0].clientX}d=0,document.addEventListener("mousemove",E),document.addEventListener("mouseup",y),document.addEventListener("touchmove",E),document.addEventListener("touchend",y),o=(c=this)===L.bar.thumb_left?i:l},E=function(e){if(1===++d)N("slidestart",{slider:c});else{let i=e.clientX;"touchmove"===e.type&&(i=e.touches[0].clientX);let l=(i-m)/L.bar.getBoundingClientRect().width,r=o+(n-t)*l,u=""+a;if(u.indexOf(".")>=0){let e=u.substring(u.indexOf(".")+1).length;r=parseFloat(r.toFixed(e))}else r=parseInt(r);c===L.bar.thumb_left?L.value_min=r:L.value_max=r,N("input"),N("slide",{slider:c})}},y=function(e){document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",y),document.removeEventListener("touchmove",E),document.removeEventListener("touchend",y),d>0&&N("slideend",{slider:c})},N=function(e,r,u){"function"==typeof L["on"+e]&&(L.removeEventListener(e,L["on"+e]),L.addEventListener(e,L["on"+e]));let s=new(u=u||Event)(e,r);s.min=t,s.max=n,s.step=a,s.value_min=i,s.value_max=l,s.minValue=i,s.maxValue=l,s.value1=i,s.value2=l,r&&r.slider&&(s.slider=r.slider),L.dispatchEvent(s)};r=void 0===e.showRuler||e.showRuler,u=void 0===e.showValue||e.showValue,s=void 0===e.showLabel||e.showLabel,v=e.preventWheel||!1,t=e.min||0,t=parseFloat(t),isNaN(t)&&(t=0),n=void 0===e.max?100:e.max,n=parseFloat(n),isNaN(n)&&(n=100),a=e.step||parseFloat(((n-t)/20).toFixed(1)),a=parseFloat(a),isNaN(a)&&(a=parseFloat(((n-t)/20).toFixed(1))),i=void 0===e.value_min?.25*(n-t):e.value_min,l=void 0===e.value_max?.75*(n-t):e.value_max;const L=function(){const e=document.createElement("div");e.className=b.substring(0,b.length-1),e.addEventListener("wheel",f);let r=document.createElement("div");r.className=b+"bar",e.appendChild(r),e.bar=r,r.addEventListener("click",g),r.addEventListener("touchstart",g);let u=document.createElement("div");u.className=b+"bar-left",r.appendChild(u),r.bar_left=u;let s=document.createElement("input");s.className="input-type-range input-type-range-min",s.type="range",s.min=t,s.max=n,s.value=i,s.step=a,r.appendChild(s),r.input_range_min=s,s.addEventListener("input",function(t){t.stopPropagation(),e.value_min=this.value,N("input")}),s.addEventListener("change",function(e){e.stopPropagation()});let d=document.createElement("div");d.className=b+"thumb "+b+"thumb-left",r.appendChild(d),r.thumb_left=d,d.addEventListener("mousedown",x),d.addEventListener("touchstart",x);let m=document.createElement("div");m.className=b+"min-value",m.innerHTML=i,d.appendChild(m),r.thumb_min_value=m;let o=document.createElement("div");o.className=b+"bar-inner",r.appendChild(o),r.bar_inner=o;let c=document.createElement("div");c.className=b+"bar-inner-left",o.appendChild(c),r.bar_inner_left=c;let p=document.createElement("div");p.className=b+"bar-inner-right",o.appendChild(p),r.bar_inner_right=p;let v=document.createElement("input");v.className="input-type-range input-type-range-max",v.type="range",v.min=t,v.max=n,v.value=l,v.step=a,r.appendChild(v),r.input_range_max=v,v.addEventListener("input",function(t){t.stopPropagation(),e.value_max=this.value,N("input")}),v.addEventListener("change",function(e){e.stopPropagation()});let h=document.createElement("div");h.className=b+"thumb "+b+"thumb-right",r.appendChild(h),r.thumb_right=h,h.addEventListener("mousedown",x),h.addEventListener("touchstart",x);let E=document.createElement("div");E.className=b+"max-value",E.innerHTML=l,h.appendChild(E),r.thumb_max_value=E;let y=document.createElement("div");y.className=b+"bar-right",r.appendChild(y),r.bar_right=y;let L=document.createElement("div");L.className=b+"ruler",e.appendChild(L),e.ruler=L;let w=document.createElement("div");w.className=b+"label",e.appendChild(w),e.label=w;let C=document.createElement("div");C.className=b+"label-min",w.appendChild(C),w.min=C;let P=document.createElement("div");return P.className=b+"label-max",w.appendChild(P),w.max=P,_.call(e),e}();return e.container&&e.container.appendChild(L),e.id&&(L.id=e.id),Object.defineProperty(L,"min",{get:()=>t,set(e){e=parseFloat(e),isNaN(e)||e>=n||(t=e,L.label.min.innerHTML=t,L.bar.input_range_min.min=t,L.bar.input_range_max.min=t,_.call(L),L.value_min=i,L.value_max=l)}}),Object.defineProperty(L,"max",{get:()=>n,set(e){e=parseFloat(e),isNaN(e)||e<=t||(n=e,L.label.max.innerHTML=n,L.bar.input_range_min.max=n,L.bar.input_range_max.max=n,_.call(L),L.value_min=i,L.value_max=l)}}),Object.defineProperty(L,"step",{get:()=>a,set(e){a=e,L.bar.input_range_min.step=a,L.bar.input_range_max.step=a,_.call(L)}}),Object.defineProperty(L,"value_min",{get:()=>i,set(e){e=parseFloat(e),isNaN(e)&&(e=.25*(n-t)),el?(i=l-a)l,set(e){e=parseFloat(e),isNaN(e)&&(e=.75*(n-t)),e>n?l=n:e-an&&(l=n):l=e,l=parseFloat(l.toFixed(2)),L.bar.input_range_max.value=l;let r=100-(l-t)/(n-t)*100;L.bar.bar_right.style.width=r+"%",L.bar.thumb_max_value.innerHTML=l,!p&&N("change")}}),Object.defineProperty(L,"showRuler",{get:()=>r,set(e){r=e,L.ruler.style.display=r?"":"none"}}),Object.defineProperty(L,"showValue",{get:()=>u,set(e){u=e,L.bar.thumb_min_value.style.display=u?"":"none",L.bar.thumb_max_value.style.display=u?"":"none"}}),Object.defineProperty(L,"showLabel",{get:()=>s,set(e){s=e,L.label.style.display=s?"":"none"}}),Object.defineProperty(L,"preventWheel",{get:()=>v,set(e){v=e}}),Object.defineProperty(L,"value1",{get:()=>i,set(e){L.value_min=e}}),Object.defineProperty(L,"value2",{get:()=>l,set(e){L.value_max=e}}),Object.defineProperty(L,"minValue",{get:()=>i,set(e){L.value_min=e}}),Object.defineProperty(L,"maxValue",{get:()=>l,set(e){L.value_max=e}}),L.min=t,L.max=n,L.step=a,L.value_min=i,L.value_max=l,L.showRuler=r,L.showValue=u,L.showLabel=s,L.oninit=e.oninit,L.onbarclick=e.onbarclick,L.oninput=e.oninput,L.onchange=e.onchange,L.onslidestart=e.onslidestart,L.onslide=e.onslide,L.onslideend=e.onslideend,N("init"),L};export default MultiRangeSlider;