1"use strict";(self.webpackChunkjf_webshop=self.webpackChunkjf_webshop||[]).push([[6707],{23408:function(e,t,o){Object.defineProperty(t,"B",{value:!0}),t.A=void 0;var r=o(53751),a=h(o(83680)),n=h(o(23168)),i=h(o(49025)),c=o(901),l=o(53359),u=o(71427),s=o(73812),d=h(o(22742)),p=h(o(98207)),m=o(29037),f=h(o(50535)),v=h(o(79816));function h(e){return e&&e.__esModule?e:{default:e}}const g={key:0,class:"mix-and-match-module"},y={class:"mix-and-match-module__grid"},S={key:0,class:"mix-and-match-module__grid"},b={key:1,class:"status-box status-box--error mb-3"},k={key:2,class:"mix-and-match-module__footer"};t.A=(0,r.defineComponent)({__name:"App",props:{mixAndMatchSearchApiUrl:{},liveProductsStockInSingleStoreUrl:{},liveProductStockInMultipleStoresUrl:{},mixMatchRuleId:{},language:{},enabledShowStoreLocation:{type:Boolean},enableDeliveryCostIndicator:{type:Boolean},productLocationDictionaryItems:{}},setup(e){const t=e,o=(0,r.ref)([]),h=(0,r.ref)(0),_=(0,r.ref)(!0),w=(0,r.ref)(!1),P=(0,r.ref)(!1),I=(0,r.ref)(!1),B=(0,c.useStoreStore)(),E=(0,l.useStocksStore)(),L=async()=>{w.value=!0;const e=h.value+1;P.value=!1;try{const t=await M(e);o.value=o.value.concat(t.products),h.value=e,_.value=t.isLastPage}catch{P.value=!0}w.value=!1},M=async e=>{const o={page:e,pageSize:4,ruleIds:[t.mixMatchRuleId],language:t.language,storeNumber:B.store?.aspect4Number??0};let r=null;try{if(r=await n.default.post(t.mixAndMatchSearchApiUrl,o),r&&r.products){const e=r.products.filter((e=>e.stocks[s.StockInfoType.SpecificPhysicalStore]&&e.stocks[s.StockInfoType.SpecificPhysicalStore].useRealtimeStock));if(e.length>0)try{r.products=await E.getUpdatedProductsWithFastRunners({apiUrl:t.liveProductsStockInSingleStoreUrl,store:B.store?.aspect4Number??0,products:e.map((({erpItemNo:e,erpGroupNo:t})=>({erpItemNo:e,erpGroupNo:t}))),updatingProducts:r.products})}catch(e){console.error("Unable to get live stocks")}return Promise.resolve(r)}return Promise.reject()}catch(e){return Promise.reject(e)}},F=async()=>{o.value=[],w.value=!0,P.value=!1;try{const e=await M(0);o.value=e.products,_.value=e.isLastPage}catch{P.value=!0}h.value=0,w.value=!1},N=(0,r.computed)((()=>o.value?.some((e=>(0,p.default)(e?.price)))??!1));return(0,r.onMounted)((()=>{document.body.addEventListener(u.StoreEvent.Updated,F),F();const e=new URLSearchParams(window.location.search),t=document.getElementById("mixandmatch");e.get("mixandmatch")&&t&&(I.value=(0,f.default)(m.Breakpoint.Lg),setTimeout((()=>{(0,d.default)(t,I.value?-320:-50)}),1e3))})),(0,r.onUnmounted)((()=>{document.body.removeEventListener(u.StoreEvent.Updated,F)})),(e,n)=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(v.default),null,{placeholder:(0,r.withCtx)((()=>n[0]||(n[0]=[(0,r.createElementVNode)("div",{class:"lazy-height lazy-height__mix-and-match"},[(0,r.createElementVNode)("div",{class:"spinner-border"})],-1)]))),default:(0,r.withCtx)((()=>[e.mixMatchRuleId?((0,r.openBlock)(),(0,r.createElementBlock)("div",g,[(0,r.createElementVNode)("h3",null,(0,r.toDisplayString)(e.$l("title")),1),(0,r.createElementVNode)("div",y,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(o.value,(o=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:"mix-and-match-module__item",key:o.productId},[(0,r.createVNode)(a.default,(0,r.mergeProps)({ref_for:!0},o,{image:o.primaryImageThumbUrl,hasHover:!0,selectedStore:(0,r.unref)(B).store,enabledShowStoreLocation:t.enabledShowStoreLocation,hasDeliveryCostIndicator:e.enableDeliveryCostIndicator,hideStockNumberInUI:o.hideStockNumberInUI,productLocationDictionaryItems:t.productLocationDictionaryItems,hasPreviousPrice:N.value}),null,16,["image","selectedStore","enabledShowStoreLocation","hasDeliveryCostIndicator","hideStockNumberInUI","productLocationDictionaryItems","hasPreviousPrice"])])))),128))]),w.value?((0,r.openBlock)(),(0,r.createElementBlock)("div",S,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(4,(e=>(0,r.createVNode)(i.default,{key:e}))),64))])):(0,r.createCommentVNode)("",!0),P.value?((0,r.openBlock)(),(0,r.createElementBlock)("div",b,(0,r.toDisplayString)(e.$l("generalError")),1)):(0,r.createCommentVNode)("",!0),_.value?(0,r.createCommentVNode)("",!0):((0,r.openBlock)(),(0,r.createElementBlock)("div",k,[(0,r.createElementVNode)("button",{class:"btn btn-primary icon arrow",onClick:L},(0,r.toDisplayString)(e.$l("buttonLabel")),1)]))])):(0,r.createCommentVNode)("",!0)])),_:1}))}})}
1,5703:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.piniaInstance=void 0;var r,a=o(48086),n=(r=o(29164))&&r.__esModule?r:{default:r};(t.piniaInstance=(0,a.createPinia)()).use(n.default)},85640:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(53751),a=l(o(59375)),n=l(o(50195)),i=l(o(15593)),c=o(5703);function l(e){return e&&e.__esModule?e:{default:e}}class u extends HTMLElement{connectedCallback(){const e=(0,n.default)(this.dataset.id),t=new i.default;t.addLabels(e.labels);const o=(0,r.createApp)(a.default,{...e.data});o.use(c.piniaInstance),o.use(t),o.mount(this)}}t.default={register:function(e){customElements.define(e,u)}}},71427:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.StoreEvent=void 0,t.StoreEvent=function(e){return e.Updated="store:updated",e}({})},37982:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.FreeFreightType=void 0,t.FreeFreightType=function(e){return e[e.NotFreeFreight=0]="NotFreeFreight",e[e.FreeFreight=1]="FreeFreight",e[e.FreeFreightBridgedOnly=2]="FreeFreightBridgedOnly",e[e.FreeFreightButHideIcons=3]="FreeFreightButHideIcons",e}({})},41227:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.AlternativePriceFontSize=void 0,t.AlternativePriceFontSize=function(e){return e[e.Small=0]="Small",e[e.Medium=1]="Medium",e[e.Large=2]="Large",e}({})},19622:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,a=o(64426),n=(r=o(23168))&&r.__esModule?r:{default:r};t.default=new class{async getSuggestedItems(e,t){return n.default.get(e,{params:t})}push(e,t){window.raptor?window.raptor.push(e,t):console.warn("Raptor service: raptor object is not defined. Can be blocked by cookie consent")}pushEmailMarketingId(e){e&&(window.raptor?window.raptor.push("setEmailMarketingId",(0,a.toBase64)(e)):console.warn("Raptor service: raptor object is not defined. Can be blocked by cookie consent"))}clickPush(e,t,o){window.raptor?window.raptor.push(e,t,o):console.error("Raptor service: raptor object is not defined")}basketLocationPush(e,t,o){window.raptor?window.raptor.push(e,t,o):console.error("Raptor service: raptor object is not defined")}pushUnique(e,t,o){if(!o||!t.p2)return console.warn("Not enough data for unique event"),void this.push(e,t);const r="jf-raptor-unique-event-key",a=(n=`${r}-${t.p2}`,sessionStorage.getItem(n.toString()));var n;a&&a===o.toString()||(this.push(e,t),(e=>{sessionStorage.setItem(`${r}-${t.p2}`,e.toString())})(o))}}},88594:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.useHistoryStore=void 0;var r=o(48086),a=o(53751);t.useHistoryStore=(0,r.defineStore)("HistoryStore",(()=>{const e=(0,a.ref)(null),t=(0,a.ref)(null),o=(0,a.ref)(1),r=(0,a.ref)(0);return{productPagesToLoad:o,storeboxReceipt:e,orderReceipt:t,userPosition:r,updateProductPagesToLoad:()=>{o.value=o.value+1},resetLoadCounter:()=>{o.value=1},updateStoreboxReceipt:t=>{e.value=t},updateOrderReceipt:e=>{t.value=e},updateUserPosition:e=>{r.value=e}}}),{persist:{key:"jf-history",paths:["productPagesToLoad","storeboxReceipt","orderReceipt","userPosition"]}})},98207:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&e.previousPriceShow}},64426:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.toBase64=t.default=void 0;const o=e=>{const t=(new TextEncoder).encode(e);let o="";return t.forEach((e=>{o+=String.fromCharCode(e)})),btoa(o)};t.toBase64=o,t.default=o},59375:function(e,t,o){o.r(t),o.d(t,{__esModule:function(){return r.B},default:function(){return a}});var r=o(23408),a=r.A}}]);
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.