PageSourceSearch

https://www.toolstation.com/_nuxt/2.12.0-uk-p_id_-RS1yFuhG.js

js toolstation.com collected 2026-09-24 09:36:06 UTC 20,673 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./2.12.0-uk-StoreChangeWarningModal-CJL0NY1R.js","./2.12.0-uk-runtime-core.esm-bundler-CM7kzQMe.js","./2.12.0-uk-preload-helper-BUDLPX_m.js","./2.12.0-uk-branch-ChRIujRF.js","./2.12.0-uk-nuxt-CXFXq3PT.js","./2.12.0-uk-virtual_nuxt_.nuxt_nuxt.config-COOAzfWh.js","./2.12.0-uk-app-CTZzC8Bp.js","./2.12.0-uk-error-C1bjUT20.js","./2.12.0-uk-dist-DWnlDZDm.js","./2.12.0-uk-defu-4HdYzoiL.js","./2.12.0-uk-virtual_nuxt_.nuxt_paths-DZ3dfn71.js","./2.12.0-uk-nuxt-link-BcC8tDYw.js","./2.12.0-uk-utils-A3C2X7wI.js","./2.12.0-uk-runtime-dom.esm-bundler-DzMaGowd.js","./2.12.0-uk-client-only-qqDEkVAa.js","./2.12.0-uk-pinia-D7n058Gr.js","./2.12.0-uk-ecomApi-ieWHTY7n.js","./2.12.0-uk-logger-B0C-TRr1.js","./2.12.0-uk-cookies-Bck4XbVp.js","./2.12.0-uk-useToast-B65vegSL.js","./2.12.0-uk-formValidators-Bbx1sS4J.js","./2.12.0-uk-compat-wfbQIGPc.js","./2.12.0-uk-stringsTransformations-B1Wy6Ssu.js","./2.12.0-uk-StandardPDP-B0ZStS8r.js","./2.12.0-uk-useResponsive-BPl0fnAY.js","./2.12.0-uk-viewport-lGz7m9rX.js","./2.12.0-uk-GiftCardPDP-n5V5NhLg.js"])))=>i.map(i=>d[i]);
2import{n as Qe}from"./2.12.0-uk-rolldown-runtime-CXHxssQy.js";import{o as We,s as z}from"./2.12.0-uk-nuxt-CXFXq3PT.js";import{At as Ke,I as Ze,K as Q,Q as Je,S as He,St as w,U as Xe,b as pe,f as de,lt as Ye,m as et,st as tt,u as c,ut as rt,x as W,z as at}from"./2.12.0-uk-runtime-core.esm-bundler-CM7kzQMe.js";import{d as ot,p as st}from"./2.12.0-uk-error-C1bjUT20.js";import{a as me,r as ge,s as K}from"./2.12.0-uk-app-CTZzC8Bp.js";import{t as Z}from"./2.12.0-uk-preload-helper-BUDLPX_m.js";import{n as it}from"./2.12.0-uk-pinia-D7n058Gr.js";import{t as nt}from"./2.12.0-uk-client-only-qqDEkVAa.js";import"./2.12.0-uk-gift-card-plain-DD98mwVq.js";import{o as ct,t as lt}from"./2.12.0-uk-trolley-De7dk8Hu.js";import{n as f,t as h}from"./2.12.0-uk-logger-B0C-TRr1.js";import{t as ut}from"./2.12.0-uk-branch-ChRIujRF.js";import{t as ve}from"./2.12.0-uk-tracking-FYR3uToY.js";import{n as pt,r as dt}from"./2.12.0-uk-product-BAAPWkl7.js";import{t as fe}from"./2.12.0-uk-tracking-BlKk-Kui.js";import{t as he}from"./2.12.0-uk-useProducts-BFZHQWYm.js";import{r as mt}from"./2.12.0-uk-vue-i18n-D96Pgh8y.js";import{t as gt}from"./2.12.0-uk-_plugin-vue_export-helper-K9rsuiWd.js";import{t as vt}from"./2.12.0-uk-useBloomreach-B_1bCK18.js";import{Bt as ft,Lt as ht,Rt as ye,Ut as V,Wt as yt,a as bt,i as be,r as G,t as wt,zt as St}from"#entry";import{t as kt}from"./2.12.0-uk-stock-C013HLzr.js";import{t as Pt}from"./2.12.0-uk-localeHelpers-D-E8bIqf.js";import{n as Ct}from"./2.12.0-uk-useSearch-D78m_mBx.js";import{n as we,t as Se}from"./2.12.0-uk-productHelpers-CtnFO_7q.js";import{n as _t,r as It,t as At}from"./2.12.0-uk-prices-96TiENtL.js";import{t as Tt}from"./2.12.0-uk-composables-BQoOBjNj.js";var ke=it("productPage",()=>{const l=w(""),B=c(()=>l.value);function x(s){l.value=s}function F(){l.value=""}function D(s){const i=P(s)[0],k=!!i?.discountTable?.length,g=!!i?.itemSelectorDetails?.length,I=i?.discountValues!==0,C=i?.groupSelector?.count>1,n=i?.body?.toLowerCase().includes("free");return k?"Bulk Save":C?"Multi-buy":g&&I?"Bundle":g&&!I||n?"Free Item":""}function P(s){return s?.promoMessages?.length?s.promoMessages?.filter(i=>i.headline||i.body||i.discountTable):[]}function S(s){return!!P(s).length}function y(){l.value=""}return{activePromoType:l,getActivePromoType:B,setActivePromo:x,clearActivePromo:F,getPromoType:D,getProductPromoMessages:P,hasProductPromoMessages:S,reset:y}}),Bt=()=>{},Pe=()=>{const l=ht("C0004");window.BV?.cookieConsent?.setConsent({bv_metrics:l,BVBRANDID:l,BVBRANDSID:l})},Ce=!1,J=null,xt=(l=Bt)=>{typeof window>"u"||(Ce||(window.addEventListener("myCustomConsentChangedEvent",Pe),Ce=!0),Pe(),J&&window.BV?.reviews?.off&&window.BV.reviews.off("show",J),J=l,window.BV?.reviews?.on("show",l))},Dt=()=>typeof window>"u"?!1:!!window.BV,Rt=new Set(["/industrial-spray-paint-500ml/p80525","/mini-trunking-3m/p52245","/penny-washer/p78336","/tacwise-brad-nail-strip/p36511","/damp-proof-course/p78151","/industrial-spray-paint-500ml/p36577","/galvanised-felt-nail-pack/p48247","/high-tensile-set-screw/p95362","/insulation-tape/p73266","/penny-washer/p86424","/m
2ini-trunking-3m/p28509","/wall-plug/p55128","/ct1-adhesive-sealant/p21735","/penny-washer/p94063","/silicone-825/p87959","/made4trade-compression-blank-nut/p39184","/coach-bolt-nut/p54825","/penny-washer/p90716","/mini-trunking-3m/p12544","/aluminium-oxide-sanding-roll-115mm/p35491","/aluminium-oxide-sanding-roll-115mm/p59877","/sds-plus-masonry-drill-bit/p88163","/penny-washer/p37161","/pinkgrip-adhesive/p10243","/kudox-chrome-flat-ladder-towel-radiator/p49853","/insulation-tape/p61808","/kudox-premium-type-21-steel-panel-radiator/p40687","/collated-drywall-phillips-screw/p50931","/industrial-spray-paint-500ml/p98041","/minotaur-junior-hacksaw-blades/p54692","/coach-bolt-nut/p74965","/solvent-weld-waste-pipe-3m/p87411","/tacwise-brad-nail-strip/p36768","/tacwise-brad-nail-strip/p47152","/caulk-once/p91862","/aluminium-oxide-sanding-roll-115mm/p45547","/kudox-premium-type-22-steel-panel-radiator/p66309","/petro-tape-10m/p72819","/coach-bolt-nut/p47123","/coach-bolt-nut/p84392","/sds-plus-masonry-drill-bit/p79770","/jg-speedfit-equal-straight-coupler/p54727","/appleby-dry-lining-boxes/p48850","/tacwise-brad-nail-strip/p98063","/jg-speedfit-elbow-connector/p23989","/kudox-premium-type-21-steel-panel-radiator/p63853","/tacwise-brad-nail-strip/p85594","/high-tensile-set-screw/p22778","/screw-tite-pozi-pan-head-zinc-plated-screw/p52072","/coach-bolt-nut/p50532","/coach-screw/p99831","/minotaur-adjustable-wide-jaw-wrench/p71469","/sds-plus-masonry-drill-bit/p21272","/damp-proof-course/p54162","/bg-mcb/p70238","/collated-drywall-phillips-screw/p53235","/sds-plus-masonry-drill-bit/p70806","/cobalt-drill-bit/p73476","/ct1-adhesive-sealant/p25205","/bedec-barn-paint/p90433","/cobalt-drill-bit/p23612","/high-tensile-set-screw/p18043","/silicone-825/p51645","/kudox-premium-type-11-steel-panel-radiator/p27315","/aluminium-oxide-sanding-roll-115mm/p53602","/drywall-black-phosphate-phillips-screw/p23128","/torbeck-adjustable-height-fill-valve/p32033","/high-tensile-set-screw/p56735","/doncaster-cables-armoured-cable-cleats/p12386","/hamilton-for-the-trade-mini-foam-roller-set/p54866","/kudox-premium-type-21-steel-panel-radiator/p23988","/high-tensile-set-screw/p10787","/aluminium-oxide-sanding-roll-115mm/p52521","/twinthread-countersunk-pozi-screw/p41483","/c-tec-superfast-plus-adhesive/p49296","/insulation-tape/p70218","/trend-12-straight-worktop-router-cutter/p11478","/roofing-bolt/p46113","/jg-speedfit-reducing-straight-coupler/p41471","/high-tensile-set-screw/p87071","/masonry-torx-frame-fixing-screw/p60986","/coach-bolt-nut/p75736","/paslode-im65a-f16-angled-brad-nails-2-fuel-cells/p77132","/sanding-sheet-115-x-230mm/p51252","/minotaur-adjustable-wide-jaw-wrench/p50834","/premium-sprung-bolt-through-tubular-mortice-latch/p58386","/kudox-premium-type-21-steel-panel-radiator/p62123","/prodec-advance-precision-edge-masking-tape/p75346","/high-tensile-set-screw/p17152","/aluminium-oxide-sanding-roll-115mm/p75193","/trend-14-straight-router-cutter/p11311","/kudox-premium-type-21-steel-panel-radiator/p51701","/68mm-down-pipe-25m/p27390","/abracs-hss-titanium-drill-bit/p58231","/paslode-im65a-f16-angled-brad-nails-2-fuel-cells/p89966","/the-big-cheese-all-weather-block-bait/p69537","/tesa-professional-4401-easy-cover-masking-paper/p74929","/dewalt-construction-circular-saw-blade/p28556","/dowsil-dc785-sanitary-silicone-sealant/p53696","/masonry-torx-frame-fixing-screw/p64128","/112mm-half-round-fascia-bracket/p71013","/abracs-hss-titanium-drill-bit/p98840","/high-tensile-set-screw/p76919"]),$t={key:0},Et=He({__name:"p[id]",async setup(l){let B,x;const F=W(()=>Z(()=>import("./2.12.0-uk-StoreChangeWarningModal-CJL0NY1R.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url)),D=W(()=>Z(()=>import("./2.12.0-uk-StandardPDP-B0ZStS8r.js"),__vite__mapDeps([23,1,2,24,25,6,4,5,7,8,9,10,11,12,13,14,15]),import.meta.url)),P=W(()=>Z(()=>import("./2.12.0-uk-GiftCardPDP-n5V5NhLg.js"),__vite__mapDeps([26,1,2,24,25,6,4,5,7,8,9,10,11,12,13,14,15]),import.meta.url)),{t:S}=mt();Tt({layout:"default",middleware:[async e=>{const t=We(),o=e.params.id||"",r=z(),{fetchProduct:d}=he(),v=me(`product-${o}`,()=>null);if(!v.value)try{let m=await d(o);if(r.public.skuGroupingEnabled!==!0&&m?.groups){const{groups:T,...E}=m;m=E}v.value=m}catch(m){f.error("Failed to fetch product in middleware",m,{feature:"product",action:"middlewareFetchProduct",errorType:"Get Product",params:{productC
2ode:o}},h.Critical),v.value=null}if(v.value?.slug){const m=v.value.slug,T=e.params.topslug||"";if(!T||T!==m){const E=e.fullPath.split("?")[1],ze=E?`/${m}/p${o}?${E}`:`/${m}/p${o}`;return t.runWithContext(()=>ot(ze,{redirectCode:301}))}}}]});const y=st(),s=ut(),i=kt(),k=ke(),g=z(),I=lt(),{getSchemaIdUrl:C}=bt(),n=y.params.id||"",L=y.params.topslug||"",U=w(!1),H=w({name:null,id:null}),R=w(!1),O=w(!0),N=w(!0),{fetchProducts:X}=he(),{getProductPageContent:_e}=vt(),{getGoogleRecommendations:Y}=Ct(),ee=ct(),Ie=ft(),{fetchMonetateOmniChannelProductRecs:te}=St(),Ae=g.public.skuGroupingEnabled,_=me(`product-${n}`),b=c(()=>_.value),a=c(()=>b.value);_.value;const re=n?.toString()==="AL110"?`skus/${n.toLowerCase()}`:"product-page",ae=K(`br-${re}`,async()=>{if(!_.value)return null;try{return await _e(re)}catch(e){return f.error("Failed to fetch Bloomreach product page content",e,{feature:"product",action:"getProductPageContent",errorType:"Get Product",params:{contentType:"product-page"}},h.Critical),null}},{server:!0,transform:e=>e?{title:e.title||"",description:e.description||"",specialInformation:e.specialInformation||"",accordionElement:e.accordionElement||[],deliveryDetails:e.deliveryDetails||"",dropshipDetails:e.dropshipDetails||"",clickAndCollectDetails:e.clickAndCollectDetails||""}:null,onError:e=>{f.error("useAsyncData failed for Bloomreach product page content",e,{feature:"product",action:"useAsyncData-productPageContent",errorType:"Get Product"},h.Critical)}}),oe=K(`product-variants-${n}`,async()=>{if(!_.value)return[];const e=b.value?.variations||[];if(e.length===0)return[];try{return(await X({products:e})).map(t=>({code:t.code,name:t.name,fullName:t.fullName,slug:t.slug,image:t.image,description:t.description,brand:t.brand,packSize:t.packSize,packQuantity:t.packQuantity,prices:t.prices}))}catch(t){return f.error("Failed to fetch product variations",t,{feature:"product",action:"fetchVariations",errorType:"Get Product",params:{productCode:n,variationCodes:e,variationCount:e.length}},h.Critical),[]}},{server:!0,onError:e=>{f.error("useAsyncData failed for product variations",e,{feature:"product",action:"useAsyncData-variants",errorType:"Get Product"},h.Critical)}}),se=K(`sku-grouped-variants-${n}`,async()=>{if(!_.value)return{};if(Ae!==!0)return{};if(!b.value?.groups?.variants)return{};const e=Object.values(b.value.groups.variants).filter(t=>!!t);if(e.length===0)return{};try{const t=await X({products:e}),o={};return t.forEach(r=>{r?.code&&r?.slug&&(o[r.code]={code:r.code,slug:r.slug})}),o}catch(t){return f.error("Failed to fetch SKU grouped variants",t,{feature:"product",action:"fetchSkuGroupedVariants",errorType:"Get Product",params:{productCode:n,variantSkus:e,variantCount:e.length}},h.Critical),{}}},{server:!0,onError:e=>{f.error("useAsyncData failed for SKU grouped variants",e,{feature:"product",action:"useAsyncData-skuGroupedVariants",errorType:"Get Product"},h.Critical)}}),Te=Promise.resolve();[B,x]=Ye(()=>Promise.all([ae,oe,se,Te])),await B,x();const A=c(()=>ae.data.value),ie=c(()=>oe.data.value||[]),Be=c(()=>se.data.value||{}),$=b.value?.code?.toString()==="AL110"||we(Se(b.value)),xe=c(()=>{if(!a.value)return D;if(a.value.code?.toString()==="AL110")return P;const e=Se(a.value);return we(e)?P:D}),ne=c(()=>
2{if(!a.value)return[];const e=[],t=r=>r.toLowerCase().trim().replace(/[$-/:-?{-~!"^_`[\]]/g,"").replace(/\s+/g,"-");if($)return e.push({title:"Gift Cards",to:"/gift-cards"}),e.push({title:a.value.fullName||a.value.name||"",to:null}),e;const o=a.value.taxonomies?.[0]||[];if(o.length>0){const r=o[0],d=t(r.name||"");o.forEach(v=>{const m=t(v.name||""),T=r.id===v.id?`/${d}/c${v.id}`:`/${d}/${m}/c${v.id}`;e.push({title:v.name,to:T})})}else{const r=L.split("-").map(d=>d.charAt(0).toUpperCase()+d.slice(1)).join(" ");e.push({title:r,to:`/${L}`})}return e.push({title:a.value.name||"",to:null}),e}),j=c(()=>{if(!a.value)return[];const e=It(a.value.prices);return At(e,Pt(S("locale"),g.public.currency),S("search.priceSave"),S("search.priceOff"))});function De(){if(!a.value)return;const e=k.hasProductPromoMessages(a.value),t=k.getPromoType(a.value),o=j.value.length&&_t(a.value.prices);e?k.setActivePromo(t):o?k.setActivePromo(`${j.value[0]} ${j.value[1]}`):k.setActivePromo("")}const{pdpSlot1:Re,pdpSlot2:$e}=Ie.getFeatureFlags?.recommendationWidgets||{},u=w({...Re,products:{data:[],tracking:{}}}),p=w({...$e,products:{data:[],tracking:{}}}),Ee=c(()=>u.value.products),Ve=c(()=>p.value.products);async function Ge(){if(!a.value||!u.value.enabled&&!p.value.enabled)return;const e=a.value.code,t=ee.getUser,o={eventType:"detail-page-view",visitorId:ge("ts_session_id").value||"",...t?{userInfo:{userId:t.id}}:{},productDetails:[{product:{id:e},quantity:1}],attributes:{gtmSchema:{text:["CLOUD_RETAIL"]}}};try{if(u.value.enabled){if(u.value.provider==="google"){const r=await Y({recommendationType:u.value.modelId||"frequently-bought-together",userEvent:o,limit:4});r&&r.length>0&&(u.value.products={data:r,tracking:{provider:"google",modelId:u.value.modelId||"frequently-bought-together",location:"pdpSlot1"}})}else if(u.value.provider==="monetate"){const r=await te([e],[{product_code:e,quantity:1,product:{prices:{raw:{gross:a.value?.prices?.raw?.gross}}}}],u.value.modelId||"");r&&r.length>0&&(u.value.products={data:r,tracking:{provider:"monetate",location:"pdpSlot1"}})}O.value=!1}if(p.value.enabled){if(p.value.provider==="google"){const r=await Y({recommendationType:p.value.modelId||"similar-items",userEvent:o,limit:6});r&&r.length>0&&(p.value.products={data:r,tracking:{provider:"google",modelId:p.value.modelId||"similar-items",location:"pdpSlot2"}})}else if(p.value.provider==="monetate"){const r=await te([e],[{product_code:e,quantity:1,product:{prices:{raw:{gross:a.value?.prices?.raw?.gross}}}}],p.value.modelId||"");r&&r.length>0&&(p.value.products={data:r,tracking:{provider:"monetate",location:"pdpSlot2"}})}N.value=!1}}catch(r){f.error("Failed to fetch product recommendations",r,{feature:"product",action:"fetchProductRecommendations",errorType:"Get Product",params:{productCode:e,slots:{slot1:u.value.enabled,slot2:p.value.enabled}}},h.Critical),O.value=!1,N.value=!1}}function Fe(){R.value=!R.value,R.value&&Ze(()=>{R.value=!1})}tt(()=>s.selectedBranchId,async()=>{a.value&&await ce()});async function ce(){try{const e=[n];a.value?.groups?.variants&&e.push(...Object.values(a.value.groups.variants));const t=s.selectedBranchId;await i.additionalStockLookup(e,t)}catch(e){f.error("Failed to refresh stock",e,{feature:"product",action:"refreshStock",errorType:"Get Product",params:{productCode:n,variantCodes:a.value?.groups?.variants?Object.values(a.value.groups.variants):[]}},h.Critical)}}const Le=()=>{const{code:e,name:t,brand:o}=b.value,r=i.hasStockForSite(e,s.selectedBranchId),d=i.hasStockForDelivery(e);ve().addTrackingEvent({type:fe.ProductPageLoaded,data:{userLoggedIn:!!ee.getUser,pageType:"product",productCode:e,productName:t,productBrand:o,productCategory:ne.value.at(-2)?.title||"",...s.selectedBranchName&&{branchName:s.selectedBranchName},trolleyTotal:I.trolleyTotalRaw??0,trolleyQuantity:Oe(e),collectionInStock:r,collectionIsAvailable:r,deliveryInStock:d,deliveryIsAvailable:d}})},Ue=()=>{const e=[...(u.value?.products?.data??[]).map(({pid:r})=>r),...(p.value?.products?.data??[]).map(({pid:r})=>r)],t=ve(),o=ke();t.addTrackingEvent({type:fe.ProductPageView,data:{productInfo:b.value,productImpressions:e,activePromo:o.activePromoType}})},Oe=e=>I.getTrolleyLines.find(t=>t.product_code===e)?.quantity??0;function Ne(){const e=ge("ts_product_impressions",{maxAge:8553600,secure:!0,path:"/"});let t=[];if(e.value)try{const r=JSON.parse(String(e.value));t=Array.isArray(r)?r:[]}catch(r){f.error("Failed to parse product impressions cookie",r,{feature:"product",action:"storeProductImpression",errorType:"Cookie Parse",params:{cookieValue:e.value}},h.Medium),t=[]}if(t.includes(n))return;const o=[n,...t.slice(0,14)];e.value=JSON.stringify(o)}async function je(){const e=y.query.store;if(!e||e==="null")return;const t=s.selectedBranchId,o=s.selectedBranchName;if(t!==e)try{const r=await s.getBranchById(e);if(!r||!r.id||!r.name)return;const d={id:r.id,name:r.name};await s.setStore({store:d,context:"query-string"}),t&&t!==d.id&&(H.value={id:t,name:o||null},U.value=!0)}catch(r){f.error("Unable to set branch from query string",r,{feature:"product",action:"setBranchFromQueryString",errorType:"Get Product",params:{storeId:y.query.store,currentBranchId:t}},h.Critical)}}Xe(async()=>
2{if(a.value){if(Ne(),Ue(),Le(),$)return;await je(),await ce(),Ge(),z().public?.bazaarvoiceScriptUrl&&Dt()&&xt(),De(),window.location.hash==="#reviews"&&Fe()}}),at(()=>{i.teardown?.()});const M=c(()=>a.value?C("",`/${a.value.slug}/p${a.value.code}`):"");_.value?(yt({title:()=>$&&A.value?.title?A.value.title:S("meta.pageTitle",{title:a.value?.fullName||a.value?.name||""}),description:()=>q(a.value?.description||" "),ogTitle:()=>$&&A.value?.title?A.value.title:S("meta.pageTitle",{title:a.value?.fullName||a.value?.name||""}),ogDescription:()=>q(a.value?.description||" "),ogImage:()=>a.value?.image||"",ogUrl:()=>M.value,ogType:"product"}),Rt.has(`/${L}/p${n}`)&&y.query?.bvstate&&V({meta:[{name:"robots",content:"noindex, nofollow"}]}),V({link:[{rel:"canonical",href:M.value},...a.value?.images?.big?[{rel:"preload",as:"image",href:a.value.images.big,media:"(max-width: 1024px)"}]:[],...g.public.bazaarvoiceScriptUrl&&!ye()&&be(y.name,G.BAZAARVOICE)?[{rel:"preload",as:"script",href:g.public.bazaarvoiceScriptUrl,crossorigin:"anonymous"}]:[]],script:[...g.public.bazaarvoiceScriptUrl&&!ye()&&be(y.name,G.BAZAARVOICE)?[{src:g.public.bazaarvoiceScriptUrl,type:"text/javascript",defer:!0,async:!0,id:G.BAZAARVOICE,key:G.BAZAARVOICE,crossorigin:"anonymous"}]:[]]})):V({title:"Toolstation",meta:[{name:"robots",content:"noindex, nofollow"}]});function q(e){const t=e.replace(/\r?\n|\r/g,"");return t.length>300?`${t.replace(/^([\s\S]{300}[^\s]*)[\s\S]*/,"$1")}...`:t}const Me=c(()=>pt(a.value||[])),le=c(()=>dt(a.value||[])),qe=c(()=>le.value>0),ue=e=>{const t=e?.formatted?.gross;return t?String(t).replace(/[£€]/g,"").trim():String(e?.raw?.gross||"")};return V({script:a.value?[{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@type":"Product","@id":C("#product",`/${a.value.slug}/p${a.value.code}`),name:a.value?.fullName||a.value?.name,image:a.value?.image,description:q(a.value?.description||""),sku:String(a.value?.code??""),brand:a.value?.brand,...qe.value&&{aggregateRating:{"@type":"AggregateRating",ratingValue:
2Me.value.toString(),reviewCount:le.value.toString()}},offers:{"@type":"Offer",url:M.value,priceCurrency:g.public.currency||"GBP",price:ue(a.value?.prices),availability:`https://schema.org/${i.hasAnyStock(n)?"InStock":"OutOfStock"}`},hasVariant:ie.value?.map(e=>({"@type":"Product","@id":C("#product",`/${e.slug}/p${e.code}`),name:e.fullName||e.name,image:e.image,description:e.description,sku:String(e.code??""),url:C("",`/${e.slug}/p${e.code}`),brand:e.brand,offers:{"@type":"Offer",priceCurrency:g.public.currency||"GBP",price:ue(e.prices)}}))})}]:[]}),(e,t)=>{const o=nt;return a.value?(Q(),et("div",$t,[pe(o,null,{default:rt(()=>[pe(Ke(F),{show:U.value,"previous-set-store":H.value,onClose:t[0]||(t[0]=r=>U.value=!1)},null,8,["show","previous-set-store"])]),_:1}),(Q(),de(Je(xe.value),{product:a.value,"breadcrumb-items":ne.value,"sku-grouped-variants":Be.value,"recs-block1":u.value,"recs-block2":p.value,recommendations1:Ee.value,recommendations2:Ve.value,"is-recs-loading1":O.value,"is-recs-loading2":N.value,variants:ie.value,"br-content":A.value},null,8,["product","breadcrumb-items","sku-grouped-variants","recs-block1","recs-block2","recommendations1","recommendations2","is-recs-loading1","is-recs-loading2","variants","br-content"]))])):(Q(),de(wt,{key:1,"bloomreach-doc-path":"404","status-code":404,"error-message":"Product not found"}))}}}),lr=Qe({default:()=>Vt}),Vt=gt(Et,[["__scopeId","data-v-736b297e"]]);export{Vt as default,ke as n,lr as 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.