import{d as V,Y as g,o,c as d,a as t,F as h,p as y,n as p,e as r,k as S,af as I,t as i,_ as B}from"./Co0rzPff.js";const M={class:"root-container"},k={class:"slider-component"},w={class:"slide-container"},C={class:"snap-points-wrapper"},z={class:"snap-points"},D=["min","max","step","disabled"],F={class:"slider-range"},P=["value","disabled","min","max","step"],R=V({__name:"Slider",props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:10},forceStep:{type:Boolean,default:!0},snapPoints:{default:()=>[]},snapRange:{default:100},disabled:{type:Boolean,default:!1},unit:{default:""}},emits:["update:modelValue"],setup(m,{emit:f}){const v=f,n=m,l=g(Math.max(n.min,n.modelValue)),u=e=>{let a=e||n.min;n.forceStep&&(a-=a%n.step),a=Math.max(n.min,Math.min(a,n.max)),l.value=a,v("update:modelValue",l.value)},c=e=>{let a=parseInt(e);for(const s of n.snapPoints)Math.abs(s-a){u(parseInt(e))};return(e,a)=>(o(),d("div",M,[t("div",k,[t("div",w,[t("div",C,[t("div",z,[(o(!0),d(h,null,y(e.snapPoints,s=>(o(),d("div",{key:s,class:p(["snap-point",{green:s<=l.value,"opacity-0":e.disabled}]),style:r({left:(s-e.min)/(e.max-e.min)*100+"%"})},null,6))),128))])]),S(t("input",{ref:"input","onUpdate:modelValue":a[0]||(a[0]=s=>l.value=s),type:"range",min:e.min,max:e.max,step:e.step,class:p(["slider",{disabled:e.disabled}]),disabled:e.disabled,style:r({"--current-value":l.value,"--min-value":e.min,"--max-value":e.max}),onInput:a[1]||(a[1]=s=>c(s.target.value))},null,46,D),[[I,l.value]]),t("div",F,[t("span",null,i(e.min)+" "+i(e.unit),1),t("span",null,i(e.max)+" "+i(e.unit),1)])])]),t("input",{ref:"value",value:l.value,type:"number",class:"slider-input",disabled:e.disabled,min:e.min,max:e.max,step:e.step,onChange:a[2]||(a[2]=s=>b(s.target.value))},null,40,P)]))}}),N=B(R,[["__scopeId","data-v-6a42dac9"]]);export{N as S};