PageSourceSearch

https://webasto-group.com/etc.clientlibs/webasto/clientlibs/client…/chunks/4392-3b2221e657fec999ee71.js

js webasto-group.com collected 2026-10-02 17:25:07 UTC 17,601 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkaem_maven_archetype=self.webpackChunkaem_maven_archetype||[]).push([[4392,7663,9987,5258,4386],{9987:function(e,t,r){r.r(t),r.d(t,{GlideCarousel:function(){return i},Slide:function(){return l},defaultOptions:function(){return c}});var n=r(7294),o=r(5214),a=r(9654);const c={type:"slider",rewind:!1,bound:!0,perView:4,dragThreshold:!1,gap:48,breakpoints:{1919:{perView:3,gap:40},1439:{perView:3,gap:32},1023:{perView:2,gap:24,dragThreshold:120},767:{perView:1,gap:16,dragThreshold:120}}},i=(0,n.forwardRef)((({children:e,options:t=c,title:r,showProgressBar:i=!1,showPeek:l=!1},s)=>{const d=(0,n.useRef)(null),u=(0,a.a)("screen-md"),[p,m]=(0,n.useState)(0),f=(0,n.useRef)(null);return(0,n.useImperativeHandle)(s,(()=>d.current)),(0,n.useEffect)((()=>{const r=!!d.current?.closest('[data-mobile-carousel="true"]'),a={...c.breakpoints?.[767],...t?.breakpoints?.[767]},s={...c,...t,...l?{peek:{before:0,after:75}}:{},breakpoints:{...c.breakpoints,...t?.breakpoints??{},...r?{767:{...a,peek:{before:40,after:40}}}:{}}},p=()=>{const e=d.current;if(!e)return;if(window.innerWidth>=768)return e.style.removeProperty("margin-inline-start"),void e.style.removeProperty("width");e.style.removeProperty("margin-inline-start"),e.style.removeProperty("width");const{left:t}=e.getBoundingClientRect();e.style.marginInlineStart=`-${t}px`,e.style.width=`${window.innerWidth}px`};r&&(p(),window.addEventListener("resize",p));const g=new o.Z(d.current,s),_=()=>{const t=n.Children.count(e),r=Number(g.settings.perView)||1,o=Math.ceil(t/r),a=Math.floor(g.index/r);m((a+1)/o*100)};return i&&g.on(["mount.after","run.after","resize"],_),u&&g.on(["mount.after","resize"],(()=>{const{perView:t}=g.settings,r=n.Children.count(e);if(d.current){const e=d.current.querySelector(".glide__arrows");if(!e)return;r<=t?(e.style.display="none",g.update({touchAngle:0})):e.removeAttribute("style")}f.current&&f.current.style.setProperty("--glide-height",`${f.current.getBoundingClientRect().height}px`),g.go("<<")})),g.mount(),()=>{r&&(window.removeEventListener("resize",p),d.current&&(d.current.style.removeProperty("margin-inline-start"),d.current.style.removeProperty("width"))),g.destroy()}}),[u,n.Children.count(e)]),n.createElement("div",{className:"glide",ref:d},n.createElement("div",{className:"cmp-glide-carousel__header"},r&&n.createElement("p",{className:"cmp-glide-carousel__title"},r),n.createElement("div",{className:"cmp-glide-carousel__arrows glide__arrows","data-glide-el":"controls"},n.createElement("button",{type:"button","data-glide-dir":"<","aria-label":"Previous",className:"glide__arrow glide__arrow--left cmp-glide-carousel__arrow cmp-glide-carousel__arrow--left"}),n.createElement("button",{type:"button","data-glide-dir":">","aria-label":"Next",className:"glide__arrow glide__arrow--right cmp-glide-carousel__arrow cmp-glide-carousel__arrow--right"}))),n.createElement("div",{className:"glide__track","data-glide-el":"track"},n.createElement("ul",{className:"glide__slides",ref:f},e)),!i&&n.createElement("div",{className:"glide__bullets","data-glide-el":"controls[nav]"},n.Children.map(e,((e,t)=>n.createElement("button",{key:`glide__bullet${t}`,type:"button","aria-label":`Slide ${t}`,className:"glide__bullet","data-glide-dir":`=${t}`})))),i&&n.createElement("div",{className:"cmp-glide-carousel__progress"},n.createElement("div",{className:"cmp-glide-carousel__progress-bar",style:{width:`${p}%`}})))})),l=(0,n.forwardRef)((({children:e},t)=>n.createElement("li",{className:"glide__slide",ref:t},e)))},5258:function(e,t,r){r.r(t),r.d(t,{Component:function(){return n.GlideCarousel},Slide:function(){return n.Slide}});var n=r(9987)},4386:function(e,t,r){r.r(t),r.d(t,{ProductCard:function(){return l}});var n=r(7294),o=r(5309);const a=(e,t,r)=>{const n={cta:{event:"cmp:productTeaserCtaClick",eventInfo:{productId:t.productId,productName:t.productTitle||"",productCategory:t.productProductType?.filterOptionName||"",productListName:"Product Finder Results",ctaLabel:r?.ctaLabel||"",currentPage:window.location.href,url:t.productDetailPageUrl,position:Number(r?.position)+1}},image:{event:"cmp:productTeaserImageClick",eventInfo:{productId:t.productId,productName:t.productTitle||"",productCategory:t.productProductType?.filterOptionName||"",productListName:"Product Finder Results",imageAlt:t.productTitle||"",imageUrl:t.productImage?._dynamicUrl||t.productImage?._path||"",currentPage:window.location.href,url:t.productDetailPageUrl,position:Number(r?.position)+1}}};(0,o.T3)(n[e])};var c=r(7663),i=r(3276);function l({product:e,url:t,i:r}){const o=(0,c.useDataset)(),l=(0,i.gG)(),s=e.productImage?._dynamicUrl||e.productImage?._path;return n.createElement("div",{className:"cmp-productcard"},s&&n.createElement("div",{className:"cmp-productcard__image"},n.createElement("div",{className:"cmp-image"},n.createElement("a",{className:"cmp-productcard__image-link",href:t||e.productDetailPageUrl,onClick:()=>a("image",e,{position:r})},n.createElement("img",{className:"cmp-image__image",src:s,alt:e.productTitle}
1))),e.productInfo&&n.createElement("strong",{className:"cmp-productcard__info"},e.productInfo)),n.createElement("div",{className:"cmp-productcard__content"},n.createElement("div",{className:"cmp-productcard__pretitle"},e.productSolution?.filterOptionName," |"," ",e.productProductType?.filterOptionName),n.createElement("h2",{className:"cmp-productcard__title"},e.productTitle),n.createElement("div",{className:"cmp-productcard__description",dangerouslySetInnerHTML:{__html:e.productDescription.plaintext}}),n.createElement("div",{className:"cmp-productcard__suitable"},n.createElement("strong",null,o.labelSuitablefor,":"),n.createElement("ul",{className:"cmp-productcard__icons"},e.productVehicleType.map((e=>n.createElement("li",{key:e.filterId,className:"icon icon--white","data-type":e.filterIcon,title:e.filterOptionName}))))),n.createElement("div",{className:"cmp-productcard__action-container"},n.createElement("a",{className:"cmp-productcard__action-link",href:t||e.productDetailPageUrl,onClick:()=>a("cta",e,{ctaLabel:l["product.productDetails"],position:r})},l["product.productDetails"],n.createElement("span",{className:"icon","data-type":"arrow-right"})))))}},4604:function(e,t,r){r.d(t,{Y_:function(){return m},ot:function(){return p},vc:function(){return d},xe:function(){return f}});var n=r(5103),o=r(5495),a=r(3487),c=r(9024),i=r(1558),l=r(7328);async function s(e){const t=e.map((e=>e.productDetailPageUrl?.replace(".html","")));try{const r=await async function(){return(await fetch("/libs/granite/csrf/token.json").then((e=>e.json()))).token}(),n=`${window.currentResourcePath}.product-urls.json`,o=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json","CSRF-Token":r},body:JSON.stringify(t)}).then((e=>e.json()));return e.map((e=>({...e,productDetailPageUrl:o[e.productDetailPageUrl.replace(".html","")]||e.productDetailPageUrl})))}catch(t){return e}}function d(e){const{productProductType:t,productSolution:r,productId:n}=e,o=(0,i.Kd)();if(r&&t){const c=`/${o.language}-${o.country}/${a={productSolution:r.filterId,productType:t.filterId,productId:n},Object.keys(a).forEach((e=>{a[e]=a[e].toLowerCase()})),a.productType===a.productId?`${a.productSolution}/${a.productType}.html`:`${a.productSolution}/${a.productType}/${a.productId}.html`}`;return{...e,productDetailPageUrl:c}}var a;return e}const u=(0,n.cn)((async()=>{const{country:e,language:t}=(0,i.Kd)(),{data:r}=await(0,l.JT)("PRODUCTS",{region:e,locale:t,productId:""}),n=r.productList.items.map((e=>d(e))),o=await s(n);return{products:o,filter:(0,a.L)(o),sort:c.P.NEWEST}})),p=(0,o.qs)((async e=>(await e(u)).filter)),m=(0,n.cn)((async e=>(await e(u)).products)),f=(0,o.qs)((async e=>(await e(u)).sort))},3487:function(e,t,r){r.d(t,{L:function(){return l},m:function(){return s}});var n=r(8583),o=r(7294),a=r(4604),c=r(2687),i=r(1558);function l(e){const t={solution:[],productType:[],accessory:[],operationMode:[],vehicleType:[]},r={solution:new Set,productType:new Set,accessory:new Set,operationMode:new Set,vehicleType:new Set};return e.forEach((e=>{Object.keys(t).forEach((n=>{const o=((e,t)=>{let r=[];if("accessory"===t)r=e.productAccessories.map((e=>({filterId:e.productId,filterOptionName:e.productTitle})));else{const n=e[`product${(0,i.kC)(t,!1)}`];n&&(r=Array.isArray(n)?n:[n])}return r})(e,n),a=((e,t,r)=>{const n=[...t],o=new Set(r);return e.filter((e=>!o.has(e.filterId))).forEach((e=>{n.push({...e,selected:!1,productsCount:0}),o.add(e.filterId)})),{newFilters:n,newSeen:o}})(o,t[n],r[n]);t[n]=a.newFilters,r[n]=a.newSeen}))})),t}const s=()=>{const[e,t]=(0,n.KO)(a.ot),r=(0,n.Dv)(a.Y_),{preselectedSolution:i,withSolutionsFilter:l}=(0,c.A)(),s=(0,o.useCallback)(((e,r)=>t((t=>({...t,[e]:t[e].map((e=>r?e.filterId===r?{...e,selected:!e.selected}:e:{...e,selected:!e.selected}))})))),[]),d=(0,o.useCallback)(((e,r)=>t((t=>({...t,[e]:t[e].map((e=>({...e,selected:r})))})))),[]),u=(0,o.useCallback)(((t,r)=>e[r].find((e=>e.filterId===t))?.selected??!1),[e]),p=(0,o.useCallback)((r=>{const n={...e};Object.keys(n).forEach((e=>{(!r||e===r)&&(n[e]=n[e].map((e=>{let t=!1;return!l&&e._path&&(t=i===e._path),{...e,selected:t}})))}
1)),t(n)}),[e]),m=(0,o.useMemo)((()=>{const t=new Map;return Object.keys(e).forEach((n=>{e[n].forEach((o=>{const a=r.reduce(((t,r)=>{const a=(e=>[e.productOperationMode,e.productVehicleType,e.productProductType,e.productSolution,e.productAccessories.map((e=>e.productId))].flat().filter((e=>!!e)).map((e=>e.filterId||e)))(r);return a.includes(o.filterId)&&((t,r)=>Object.keys(e).filter((e=>e!==r)).every((r=>{const n=e[r].filter((e=>e.selected)).map((e=>e.filterId));return!n.length||n.some(t.includes.bind(t))})))(a,n)?t+1:t}),0);t.set(o.filterId,a)}))})),Object.fromEntries(Object.entries(e).map((([e,r])=>[e,r.map((e=>({...e,productsCount:t.get(e.filterId)??0})))])))}),[e,r]);return{setFilters:t,toggleAll:d,filters:m,clearFilters:p,updateFilter:s,isFilterSelected:u}}},1309:function(e,t,r){r.d(t,{r:function(){return i}});var n=r(8583),o=r(7294),a=r(4604),c=r(7743);function i(){const e=(0,n.Dv)(a.Y_),t=(0,n.Dv)(a.ot),r=(0,n.Dv)(a.xe),i=(0,o.useMemo)((()=>e.filter((e=>Object.keys(t).every((r=>{const n=t[r].filter((e=>e.selected)).map((e=>e.filterId));if(0===n.length)return!0;const o=[e.productOperationMode,e.productVehicleType,e.productProductType,e.productSolution,e.productAccessories.map((e=>e.productId))].flat().filter((e=>!!e)).map((e=>e.filterId||e));return n.some((e=>o.includes(e)))}))))),[e,t]);return(0,c.$)(r,i)}},7743:function(e,t,r){r.d(t,{$:function(){return i},Z:function(){return l}});var n=r(8583),o=r(4604),a=r(9024),c=r(1558);function i(e,t){const r=[...t];switch(e){case a.P.NEWEST:r.sort(((e,t)=>(0,c.mI)(t)-(0,c.mI)(e)));break;case a.P.OLDEST:r.sort(((e,t)=>(0,c.mI)(e)-(0,c.mI)(t)));break;case a.P.NAMING_ASC:r.sort(((e,t)=>e.productTitle.localeCompare(t.productTitle)));break;case a.P.NAMING_DESC:r.sort(((e,t)=>t.productTitle.localeCompare(e.productTitle)))}return(e=>{e.sort(((e,t)=>e.productIsAccessory&&!t.productIsAccessory?1:!e.productIsAccessory&&t.productIsAccessory?-1:0))})(r),r}function l(){const[e,t]=(0,n.KO)(o.xe);return{sort:e,updateSort:t}}},9024:function(e,t,r){var n;r.d(t,{P:function(){return n}}),function(e){e.NEWEST="Newest",e.OLDEST="Oldest",e.NAMING_ASC="NamingAsc",e.NAMING_DESC="NamingDesc"}(n||(n={}))},2687:function(e,t,r){r.d(t,{A:function(){return o}});var n=r(7663);const o=()=>{const{preselectedSolution:e,withSolutionsFilter:t}=(0,n.useDataset)();return{isPreselectedImmutable:({_path:r})=>Boolean(!t&&r&&e===r),preselectedSolution:e,withSolutionsFilter:t}}},4392:function(e,t,r){r.r(t),r.d(t,{default:function(){return l}});var n=r(7294),o=r(5258),a=r(4386),c=r(1309),i=r(7663);function l(){const e=(0,i.useDataset)(),{title:t,pageName:r}=e,l=(0,c.r)(),s=l.find((e=>e.productId===r));if(!s)return n.createElement(o.Component,{title:e.title},n.createElement("div",null));const{relatedProducts:d}=s,u=l.filter((e=>d.some((t=>t===e._path))));return u.length?n.createElement(o.Component,{title:t},u.map((e=>n.createElement(o.Slide,{key:e.productId},n.createElement(a.ProductCard,{product:e}))))):null}},7663:function(e,t,r){r.r(t),r.d(t,{DatasetContext:function(){return o},DatasetContextProvider:function(){return a},useDataset:function(){return c}});var n=r(7294);const o=(0,n.createContext)({});function a({children:e,dataset:t}){return n.createElement(o.Provider,{value:t},e)}function c(){return(0,n.useContext)(o)}},9654:function(e,t,r){r.d(t,{a:function(){return a}});var n=r(7294);const o={"screen-sm":"(min-width: 0px)","screen-md":"(min-width: 768px)","screen-lg":"(min-width: 1024px)","screen-xl":"(min-width: 1280px)","screen-2xl":"(min-width: 1920px)"};function a(e){const t=o[e],r=e=>window.matchMedia(e).matches,[a,c]=(0,n.useState)(r(t));function i(){c(r(t))}return(0,n.useEffect)((()=>{const e=window.matchMedia(t);return i(),e.addListener?e.addListener(i):e.addEventListener("change",i),()=>{e.removeListener?e.removeListener(i):e.removeEventListener("change",i)}}),[t]),a}},7328:function(e,t,r){r.d(t,{JT:function(){return i}});var n=r(7940);const o={DEALERS:{persistedName:"dealers",query:'\n    query getDealers($locale: String = "en") {\n        dealerList(\n            # Disable _assetTransform for local testing.\n            _assetTransform: { width: 720, format: WEBP, preferWebp: true }\n            _locale: $locale\n            filter: {\n                _path: { _expressions: { value: "/content/dam/webasto", _operator: STARTS_WITH } }\n            }\n        ) {\n            items {\n                name\n                phone\n                zip\n                latitude\n                longitude\n                country\n                address\n                email\n                city\n                url\n                region\n                type\n                image {\n                    ... on ImageRef {\n                        _path\n                        # Disable _dynamicUrl for local testing.\n                        _dynamicUrl\n                    }\n                }\n            }\n        }\n    }\n',params:{}},PRODUCTS:{persistedName:"products",query:'\n    query getProducts($locale: String = "en", $productId: String, $region: String) {\n        productList(\n            _locale: $locale\n            # Disable _assetTransform for local testing.\n            _assetTransform: { width: 720, format: WEBP, preferWebp: true }\n            filter: { productRegions: { _expressions: { value: $region } }, productId: { _expressions: { value: $productId } } }\n        ) {\n            items {\n                _metadata {\n                    calendarMetadata {\n                        name\n                        value\n                    }\n                }\n                productId\n                productTitle\n                productSolution {\n                    ... on FilteroptionModel {\n                        filterId\n                        filterOptionName\n                        filterIcon\n                        _path\n                    }\n                }\n                productAccessories {\n                    productId\n                    productTitle\n                }\n                relatedProducts\n                productProductType {\n                    ... on FilteroptionModel {\n                        filterId\n                        filterOptionName\n                        filterIcon\n                    }\n                }\n                productVehicleType {\n                    ... on FilteroptionModel {\n                        filterId\n                        filterOptionName\n                        filterIcon\n                    }\n                }\n                productDescription {\n                    plaintext\n                }\n                productImage {\n                    ... on ImageRef {\n                        _path\n                        # Disable _dynamicUrl for local testing.\n                        _dynamicUrl\n                    }\n                }\n                productRegions\n                productOperationMode {\n                    ... on FilteroptionModel {\n                        filterId\n                        filterOptionName\n                        filterIcon\n                    }\n                }\n                productInfo\n                productBrand\n                productIsAccessory\n                _path\n            }\n        }\n    }\n',params:{locale:"",productId:"",region:""}},FAIRS:{persistedName:"fairs",query:"\n    query getFairs {\n        fairList {\n            items {\n                _metadata {\n                    calendarMetadata {\n                        name\n                        value\n                    }
1\n                    stringArrayMetadata {\n                        name\n                        value\n                    }\n                }\n                _path\n                fairDate\n                name\n                link\n                address\n                date\n                dateDetails\n                image {\n                    ... on ImageRef {\n                        _path\n                    }\n                }\n            }\n        }\n    }\n",params:{}}},a=new(r.n(n)())({serviceURL:window.location.origin,endpoint:"/content/cq:graphql/webasto/endpoint.json"}),c=e=>(Object.keys(e).forEach((t=>{e[t]&&"object"==typeof e[t]?c(e[t]):e[t]||0===e[t]||delete e[t]})),e),i=async(e,t={})=>(async(e,t={})=>a.runPersistedQuery(`webasto/${o[e].persistedName}`,c(t)))(e,t)}}]);

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.