PageSourceSearch

https://www.tesa.com/relaunch2020/build/consumer-product-filter.ec9517e8.js

js tesa.com collected 2026-10-02 06:21:16 UTC 44,595 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunktesa_2016=globalThis.webpackChunktesa_2016||[]).push([[4558,7961],{6148:(e,t,a)=>{a.d(t,{dK:()=>b});var l=a(9669),r=a.n(l),i=a(1223),o=a(9043);const n={"sw-access-key":o.Nv.accessKey},s={...n,"sw-inheritance":1},u="pending",c="resolved",d=["reviewProductNumbers","forceUpdate"],v=()=>({ratingsByReviewProductNumber:{},reviewProductsByReviewProductNumber:{},ratingRequestStatusByReviewProductNumber:{},reviewProductRequestStatusByReviewProductNumber:{}}),p=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Review product numbers must be strings or numbers.");return String(e).trim()},g=e=>{if(!e||"object"!=typeof e||Array.isArray(e))throw new TypeError("Shopware review request payload must be an object.");const t=Object.keys(e).find(e=>!d.includes(e));if(t)throw new TypeError(`Unsupported Shopware review parameter "${t}".`);if(!Array.isArray(e.reviewProductNumbers))throw new TypeError('Shopware review parameter "reviewProductNumbers" must be an array.');if(Object.prototype.hasOwnProperty.call(e,"forceUpdate")&&"boolean"!=typeof e.forceUpdate)throw new TypeError('Shopware review parameter "forceUpdate" must be a boolean.');return{reviewProductNumbers:[...new Set(e.reviewProductNumbers.map(p).filter(Boolean))],forceUpdate:e.forceUpdate||!1}},f=e=>{let{state:t,statusProperty:a,pendingRequests:l,reviewProductNumbers:r,forceUpdate:i}=e;const o=new Set,n=[];return r.forEach(e=>{(i||t[a][e]!==c)&&(i||t[a][e]!==u||!l.has(e)?n.push(e):o.add(l.get(e)))}),{requestsToWaitFor:o,newReviewProductNumbers:n}},m={getRatingDataByReviewProductNumber:e=>t=>e.ratingsByReviewProductNumber[String(t)]||null,reviewProductByReviewProductNumber:e=>t=>e.reviewProductsByReviewProductNumber[String(t)]||null},b=function(){let{httpClient:e=r(),apiUrl:t=o.Nv.apiUrl}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=new Map,l=new Map;return(0,i.Q_)("shopware/rating",{state:v,getters:m,actions:{setRatingData(e){this.ratingsByReviewProductNumber={...this.ratingsByReviewProductNumber,...e}},setReviewProductData(e){this.reviewProductsByReviewProductNumber=(e.elements||[]).reduce((e,t)=>(t.productNumber&&(e[t.productNumber]=t),e),{...this.reviewProductsByReviewProductNumber})},setRequestStatus(e){let{statusProperty:t,reviewProductNumbers:a,status:l}=e;const r={...this[t]};a.forEach(e=>{r[e]=l}),this[t]=r},removeRequestStatus(e){let{statusProperty:t,reviewProductNumbers:a}=e;const l={...this[t]};a.forEach(e=>{delete l[e]}),this[t]=l},async fetchRatingData(l){const{reviewProductNumbers:r,forceUpdate:i}=g(l);if(!r.length)return;const{requestsToWaitFor:o,newReviewProductNumbers:s}=f({state:this,statusProperty:"ratingRequestStatusByReviewProductNumber",pendingRequests:a,reviewProductNumbers:r,forceUpdate:i});if(s.length){this.setRequestStatus({statusProperty:"ratingRequestStatusByReviewProductNumber",reviewProductNumbers:s,status:u});const l=e.post(`${t}plana/products/reviews`,{productNumbers:s},{headers:n}).then(e=>{let{data:t}=e;t.productReviews&&this.setRatingData(t.productReviews),this.setRequestStatus({statusProperty:"ratingRequestStatusByReviewProductNumber",reviewProductNumbers:s,status:c})}).catch(e=>{throw this.removeRequestStatus({statusProperty:"ratingRequestStatusByReviewProductNumber",reviewProductNumbers:s}),console.warn("shopware/rating::fetchRatingData failed",e),e}).finally(()=>{s.forEach(e=>a.delete(e))});s.forEach(e=>a.set(e,l)),o.add(l)}await Promise.all(o)},async fetchReviewProducts(a){const{reviewProductNumbers:r,forceUpdate:i}=g(a);if(!r.length)return;const{requestsToWaitFor:o,newReviewProductNumbers:n}=f({state:this,statusProperty:"reviewProductRequestStatusByReviewProductNumber",pendingRequests:l,reviewProductNumbers:r,forceUpdate:i});if(n.length){this.setRequestStatus({statusProperty:"reviewProductRequestStatusByReviewProductNumber",reviewProductNumbers:n,status:u});const a=e.post(`${t}product`,{filter:[{type:"multi",operator:"OR",queries:n.map(e=>({type:"equals",field:"productNumber",value:e}))}],includes:{product:["id","productNumber"]}},{headers:s}).then(e=>{let{data:t}=e;this.setReviewProductData(t),this.setRequestStatus({statusProperty:"reviewProductRequestStatusByReviewProductNumber",reviewProductNumbers:n,status:c})}).catch(e=>{throw this.removeRequestStatus({statusProperty:"reviewProductRequestStatusByReviewProductNumber",reviewProductNumbers:n}),console.warn("shopware/rating::fetchReviewProducts failed",e),e}).finally(()=>
1{n.forEach(e=>l.delete(e))});n.forEach(e=>l.set(e,a)),o.add(a)}await Promise.all(o)}}})}()},2028:(e,t,a)=>{a.r(t),a.d(t,{default:()=>Oe});var l=a(5166),r=a(9335),i=a(7651),o=a(7105),n=a(6138),s=a(5936),u=a(6148),c=a(9043),d=a(7773),v=a(1223),p=a(9669),g=a.n(p),f=a(9689);const m=Symbol("consumerProductFilterStore"),b=function(e){let{fetchProductData:t=()=>Promise.resolve(),fetchRatingData:a=()=>Promise.resolve(),getRatingDataByReviewProductNumber:r=()=>{},productPriceDataByEcomId:o=()=>{},httpClient:n=g()}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,v.Q_)(`consumerProductFilter/${e}`,()=>{const e=(0,l.iH)([]),s=(0,l.iH)({}),u=(0,l.iH)([]),c=(0,l.iH)([]),d=(0,l.iH)([]),v=(0,l.iH)({}),p=(0,l.iH)({}),g=(0,l.iH)([]),m=(0,l.iH)({}),b=(0,l.iH)([]),y=(0,l.iH)(!1),_=(0,l.iH)(!1),w=(0,l.iH)([{prop:"releaseDate",dir:"desc",type:"String",label:"newest_product"},{prop:"price",dir:"desc",type:"Number",label:"highest_price"},{prop:"price",dir:"asc",type:"Number",label:"lowest_price"}]),h=(0,l.Fl)(()=>Object.values(s.value).reduce((e,t)=>{if("includes"===t.method||"includesNested"===t.method){const a=d.value.flatMap(e=>e.properties[t.name]).filter(e=>Boolean(null==e?void 0:e.value));if(e[t.name]=(0,i.vB)(a,"value"),t.order){const a=new Map(t.order.map((e,t)=>[e,t]));e[t.name].sort((e,t)=>(a.get(e.value)??1/0)-(a.get(t.value)??1/0))}else e[t.name].sort((e,t)=>{var a;return(null===(a=String(e.label))||void 0===a?void 0:a.localeCompare(String(t.label)))||0})}if("range"===t.method||"above"===t.method||"below"===t.method){const a=d.value.map(e=>{var a;return null===(a=e.properties[t.name])||void 0===a?void 0:a.value}).filter(Boolean),l=a.length?Math.floor(Math.min(...a)):null,r=a.length?Math.ceil(Math.max(...a)):null;(0,i.hj)(l)&&(0,i.hj)(r)&&(e[t.name]={min:l,max:r})}return e},{})),P=(0,l.Fl)(()=>Boolean(Object.values(s.value).find(e=>"rating"===e.displayType))),k=e=>{const t=new Set(c.value.map(e=>e.cmsProductContentId));c.value=[...c.value,...(e||[]).filter(e=>!t.has(e.cmsProductContentId))]},S=()=>{(e=>{const t=new Set(d.value.map(e=>e.cmsProductId));d.value=[...d.value,...(e||[]).filter(e=>!t.has(e.cmsProductId))]})(c.value.flatMap(e=>(e.variants||[]).map(t=>{var a,l;return{...t,cmsProductContentId:t.cmsProductContentId||e.cmsProductContentId,cmsBaseProductId:t.cmsBaseProductId||e.cmsBaseProductId,properties:{...t.properties,...e.properties,price:{value:null===(a=o(t.ecomId))||void 0===a?void 0:a.unitPrice},rating:{value:null===(l=r(e.reviewProductNumber))||void 0===l?void 0:l.averageRating},releaseDate:{value:e.releaseDate}},reviewProductNumber:e.reviewProductNumber}})))};return{filterCategories:e,filters:s,teasers:u,products:c,flatProductVariants:d,activeFilter:v,activeSorting:p,filteredAndSortedProducts:g,filteredEcomIdsByCmsProductContentId:m,filteredAndSortedProductVariants:b,initialDataFetched:y,completeDataFetched:_,sortingOptions:w,getFilterOptions:h,getRatingsDataNeeded:P,fetchData:async l=>{let r=32;const i=async e=>{const l=e.flatMap(e=>e.variants||[]).filter(e=>e.ecomId&&e.isShoppable).map(e=>e.ecomId);await t({ecomIds:l}),P.value&&await a({reviewProductNumbers:e.filter(e=>(e.variants||[]).some(e=>e.isShoppable)).map(e=>e.reviewProductNumber)})};try{const t=(await n.get(l,{params:{limit:32,offset:0}})).data||{},a=t.products||[];r=t.totalResults||r,k(a),s.value=Object.freeze(Object.fromEntries((t.filters||[]).map(e=>[e.name,e]))),u.value=t.teasers||[],e.value=t.filterCategories||[],await i(a),S(),y.value=!0;const o=Math.ceil((r-32)/32),c=async e=>{var t;const a=(null===(t=(await n.get(l,{params:{limit:32,offset:e}})).data)||void 0===t?void 0:t.products)||[];return await i(a),{products:a,offset:e}},d=(await Promise.allSettled(Array.from({length:o},(e,t)=>c(32+32*t)))).map(e=>e.value).filter(Boolean).sort((e,t)=>e.offset-t.offset);k(d.flatMap(e=>e.products)),S()}catch(e){console.warn("fetchData failed",e)}_.value=!0},setEnrichedAndFlattenedProductData:S,filterAndSortProducts:()=>{let e=(0,f.f)({activeFilter:v.value,products:d.value,filters:s.value});Object.keys(p.value).length&&(e=(0,f.Z)({activeSorting:p.value,products:e}));const t=e.map(e=>c.value.find(t=>t.cmsProductContentId===e.cmsProductContentId));b.value=e,m.value=e.reduce((e,t)=>
1{var a;return(e[a=t.cmsProductContentId]||(e[a]=[])).push(t.ecomId),e},{}),g.value=(0,i.vB)(t.filter(Boolean),"cmsProductContentId")},sortProducts:()=>{g.value=(0,f.Z)({activeSorting:p.value,products:g.value})},resetAllFilters:()=>{v.value={},p.value={}},setActiveFilter:e=>{v.value={...v.value,...e}},removeActiveFilter:e=>{const t={...v.value};delete t[e],v.value=t},setActiveSorting:e=>{p.value=e},resetActiveSorting:()=>{p.value={}}}})},y=()=>{const e=(0,l.f3)(m);if(!e)throw new Error("Consumer product filter store is not available.");return e},_=Object.assign({name:"ProductFilterSorting"},{__name:"ProductFilterSorting",setup(e){const{labelStore:t}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),{activeLayout:a}=(0,n.S)(),r=y(),i=(0,l.Fl)(()=>r.activeSorting),s=(0,l.Fl)(()=>r.sortingOptions),u=(0,l.Fl)(()=>s.value.filter(e=>c.Nv.enabled||"price"!==e.prop).map(e=>({value:e.prop+"_"+e.dir+"_"+e.type,label:t.value["apps.product_filter."+e.label]}))),v=(0,l.Fl)(()=>Object.keys(i.value).length?i.value.prop+"_"+i.value.dir+"_"+i.value.type:[]);return(e,i)=>((0,l.wg)(),(0,l.j4)(d.Z,{"initial-value":v.value,multiple:!1,"de-selectable-radio-buttons":!0,label:(0,l.SU)(t)["apps.product_filter.sort_by"],"on-bg-color":"desktop"===(0,l.SU)(a)?"grey":"white",options:u.value,"is-inline":"",onChange:i[0]||(i[0]=e=>(e=>{if(!e)return r.resetActiveSorting();const[t,a,l]=e.split("_");r.setActiveSorting({prop:t,dir:a,type:l})})(e))},null,8,["initial-value","label","on-bg-color","options"]))}});var w=a(4580);const h={class:"groups-filter"},P={class:"groups-filter__header container"},k={class:"groups-filter__headline headline headline--5"},S=["value"],F={class:"cta-teasers__image-box-text-wrapper"},R={class:"cta-teasers__icon-box-text-wrapper"},I={class:"cta-teasers__button-text-wrapper"},C=Object.assign({name:"ProductFilterGroupsFilter"},{__name:"ProductFilterGroupsFilter",props:{options:{type:[Array,Object],default:()=>[]},storeValue:{type:[Array,String,Number],default:()=>[]},layout:{type:String,default:"text"},mobileLayout:{type:String,default:"slider"},spriteMap:{type:String,default:"/bundles/tesainternet/img/svg/navigation-icons-2024.svg"}},emits:["change"],setup(e,t){let{emit:a}=t;const r=e,i=a,{labelStore:n}=(0,o.b)({labelsRequired:["global","apps.product_filter"],labelKeyReplaceFn:e=>e.replace("apps.product_filter.","")}),s=(0,l.iH)(r.storeValue);return(0,l.YP)(s,e=>i("change",null!=e&&e.length?e:null)),(0,l.YP)(()=>r.storeValue,e=>{const t=null!=e&&e.length?e:[];JSON.stringify(t)!==JSON.stringify(s.value)&&(s.value=t)}),(t,a)=>{const r=(0,l.up)("BaseImage"),i=(0,l.up)("Icon");return(0,l.wg)(),(0,l.iD)("fieldset",h,[(0,l._)("legend",P,[(0,l._)("h3",k,(0,l.zw)((0,l.SU)(n).filter_products),1)]),a[5]||(a[5]=(0,l.Uk)()),(0,l.Wm)(w.default,{"mobile-layout":e.mobileLayout,class:"marg-t--2"},{default:(0,l.w5)(()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(e.options,t=>((0,l.wg)(),(0,l.iD)("label",{key:`groups-option-${t.value}`,class:(0,l.C_)(["groups-filter__option-wrapper cta-teasers__cta-item",{[`cta-teasers__cta-item--color-scheme-${t.colorScheme}`]:t.colorScheme}])},[(0,l.wy)((0,l._)("input",{type:"checkbox","onUpdate:modelValue":a[0]||(a[0]=e=>s.value=e),value:t.value},null,8,S),[[l.e8,s.value]]),a[4]||(a[4]=(0,l.Uk)()),"image"===e.layout?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,l.C_)(["cta-teasers__image-box",{"-active":s.value&&s.value.includes(t.value)}])},[(0,l.Wm)(r,(0,l.dG)({ref_for:!0},t.image,{variant:"crop4x3",role:"presentation",class:"canvas aspect-ratio aspect-ratio--4-3 cta-teasers__image-box-image"}),null,16),a[1]||(a[1]=(0,l.Uk)()),(0,l._)("span",F,(0,l.zw)(t.label),1)],2)):"icon"===e.layout?((0,l.wg)(),(0,l.iD)("span",{key:1,class:(0,l.C_)(["cta-teasers__icon-box",{"-active":s.value&&s.value.includes(t.value)}])},[(0,l.Wm)(i,{name:t.icon,"sprite-map":e.spriteMap,class:"cta-teasers__icon-box-icon"},null,8,["name","sprite-map"]),a[2]||(a[2]=(0,l.Uk)()),(0,l._)("span",R,(0,l.zw)(t.label),1)],2)):((0,l.wg)(),(0,l.iD)("span",{key:2,class:(0,l.C_)(["cta-teasers__button",{"-active":s.value&&s.value.includes(t.value)}])},[(0,l._)("span",I,(0,l.zw)(t.label),1),a[3]||(a[3]=(0,l.Uk)()),(0,l.Wm)(i,{name:"angle-right",class:"cta-teasers__button-icon hidden--mobile"})],2))],2))),128))]),_:1},8,["mobile-layout"])])}}});var N=a(3744);const D=(0,N.Z)(C,[["__scopeId","data-v-89781734"]]);var U=a(8982),x=a(3635),O=a(4497);const j=["inert"],q={key:0,class:"filters__header"},B={class:"filters__filter-label"},A={class:"filters__main-content"},H={key:0,class:"base-multi-select__color"},T={key:1,class:"filters__mobile-buttons-wrapper"},E=Object.assign({name:"ProductFilterFilters"},{__name:"ProductFilterFilters",props:{collapsed:{type:Boolean,default:!0}},emits:["toggleFilters"],setup(e,t){var a;let{emit:r}=t;const s=e,u=r,c=(0,l.f3)("groupsFilterPortalTargetName"),{labelStore:v}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),{activeLayout:p}=(0,n.S)(),g=y(),f=(0,l.iH)(null),m=(0,l.Fl)(()=>g.filters),b=(0,l.Fl)(()=>g.activeFilter),w=(0,l.Fl)(()=>g.activeSorting),h=(0,l.Fl)(()=>g.completeDataFetched),P=(0,l.Fl)(()=>g.getFilterOptions),k=(0,l.Fl)(()=>Object.keys(w.value).length||Object.keys(b.value).length),S=(0,l.Fl)(()=>({"--component-width":null===f.value?"0px":f.value+"px"}));let F;const R=null===(a=(0,l.FN)())||void 0===a?void 0:a.proxy;(0,l.bv)(()=>{var e;F=new ResizeObserver((0,i.Ds)(e=>{let[t]=e;s.collapsed||(f.value=t.target.clientWidth)},400)),F.observe((null==R||null===(e=R.$el)||void 0===e?void 0:e.parentElement)||document.body)}),(0,l.Jd)(()=>{var e;return null===(e=F)||void 0===e?void 0:e.disconnect()});const I=e=>g.removeActiveFilter(e),C=(e,t)=>{const a=Array.isArray(t)&&!t.length;var l;null!=t&&!a&&h.value?(l={[e]:t},g.setActiveFilter(l)):I(e)},N=()=>g.resetAllFilters(),E=()=>u("toggleFilters");return(t,a)=>{const r=(0,l.up)("Icon"),i=(0,l.up)("Skeleton");return(0,l.wg)(),(0,l.iD)("div",{class:(0,l.C_)(["filters",[{"filters--collapsed":e.collapsed},{"filters--disabled":!h.value}]]),style:(0,l.j5)(S.value),inert:e.collapsed},["desktop"!==(0,l.SU)(p)?((0,l.wg)(),(0,l.iD)("div",q,[(0,l._)("div",B,(0,l.zw)((0,l.SU)(v)["apps.product_filter.filter"]),1),a[0]||(a[0]=(0,l.Uk)()),(0,l._)("button",{type:"button",class:"filters__toggle-button",onClick:E},[(0,l.Wm)(r,{name:"close",class:"filters__toggle-button-icon"})])])):(0,l.kq)("v-if",!0),a[3]||(a[3]=(0,l.Uk)()),(0,l._)("div",A,[(0,l.Wm)(_),a[1]||(a[1]=(0,l.Uk)()),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(m.value,e=>((0,l.wg)(),(0,l.iD)(l.HY,null,[P.value[e.name]?((0,l.wg)(),(0,l.iD)(l.HY,{key:0},["groups"===e.displayType?((0,l.wg)(),(0,l.j4)(l.lR,{key:e.name,defer:"",to:`#${(0,l.SU)(c)}`},[((0,l.wg)(),(0,l.j4)(D,{key:e.name,options:P.value[e.name],"store-value":b.value[e.name],layout:e.layout,"mobile-layout":e.mobileLayout,onChange:t=>C(e.name,t)},null,8,["options","store-value","layout","mobile-layout","onChange"]))],8,["to"])):"range"===e.method?((0,l.wg)(),(0,l.iD)(l.HY,{key:1},[h.value?((0,l.wg)(),(0,l.iD)(l.HY,{key:0},[P.value[e.name].min!==P.value[e.name].max?((0,l.wg)(),(0,l.j4)(U.default,{key:e.name,min:P.value[e.name].min,max:P.value[e.name].max,uom:e.uom,title:e.title,"store-value":b.value[e.name],class:"filter-group__filter",onChange:t=>C(e.name,t),onReset:()=>{return t=e.name,I(t);var t}},null,8,["min","max","uom","title","store-value","onChange","onReset"])):(0,l.kq)("v-if",!0)],64)):((0,l.wg)(),(0,l.j4)(i,{key:e.name}))],64)):((0,l.wg)(),(0,l.j4)(d.Z,{key:e.name,"initial-value":b.value[e.name],multiple:"rating"!==e.displayType,"de-selectable-radio-buttons":"rating"===e.displayType,label:e.title,"on-bg-color":"desktop"===(0,l.SU)(p)?"grey":"white",options:"rating"===e.displayType?Array.from({length:5},(e,t)=>({value:t+1})).reverse():P.value[e.name],"is-inline":"",onChange:t=>C(e.name,t)},{option:(0,l.w5)(t=>{let{option:a}=t;return["colorIcon"===e.displayType?((0,l.wg)(),(0,l.iD)("div",H,[(0,l.Wm)(O.Z,{class:"base-multi-select__color-icon","color-key":null==a?void 0:a.value},null,8,["color-key"]),(0,l.Uk)(" "+(0,l.zw)(null==a?void 0:a.label),1)])):"rating"===e.displayType?((0,l.wg)(),(0,l.j4)(x.Z,{key:1,rating:null==a?void 0:a.value,"show-rating-text":!1,rateable:!1},null,8,["rating"])):(0,l.kq)("v-if",!0)]}),_:2},1032,["initial-value","multiple","de-selectable-radio-buttons","label","on-bg-color","options","onChange"]))],64)):(0,l.kq)("v-if",!0)],64))),256))]),a[4]||(a[4]=(0,l.Uk)()),"desktop"!==(0,l.SU)(p)?((0,l.wg)(),(0,l.iD)("div",T,[(0,l._)("button",{type:"button",class:"button button--small-text button--cta-2 button--full-width",onClick:E},(0,l.zw)((0,l.SU)(v)["apps.product_filter.apply"]),1),a[2]||(a[2]=(0,l.Uk)()),k.value?((0,l.wg)(),(0,l.iD)("button",{key:0,t
1ype:"button",class:"filters__reset-all-button",onClick:N},(0,l.zw)((0,l.SU)(v)["apps.product_filter.reset_filters"]),1)):(0,l.kq)("v-if",!0)])):(0,l.kq)("v-if",!0)],14,j)}}}),$=(0,N.Z)(E,[["__scopeId","data-v-8570380a"]]);var M=a(9236);const W=["aria-label"],Y={class:"pagination__button-wrapper"},z=["disabled","aria-label"],L=["aria-label","onClick"],J=["disabled","aria-label"],Z={class:"pagination__page-label copy copy--small","aria-live":"polite"},K=Object.assign({name:"ProductFilterPagination"},{__name:"ProductFilterPagination",props:{totalEntriesCount:{type:Number,default:0},entriesPerPage:{type:Number,default:0},entriesOffset:{type:Number,default:0}},emits:["offsetChanged"],setup(e,t){let{emit:a}=t;const r=e,i=a,{labelStore:n}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),s=y(),u=(0,l.Fl)(()=>s.completeDataFetched),c=(0,l.Fl)(()=>Math.floor(r.entriesOffset/r.entriesPerPage)),d=(0,l.Fl)(()=>Math.ceil(r.totalEntriesCount/r.entriesPerPage)),v=(0,l.Fl)(()=>{const e=[],t=c.value+1;let a=1,l=d.value;d.value>3&&(1===t?l=3:t===d.value?a=d.value-2:(a=t-1,l=t+1));for(let r=a;r<=l;r++)e.push({label:r,pageIndex:r-1,isActive:r===t});return e}),p=(0,l.Fl)(()=>{const e={"%current_page%":c.value+1,"%total_pages%":d.value};return n.value["apps.product_filter.pagination_current_page"].replace(/%\w+%/g,t=>e[t]||t)}),g=()=>i("offsetChanged",Math.max(r.entriesOffset-r.entriesPerPage,0)),f=()=>i("offsetChanged",Math.min(r.entriesOffset+r.entriesPerPage,r.totalEntriesCount-1));return(e,t)=>{const a=(0,l.up)("Icon");return d.value>1?((0,l.wg)(),(0,l.iD)("nav",{key:0,class:(0,l.C_)(["pagination",[{"pagination--initialised":u.value}]]),"aria-label":(0,l.SU)(n)["apps.product_filter.product_filter_pagination"]},[(0,l._)("div",Y,[(0,l._)("button",{type:"button",class:"pagination__button",disabled:0===c.value,"aria-label":(0,l.SU)(n)["global.previous"],onClick:g},[(0,l.Wm)(a,{name:"angle-left",class:"pagination__button-icon"})],8,z),t[0]||(t[0]=(0,l.Uk)()),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(v.value,e=>((0,l.wg)(),(0,l.iD)("button",{key:`page-number-button-${e.pageIndex}`,type:"button",class:(0,l.C_)(["pagination__button",{"-active":e.isActive}]),"aria-label":`${(0,l.SU)(n)["apps.product_filter.go_to_page"]} ${e.label}`,onClick:t=>{return a=e.pageIndex,i("offsetChanged",a*r.entriesPerPage);var a}},(0,l.zw)(e.label),11,L))),128)),t[1]||(t[1]=(0,l.Uk)()),(0,l._)("button",{type:"button",class:"pagination__button",disabled:c.value>=d.value-1,"aria-label":(0,l.SU)(n)["global.next"],onClick:f},[(0,l.Wm)(a,{name:"angle-right",class:"pagination__button-icon"})],8,J)]),t[2]||(t[2]=(0,l.Uk)()),(0,l._)("div",Z,(0,l.zw)(p.value),1)],10,W)):(0,l.kq)("v-if",!0)}}}),V=(0,N.Z)(K,[["__scopeId","data-v-c66699e6"]]);var G=a(5687);const Q={class:"product-filter-editorial-teaser"},X=["href"],ee={key:0,class:"product-filter-editorial-teaser__image-wrapper"},te={class:"product-filter-editorial-teaser__text-wrapper"},ae=["innerHTML"],le=["innerHTML"],re={key:2,class:"product-filter-editorial-teaser__cta marg-t--3"},ie={class:"product-filter-editorial-teaser__cta-text"},oe=Object.assign({name:"ProductFilterEditorialTeaser"},{__name:"ProductFilterEditorialTeaser",props:{title:{type:String,default:null},text:{type:String,default:null},linkText:{type:String,default:null},url:{type:String,default:null},medium:{type:Object,default:null}},setup(e){const t=e,a=(0,l.f3)("routes",{}),r=e=>{if(!e||"string"!=typeof e)return null;try{return new URL(e,window.location.origin).pathname.replace(/\/$/,"")}catch(t){return e.split(/[?#]/)[0].replace(/\/$/,"")}},o=(0,l.Fl)(()=>Boolean(r(t.url)&&r(t.url)===r(a.m2mConfiguratorPageUrl))),n=(0,l.Fl)(()=>o.value?(0,i.O7)(t.url):t.url);return(t,a)=>{const r=(0,l.up)("BaseImage"),i=(0,l.up)("Icon");return(0,l.wg)(),(0,l.iD)("article",Q,[(0,l._)("a",{href:n.value,class:"product-filter-editorial-teaser__link"},[e.medium?((0,l.wg)(),(0,l.iD)("div",ee,[(0,l.Wm)(r,(0,l.dG)(e.medium,{"lazy-load":!0,variant:"crop4x3","object-fit":"cover"}),null,16)])):(0,l.kq)("v-if",!0),a[3]||(a[3]=(0,l.Uk)()),(0,l._)("div",te,[e.title?((0,l.wg)(),(0,l.iD)("h3",{key:0,class:"product-filter-editorial-teaser__headline copy t--semibold",innerHTML:e.title},null,8,ae)):(0,l.kq)("v-if",!0),a[1]||(a[1]=(0,l.Uk)()),e.text?((0,l.wg)(),(0,l.iD)("p",{key:1,class:(0,l.C_)(["product-filter-editorial-teaser__copy",{"marg-t--2":e.title}]),innerHTML:e.text},null,10,le)):(0,l.kq)("v-if",!0),a[2]||(a[2]=(0,l.Uk)()),e.linkText?((0,l.wg)(),(0,l.iD)("div",re,[(0,l._)("span",ie,(0,l.zw)(e.linkText),1),a[0]||(a[0]=(0,l.Uk)()),(0,l.Wm)(i,{name:"angle-right",class:"product-filter-editorial-teaser__cta-icon"})])):(0,l.kq)("v-if",!0)])],8,X)])}}}),ne=(0,N.Z)(oe,[["__scopeId","data-v-1b44870f"]]);var se=a(8945);const ue={ref:"resultsWrapper",class:"results__items-wrapper grid-row"},ce=["data-product-index"],de={ref:"infiniteScrollObserverElement"},ve=["textContent"],pe=Object.assign({name:"ProductFilterResults"},{__name:"ProductFilterResults",props:{collapsed:{type:Boolean,default:!0},paginationType:{type:String,default:"endless"},productsPerPage:{type:Number,default:12},trackingListLabel:{type:String,default:"product-filter"},slotId:{type:String,default:null},showVariants:{type:Boolean,default:!1},trackingType:{type:String,default:"impression"}},setup(e){var t;const a=e,{labelStore:r}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),{activeBreakpoint:i}=(0,n.S)(),u=(0,s.fn)(),c=y(),d=(0,l.f3)("instanceKey"),v=null===(t=(0,l.FN)())||void 0===t?void 0:t.proxy,p=(0,l.iH)(0),g=(0,l.iH)(a.productsPerPage),f=(0,l.iH)(!1),m=(0,l.iH)(!1),b=(0,l.iH)(!1),_=(0,l.Fl)(()=>c.filteredAndSortedProducts),w=(0,l.Fl)(()=>c.filteredAndSortedProductVariants),h=(0,l.Fl)(()=>c.filteredEcomIdsByCmsProductContentId),P=(0,l.Fl)(()=>c.teasers),k=(0,l.Fl)(()=>u.cheapestEcomIdByEcomIds),S=(0,l.Fl)(()=>a.trackingListLabel+"-"+a.slotId),F=(0,l.iH)(null);(0,se.fd)({...a,trackingListId:S},F);const R=(0,l.Fl)(()=>{var e;return a.showVariants?w.value:null===(e=_.value)||void 0===e?void 0:e.map(e=>{const{variants:t,productImage:a,...l}=e;delete l.properties,delete l.releaseDate;const r=h.value[e.cmsProductContentId]||[],i=r.length<t.length?k.value(r):null;return{...l,...a&&{productImage:{image:a}},...i&&{initialTargetEcomId:i}}})}),I=(0,l.Fl)(()=>Array.isArray(P.value)&&P.value[0]||null),C=(0,l.Fl)(()=>{var e;const t=Number.parseInt(null===(e=I.value)||void 0===e?void 0:e.index,10);return Number.isInteger(t)&&t>0?t:null}),N=(0,l.Fl)(()=>R.value.slice(p.value,p.value+g.value).map((e,t)=>({product:e,productIndex:p.value+t}))),D=(0,l.Fl)(()=>Boolean(I.value&&C.value&&R.value.length>=C.value&&C.value>p.value&&C.value<=p.value+g.value)),U=(0,l.Fl)(()=>{const e=N.value.map(e=>{let{product:t,productIndex:a}=e;return{entryType:"product",key:"product-filter-result-"+(t.cmsProductContentId||t.cmsProductId||t.ecomId),product:t,productIndex:a}});var t,l;D.value&&e.splice(C.value-p.value,0,{entryType:"teaser",key:"product-filter-editorial-teaser-"+C.value+"-"+((null===(t=I.value)||void 0===t?void 0:t.url)||(null===(l=I.value)||void 0===l?void 0:l.title)||a.slotId||"default"),teaser:I.value});return e}),x=(0,l.Fl)(()=>R.value.length>g.value),O=(0,l.Fl)(()=>{var e,t;return null===(e=r.value["apps.product_filter.results"])||void 0===e?void 0:e.replace(/%count%/,null===(t=R.value)||void 0===t?void 0:t.length)});let j=null,q=null;const B=()=>{g.value+=a.productsPerPage,null==v||v.$nextTick(()=>{T(),A()})},A=()=>{j=new IntersectionObserver(e=>{let[t]=e;var l;t.isIntersecting&&(g.value+=a.productsPerPage,m.value||(m.value=!0,null===(l=q)||void 0===l||l.disconnect(),q=null))},{rootMargin:"300px"}),j.observe(null==v?void 0:v.$refs.infiniteScrollObserverElement),f.value=!0},H=()=>{var e;null===(e=j)||void 0===e||e.unobserve(null==v?void 0:v.$refs.infiniteScrollObserverElement),j=null,f.value=!1,m.value=!1},T=()=>{q=new MutationObserver(()=>{const e=g.value-a.productsPerPage;b.value&&(null==v||v.$nextTick(()=>E(e)))}),q.observe(null==v?void 0:v.$refs.resultsWrapper,{childList:!0})},E=e=>{var t;const a=(Array.isArray(null==v?void 0:v.$refs.resultEntry)?v.$refs.resultEntry:[null==v?void 0:v.$refs.resultEntry].filter(
1Boolean)).find(t=>Number(t.dataset.productIndex)===e);null==a||null===(t=a.querySelector("a"))||void 0===t||t.focus()};return(0,l.YP)(x,e=>{!e&&j&&H()}),(0,l.YP)(R,(e,t)=>{e&&t&&e.length!==t.length&&(g.value=a.productsPerPage,p.value=0,j&&H())}),(0,l.YP)(p,(e,t)=>{e!==t&&(null==v||v.$nextTick(()=>{!function(){var e,t;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"smooth";null==v||null===(e=v.$el)||void 0===e||null===(t=e.closest(".product-filter__main-wrapper"))||void 0===t||t.scrollIntoView({behavior:a,block:"start"})}(),b.value&&E(e)}))}),(0,l.Jd)(()=>{var e;H(),null===(e=q)||void 0===e||e.disconnect()}),(t,a)=>((0,l.wg)(),(0,l.iD)("div",{ref_key:"trackingRoot",ref:F,class:"results"},[(0,l._)("div",ue,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(U.value,(t,a)=>{return(0,l.wg)(),(0,l.iD)("div",{key:`product-filter-result-${(0,l.SU)(d)}-${t.key}`,class:(0,l.C_)(["col-sm-4",["product"===t.entryType?"col-6":"col-12",e.collapsed?"col-md-3":"col-md-4",{"results__alternate-bg-row":(r=a,["default","xs"].includes(i.value)?r%4==0:"sm"===i.value&&r%6==0)}]]),ref_for:!0,ref:"resultEntry","data-product-index":"product"===t.entryType?t.productIndex:null},["product"===t.entryType?((0,l.wg)(),(0,l.iD)(l.HY,{key:0},[e.showVariants?((0,l.wg)(),(0,l.j4)(G.default,{key:0,"cms-product-content-id":t.product.cmsProductContentId,"cms-base-product-id":t.product.cmsBaseProductId,"cms-product-id":t.product.cmsProductId,"ecom-id":t.product.ecomId},null,8,["cms-product-content-id","cms-base-product-id","cms-product-id","ecom-id"])):((0,l.wg)(),(0,l.j4)(M.Z,(0,l.dG)({key:1,ref_for:!0},t.product,{"data-position":t.productIndex+1}),null,16,["data-position"]))],64)):((0,l.wg)(),(0,l.j4)(ne,(0,l.dG)({key:1,ref_for:!0},t.teaser),null,16))],10,ce);var r}),128))],512),a[3]||(a[3]=(0,l.Uk)()),(0,l._)("div",{class:"results__button-wrapper",onKeydown:a[1]||(a[1]=(0,l.D2)(e=>b.value=!0,["space"]))},["endless"===e.paginationType?((0,l.wg)(),(0,l.iD)(l.HY,{key:0},[x.value&&!f.value?((0,l.wg)(),(0,l.iD)("button",{key:0,type:"button",class:"button button--inline button--cta-2",onClick:B},(0,l.zw)((0,l.SU)(r)["global.load_more"]),1)):(0,l.kq)("v-if",!0),a[2]||(a[2]=(0,l.Uk)()),(0,l._)("div",de,null,512)],64)):((0,l.wg)(),(0,l.j4)(V,{key:1,"entries-offset":p.value,"entries-per-page":e.productsPerPage,"total-entries-count":R.value.length,class:"marg-t--5",onOffsetChanged:a[0]||(a[0]=e=>p.value=e)},null,8,["entries-offset","entries-per-page","total-entries-count"]))],32),a[4]||(a[4]=(0,l.Uk)()),(0,l._)("div",{class:"visibly-hidden","aria-live":"polite","aria-atomic":"true",textContent:(0,l.zw)(O.value)},null,8,ve)],512))}}),ge=(0,N.Z)(pe,[["__scopeId","data-v-16424296"]]);var fe=a(1605);const me={class:"tags"},be=["aria-label","onClick"],ye=Object.assign({name:"ProductFilterActiveFilterTags"},{__name:"ProductFilterActiveFilterTags",setup(e){const{labelStore:t}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),a=y(),r=(0,l.Fl)(()=>a.getFilterOptions),i=(0,l.Fl)(()=>a.filters),n=(0,l.Fl)(()=>a.activeFilter),s=(0,l.Fl)(()=>a.activeSorting),u=(0,l.Fl)(()=>a.sortingOptions),c=(0,l.Fl)(()=>{const e=Object.entries(n.value).flatMap(e=>{let[a,l]=e;const o=i.value[a];return o?"rating"===o.displayType?[{filter:o,label:t.value["apps.product_filter.filter_rating"]+" "+l,ratingIcon:!0}]:"Number"===o.type?[{filter:o,label:l.min+" - "+l.max+" "+o.uom}]:(Array.isArray(l)?l:[l]).map(e=>{var t;const l=null===(t=r.value[a])||void 0===t?void 0:t.find(t=>t.value===e);return{filter:o,value:e,label:o.displayAttributeTitleInTags?o.title+": "+(null==l?void 0:l.label):null==l?void 0:l.label,...(null==l?void 0:l.colorIcon)&&{colorIcon:l.colorIcon}}}):[]});if(Object.keys(s.value).length){const a=u.value.find(e=>e.prop===s.value.prop&&e.dir===s.value.dir);e.push({label:t.value["apps.product_filter.sort_by"]+": "+t.value["apps.product_filter."+(null==a?void 0:a.label)],filter:"activeSorting"})}return e}),d=(0,l.Fl)(()=>Object.keys(s.value).length||Object.keys(n.value).length),v=()=>a.resetAllFilters();return(e,r)=>{const i=(0,l.up)("Icon");return(0,l.wg)(),(0,l.iD)("div",me,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(c.value,e=>((0,l.wg)(),(0,l.iD)("div",{key:`tag-${e.filter.name}-${e.label}`,class:"tags__tag"},[(0,l.Uk)((0,l.zw)(e.label)+" ",1),e.colorIcon?((0,l.wg)(),(0,l.j4)(O.Z,{key:0,"color-key":e.colorIcon,class:"tags__tag-color-icon"},null,8,["color-key"])):e.ratingIcon?((0,l.wg)(),(0,l.j4)(i,{key:1,name:"star",class:"tags__tag-rating-star-icon"})):(0,l.kq)("v-if",!0),r[0]||(r[0]=(0,l.Uk)()),(0,l._)("button",{type:"button",class:"tags__tag-remove-button","aria-label":(0,l.SU)(t)["apps.product_filter.remove_tag"],onClick:t=>(e=>{if("activeSorting"===e.filter)return a.resetActiveSorting();if("Number"===e.filter.type)return a.removeActiveFilter(e.filter.name);const t=n.value[e.filter.name].filter(t=>t!==e.value);t.length?a.setActiveFilter({[e.filter.name]:t}):a.removeActiveFilter(e.filter.name)})(e)},[(0,l.Wm)(i,{name:"close",class:"tags__tag-remove-button-icon"})],8,be)]))),128)),r[1]||(r[1]=(0,l.Uk)()),d.value?((0,l.wg)(),(0,l.iD)("button",{key:0,t
1ype:"button",class:"tags__reset-all-button",onClick:v},(0,l.zw)((0,l.SU)(t)["apps.product_filter.reset_filters"]),1)):(0,l.kq)("v-if",!0)])}}}),_e=(0,N.Z)(ye,[["__scopeId","data-v-4cb40097"]]),we=["aria-labelledby","aria-label"],he={class:"product-filter__header"},Pe={key:0,class:"container"},ke={class:"container"},Se={class:"grid-row product-filter__controls"},Fe={class:"col-12 col-md-3"},Re=["aria-haspopup","aria-expanded"],Ie=["textContent"],Ce={class:"col-12 col-md-9"},Ne={key:0,class:"product-filter__main-wrapper"},De={class:"product-filter__results-wrapper"},Ue="cpf",xe=Object.assign({name:"ConsumerProductFilter"},{__name:"ProductFilter",props:{dataEndpoint:{type:String,default:null},filterCollapsedInitially:{type:Boolean,default:!1},showVariants:{type:Boolean,default:!1},enablePagination:{type:Boolean,default:!1},productsPerPage:{type:Number,default:12},routes:{type:Object,default:()=>({})},slotId:{type:String,default:null}},setup(e){var t;const a="i",c="a",d="s",v=e,p=null===(t=(0,l.FN)())||void 0===t?void 0:t.proxy,g=(0,s.fn)(),f=(0,u.dK)(),{activeLayout:y}=(0,n.S)(),{labelStore:_}=(0,o.b)({labelsRequired:["global","apps.product_filter"]}),w=v.slotId||(0,i.Rl)(),h="productFinderGroupsFilter-"+w,P="filter-"+(0,i.Rl)(),k=b(w,{fetchProductData:g.fetchProductData,fetchRatingData:f.fetchRatingData,getRatingDataByReviewProductNumber:f.getRatingDataByReviewProductNumber,productPriceDataByEcomId:g.productPriceDataByEcomId})();var S;S=k,(0,l.JJ)(m,S),(0,l.JJ)("instanceKey",w),(0,l.JJ)("groupsFilterPortalTargetName",h),(0,l.JJ)("routes",v.routes);const F=(0,l.iH)(!0),R=(0,l.iH)(null),I=(0,l.iH)(null),C=(0,l.iH)(null),N=(0,l.iH)(null),D=(0,l.Rr)(),U=(0,l.Fl)(()=>k.filters),x=(0,l.Fl)(()=>k.activeFilter),O=(0,l.Fl)(()=>k.activeSorting),j=(0,l.Fl)(()=>k.sortingOptions),q=(0,l.Fl)(()=>k.completeDataFetched||k.initialDataFetched&&!N.value),B=(0,l.Fl)(()=>"mobile"===y.value||"tablet"===y.value),A=(0,l.Fl)(()=>Boolean(D.default)),H=()=>Object.entries((0,i.nb)()).filter(e=>
1{let[t,a]=e;return t&&void 0!==a}).reduce((e,t)=>{let[a,l]=t;return{...e,[a]:l}},{}),T=e=>{if(!e||"object"!=typeof e||Array.isArray(e))return null;const t={...e[c]&&{[c]:e[c]},...e[d]&&{[d]:e[d]}};return Object.keys(t).length?t:null},E=()=>{try{const e=H()[Ue];return e?(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return{};if(Object.prototype.hasOwnProperty.call(e,a)){const t=e[a],l=T(e);return t&&l?{[t]:l}:{}}return Object.entries(e).reduce((e,t)=>{let[a,l]=t;const r=T(l);return r&&(e[a]=r),e},{})})(JSON.parse(r.Z.uncrush(decodeURIComponent(e)))):{}}catch(e){return{}}},M=()=>{const e=H(),t=E(),a=(()=>{const e={...Object.keys(x.value).length&&{[c]:x.value},...Object.keys(O.value).length&&{[d]:O.value}};return Object.keys(e).length?e:null})();a?t[w]=a:delete t[w],Object.keys(t).length?e[Ue]=encodeURIComponent(r.Z.crush(JSON.stringify(t))):delete e[Ue];const l=new URL(location.href);l.hash=(e=>Object.entries(e).filter(e=>{let[t,a]=e;return t&&null!=a&&""!==a}).map(e=>{let[t,a]=e;return t+"="+a}).join("&"))(e),history.replaceState(history.state,document.title,l.href)},W=()=>{var e,t;const a={};Object.entries(x.value||{}).forEach(e=>{let[t,l]=e;const r=U.value[t];if(!r)return;if("range"===r.method)return void(a[t]=new Set([String(l.min)+" - "+String(l.max)]));const i=Array.isArray(l)?l:null==l?[]:[l];i.length&&(a[t]=new Set(i.map(String)))});const l=[];null!==(e=O.value)&&void 0!==e&&e.prop&&l.push("sort_by:"+O.value.prop),null!==(t=O.value)&&void 0!==t&&t.dir&&l.push("sort_order:"+O.value.dir);const r=[...Object.entries(a).map(e=>{let[t,a]=e;return t+":"+[...a].join(",")}),...l].join("|");r&&r!==C.value&&(C.value=r,i.Ng.trackGa4Event({name:"product_filter",details:{filter_details:r}}))},Y=()=>{B.value&&(F.value=!0)};return(0,l.YP)(x,(e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(k.filterAndSortProducts(),M(),W())},{deep:!0}),(0,l.YP)(O,(e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(k.filterAndSortProducts(),M(),W())},{deep:!0}),(0,l.YP)(F,e=>{var t;B.value&&((0,i.JP)(!e),null===(t=I.value)||void 0===t||t.call(I),e||(0,l.Y3)(()=>setTimeout(()=>{var e;I.value=i.eI.activate(null===(e=R.value)||void 0===e?void 0:e.$el)},200)))}),(0,l.YP)(B,e=>{var t;e?F.value=!0:(null===(t=I.value)||void 0===t||t.call(I),(0,i.JP)(!1))}),(0,l.YP)(()=>k.initialDataFetched,e=>{e&&!N.value&&k.filterAndSortProducts()}),(0,l.wF)(()=>{N.value=E()[w]??null,F.value="desktop"!==y.value||v.filterCollapsedInitially}),(0,l.bv)(async()=>{var e,t;await k.fetchData(v.dataEndpoint),null!=p&&null!==(e=p.$root)&&void 0!==e&&e.isBFCache||!N.value||!(e=>{const t={[c]:e=>Object.keys(e).every(e=>U.value[e]),[d]:e=>j.value.some(t=>t.prop===e.prop&&t.dir===e.dir&&t.type===e.type)};return Object.entries(e).every(e=>{let[a,l]=e;return!t[a]||t[a](l)})})(N.value)||(t=N.value,Object.entries(t).forEach(e=>{let[t,a]=e;t===c&&k.setActiveFilter(a),t===d&&k.setActiveSorting(a)})),k.filterAndSortProducts()}),(0,l.Jd)(()=>{var e;null===(e=I.value)||void 0===e||e.call(I),(0,i.JP)(!1),k.$dispose()}),(t,a)=>{const r=(0,l.up)("Icon");return(0,l.wg)(),(0,l.iD)("section",{class:(0,l.C_)(["product-filter",[{"product-filter--loading":!q.value},{"product-filter--filters-collapsed":F.value}]]),role:"region","aria-labelledby":!!A.value&&"product-filter-heading","aria-label":!A.value&&(0,l.SU)(_)["apps.product_filter.headline"]},[(0,l._)("header",he,[A.value?((0,l.wg)(),(0,l.iD)("div",Pe,[(0,l.WI)(t.$slots,"default")])):(0,l.kq)("v-if",!0),a[4]||(a[4]=(0,l.Uk)()),(0,l._)("div",{id:h}),a[5]||(a[5]=(0,l.Uk)()),(0,l._)("div",ke,[(0,l._)("div",Se,[(0,l._)("div",Fe,[(0,l._)("button",{type:"button",class:(0,l.C_)(["product-filter__filter-toggle-button",[{"button button--cta-3 button--full-width button--with-icon":B.value}]]),"aria-haspopup":!!B.value&&"modal","aria-expanded":`${!F.value}`,"aria-controls":P,onClick:a[0]||(a[0]=e=>F.value=!F.value)},[(0,l.Wm)(r,{name:"filter",class:"product-filter__filter-toggle-icon"}),a[2]||(a[2]=(0,l.Uk)()),(0,l._)("div",{class:"product-filter__filter-label",textContent:(0,l.zw)(F.value?(0,l.SU)(_)["apps.product_filter.show_filters"]:(0,l.SU)(_)["apps.product_filter.hide_filters"])},null,8,Ie)],10,Re)]),a[3]||(a[3]=(0,l.Uk)()),(0,l._)("div",Ce,[(0,l.Wm)(_e,{class:"product-filter__tags"})])])])]),a[7]||(a[7]=(0,l.Uk)()),q.value?((0,l.wg)(),(0,l.iD)("div",Ne,[(0,l._)("div",{class:"product-filter__filters-wrapper",onKeydown:(0,l.D2)(Y,["esc"])},[(0,l.Wm)($,{collapsed:F.value,class:"product-filter__filters","aria-role":!!B.value&&"modal",id:P,ref_key:"filterModal",ref:R,onToggleFilters:a[1]||(a[1]=e=>F.value=!0)},null,8,["collapsed","aria-role"])],32),a[6]||(a[6]=(0,l.Uk)()),(0,l._)("div",De,[(0,l.Wm)(ge,{class:"product-filter__results",collapsed:F.value,"pagination-type":e.enablePagination?"paged":"endless","products-per-page":e.productsPerPage,"slot-id":e.slotId,"show-variants":e.showVariants},null,8,["collapsed","pagination-type","products-per-page","slot-id","show-variants"])])])):((0,l.wg)(),(0,l.j4)(fe.Z,{key:1,class:"product-filter__loading-spinner"}))],10,we)}}}),Oe=(0,N.Z)(xe,[["__scopeId","data-v-0f531362"]])},4580:(e,t,a)=>{a.r(t),a.d(t,{default:()=>c});var l=a(5166),r=a(7105),i=a(7651);const o={key:0,class:"cta-teaser-slider__controls-wrapper"},n={class:"cta-teaser-slider__controls hidden--mobile"},s=["aria-label","disabled"],u=["aria-label","disabled"],c=Object.assign({name:"CtaTeaserSlider"},{__name:"CtaTeaserSlider",props:{mobileLayout:{type:String,default:"slider"},innerWrapperAttrs:{type:Object,default:()=>({})}},setup(e){const t=(0,l.iH)(null),a=(0,l.iH)(null),{labelStore:c}=(0,r.b)({labelsRequired:["global"]}),d=(0,l.iH)(0),v=(0,l.iH)(0),p=(0,l.iH)(!1),g=(0,l.iH)(0),f=(0,l.iH)(null),m=(0,l.iH)([]),b=(0,l.Fl)(()=>g.value<=0),y=(0,l.Fl)(()=>g.value+v.value>=d.value),_=(0,l.Fl)(()=>({"--indicator-width":`${v.value/d.value*100}%`,"--indicator-offset":`${g.value/d.value*100}%`}));function w(){d.value=a.value.scrollWidth,v.value=t.value.scrollWidth,p.value=d.value>v.value}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"next";!function(){const e=t.value.getBoundingClientRect().left,a=g.value,l=m.value.map(t=>{const l=t.getBoundingClientRect().left-e+a;return Math.round(l)});if(0===l.length||l.some(e=>!Number.isFinite(e)||e<0)||l.some(e=>e>d.value+5)||l.some((e,t)=>t>
10&&e<=l[t-1]))return void console.warn("[CtaTeaserSlider] invalid linkPositions, ignoring",l);f.value=l}(),(0,l.Y3)(()=>{(()=>{const t="next"===e?f.value.find(e=>e>g.value):[...f.value].reverse().find(e=>e<g.value);a.value.scrollTo({top:0,left:t,behavior:"smooth"})})()})}function P(){g.value=a.value.scrollLeft}return(0,l.bv)(()=>{m.value=[...a.value.querySelectorAll(".cta-teasers__cta-item")],(0,l.Y3)(w),window.addEventListener("resize",(0,i.Ds)(()=>{w()},300),{passive:!0});new MutationObserver(()=>{m.value=[...a.value.querySelectorAll(".cta-teasers__cta-item")],w()}).observe(a.value,{subtree:!0,childList:!0})}),(r,i)=>{const d=(0,l.up)("icon");return(0,l.wg)(),(0,l.iD)("section",{class:(0,l.C_)(["cta-teaser-slider container",[`cta-teaser-slider--${e.mobileLayout}`]]),style:(0,l.j5)(_.value)},[(0,l._)("div",{ref_key:"outerWrapper",ref:t,class:"cta-teaser-slider__content-wrapper"},[(0,l._)("div",(0,l.dG)(e.innerWrapperAttrs,{ref_key:"innerWrapper",ref:a,class:"cta-teaser-slider__inner-wrapper",onScrollPassive:P}),[(0,l.WI)(r.$slots,"default")],16)],512),i[5]||(i[5]=(0,l.Uk)()),p.value?((0,l.wg)(),(0,l.iD)("div",o,[(0,l._)("div",n,[(0,l._)("button",{type:"button",class:(0,l.C_)(["cta-teaser-slider__control-button",{"cta-teaser-slider__control-button--disabled":b.value}]),"aria-label":(0,l.SU)(c)["global.previous"],disabled:b.value,onClick:i[0]||(i[0]=e=>h("prev"))},[(0,l.Wm)(d,{name:"angle-left",class:"cta-teaser-slider__control-button-icon"})],10,s),i[2]||(i[2]=(0,l.Uk)()),(0,l._)("button",{type:"button",class:(0,l.C_)(["cta-teaser-slider__control-button",{"cta-teaser-slider__control-button--disabled":y.value}]),"aria-label":(0,l.SU)(c)["global.next"],disabled:y.value,onClick:i[1]||(i[1]=e=>h("next"))},[(0,l.Wm)(d,{name:"angle-right",class:"cta-teaser-slider__control-button-icon"})],10,u)]),i[3]||(i[3]=(0,l.Uk)()),i[4]||(i[4]=(0,l._)("div",{class:"cta-teaser-slider__indicator"},null,-1))])):(0,l.kq)("v-if",!0)],6)}}})},3635:(e,t,a)=>{a.d(t,{Z:()=>c});var l=a(5166),r=a(7105);const i=["role","aria-label","onKeydown"],o=["onClick","onKeydown"],n={key:0,class:"rating-stars__ratings-count copy copy--large t--semibold"},s=["textContent"],u={key:1},c=Object.assign({name:"RatingStars"},{__name:"RatingStars",props:{rateable:{type:Boolean,default:!0},rating:{type:Number,required:!0},ratingsCount:{type:Number},showRatingText:{type:Boolean,default:!0},suffix:{type:String,default:null}},emits:["rated"],setup(e,t){let{emit:a}=t;const c=(0,l.iH)(null),d=e,v=a,{labelStore:p}=(0,r.b)({labelsRequired:["global"]}),g=(0,l.iH)(!1),f=(0,l.iH)(d.rating),m=(0,l.iH)(null),b=(0,l.Fl)(()=>d.rateable?p.value["global.rate"]:p.value["global.rating"]),y=(0,l.Fl)(()=>{var e;let t=null===(e=f.value)||void 0===e?void 0:e.toFixed(1);return m.value&&(t=m.value.format(t)),t}),_=(0,l.Fl)(()=>[0,1,2,3,4].map(e=>({width:100*((32-21.47)/2/32+21.47*Math.max(0,Math.min(f.value-e,1))/32)+"%"}))),w=(0,l.Fl)(()=>0!=f.value?Math.ceil(f.value)-1:0);function h(){var e,t,a,l,r;d.rateable&&(0!=w.value?(f.value=Math.ceil(f.value)-1,null===(e=c.value)||void 0===e||null===(t=e[w.value])||void 0===t||t.focus()):(f.value=null===(a=_.value)||void 0===a?void 0:a.length,null===(l=c.value)||void 0===l||null===(r=l[w.value])||void 0===r||r.focus()))}function P(){var e,t,a,l,r;d.rateable&&(w.value!=(null===(e=_.value)||void 0===e?void 0:e.length)-1?(f.value=Math.ceil(f.value)+1,null===(t=c.value)||void 0===t||null===(a=t[w.value])||void 0===a||a.focus()):(f.value=1,null===(l=c.value)||void 0===l||null===(r=l[w.value])||void 0===r||r.focus()))}function k(){d.rateable&&(f.value=0!=f.value?f.value:1)}function S(e){d.rateable&&(v("rated",e),f.value=e)}return(0,l.bv)(()=>{const e=document.querySelector("html").dataset.locale;e&&null!==Intl&&void 0!==Intl&&Intl.NumberFormat&&(m.value=new Intl.NumberFormat(e,{minimumFractionDigits:1})),g.value=!0}),(0,l.YP)(()=>d.rating,e=>{f.value=e}),(t,a)=>{var r,d;const v=(0,l.up)("icon");return g.value?((0,l.wg)(),(0,l.iD)("div",{key:0,class:(0,l.C_)(["rating-stars",{"rating-stars--rateable":e.rateable}])},[(0,l._)("div",(0,l.dG)({...!e.rateable&&{"aria-valuetext":`${null===(r=f.value)||void 0===r?void 0:r.toFixed(1)}`,"aria-valuenow":`${null===(d=f.value)||void 0===d?void 0:d.toFixed(1)}
1`,"aria-valuemin":"0","aria-valuemax":"5"}},{class:"rating-stars__stars",role:e.rateable?"radiogroup":"meter","aria-label":b.value,onFocusin:k,onKeydown:[(0,l.D2)(h,["left"]),(0,l.D2)(P,["right"]),(0,l.D2)((0,l.iM)(P,["prevent"]),["down"]),(0,l.D2)((0,l.iM)(h,["prevent"]),["up"])]}),[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(_.value,(t,r)=>((0,l.wg)(),(0,l.iD)("div",(0,l.dG)({ref_for:!0},{...e.rateable&&{role:"radio","aria-checked":`${w.value==r}`,tabindex:w.value==r?0:-1,"aria-label":`${r+1} ${0==r?(0,l.SU)(p)["global.star"]:(0,l.SU)(p)["global.stars"]}`}},{class:"rating-stars__star",key:r,ref_for:!0,ref_key:"radioButton",ref:c,onClick:e=>S(r+1),onKeydown:(0,l.D2)((0,l.iM)(e=>S(r+1),["prevent"]),["space"])}),[(0,l.Wm)(v,{class:"rating-stars__star-back",name:"star"}),a[0]||(a[0]=(0,l.Uk)()),(0,l._)("div",{class:"rating-stars__front-mask",style:(0,l.j5)({width:t.width})},[(0,l.Wm)(v,{class:"rating-stars__star-front",name:"star"})],4)],16,o))),128))],16,i),a[1]||(a[1]=(0,l.Uk)()),e.showRatingText?((0,l.wg)(),(0,l.iD)("div",n,[(0,l.WI)(t.$slots,"default",{computedRating:y.value,ratingsCount:e.ratingsCount},()=>[(0,l.Uk)((0,l.zw)(y.value),1),e.suffix?((0,l.wg)(),(0,l.iD)("span",{key:0,textContent:(0,l.zw)(" "+e.suffix)},null,8,s)):(0,l.kq)("v-if",!0),e.ratingsCount?((0,l.wg)(),(0,l.iD)("span",u," ("+(0,l.zw)(e.ratingsCount)+")",1)):(0,l.kq)("v-if",!0)])])):(0,l.kq)("v-if",!0)],2)):(0,l.kq)("v-if",!0)}}})}}]);

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.