import{u as _e,a as Re,c as Fe}from"./chunk-GYMadCV3.js";import{T as Ie,b as L}from"./chunk-DIiNYqqq.js";import{a as Ne,u as ze}from"./chunk-8e5kB75k.js";import{R as Ae,S as j,U as Ve,B as Pe,C as De}from"./app-CPb3bToC.js";import{c as Ee}from"./chunk-CusLMHK2.js";import{m as te,g as y,a,x as je,l as c,w as Ke}from"./chunk-DhYw-kuD.js";const ee="q-slider__marker-labels",Oe=r=>({value:r}),Qe=({marker:r})=>c("div",{key:r.value,style:r.style,class:r.classes},r.label),ae=[34,37,40,33,39,38],Ue={...ze,..._e,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:r=>r>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:"20px"},trackSize:{type:String,default:"4px"},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:"M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"}},We=["pan","update:modelValue","change"];function Xe({updateValue:r,updatePosition:k,getDragging:q,formAttrs:o}){const{props:e,emit:w,slots:S,proxy:{$q:v}}=te(),B=Ne(e,v),I=Re(o),m=y(!1),$=y(!1),b=y(!1),M=y(!1),d=a(()=>e.vertical===!0?"--v":"--h"),N=a(()=>"-"+(e.switchLabelSide===!0?"switched":"standard")),p=a(()=>e.vertical===!0?e.reverse===!0:e.reverse!==(v.lang.rtl===!0)),f=a(()=>isNaN(e.innerMin)===!0||e.innerMinisNaN(e.innerMax)===!0||e.innerMax>e.max?e.max:e.innerMax),u=a(()=>e.disable!==!0&&e.readonly!==!0&&f.value{if(e.step===0)return l=>l;const t=(String(e.step).trim().split(".")[1]||"").length;return l=>parseFloat(l.toFixed(t))}),x=a(()=>e.step===0?1:e.step),le=a(()=>u.value===!0?e.tabindex||0:-1),T=a(()=>e.max-e.min),K=a(()=>C.value-f.value),_=a(()=>A(f.value)),z=a(()=>A(C.value)),R=a(()=>e.vertical===!0?p.value===!0?"bottom":"top":p.value===!0?"right":"left"),O=a(()=>e.vertical===!0?"height":"width"),re=a(()=>e.vertical===!0?"width":"height"),Q=a(()=>e.vertical===!0?"vertical":"horizontal"),ne=a(()=>{const t={role:"slider","aria-valuemin":f.value,"aria-valuemax":C.value,"aria-orientation":Q.value,"data-step":e.step};return e.disable===!0?t["aria-disabled"]="true":e.readonly===!0&&(t["aria-readonly"]="true"),t}),oe=a(()=>`q-slider q-slider${d.value} q-slider--${m.value===!0?"":"in"}active inline no-wrap `+(e.vertical===!0?"row":"column")+(e.disable===!0?" disabled":" q-slider--enabled"+(u.value===!0?" q-slider--editable":""))+(b.value==="both"?" q-slider--focus":"")+(e.label||e.labelAlways===!0?" q-slider--label":"")+(e.labelAlways===!0?" q-slider--label-always":"")+(B.value===!0?" q-slider--dark":"")+(e.dense===!0?" q-slider--dense q-slider--dense"+d.value:""));function F(t){const l="q-slider__"+t;return`${l} ${l}${d.value} ${l}${d.value}${N.value}`}function U(t){const l="q-slider__"+t;return`${l} ${l}${d.value}`}const se=a(()=>{const t=e.selectionColor||e.color;return"q-slider__selection absolute"+(t!==void 0?` text-${t}`:"")}),ue=a(()=>U("markers")+" absolute overflow-hidden"),ie=a(()=>U("track-container")),ce=a(()=>F("pin")),ve=a(()=>F("label")),de=a(()=>F("text-container")),me=a(()=>F("marker-labels-container")+(e.markerLabelsClass!==void 0?` ${e.markerLabelsClass}`:"")),be=a(()=>"q-slider__track relative-position no-outline"+(e.trackColor!==void 0?` bg-${e.trackColor}`:"")),fe=a(()=>{const t={[re.value]:e.trackSize};return e.trackImg!==void 0&&(t.backgroundImage=`url(${e.trackImg}) !important`),t}),ke=a(()=>"q-slider__inner absolute"+(e.innerTrackColor!==void 0?` bg-${e.innerTrackColor}`:"")),W=a(()=>{const t=z.value-_.value,l={[R.value]:`${100*_.value}%`,[O.value]:t===0?"2px":`${100*t}%`};return e.innerTrackImg!==void 0&&(l.backgroundImage=`url(${e.innerTrackImg}) !important`),l});function pe(t){const{min:l,max:n,step:s}=e;let i=l+t*(n-l);if(s>0){const h=(i-f.value)%s;i+=(Math.abs(h)>=s/2?(h<0?-1:1)*s:0)-h}return i=g.value(i),L(i,f.value,C.value)}function A(t){return T.value===0?0:(t-e.min)/T.value}function Ce(t,l){const n=Ve(t),s=e.vertical===!0?L((n.top-l.top)/l.height,0,1):L((n.left-l.left)/l.width,0,1);return L(p.value===!0?1-s:s,_.value,z.value)}const X=a(()=>Ae(e.markers)===!0?e.markers:x.value),G=a(()=>{const t=[],l=X.value,n=e.max;let s=e.min;do t.push(s),s+=l;while(s{const t=` ${ee}${d.value}-`;return ee+`${t}${e.switchMarkerLabelsSide===!0?"switched":"standard"}${t}${p.value===!0?"rtl":"ltr"}`}),V=a(()=>e.markerLabels===!1?null:he(e.markerLabels).map((t,l)=>({index:l,value:t.value,label:t.label||t.value,classes:H.value+(t.classes!==void 0?" "+t.classes:""),style:{...Y(t.value),...t.style||{}}}))),J=a(()=>({markerList:V.value,markerMap:xe.value,classes:H.value,getStyle:Y})),ge=a(()=>{const t=K.value===0?"2px":100*X.value/K.value;return{...W.value,backgroundSize:e.vertical===!0?`2px ${t}%`:`${t}% 2px`}});function he(t){if(t===!1)return null;if(t===!0)return G.value.map(Oe);if(typeof t=="function")return G.value.map(n=>{const s=t(n);return j(s)===!0?{...s,value:n}:{value:n,label:s}});const l=({value:n})=>n>=e.min&&n<=e.max;return Array.isArray(t)===!0?t.map(n=>j(n)===!0?n:{value:n}).filter(l):Object.keys(t).map(n=>{const s=t[n],i=Number(n);return j(s)===!0?{...s,value:i}:{value:i,label:s}}).filter(l)}function Y(t){return{[R.value]:`${100*(t-e.min)/T.value}%`}}const xe=a(()=>{if(e.markerLabels===!1)return null;const t={};return V.value.forEach(l=>{t[l.value]=l}),t});function ye(){if(S["marker-label-group"]!==void 0)return S["marker-label-group"](J.value);const t=S["marker-label"]||Qe;return V.value.map(l=>t({marker:l,...J.value}))}const Se=a(()=>[[Ie,$e,void 0,{[Q.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function $e(t){t.isFinal===!0?(M.value!==void 0&&(k(t.evt),t.touch===!0&&r(!0),M.value=void 0,w("pan","end")),m.value=!1,b.value=!1):t.isFirst===!0?(M.value=q(t.evt),k(t.evt),r(),m.value=!0,w("pan","start")):(k(t.evt),r())}function Z(){b.value=!1}function Me(t){k(t,q(t)),r(),$.value=!0,m.value=!0,document.addEventListener("mouseup",P,!0)}function P(){$.value=!1,m.value=!1,r(!0),Z(),document.removeEventListener("mouseup",P,!0)}function Le(t){k(t,q(t)),r(!0)}function qe(t){ae.includes(t.keyCode)&&r(!0)}function we(t){if(e.vertical===!0)return null;const l=v.lang.rtl!==e.reverse?1-t:t;return{transform:`translateX(calc(${2*l-1} * ${e.thumbSize} / 2 + ${50-100*l}%))`}}function Be(t){const l=a(()=>$.value===!1&&(b.value===t.focusValue||b.value==="both")?" q-slider--focus":""),n=a(()=>`q-slider__thumb q-slider__thumb${d.value} q-slider__thumb${d.value}-${p.value===!0?"rtl":"ltr"} absolute non-selectable`+l.value+(t.thumbColor.value!==void 0?` text-${t.thumbColor.value}`:"")),s=a(()=>({width:e.thumbSize,height:e.thumbSize,[R.value]:`${100*t.ratio.value}%`,zIndex:b.value===t.focusValue?2:void 0})),i=a(()=>t.labelColor.value!==void 0?` text-${t.labelColor.value}`:""),h=a(()=>we(t.ratio.value)),D=a(()=>"q-slider__text"+(t.labelTextColor.value!==void 0?` text-${t.labelTextColor.value}`:""));return()=>{const E=[c("svg",{class:"q-slider__thumb-shape absolute-full",viewBox:"0 0 20 20","aria-hidden":"true"},[c("path",{d:e.thumbPath})]),c("div",{class:"q-slider__focus-ring fit"})];return(e.label===!0||e.labelAlways===!0)&&(E.push(c("div",{class:ce.value+" absolute fit no-pointer-events"+i.value},[c("div",{class:ve.value,style:{minWidth:e.thumbSize}},[c("div",{class:de.value,style:h.value},[c("span",{class:D.value},t.label.value)])])])),e.name!==void 0&&e.disable!==!0&&I(E,"push")),c("div",{class:n.value,style:s.value,...t.getNodeData()},E)}}function Te(t,l,n,s){const i=[];e.innerTrackColor!=="transparent"&&i.push(c("div",{key:"inner",class:ke.value,style:W.value})),e.selectionColor!=="transparent"&&i.push(c("div",{key:"selection",class:se.value,style:t.value})),e.markers!==!1&&i.push(c("div",{key:"marker",class:ue.value,style:ge.value})),s(i);const h=[Ee("div",{key:"trackC",class:ie.value,tabindex:l.value,...n.value},[c("div",{class:be.value,style:fe.value},i)],"slide",u.value,()=>Se.value)];if(e.markerLabels!==!1){const D=e.switchMarkerLabelsSide===!0?"unshift":"push";h[D](c("div",{key:"markerL",class:me.value},ye()))}return h}return je(()=>{document.removeEventListener("mouseup",P,!0)}),{state:{active:m,focus:b,preventFocus:$,dragging:M,editable:u,classes:oe,tabindex:le,attributes:ne,roundValueFn:g,keyStep:x,trackLen:T,innerMin:f,innerMinRatio:_,innerMax:C,innerMaxRatio:z,positionProp:R,sizeProp:O,isReversed:p},methods:{onActivate:Me,onMobileClick:Le,onBlur:Z,onKeyup:qe,getContent:Te,getThumbRenderFn:Be,convertRatioToModel:pe,convertModelToRatio:A,getDraggingRatio:Ce}}}const Ge=()=>({}),at=Pe({name:"QSlider",props:{...Ue,modelValue:{required:!0,default:null,validator:r=>typeof r=="number"||r===null},labelValue:[String,Number]},emits:We,setup(r,{emit:k}){const{proxy:{$q:q}}=te(),{state:o,methods:e}=Xe({updateValue:d,updatePosition:p,getDragging:N,formAttrs:Fe(r)}),w=y(null),S=y(0),v=y(0);function B(){v.value=r.modelValue===null?o.innerMin.value:L(r.modelValue,o.innerMin.value,o.innerMax.value)}Ke(()=>`${r.modelValue}|${o.innerMin.value}|${o.innerMax.value}`,B),B();const I=a(()=>e.convertModelToRatio(v.value)),m=a(()=>o.active.value===!0?S.value:I.value),$=a(()=>{const u={[o.positionProp.value]:`${100*o.innerMinRatio.value}%`,[o.sizeProp.value]:`${100*(m.value-o.innerMinRatio.value)}%`};return r.selectionImg!==void 0&&(u.backgroundImage=`url(${r.selectionImg}) !important`),u}),b=e.getThumbRenderFn({focusValue:!0,getNodeData:Ge,ratio:m,label:a(()=>r.labelValue!==void 0?r.labelValue:v.value),thumbColor:a(()=>r.thumbColor||r.color),labelColor:a(()=>r.labelColor),labelTextColor:a(()=>r.labelTextColor)}),M=a(()=>o.editable.value!==!0?{}:q.platform.is.mobile===!0?{onClick:e.onMobileClick}:{onMousedown:e.onActivate,onFocus:f,onBlur:e.onBlur,onKeydown:C,onKeyup:e.onKeyup});function d(u){v.value!==r.modelValue&&k("update:modelValue",v.value),u===!0&&k("change",v.value)}function N(){return w.value.getBoundingClientRect()}function p(u,g=o.dragging.value){const x=e.getDraggingRatio(u,g);v.value=e.convertRatioToModel(x),S.value=r.snap!==!0||r.step===0?x:e.convertModelToRatio(v.value)}function f(){o.focus.value=!0}function C(u){if(!ae.includes(u.keyCode))return;De(u);const g=([34,33].includes(u.keyCode)?10:1)*o.keyStep.value,x=([34,37,40].includes(u.keyCode)?-1:1)*(o.isReversed.value===!0?-1:1)*(r.vertical===!0?-1:1)*g;v.value=L(o.roundValueFn.value(v.value+x),o.innerMin.value,o.innerMax.value),d()}return()=>{const u=e.getContent($,o.tabindex,M,g=>{g.push(b())});return c("div",{ref:w,class:o.classes.value+(r.modelValue===null?" q-slider--no-value":""),...o.attributes.value,"aria-valuenow":r.modelValue},u)}}});export{at as Q};