1import{u as J,A as et,o as d,c as f,g as W,b as M,f as l,t as b,w as E,F as H,r as I,j as C,U,k as V,aB as at,aC as B,n as T,x as j,d as z,e as N,S as nt,l as L,az as gt,_ as lt,z as X,aD as yt,J as ut,K as dt,W as ot,p as K,a2 as vt,D as bt,C as ct,h as xt,G as _t,E as kt}from"#entry";import{a as $t,u as St}from"./CmTdwCTb.js";import{d as wt,e as Pt,f as Rt,a as Dt}from"./CTxaBQto.js";import{g as Ct,h as Mt,i as Vt,j as ht,k as Ot,t as At,l as Et}from"./Xtz6qfzo.js";import{s as rt,u as Ht,e as Bt}from"./CV4PPFfi.js";import{u as Lt}from"./D1ZJs1YE.js";const zt={class:"mb-8"},jt={class:"text-base font-bold text-gray-900 mb-3"},Ft={class:"flex flex-col justify-between pt-0 pb-4"},It={class:"ais-HierarchicalMenu-list category-menu__list ais-HierarchicalMenu-list--lvl0 category-menu__list-item space-y-0.5"},Tt=["onClick"],Nt={class:"flex items-center justify-between gap-2"},qt={class:"ais-HierarchicalMenu-count category-menu__count text-xs text-gray-400"},Ut={key:0,class:"ais-HierarchicalMenu-list category-menu__list ais-HierarchicalMenu-list--child category-menu__child ais-HierarchicalMenu-list--lvl1 category-menu__list-sub-item mt-1 ml-2 space-y-0.5 border-l border-gray-200 pl-3"},Kt=["onClick"],Wt={class:"flex items-center justify-between gap-2"},Gt={class:"ais-HierarchicalMenu-count category-menu__count text-xs text-gray-400"},Yt={key:0,class:"ais-HierarchicalMenu-list category-menu__list ais-HierarchicalMenu-list--child category-menu__child ais-HierarchicalMenu-list--lvl2 category-menu__list-sub-sub-item mt-1 ml-2 space-y-0.5 border-l border-gray-200 pl-3"},Qt=["onClick"],Xt={class:"flex items-center justify-between gap-2"},Jt={class:"ais-HierarchicalMenu-count category-menu__count text-xs text-gray-400"},Ss=Object.assign({inheritAttrs:!1},{__name:"CategorySidebar",props:{attributes:{type:Array,required:!0},sortBy:{type:Array,default:""}},emits:["closeMenu"],setup(s,{emit:t}){const{locale:e}=J(),{categoryLabels:i}=$t(),a=v=>wt(i.value,v,e.value),o=t,r=()=>{o("closeMenu")},{productCategories:g}=et(),n=g.map(v=>v.name),y=v=>v.filter(m=>m.label!=="Website Product Slider").sort((m,w)=>{const c=n.indexOf(m.label),p=n.indexOf(w.label);return c===-1?1:p===-1?-1:c-p}),k=(v,x)=>{v.isRefined||(x(v.value),window.scrollTo(0,0),r())};return(v,x)=>(d(),f(H,null,[W(M(Ct),{class:"hidden"}),l("div",zt,[l("h2",jt,b(v.$t("nav.categories")),1),l("div",Ft,[W(M(Vt),null,{default:E(()=>[W(M(Mt),{limit:50,"sort-by":["name:asc","name:asc","name:asc"],attributes:["categories.lvl0","categories.lvl1","categories.lvl2"],"transform-items":y,"class-names":{"ais-HierarchicalMenu":"category-menu","ais-HierarchicalMenu-list":"category-menu__list","ais-HierarchicalMenu-list--child":"category-menu__child","ais-HierarchicalMenu-list--lvl0":"category-menu__list-item","ais-HierarchicalMenu-list--lvl1":"category-menu__list-sub-item","ais-HierarchicalMenu-list--lvl2":"category-menu__list-sub-sub-item","ais-HierarchicalMenu-item":"category-menu__list-item","ais-HierarchicalMenu-link":"category-menu__list-link","ais-HierarchicalMenu-label":"category-menu__label","ais-HierarchicalMenu-count":"category-menu__count","ais-HierarchicalMenu-item--parent":"category-menu__parent","ais-HierarchicalMenu-item--selected":"category-menu__selected","ais-HierarchicalMenu-item--mobile":v.$device.isMobile?!0:""}},{default:E(({items:m,refine:w})=>[l("ul",It,[(d(!0),f(H,null,I(m,c=>(d(),f("li",{key:c.value,class:C([["ais-HierarchicalMenu-item","category-menu__list-item",{"ais-HierarchicalMenu-item--selected":c.isRefined}],"group cursor-pointer rounded-md px-2 py-1.5 transition-colors hover:bg-gray-50 z-50"]),onClick:p=>!c.isRefined&&w(c.value)},[l("div",Nt,[l("span",{class:C(["category-menu__label text-sm",c.isRefined?"font-bold text-secondary":"text-gray-700 group-hover:text-gray-900"])},b(a(c.label)),3),l("span",qt,b(c.count),1)]),c.data&&c.data.length>0?(d(),f("ul",Ut,[(d(!0),f(H,null,I(c.data,p=>(d(),f("li",{key:p.value,class:C([["ais-HierarchicalMenu-item","category-menu__list-item",{"ais-HierarchicalMenu-item--selected":p.isRefined}],"group cursor-pointer rounded-md px-2 py-1 transition-colors hover:bg-gray-50"]),onClick:U($=>k(p,w,!0),["stop"])},[l("div",Wt,[l("span",{class:C(["ais-HierarchicalMenu-label category-menu__label text-sm",p.isRefined?"font-semibold text-secondary":"text-gray-600 group-hover:text-gray-900"])},b(a(p.label)),3),l("span",Gt,b(p.count),1)])],10,Kt))),128)),v.subItem.data&&v.subItem.data.length>0?(d(),f("ul",Yt,[(d(!0),f(H,null,I(v.subItem.data,p=>(d(),f("li",{key:p.value,class:C([["ais-HierarchicalMenu-item","category-menu__list-item",{"ais-HierarchicalMenu-item--selected":p.isRefined}],"group cursor-pointer rounded-md px-2 py-1 transition-colors hover:bg-gray-50"]),onClick:U($=>k(p,w,!0),["stop"])},[l("div",Xt,[l("span",{class:C(["ais-HierarchicalMenu-label category-menu__label text-sm",p.isRefined?"font-semibold text-secondary":"text-gray-600 group-hover:text-gray-900"])},b(a(p.label)),3),l("span",Jt,b(p.count),1)])],10,Qt))),128))])):V("",!0)])):V("",!0)],10,Tt))),128))])]),_:1},8,["class-names"])]),_:1})])])],64))}});(function(){try{if(typeof document<"u"){var s=document.createElement("style");s.appendChild(document.createTextNode('.vue-slider-dot{position:absolute;transition:all 0s;z-index:5}.vue-slider-dot:focus{outline:none}.vue-slider-dot-tooltip{position:absolute;visibility:hidden}.vue-slider-dot-hover:hover .vue-slider-dot-tooltip,.vue-slider-dot-tooltip-show{visibility:visible}.vue-slider-dot-tooltip-top{top:-10px;left:50%;transform:translate(-50%,-100%)}.vue-slider-dot-tooltip-bottom{bottom:-10px;left:50%;transform:translate(-50%,100%)}.vue-slider-dot-tooltip-left{left:-10px;top:50%;transform:translate(-100%,-50%)}.vue-slider-dot-tooltip-right{right:-10px;top:50%;transform:translate(100%,-50%)}.vue-slider-marks{position:relative;width:100%;height:100%}.vue-slider-mark{position:absolute;z-index:1}.vue-slider-ltr .vue-slider-mark,.vue-slider-rtl .vue-slider-mark{width:0;height:100%;top:50%}.vue-slider-ltr .vue-slider-mark-step,.vue-slider-rtl .vue-slider-mark-step{top:0}.vue-slider-ltr .vue-slider-mark-label,.vue-slider-rtl .vue-slider-mark-label{top:100%;margin-top:10px}.vue-slider-ltr .vue-slider-mark{transform:translate(-50%,-50%)}.vue-slider-ltr .vue-slider-mark-step{left:0}.vue-slider-ltr .vue-slider-mark-label{left:50%;transform:translate(-50%)}.vue-slider-rtl .vue-slider-mark{transform:translate(50%,-50%)}.vue-slider-rtl .vue-slider-mark-step{right:0}.vue-slider-rtl .vue-slider-mark-label{right:50%;transform:translate(50%)}.vue-slider-ttb .vue-slider-mark,.vue-slider-btt .vue-slider-mark{width:100%;height:0;left:50%}.vue-slider-ttb .vue-slider-mark-step,.vue-slider-btt .vue-slider-mark-step{left:0}.vue-slider-ttb .vue-slider-mark-label,.vue-slider-btt .vue-slider-mark-label{left:100%;margin-left:10px}.vue-slider-btt .vue-slider-mark{transform:translate(-50%,50%)}.vue-slider-btt .vue-slider-mark-step{top:0}.vue-slider-btt .vue-slider-mark-label{top:50%;transform:translateY(-50%)}.vue-slider-ttb .vue-slider-mark{transform:translate(-50%,-50%)}.vue-slider-ttb .vue-slider-mark-step{bottom:0}.vue-slider-ttb .vue-slider-mark-label{bottom:50%;transform:translateY(50%)}.vue-slider-mark-step,.vue-slider-mark-label{position:absolute}.vue-slider-disabled{opacity:.5;cursor:not-allowed}.vue-slider-rail{background-color:#ccc;border-radius:15px}.vue-slider-process{background-color:#3498db;border-radius:15px}.vue-slider-mark{z-index:4}.vue-slider-mark:first-child .vue-slider-mark-step,.vue-slider-mark:last-child .vue-slider-mark-step{display:none}.vue-slider-mark-step{width:100%;height:100%;border-radius:50%;background-color:#00000029}.vue-slider-mark-label{font-size:14px;white-space:nowrap}.vue-slider-dot-handle{cursor:pointer;width:100%;height:100%;border-radius:50%;background-color:#fff;box-sizing:border-box;box-shadow:.5px .5px 2px 1px #00000052}.vue-slider-dot-handle-focus{box-shadow:0 0 1px 2px #3498db5c}.vue-slider-dot-handle-disabled{cursor:not-allowed;background-color:#ccc}.vue-slider-dot-tooltip-inner{font-size:14px;white-space:nowrap;padding:2px 5px;min-width:20px;text-align:center;color:#fff;border-radius:5px;border-color:#3498db;background-color:#3498db;box-sizing:content-box}.vue-slider-dot-tooltip-inner:after{content:"";position:absolute}.vue-slider-dot-tooltip-inner-top:after{top:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-top-color:inherit}.vue-slider-dot-tooltip-inner-bottom:after{bottom:100%;left:50%;transform:translate(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-bottom-color:inherit}.vue-slider-dot-tooltip-inner-left:after{left:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-left-color:inherit}.vue-slider-dot-tooltip-inner-right:after{right:100%;top:50%;transform:translateY(-50%);height:0;width:0;border-color:transparent;border-style:solid;border-width:5px;border-right-color:inherit}.vue-slider-dot-tooltip-wrapper{opacity:0;transition:all .3s}.vue-slider-dot-tooltip-wrapper-show{opacity:1}.vue-slider{position:relative;box-sizing:content-box;-webkit-user-select:none;user-select:none;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.vue-slider-rail{position:relative;width:100%;height:100%;transition-property:width,height,left,right,top,bottom}.vue-slider-process{position:absolute;z-index:1}')),document.head.appendChild(s)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();var Zt=Object.defineProperty,te=(s,t,e)=>t in s?Zt(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>(te(s,typeof t!="symbol"?t+"":t,e),e);const st=(s,t)=>{const e=s.__vccOpts||s;for(const[i,a]of t)e[i]=a;return e},ee={emits:["drag-start"],props:{value:{type:[Number,String],default:0},tooltip:{type:String,required:!0},dotStyle:{type:Array,default:()=>({})},tooltipStyle:{type:Array,default:()=>({})},tooltipPlacement:{type:String,required:!0},tooltipFormatter:{type:[String,Array,Object,Function],default:void 0},focus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{dotClasses(){return["vue-slider-dot",{"vue-slider-dot-hover":this.tooltip==="hover"||this.tooltip==="active","vue-slider-dot-disabled":this.disabled,"vue-slider-dot-focus":this.focus}]},handleClasses(){return["vue-slider-dot-handle",{"vue-slider-dot-handle-disabled":this.disabled,"vue-slider-dot-handle-focus":this.focus}]},tooltipClasses(){return["vue-slider-dot-tooltip",[`vue-slider-dot-tooltip-${this.tooltipPlacement}`],{"vue-slider-dot-tooltip-show":this.showTooltip}]},tooltipInnerClasses(){return["vue-slider-dot-tooltip-inner",[`vue-slider-dot-tooltip-inner-${this.tooltipPlacement}`],{"vue-slider-dot-tooltip-inner-disabled":this.disabled,"vue-slider-dot-tooltip-inner-focus":this.focus}]},showTooltip(){switch(this.tooltip){case"always":return!0;case"none":return!1;case"focus":case"active":return!!this.focus;default:return!1}},tooltipValue(){return this.tooltipFormatter?typeof this.tooltipFormatter=="string"?this.tooltipFormatter.replace(/\{value\}/,String(this.value)):this.tooltipFormatter(this.value):this.value}},methods:{dragStart(s){if(this.disabled)return!1;this.$emit("drag-start")}}},se=["aria-valuetext"],ie={class:"vue-slider-dot-tooltip-text"};function ae(s,t,e,i,a,o){return d(),f("div",{ref:"dot",class:C(o.dotClasses),"aria-valuetext":o.tooltipValue,onMousedown:t[0]||(t[0]=(...r)=>o.dragStart&&o.dragStart(...r)),onTouchstartPassive:t[1]||(t[1]=(...r)=>o.dragStart&&o.dragStart(...r))},[B(s.$slots,"dot",{},()=>[l("div",{class:C(o.handleClasses),style:T(e.dotStyle)},null,6)]),e.tooltip!=="none"?(d(),f("div",{key:0,class:C(o.tooltipClasses)},[B(s.$slots,"tooltip",{},()=>[l("div",{class:C(o.tooltipInnerClasses),style:T(e.tooltipStyle)},[l("span",ie,b(o.tooltipValue),1)],6)])],2)):V("",!0)],42,se)}const mt=st(ee,[["render",ae]]),oe={props:{mark:{type:Object,required:!0},hideLabel:{type:Boolean,default:!1},stepStyle:{type:Object,default:void 0},stepActiveStyle:{type:Object,default:void 0},labelStyle:{type:Object,default:void 0},labelActiveStyle:{type:Object,default:void 0}},computed:{marksClasses(){return["vue-slider-mark",{"vue-slider-mark-active":this.mark.active}]}
1,stepClasses(){return["vue-slider-mark-step",{"vue-slider-mark-step-active":this.mark.active}]},labelClasses(){return["vue-slider-mark-label",{"vue-slider-mark-label-active":this.mark.active}]}},methods:{labelClickHandle(s){s.stopPropagation(),this.$emit("pressLabel",this.mark.pos)}}};function re(s,t,e,i,a,o){return d(),f("div",{class:C(o.marksClasses)},[B(s.$slots,"step",{},()=>[l("div",{class:C(o.stepClasses),style:T([e.stepStyle,e.mark.style,e.mark.active?e.stepActiveStyle:null,e.mark.active?e.mark.activeStyle:null])},null,6)]),e.hideLabel?V("",!0):B(s.$slots,"label",{key:0},()=>[l("div",{class:C(o.labelClasses),style:T([e.labelStyle,e.mark.labelStyle,e.mark.active?e.labelActiveStyle:null,e.mark.active?e.mark.labelActiveStyle:null]),onClick:t[0]||(t[0]=(...r)=>o.labelClickHandle&&o.labelClickHandle(...r))},b(e.mark.label),7)])],2)}const pt=st(oe,[["render",re]]),G=s=>typeof s=="number"?`${s}px`:s,ne=s=>{const t=document.documentElement,e=document.body,i=s.getBoundingClientRect();return{y:i.top+(window.pageYOffset||t.scrollTop)-(t.clientTop||e.clientTop||0),x:i.left+(window.pageXOffset||t.scrollLeft)-(t.clientLeft||e.clientLeft||0)}},le=(s,t,e)=>{const i="targetTouches"in s?s.targetTouches[0]:s,a=ne(t),o={x:i.pageX-a.x,y:i.pageY-a.y};return{x:e?t.offsetWidth-o.x:o.x,y:e?t.offsetHeight-o.y:o.y}},ue=(s,t)=>{if(t.hook){const e=t.hook(s);if(typeof e=="function")return e;if(!e)return null}switch(s.keyCode){case 38:return e=>t.direction==="ttb"?e-1:e+1;case 39:return e=>t.direction==="rtl"?e-1:e+1;case 40:return e=>t.direction==="ttb"?e+1:e-1;case 37:return e=>t.direction==="rtl"?e+1:e-1;case 35:return()=>t.max;case 36:return()=>t.min;case 33:return e=>e+10;case 34:return e=>e-10;default:return null}};class F{constructor(t){D(this,"num"),this.num=t}decimal(t,e){const i=this.num,a=this.getDecimalLen(i),o=this.getDecimalLen(t);let r=0;switch(e){case"+":r=this.getExponent(a,o),this.num=(this.safeRoundUp(i,r)+this.safeRoundUp(t,r))/r;break;case"-":r=this.getExponent(a,o),this.num=(this.safeRoundUp(i,r)-this.safeRoundUp(t,r))/r;break;case"*":this.num=this.safeRoundUp(this.safeRoundUp(i,this.getExponent(a)),this.safeRoundUp(t,this.getExponent(o)))/this.getExponent(a+o);break;case"/":r=this.getExponent(a,o),this.num=this.safeRoundUp(i,r)/this.safeRoundUp(t,r);break;case"%":r=this.getExponent(a,o),this.num=this.safeRoundUp(i,r)%this.safeRoundUp(t,r)/r;break}return this}plus(t){return this.decimal(t,"+")}minus(t){return this.decimal(t,"-")}multiply(t){return this.decimal(t,"*")}divide(t){return this.decimal(t,"/")}remainder(t){return this.decimal(t,"%")}toNumber(){return this.num}getDecimalLen(t){const e=`${t}`.split("e");return(`${e[0]}`.split(".")[1]||"").length-(e[1]?+e[1]:0)}getExponent(t,e){return Math.pow(10,e!==void 0?Math.max(t,e):t)}safeRoundUp(t,e){return Math.round(t*e)}}const de={1:'The type of the "value" is illegal',2:'The prop "interval" is invalid, "(max - min)" must be divisible by "interval"',3:'The "value" must be greater than or equal to the "min".',4:'The "value" must be less than or equal to the "max".',5:'When "order" is false, the parameters "minRange", "maxRange", "fixed", "enabled" are invalid.'};class ce{constructor(t){D(this,"dotsPos",[]),D(this,"dotsValue",[]),D(this,"data"),D(this,"enableCross"),D(this,"fixed"),D(this,"max"),D(this,"min"),D(this,"interval"),D(this,"minRange"),D(this,"maxRange"),D(this,"order"),D(this,"marks"),D(this,"included"),D(this,"process"),D(this,"adsorb"),D(this,"dotOptions"),D(this,"onError"),D(this,"cacheRangeDir",{}),this.data=t.data,this.max=t.max,this.min=t.min,this.interval=t.interval,this.order=t.order,this.marks=t.marks,this.included=t.included,this.process=t.process,this.adsorb=t.adsorb,this.dotOptions=t.dotOptions,this.onError=t.onError,this.order?(this.minRange=t.minRange||0,this.maxRange=t.maxRange||0,this.enableCross=t.enableCross,this.fixed=t.fixed):((t.minRange||t.maxRange||!t.enableCross||t.fixed)&&this.emitError(5),this.minRange=0,this.maxRange=0,this.enableCross=!0,this.fixed=!1),this.setValue(t.value)}setValue(t){this.setDotsValue(Array.isArray(t)?this.order?[...t].sort((e,i)=>this.getIndexByValue(e)-this.getIndexByValue(i)):[...t]:[t],!0)}setDotsValue(t,e){this.dotsValue=t,e&&this.syncDotsPos()}setDotsPos(t){const e=this.order?[...t].sort((i,a)=>i-a):t;this.dotsPos=e,this.setDotsValue(e.map(i=>this.getValueByPos(i)),this.adsorb)}getValueByPos(t){let e=this.parsePos(t);if(this.included){let i=100;this.markList.forEach(a=>{const o=Math.abs(a.pos-t);o<i&&(i=o,e=a.value)})}return e}syncDotsPos(){this.dotsPos=this.dotsValue.map(t=>this.parseValue(t))}get markList(){if(!this.marks)return[];const t=(e,i)=>{const a=this.parseValue(e);return{pos:a,value:e,label:e,active:this.isActiveByPos(a),...i}};return this.marks===!0?this.getValues().map(e=>t(e)):Object.prototype.toString.call(this.marks)==="[object Object]"?Object.keys(this.marks).sort((e,i)=>+e-+i).map(e=>{const i=this.marks[e];
1return t(e,typeof i!="string"?i:{label:i})}):Array.isArray(this.marks)?this.marks.map(e=>t(e)):typeof this.marks=="function"?this.getValues().map(e=>({value:e,result:this.marks(e)})).filter(({result:e})=>!!e).map(({value:e,result:i})=>t(e,i)):[]}getRecentDot(t){const e=this.dotsPos.filter((i,a)=>!(this.getDotOption(a)&&this.getDotOption(a).disabled)).map(i=>Math.abs(i-t));return e.indexOf(Math.min(...e))}getIndexByValue(t){return this.data?this.data.indexOf(t):new F(+t).minus(this.min).divide(this.interval).toNumber()}getValueByIndex(t){return t<0?t=0:t>this.total&&(t=this.total),this.data?this.data[t]:new F(t).multiply(this.interval).plus(this.min).toNumber()}setDotPos(t,e){t=this.getValidPos(t,e).pos;const i=t-this.dotsPos[e];if(!i)return;let a=new Array(this.dotsPos.length);this.fixed?a=this.getFixedChangePosArr(i,e):this.minRange||this.maxRange?a=this.getLimitRangeChangePosArr(t,i,e):a[e]=i,this.setDotsPos(this.dotsPos.map((o,r)=>o+(a[r]||0)))}getFixedChangePosArr(t,e){return this.dotsPos.forEach((i,a)=>{if(a!==e){const{pos:o,inRange:r}=this.getValidPos(i+t,a);r||(t=Math.min(Math.abs(o-i),Math.abs(t))*(t<0?-1:1))}}),this.dotsPos.map(i=>t)}getLimitRangeChangePosArr(t,e,i){const a=[{index:i,changePos:e}],o=e;return[this.minRange,this.maxRange].forEach((r,g)=>{if(!r)return!1;const n=g===0,y=e>0;let k=0;n?k=y?1:-1:k=y?-1:1;const v=(c,p)=>{const $=Math.abs(c-p);return n?$<this.minRangeDir:$>this.maxRangeDir};let x=i+k,m=this.dotsPos[x],w=t;for(;this.isPos(m)&&v(m,w);){const{pos:c}=this.getValidPos(m+o,x);a.push({index:x,changePos:c-m}),x=x+k,w=c,m=this.dotsPos[x]}}),this.dotsPos.map((r,g)=>{const n=a.filter(y=>y.index===g);return n.length?n[0].changePos:0})}isPos(t){return typeof t=="number"}getValidPos(t,e){const i=this.valuePosRange[e];let a=!0;return t<i[0]?(t=i[0],a=!1):t>i[1]&&(t=i[1],a=!1),{pos:t,inRange:a}}parseValue(t){if(this.data)t=this.data.indexOf(t);else if(typeof t=="number"||typeof t=="string"){if(t=+t,t<this.min)return this.emitError(3),0;if(t>this.max)return this.emitError(4),0;if(typeof t!="number"||t!==t)return this.emitError(1),0;t=new F(t).minus(this.min).divide(this.interval).toNumber()}const e=new F(t).multiply(this.gap).toNumber();return e<0?0:e>100?100:e}parsePos(t){const e=Math.round(t/this.gap);return this.getValueByIndex(e)}isActiveByPos(t){return this.processArray.some(([e,i])=>t>=e&&t<=i)}getValues(){if(this.data)return this.data;{const t=[];for(let e=0;e<=this.total;e++)t.push(new F(e).multiply(this.interval).plus(this.min).toNumber());return t}}getRangeDir(t){return t?new F(t).divide(new F(this.data?this.data.length-1:this.max).minus(this.data?0:this.min).toNumber()).multiply(100).toNumber():100}emitError(t){this.onError&&this.onError(t,de[t])}get processArray(){if(this.process){if(typeof this.process=="function")return this.process(this.dotsPos);if(this.dotsPos.length===1)return[[0,this.dotsPos[0]]];if(this.dotsPos.length>1)return[[Math.min(...this.dotsPos),Math.max(...this.dotsPos)]]}return[]}get total(){let t=0;return this.data?t=this.data.length-1:t=new F(this.max).minus(this.min).divide(this.interval).toNumber(),t-Math.floor(t)!==0?(this.emitError(2),0):t}get gap(){return 100/this.total}get minRangeDir(){return this.cacheRangeDir[this.minRange]?this.cacheRangeDir[this.minRange]:this.cacheRangeDir[this.minRange]=this.getRangeDir(this.minRange)}get maxRangeDir(){return this.cacheRangeDir[this.maxRange]?this.cacheRangeDir[this.maxRange]:this.cacheRangeDir[this.maxRange]=this.getRangeDir(this.maxRange)}getDotOption(t){return Array.isArray(this.dotOptions)?this.dotOptions[t]:this.dotOptions}getDotRange(t,e,i){if(!this.dotOptions)return i;const a=this.getDotOption(t);return a&&a[e]!==void 0?this.parseValue(a[e]):i}get valuePosRange(){const t=this.dotsPos,e=[];return t.forEach((i,a)=>{e.push([Math.max(this.minRange?this.minRangeDir*a:0,this.enableCross?0:t[a-1]||0,this.getDotRange(a,"min",0)),Math.min(this.minRange?100-this.minRangeDir*(t.length-1-a):100,this.enableCross?100:t[a+1]||100,this.getDotRange(a,"max",100))])}),e}get dotsIndex(){return this.dotsValue.map(t=>this.getIndexByValue(t))}}class he{constructor(t){D(this,"map"),D(this,"states",0),this.map=t}add(t){this.states|=t}delete(t){this.states&=~t}toggle(t){this.has(t)?this.delete(t):this.add(t)}has(t){return!!(this.states&t)}}const tt=4,O={None:0,Drag:2,Focus:4},me={emits:["update:modelValue","change","drag-start","drag-end","dragging","error"],components:{VueSliderDot:mt,VueSliderMark:pt},props:{modelValue:{type:[Number,String,Array],default:0},silent:{type:Boolean,default:!1},direction:{type:String,default:"ltr",validator:s=>["ltr","rtl","ttb","btt"].indexOf(s)>-1},width:{type:[Number,String],default:void 0},height:{type:[Number,String],default:void 0},dotSize:{type:[Array,Number],default:14},contained:{type:Boolean,default:!1},min:{type:Number,default:0},max:{type:Number,default:100},interval:{type:Number,default:1},disabled:{type:Boolean,default:!1},clickable:{type:Boolean,default:!0},dragOnClick:{type:Boolean,default:!0},duration:{type:Number,default:.5},data:{type:[Object,Array],default:void 0},dataValue:{type:String,default:"value"},dataLabel:{type:String,default:"label"},lazy:{type:Boolean,default:!1},tooltip:{type:String,default:"active",validator:s=>["none","always","focus","hover","active"].indexOf(s)>-1},tooltipPlacement:{type:[String,Array],default:void 0,validator:s=>(Array.isArray(s)?s:[s]).every(t=>["top","right","bottom","left"].indexOf(t)>-1)},tooltipFormatter:{type:[String,Array,Function],default:""},useKeyboard:{type:Boolean,default:!0},keydownHook:{type:[Boolean,Function],default:void 0},enableCross:{type:Boolean,default:!0},fixed:{type:Boolean,default:!1},order:{type:Boolean,default:!0},minRange:{type:Number,default:void 0},maxRange:{type:Number,default:void 0},marks:{type:[Boolean,Object,Array,Function],default:!1},process:{type:[Boolean,Function],default:!0},zoom:{type:[Number],default:void 0},included:{type:[Boolean],default:!1},adsorb:{type:[Boolean],default:!1},hideLabel:{type:[Boolean],default:!1},dotOptions:{type:Object,default:void 0},dotAttrs:{type:Object,default:void 0},railStyle:{type:Object,default:null},processStyle:{type:Object,default:null},dotStyle:{type:Object,default:null},tooltipStyle:{type:Object,default:null},stepStyle:{type:Object,default:null},stepActiveStyle:{type:Object,default:null},labelStyle:{type:Object,default:null},labelActiveStyle:{type:Object,default:null}},data(){return{control:null,states:new he(O),scale:1,focusDotIndex:0}},computed:{tailSize(){return G((this.isHorizontal?this.height:this.width)||tt)},containerClasses(){return["vue-slider",[`vue-slider-${this.direction}`],{"vue-slider-disabled":this.disabled}]},containerStyles(){const[s,t]=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize],e=this.width?G(this.width):this.isHorizontal?"auto":G(tt),i=this.height?G(this.height):this.isHorizontal?G(tt):"auto";return{padding:this.contained?`${t/2}px ${s/2}px`:this.isHorizontal?`${t/2}px 0`:`0 ${s/2}px`,width:e,height:i}},processArray(){return this.control.processArray.map(([s,t,e],i)=>{s>t&&([s,t]=[t,s]);const a=this.isHorizontal?"width":"height";return{start:s,end:t,index:i,style:{[this.isHorizontal?"height":"width"]:"100%",[this.isHorizontal?"top":"left"]:0,[this.mainDirection]:`${s}%`,[a]:`${t-s}%`,transitionProperty:`${a},${this.mainDirection}`,transitionDuration:`${this.animateTime}s`,...this.processStyle,...e}}})},dotBaseStyle(){const[s,t]=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize];let e;return this.isHorizontal?e={transform:`translate(${this.isReverse?"50%":"-50%"}, -50%)`,"-WebkitTransform":`translate(${this.isReverse?"50%":"-50%"}
1, -50%)`,top:"50%",[this.direction==="ltr"?"left":"right"]:"0"}:e={transform:`translate(-50%, ${this.isReverse?"50%":"-50%"})`,"-WebkitTransform":`translate(-50%, ${this.isReverse?"50%":"-50%"})`,left:"50%",[this.direction==="btt"?"bottom":"top"]:"0"},{width:`${s}px`,height:`${t}px`,...e}},mainDirection(){switch(this.direction){case"ltr":return"left";case"rtl":return"right";case"btt":return"bottom";case"ttb":return"top"}},isHorizontal(){return this.direction==="ltr"||this.direction==="rtl"},isReverse(){return this.direction==="rtl"||this.direction==="btt"},tooltipDirections(){const s=this.tooltipPlacement||(this.isHorizontal?"top":"left");return Array.isArray(s)?s:this.dots.map(()=>s)},dots(){return this.control.dotsPos.map((s,t)=>({pos:s,index:t,value:this.control.dotsValue[t],focus:this.states.has(O.Focus)&&this.focusDotIndex===t,disabled:this.disabled,style:this.dotStyle,...(Array.isArray(this.dotOptions)?this.dotOptions[t]:this.dotOptions)||{}}))},animateTime(){return this.states.has(O.Drag)?0:this.duration},canSort(){return this.order&&!this.minRange&&!this.maxRange&&!this.fixed&&this.enableCross},sliderData(){return this.isObjectArrayData(this.data)?this.data.map(s=>s[this.dataValue]):this.isObjectData(this.data)?Object.keys(this.data):this.data},sliderMarks(){if(this.marks)return this.marks;if(this.isObjectArrayData(this.data))return s=>{const t={label:s};return this.data.some(e=>e[this.dataValue]===s?(t.label=e[this.dataLabel],!0):!1),t};if(this.isObjectData(this.data))return this.data},sliderTooltipFormatter(){if(this.tooltipFormatter)return this.tooltipFormatter;if(this.isObjectArrayData(this.data))return s=>{let t=""+s;return this.data.some(e=>e[this.dataValue]===s?(t=e[this.dataLabel],!0):!1),t};if(this.isObjectData(this.data)){const s=this.data;return t=>s[t]}},isNotSync(){const s=this.control.dotsValue;return Array.isArray(this.modelValue)?this.modelValue.length!==s.length||this.modelValue.some((t,e)=>t!==s[e]):this.modelValue!==s[0]},dragRange(){const s=this.dots[this.focusDotIndex-1],t=this.dots[this.focusDotIndex+1];return[s?s.pos:-1/0,t?t.pos:1/0]}},created(){this.initControl()},mounted(){this.bindEvent()},beforeUnmount(){this.unbindEvent()},methods:{isObjectData(s){return!!s&&Object.prototype.toString.call(s)==="[object Object]"},isObjectArrayData(s){return!!s&&Array.isArray(s)&&s.length>0&&typeof s[0]=="object"},bindEvent(){document.addEventListener("touchmove",this.dragMove,{passive:!1}),document.addEventListener("touchend",this.dragEnd,{passive:!1}),document.addEventListener("mousedown",this.blurHandle),document.addEventListener("mousemove",this.dragMove,{passive:!1}),document.addEventListener("mouseup",this.dragEnd),document.addEventListener("mouseleave",this.dragEnd),document.addEventListener("keydown",this.keydownHandle)},unbindEvent(){document.removeEventListener("touchmove",this.dragMove),document.removeEventListener("touchend",this.dragEnd),document.removeEventListener("mousedown",this.blurHandle),document.removeEventListener("mousemove",this.dragMove),document.removeEventListener("mouseup",this.dragEnd),document.removeEventListener("mouseleave",this.dragEnd),document.removeEventListener("keydown",this.keydownHandle)},setScale(){const s=new F(Math.floor(this.isHorizontal?this.$refs.rail.offsetWidth:this.$refs.rail.offsetHeight));this.zoom!==void 0&&s.multiply(this.zoom),s.divide(100),this.scale=s.toNumber()},initControl(){this.control=new ce({value:this.modelValue,data:this.sliderData,enableCross:this.enableCross,fixed:this.fixed,max:this.max,min:this.min,interval:this.interval,minRange:this.minRange,maxRange:this.maxRange,order:this.order,marks:this.sliderMarks,included:this.included,process:this.process,adsorb:this.adsorb,dotOptions:this.dotOptions,onError:this.emitError}),this.syncValueByPos(),["data","enableCross","fixed","max","min","interval","minRange","maxRange","order","marks","process","adsorb","included","dotOptions"].forEach(s=>{this.$watch(s,t=>{if(s==="data"&&Array.isArray(this.control.data)&&Array.isArray(t)&&this.control.data.length===t.length&&t.every((e,i)=>e===this.control.data[i]))return!1;switch(s){case"data":case"dataLabel":case"dataValue":this.control.data=this.sliderData;break;case"mark":this.control.marks=this.sliderMarks;break;default:this.control[s]=t}["data","max","min","interval"].indexOf(s)>-1&&this.control.syncDotsPos()})})},syncValueByPos(){const s=this.control.dotsValue;if(this.isDiff(s,Array.isArray(this.modelValue)?this.modelValue:[this.modelValue])){const t=s.length===1?s[0]:[...s];this.$emit("change",t,this.focusDotIndex),this.$emit("update:modelValue",t,this.focusDotIndex)}},isDiff(s,t){return s.length!==t.length||s.some((e,i)=>e!==t[i])},emitError(s,t){this.silent||console.error(`[VueSlider error]: ${t}`),this.$emit("error",s,t)},dragStartOnProcess(s){if(this.dragOnClick){this.setScale();const t=this.getPosByEvent(s),e=this.control.getRecentDot(t);if(this.dots[e].disabled)return;this.dragStart(e),this.control.setDotPos(t,this.focusDotIndex),this.lazy||this.syncValueByPos()}},dragStart(s){this.focusDotIndex=s,this.setScale(),this.states.add(O.Drag),this.states.add(O.Focus),this.$emit("drag-start",this.focusDotIndex)},dragMove(s){if(!this.states.has(O.Drag))return!1;s.preventDefault();const t=this.getPosByEvent(s);this.isCrossDot(t),this.control.setDotPos(t,this.focusDotIndex),this.lazy||this.syncValueByPos();const e=this.control.dotsValue;this.$emit("dragging",e.length===1?e[0]:[...e],this.focusDotIndex)},isCrossDot(s){if(this.canSort){const t=this.focusDotIndex;let e=s;if(e>this.dragRange[1]?(e=this.dragRange[1],this.focusDotIndex++):e<this.dragRange[0]&&(e=this.dragRange[0],this.focusDotIndex--),t!==this.focusDotIndex){const i=this.$refs[`dot-${this.focusDotIndex}`];i&&i.$el&&i.$el.focus(),this.control.setDotPos(e,t)}}},dragEnd(s){if(!this.states.has(O.Drag))return!1;setTimeout(()=>{this.lazy&&this.syncValueByPos(),this.included&&this.isNotSync?this.control.setValue(this.modelValue):this.control.syncDotsPos(),this.states.delete(O.Drag),(!this.useKeyboard||"targetTouches"in s)&&this.states.delete(O.Focus),this.$emit("drag-end",this.focusDotIndex)})},blurHandle(s){if(!this.states.has(O.Focus)||!this.$refs.container||this.$refs.container.contains(s.target))return!1;this.states.delete(O.Focus)},clickHandle(s){if(!this.clickable||this.disabled)return!1;if(this.states.has(O.Drag))return;this.setScale();const t=this.getPosByEvent(s);this.setValueByPos(t)},focus(s=0){this.states.add(O.Focus),this.focusDotIndex=s},blur(){this.states.delete(O.Focus)},getValue(){const s=this.control.dotsValue;return s.length===1?s[0]:s},getIndex(){const s=this.control.dotsIndex;return s.length===1?s[0]:s},setValue(s){this.control.setValue(Array.isArray(s)?[...s]:[s]),this.syncValueByPos()},setIndex(s){const t=Array.isArray(s)?s.map(e=>this.control.getValueByIndex(e)):this.control.getValueByIndex(s);this.setValue(t)},setValueByPos(s){const t=this.control.getRecentDot(s);if(this.disabled||this.dots[t].disabled)return!1;this.focusDotIndex=t,this.control.setDotPos(s,t),this.syncValueByPos(),this.useKeyboard&&this.states.add(O.Focus),setTimeout(()=>{this.included&&this.isNotSync?this.control.setValue(this.modelValue):this.control.syncDotsPos()})},keydownHandle(s){if(!this.useKeyboard||!this.states.has(O.Focus))return!1;const t=this.included&&this.marks,e=ue(s,{direction:this.direction,max:t?this.control.markList.length-1:this.control.total,min:0,hook:this.keydownHook});if(e){s.preventDefault();let i=-1,a=0;t?(this.control.markList.some((o,r)=>o.value===this.control.dotsValue[this.focusDotIndex]?(i=e(r),!0):!1),i<0?i=0:i>this.control.markList.length-1&&(i=this.control.markList.length-1),a=this.control.markList[i].pos):(i=e(this.control.getIndexByValue(this.control.dotsValue[this.focusDotIndex])),a=this.control.parseValue(this.control.getValueByIndex(i))),this.isCrossDot(a),this.control.setDotPos(a,this.focusDotIndex),this.syncValueByPos()}},getPosByEvent(s){return le(s,this.$refs.rail,this.isReverse)[this.isHorizontal?"x":"y"]/this.scale}},watch:{modelValue:{handler(){this.control&&!this.states.has(O.Drag)&&this.isNotSync&&(this.control.setValue(this.modelValue),this.syncValueByPos())},deep:!0}}},pe={key:0,class:"vue-slider-marks"};
1function fe(s,t,e,i,a,o){const r=at("VueSliderMark"),g=at("VueSliderDot");return d(),f("div",j({ref:"container",class:o.containerClasses,style:o.containerStyles,onClick:t[1]||(t[1]=(...n)=>o.clickHandle&&o.clickHandle(...n)),onTouchstartPassive:t[2]||(t[2]=(...n)=>o.dragStartOnProcess&&o.dragStartOnProcess(...n)),onMousedown:t[3]||(t[3]=(...n)=>o.dragStartOnProcess&&o.dragStartOnProcess(...n))},s.$attrs),[l("div",{ref:"rail",class:"vue-slider-rail",style:T(e.railStyle)},[(d(!0),f(H,null,I(o.processArray,(n,y)=>B(s.$slots,"process",j({ref_for:!0},{...n}),()=>[(d(),f("div",{class:"vue-slider-process",key:`process-${y}`,style:T(n.style)},null,4))])),256)),o.sliderMarks?(d(),f("div",pe,[(d(!0),f(H,null,I(a.control.markList,(n,y)=>B(s.$slots,"mark",j({ref_for:!0},{...n}),()=>[(d(),z(r,{key:`mark-${y}`,mark:n,hideLabel:e.hideLabel,style:T({[o.isHorizontal?"height":"width"]:"100%",[o.isHorizontal?"width":"height"]:o.tailSize,[o.mainDirection]:`${n.pos}%`}),stepStyle:e.stepStyle,stepActiveStyle:e.stepActiveStyle,labelStyle:e.labelStyle,labelActiveStyle:e.labelActiveStyle,onPressLabel:k=>e.clickable&&o.setValueByPos(k)},{step:E(()=>[B(s.$slots,"step",j({ref_for:!0},{...n}))]),label:E(()=>[B(s.$slots,"label",j({ref_for:!0},{...n}))]),_:2},1032,["mark","hideLabel","style","stepStyle","stepActiveStyle","labelStyle","labelActiveStyle","onPressLabel"]))])),256))])):V("",!0),(d(!0),f(H,null,I(o.dots,(n,y)=>(d(),f(H,null,[W(g,j({ref_for:!0,ref:`dot-${y}`,value:n.value,disabled:n.disabled,focus:n.focus,"dot-style":[n.style,n.disabled?n.disabledStyle:null,n.focus?n.focusStyle:null],tooltip:n.tooltip||e.tooltip,"tooltip-style":[e.tooltipStyle,n.tooltipStyle,n.disabled?n.tooltipDisabledStyle:null,n.focus?n.tooltipFocusStyle:null],"tooltip-formatter":Array.isArray(o.sliderTooltipFormatter)?o.sliderTooltipFormatter[y]:o.sliderTooltipFormatter,"tooltip-placement":o.tooltipDirections[y],style:[o.dotBaseStyle,{[o.mainDirection]:`${n.pos}%`,transition:`${o.mainDirection} ${o.animateTime}s`}],"onDrag-start":()=>o.dragStart(y),role:"slider","aria-valuenow":n.value,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-orientation":this.isHorizontal?"horizontal":"vertical",tabindex:"0",onFocus:()=>!n.disabled&&o.focus(y),onBlur:t[0]||(t[0]=()=>o.blur())},{...e.dotAttrs}),{dot:E(()=>[B(s.$slots,"dot",j({ref_for:!0},{...n}))]),tooltip:E(()=>[B(s.$slots,"tooltip",j({ref_for:!0},{...n}))]),_:2},1040,["value","disabled","focus","dot-style","tooltip","tooltip-style","tooltip-formatter","tooltip-placement","style","onDrag-start","aria-valuenow","aria-valuemin","aria-valuemax","aria-orientation","onFocus"]),B(s.$slots,"default",j({ref_for:!0},{value:o.getValue()}))],64))),256))],4)],16)}const it=st(me,[["render",fe]]);it.VueSliderMark=pt;it.VueSliderDot=mt;const ge=N({__name:"RangeSlider",props:{modelValue:{},min:{},max:{}},emits:["update:model-value"],setup(s){const t=s,e=nt(),i=L(()=>{const[a,o]=t.modelValue,r=Math.max(t.min,Math.min(a,t.max)),g=Math.max(t.min,Math.min(o,t.max));return[Math.min(r,g),Math.max(r,g)]});return(a,o)=>(d(),z(M(it),{"model-value":M(i),key:`${s.min}-${s.max}`,min:s.min,max:s.max,lazy:!0,tooltip:"hover",class:"body","tooltip-style":{background:"rgb(var(--td-primary))",color:"white",padding:"0.6rem"},"process-style":{background:"rgb(var(--td-secondary))"},"dot-style":{border:"3px solid rgb(var(--td-secondary))"},"tooltip-formatter":r=>M(e)(`${r}`,{}),onChange:o[0]||(o[0]=r=>a.$emit("update:model-value",{min:r[0],max:r[1]}))},null,8,["model-value","min","max","tooltip-formatter"]))}}),ye={class:"slider-labels mb-2 text-sm font-semibold text-gray-900"},ve={size:"m"},be={size:"m"},xe=N({__name:"CategoriePriceRangeFilter",props:{attribute:{}},setup(s){const t=s,{attribute:e}=gt(t),i=(o,r)=>[typeof o.min=="number"?o.min:r.min,typeof o.max=="number"?o.max:r.max],a=nt();return(o,r)=>{const g=ge;return d(),z(M(ht),{attribute:M(e)},{default:E(({currentRefinement:n,range:y,refine:k})=>[l("div",ye,[l("div",ve,b(M(a)(n.min??y.min)),1),l("div",be,b(M(a)(n.max??y.max)),1)]),W(g,{"model-value":i(n,y),min:y.min,max:y.max,"onUpdate:modelValue":v=>k(v)},null,8,["model-value","min","max","onUpdate:modelValue"])]),_:1},8,["attribute"])}}}),_e=lt(xe,[["__scopeId","data-v-1e035b00"]]),ke={class:"border-b border-gray-200 py-4"},$e=["aria-expanded","aria-controls"],Se={class:"font-bold text-sm text-gray-900"},we=["id"],Pe=N({__name:"CategorieFilterItem",props:{label:{},defaultOpen:{type:Boolean,default:!0}},setup(s){const e=X(s.defaultOpen),i=yt();return(a,o)=>(d(),f("div",ke,[l("button",{type:"button",class:"flex w-full items-center justify-between gap-2 text-left rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-secondary","aria-expanded":e.value,"aria-controls":M(i),onClick:o[0]||(o[0]=r=>e.value=!e.value)},[l("span",Se,b(s.label),1),(d(),f("svg",{class:C([e.value?"rotate-180":"","h-4 w-4 shrink-0 text-secondary transition-transform duration-200"]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...o[1]||(o[1]=[l("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"},null,-1)])],2))],8,$e),ut(l("div",{id:M(i),class:"mt-3"},[B(a.$slots,"default")],8,we),[[dt,e.value]])]))}}),Re={class:"hidden"},De={key:0,class:"td-dualrange"},Ce=["min","max","value","aria-label","onInput","onKeydown"],Me=["min","max","value","aria-label","onInput","onKeydown"],Ve={key:1,class:"mt-2 flex items-center justify-between text-sm"},Oe={class:"font-semibold text-gray-900"},Ae={class:"font-semibold text-gray-900"},Ee={key:2,class:"mt-2 text-xs text-red-600"},Y=1,He=N({__name:"CategorieFilterNumericRange",props:{attribute:{},unit:{}},emits:["has-items"],setup(s,{emit:t}){const{t:e}=J(),i=t;function a(h){return i("has-items",h.min!==void 0&&h.max!==void 0&&h.min!==h.max),""}const o=X(""),r=X(""),g=X("");let n=null;function y(h){return h==null?"":String(h).trim()}function k(h){const _=y(h);if(_==="")return;const u=Number(_);return Number.isFinite(u)?u:void 0}function v(h){const _=y(o.value)!=="",u=y(r.value)!=="",S=k(o.value),P=k(r.value);return _&&S===void 0||u&&P===void 0?null:S!==void 0&&P!==void 0&&S>P?(g.value=e("filter.rangeFromGreaterThanTo"),null):S!==void 0&&h.max!==void 0&&S>h.max?(g.value=e("filter.rangeFromAboveMax"),null):P!==void 0&&h.min!==void 0&&P<h.min?(g.value=e("filter.rangeToBelowMin"),null):(g.value="",{min:S,max:P})}function x(h,_){n&&clearTimeout(n),n=setTimeout(()=>{const u=v(_);u&&h(u)},400)}function m(h,_){n&&clearTimeout(n);const u=v(_);u&&h(u)}function w(h,_,u){return Math.min(Math.max(h,_),u)}function c(h){const _=h.min??0,u=h.max??0,S=k(o.value);return w(S!==void 0?S:_,_,u)}
1function p(h){const _=h.min??0,u=h.max??0,S=k(r.value);return w(S!==void 0?S:u,_,u)}function $(h){const _=h.min??0,S=(h.max??0)-_||1,P=(c(h)-_)/S*100,Z=(p(h)-_)/S*100;return{left:`${P}%`,right:`${100-Z}%`}}function R(h,_,u){const S=Number(h.target.value),P=p(u);o.value=String(Math.min(S,P-Y)),x(_,u)}function A(h,_,u){const S=Number(h.target.value),P=c(u);r.value=String(Math.max(S,P+Y)),x(_,u)}return(h,_)=>(d(),z(M(ht),{attribute:s.attribute},{default:E(({range:u,refine:S})=>[l("span",Re,b(a(u)),1),u.min!==void 0&&u.max!==void 0?(d(),f("div",De,[_[0]||(_[0]=l("div",{class:"td-dr-track"},null,-1)),l("div",{class:"td-dr-fill",style:T($(u))},null,4),l("input",{type:"range",min:u.min,max:u.max,step:Y,value:c(u),"aria-label":M(e)("filter.from"),style:T({zIndex:c(u)>=p(u)-Y?5:3}),onInput:P=>R(P,S,u),onKeydown:ot(U(P=>m(S,u),["prevent"]),["enter"])},null,44,Ce),l("input",{type:"range",min:u.min,max:u.max,step:Y,value:p(u),"aria-label":M(e)("filter.to"),style:{"z-index":"4"},onInput:P=>A(P,S,u),onKeydown:ot(U(P=>m(S,u),["prevent"]),["enter"])},null,40,Me)])):V("",!0),u.min!==void 0&&u.max!==void 0?(d(),f("div",Ve,[l("span",Oe,[K(b(c(u)),1),s.unit?(d(),f(H,{key:0},[K(b(s.unit),1)],64)):V("",!0)]),l("span",Ae,[K(b(p(u)),1),s.unit?(d(),f(H,{key:0},[K(b(s.unit),1)],64)):V("",!0)])])):V("",!0),g.value?(d(),f("p",Ee,b(g.value),1)):V("",!0)]),_:1},8,["attribute"]))}}),Be=lt(He,[["__scopeId","data-v-a46db932"]]),Le={class:"hidden"},ze={class:"space-y-2"},je={key:0,class:"flex items-center gap-3 py-0.5 cursor-pointer group"},Fe=["aria-checked","onClick"],Ie={class:"text-xs text-gray-400 tabular-nums"},Te={key:1,class:"flex items-center gap-2 cursor-pointer group"},Ne=["checked","onChange"],qe={class:"text-xs text-gray-400 tabular-nums"},Ue=["onClick"],Ke=N({__name:"CategorieFilterList",props:{attribute:{},limit:{default:10},showMore:{type:Boolean,default:!1},showMoreLimit:{default:50},options:{}},emits:["has-items"],setup(s,{emit:t}){const e=s,{t:i,locale:a}=J(),o=t;function r(n){return o("has-items",n.length>0),""}function g(n){return n.value==="true"?i("filter.yes"):n.value==="false"?i("filter.no"):Pt(e.options,n.value,a.value)}return(n,y)=>(d(),z(M(Ot),{attribute:s.attribute,limit:s.limit,"show-more":s.showMore,"show-more-limit":s.showMoreLimit},{default:E(({items:k,refine:v,toggleShowMore:x,isShowingMore:m,canToggleShowMore:w})=>[l("span",Le,b(r(k)),1),l("ul",ze,[(d(!0),f(H,null,I(k,c=>(d(),f("li",{key:c.value},[c.value==="true"||c.value==="false"?(d(),f("label",je,[l("button",{type:"button",role:"switch","aria-checked":c.isRefined,class:C(["relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-1",c.isRefined?"bg-secondary":"bg-gray-300"]),onClick:p=>v(c.value)},[l("span",{class:C(["inline-block h-4 w-4 transform rounded-full bg-white shadow transition-transform duration-200",c.isRefined?"translate-x-4":"translate-x-0.5"])},null,2)],10,Fe),l("span",{class:C([c.isRefined?"font-semibold text-gray-900":"text-gray-700","text-sm group-hover:text-gray-900 truncate flex-1"])},b(g(c)),3),l("span",Ie,b(c.count),1)])):(d(),f("label",Te,[l("input",{type:"checkbox",checked:c.isRefined,class:"h-4 w-4 rounded border-gray-300 accent-secondary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-1 cursor-pointer",onChange:p=>v(c.value)},null,40,Ne),l("span",{class:C([c.isRefined?"font-semibold text-gray-900":"text-gray-700","text-sm group-hover:text-gray-900 truncate flex-1"])},b(g(c)),3),l("span",qe,b(c.count),1)]))]))),128))]),w?(d(),f("button",{key:0,type:"button",class:"mt-2 text-xs font-semibold text-secondary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-secondary rounded-sm",onClick:x},b(m?n.$t("filter.showLess"):n.$t("filter.showMore")),9,Ue)):V("",!0)]),_:1},8,["attribute","limit","show-more","show-more-limit"]))}}),We={key:0},ws=N({__name:"CategorieFilterPanel",setup(s){const{locale:t}=J(),e=vt("activeFamily",X(null)),{filters:i}=St(e),a=L(()=>i.value.filter(g=>g.type!=="hierarchical"&&g.field!=="price")),{shoppingConfig:o}=et(),r=L(()=>!o?.redirect);return(g,n)=>{const y=_e,k=Pe,v=Be,x=Ke;return a.value.length>0||r.value?(d(),f("div",We,[l("div",null,[r.value?(d(),z(k,{key:0,label:g.$t("filter.price")},{default:E(()=>[W(y,{attribute:"price"})]),_:1},8,["label"])):V("",!0),(d(!0),f(H,null,I(a.value,m=>(d(),z(k,{key:m.field,label:M(Rt)(m,M(t))},{default:E(()=>[m.type==="range"?(d(),z(v,{key:0,attribute:m.field,unit:m.unit},null,8,["attribute","unit"])):m.type==="select"||m.type==="bool"?(d(),z(x,{key:1,attribute:m.field,options:m.options,"show-more":!0},null,8,["attribute","options"])):V("",!0)]),_:2},1032,["label"]))),128))])])):V("",!0)}}}),Ge={key:0,class:"text-sm text-gray-600"},Ye={class:"text-gray-900"},Qe={key:1,class:"text-sm text-gray-600"},Xe={class:"text-gray-900"},Je={key:2,class:"text-sm text-gray-600"},Ze={class:"text-gray-900"},Ps={__name:"CategoriesProductCounter",setup(s){return(t,e)=>(d(),z(M(At),null,{default:E(({hitsPerPage:i,nbHits:a})=>[a===1?(d(),f("span",Ge,[l("strong",Ye,b(t.$t("kategorien.toolCountOne",{n:a})),1)])):a<20?(d(),f("div",Qe,[l("span",null,[l("strong",Xe,b(t.$t("kategorien.toolCountOther",{n:a})),1)])])):a>19?(d(),f("div",Je,[l("span",null,[l("strong",Ze,b(t.$t("kategorien.toolCountOther",{n:a})),1)]),K(" | "+b(t.$t("kategorien.perPage",{n:i})),1)])):V("",!0)]),_:1}))}},ts={class:"ais-Pagination custom-pagination"},es={class:"ais-Pagination-list custom-pagination-li"},ss=["href","onClick"],is=["href","onClick"],as=["href","onClick"],Rs={__name:"CategoriesPagination",setup(s){const t=(e,i)=>{i(e),window.scrollTo({top:0,behavior:"instant"})};return(e,i)=>(d(),z(M(Et),null,{default:E(({currentRefinement:a,nbPages:o,pages:r,isFirstPage:g,isLastPage:n,refine:y,createURL:k})=>[ut(l("div",ts,[l("ul",es,[l("li",{class:C(["ais-Pagination-item custom-pagination-item custom-pagination-item--previousPage",{"custom-pagination-item--disabled":g}])},[l("a",{href:k(a-1),onClick:U(v=>!g&&t(a-1,y),["prevent"])},b(e.$t("common.back")),9,ss)],2),(d(!0),f(H,null,I(r,v=>(d(),f("li",{key:v,class:C(["ais-Pagination-item custom-pagination-item",{"custom-pagination-item--selected":v===a}])},[l("a",{href:k(v),onClick:U(x=>t(v,y),["prevent"])}
1,b(v+1),9,is)],2))),128)),l("li",{class:C(["ais-Pagination-item custom-pagination-item custom-pagination-item--nextPage",{"custom-pagination-item--disabled":n}])},[l("a",{href:k(a+1),onClick:U(v=>!n&&t(a+1,y),["prevent"])},b(e.$t("common.next")),9,as)],2)])],512),[[dt,o>1]])]),_:1}))}},os={class:"mb-6 flex items-center justify-between px-2 pb-4 border-b border-gray-200"},rs={key:0,class:"text-sm text-gray-600"},ns={class:"text-gray-900"},ls={key:1,class:"text-sm text-gray-600"},us={class:"text-gray-900"},ds={key:2,class:"text-sm text-gray-600"},cs={class:"text-gray-900"},Ds=N({__name:"ListingCounter",props:{total:{},perPage:{}},setup(s){return(t,e)=>(d(),f("div",os,[s.total===1?(d(),f("span",rs,[l("strong",ns,b(t.$t("kategorien.toolCountOne",{n:s.total})),1)])):s.total<20?(d(),f("div",ls,[l("span",null,[l("strong",us,b(t.$t("kategorien.toolCountOther",{n:s.total})),1)])])):s.total>19?(d(),f("div",ds,[l("span",null,[l("strong",cs,b(t.$t("kategorien.toolCountOther",{n:s.total})),1)]),K(" | "+b(t.$t("kategorien.perPage",{n:s.perPage})),1)])):V("",!0)]))}}),hs={key:0,class:"flex justify-center items-center gap-3 mt-8 py-4 text-sm"},ms=["href"],ps={class:"text-gray-600"},fs=["href"],Cs=N({__name:"ListingPagination",props:{page:{},totalPages:{},prevHref:{},nextHref:{}},setup(s){return(t,e)=>s.totalPages>1?(d(),f("nav",hs,[s.prevHref?(d(),f("a",{key:0,href:s.prevHref,class:"px-3 py-1 rounded-md border border-gray-300 hover:border-secondary hover:text-secondary",rel:"prev"},"â¹ "+b(t.$t("common.back")),9,ms)):V("",!0),l("span",ps,b(t.$t("pagination.page",{page:s.page,total:s.totalPages})),1),s.nextHref?(d(),f("a",{key:1,href:s.nextHref,class:"px-3 py-1 rounded-md border border-gray-300 hover:border-secondary hover:text-secondary",rel:"next"},b(t.$t("common.next"))+" âº",9,fs)):V("",!0)])):V("",!0)}}),ft={"preis-auf":"products/sort/salesPrice:asc","preis-ab":"products/sort/salesPrice:desc",neuheiten:"products/sort/sortPriority:asc"},gs=Object.fromEntries(Object.entries(ft).map(([s,t])=>[t,s])),ys=(s,t)=>{const e=new Map,i=new Map;return s.forEach(a=>{e.set(a.name,Dt(a,t)),i.set(a["router-name"],a.name),a.name_en&&i.set(rt(a.name_en),a.name),a.name_fr&&i.set(rt(a.name_fr),a.name)}),{valueToSlug:e,slugToValue:i}},Q="/kategorien",Ms=(s="products",t)=>{const{locale:e}=J(),{valueToSlug:i,slugToValue:a}=ys(t,e.value),o=bt(),r=ct(),g=xt(),n=x=>{const m=g(Q);return x===m||x.startsWith(`${m}/`)};let y=!1;_t(()=>{y=!0});const k={stateToRoute(x){const m=x[s]||{},{query:w,hierarchicalMenu:c,range:p,page:$,sortBy:R}=m,h=(c&&(c["categories.lvl0"]?.[0]||c["categories.lvl1"]?.[0]||c["categories.lvl2"]?.[0])||"").split(" > ").pop();let _;h&&(_=i.get(h));const u=p?.price?.split(":"),S=u?.[0],P=u?.[1],Z=R?gs[R]:void 0,q={};return w&&(q.q=w),_&&(q.category=_),S&&(q.minprice=S),P&&(q.maxprice=P),$&&$!==1&&(q.page=$),Z&&(q.sort=Z),q},routeToState(x){const{q:m,category:w,minprice:c,maxprice:p,page:$,sort:R}=x,A={};if(w){const P=a.get(w);P&&(A["categories.lvl0"]=[P],A["categories.lvl1"]=[P])}let h;(c||p)&&(h=`${c||""}:${p||""}`);const _=$?+$:void 0,u=R?ft[R]:void 0,S=n(r.path)&&!w&&r.query.sale==="1";return{[s]:{query:m,hierarchicalMenu:A,...h&&{range:{price:h}},..._&&{page:_},...u&&{sortBy:u},...S&&{toggle:{onSale:!0}}}}}},v={write(x){if(y)return;const{category:m,...w}=x,c=n(r.path),p=["q","minprice","maxprice","page","sort"],$={...r.query};p.forEach(A=>delete $[A]),Object.assign($,w);let R=r.path;c?R=g(m?`${Q}/${m}`:Q):m&&($.category=m),!(R===r.path&&JSON.stringify($)===JSON.stringify(r.query))&&o.push({path:R,query:$})},read(){const x=r.query;if(!n(r.path))return x;const m=typeof r.params.slug=="string"?r.params.slug:void 0;return{...x,category:m}},onUpdate(x){kt(()=>r.fullPath,()=>{x(v.read())})},createURL(x){const{category:m,...w}=x,c=n(r.path),p=c?g(m?`${Q}/${m}`:Q):r.path,$={...r.query};delete $.sort;const R=c?{...$,...w}:{...$,...x},{href:A}=o.resolve({path:p,query:R});return A},dispose(){y=!0}};return{routing:{router:v,stateMapping:k}}};async function Vs(s){const{style:t}=et(),{productsPerPage:e}=t.productList,i=ct(),a=p=>({products:[],total:0,page:p,perPage:e,priceRange:null}),{data:o,pending:r}=await Lt(s.key,async()=>{const p=i.query.page?Number(i.query.page):1;if(s.enabled&&!s.enabled())return a(p);try{const{client:$}=Ht(),[R,A]=await Promise.all([$.collections("products").documents().search({per_page:e,page:p,group_by:"groupKey",group_limit:1,...s.buildQuery()}),s.buildFacetQuery?$.collections("products").documents().search({facet_by:"price",per_page:0,...s.buildFacetQuery()}):Promise.resolve(void 0)]),h=Bt(R),_=R.grouped_found??R.found??h.length,u=A?.facet_counts?.[0]?.stats,S=u&&typeof u.min=="number"&&typeof u.max=="number"?{min:u.min,max:u.max}:null;return{products:h,total:_,page:p,perPage:e,priceRange:S}}catch($){const R=s.key.split(":")[0];return console.error(`[${R}] SSR prefetch failed:`,$),a(p)}},{default:()=>a(1)}),g=L(()=>o.value&&typeof o.value=="object"&&!("__v_isRef"in o.value)?o.value:a(1)),n=L(()=>g.value.products),y=L(()=>g.value.total),k=L(()=>g.value.page),v=L(()=>Math.max(1,Math.ceil(y.value/g.value.perPage))),x=L(()=>g.value.priceRange),m=p=>{const $={};for(const[R,A]of Object.entries(i.query))typeof A=="string"&&($[R]=A);return $.page=String(p),`?${new URLSearchParams($).toString()}`},w=L(()=>k.value>1?m(k.value-1):null),c=L(()=>k.value<v.value?m(k.value+1):null);return{initialProducts:n,initialTotal:y,initialPage:k,initialTotalPages:v,prevPageHref:w,nextPageHref:c,priceRange:x,pe
1nding:r}}export{ft as S,Ss as _,Vs as a,ws as b,Ps as c,Rs as d,Ds as e,Cs as f,Ms as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.