1(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[2205],{67767:(e,t,n)=>{e.exports=n(12922).wrapCssModule(e.id,n(94262))},12289:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(25498),s=n(70358),o=n(71816),r=n(99003),a=n(21010);const l=e=>{let{documentTitle:t,children:n}=e;const l=(0,i.useRef)(null),u=(0,s.useSelector)((e=>{let{page:t,settings:n}=e;return t.layout??(n.loaded&&n.productList.layout)})),c=(0,i.useMemo)((()=>({layout:u&&u in o.G?o.G[u]:o.$.B2C,documentTitle:t,overviewBlockRef:l})),[u,t,l.current]);return(0,a.jsx)(r.A.Provider,{value:c,children:n})}},24542:(e,t,n)=>{"use strict";n.d(t,{Oe:()=>w,ng:()=>S,o$:()=>f,ri:()=>A});var i=n(12922),s=n(51710),o=n.n(s),r=n(70358),a=n(34597),l=n(33873),u=n(25498),c=n(87867),d=n(39818),m=n(18913),p=n(3392),v=n(21010);const g=e=>{let{navigateTo:t,isVisible:n}=e;const[i]=(0,m.KR)(['ButtonAltText_ScrollTop']).texts;return(0,v.jsx)("button",{className:`${o().scrollTop} ${o().action} ${n?o().visible:''}`,onClick:()=>{document.getElementById('layout').focus(),t('#root',{time:500})},"aria-label":i,disabled:!n,children:(0,v.jsx)(p.zL,{className:o().icon})})},f=(0,i.withStyles)(o())((0,c.vQ)([d.W],(e=>{let{navigateTo:t}=e;return{navigateTo:t}}))((0,u.memo)(g)));var h=n(10170),x=n(69626),C=n(76809),y=n(65300),_=n(23982);const w=(0,i.withStyles)(o())((()=>{const{texts:[e,t],loaded:n}=(0,m.LW)(['ButtonText_MobileCompare','Aria_ProductCompareSummary_Compare_Label']),i=(0,r.useDispatch)(),s=(0,r.useSelector)((e=>e.settings.loaded?e.settings.product.productComparison.isEnabled:null)),{initialized:a,products:l}=(0,r.useSelector)((e=>e.productComparison)),c={backTo:(0,h.uq)()};(0,u.useEffect)((()=>{a||i((0,_.u)())}),[a]);const d=l.length;if(!d||!s)return null;const p=(0,x.Z)(l);return n?(0,v.jsx)(y.z9,{to:p,options:c,size:"sm",icon:!1,"aria-label":(0,m.g_)(t),className:o().action,children:(0,m.g_)(e,[d])}):(0,v.jsx)(C.O,{className:o().btnPlaceholder})}));var b=n(34814);const A=()=>{const e=(0,r.useSelector)((e=>e.settings.navigation.scrollTop)),[t,n]=(0,u.useState)(!1),i=(0,u.useMemo)((()=>e?e=>n(e):null),[e]);return(0,b.N9)(i),{scrollTopEnabled:e,scrollToTopVisible:t}},S=(0,i.withStyles)(o())((0,a.r)((e=>{let{requestAvailableFacets:t,facetUrlBuilder:n}=e;const{shouldShowCompareBtn:i,facets:s}=(0,r.useSelector)((e=>({shouldShowCompareBtn:!!e.productComparison.products.length,facets:e.page.facets})),r.shallowEqual),a=s&&s.items.length>0,{scrollTopEnabled:u,scrollToTopVisible:c}=A();return a||i||c?(0,v.jsxs)("div",{className:`${o().mobileFooter} ${u?o().scrollTopEnabled:''}`,children:[(0,v.jsx)("div",{children:(0,v.jsx)(w,{})}),(0,v.jsx)("div",{children:a&&(0,v.jsx)(l.AD,{facets:s,urlBuilder:n,rootId:"mFacets",children:(0,v.jsx)(l.Xg,{openerClassName:o().action,requestAvailableFacets:t})})}),(0,v.jsx)("div",{children:(0,v.jsx)(f,{isVisible:c})})]}):null})))},37547:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var i=n(25498),s=n(60115);const o=(0,i.createContext)({quantities:new Map,updateQuantity:s.l,updateVariantQuantities:s.l,resetQuantities:s.l})},96413:(e,t,n)=>{"use strict";n.d(t,{cB:()=>b,EF:()=>g.A,Cs:()=>D,ug:()=>s,zj:()=>r,hJ:()=>$,RB:()=>k});var i=n(25498);const s=(0,i.createContext)({});var o=n(21010);const r=e=>{let{children:t}=e;const[n,r]=(0,i.useState)(),a=(0,i.useMemo)((()=>({showQuantityBox:n,setShowQuantityBox:r})),[n]);return(0,o.jsx)(s.Provider,{value:a,children:t})};var a=n(12922),l=n(51710),u=n.n(l),c=n(34814),d=n(76809),m=n(3392),p=n(70358),v=n(45107),g=n(37547),f=n(18913),h=n(2272),x=n(83261),C=n(51834),y=n(40119);const _=(0,a.withStyles)(u())((e=>{var t;let{sticky:n}=e;const[s]=(0,f.KR)(['Aria_PLP_AddToBasket_Label']).texts,{quantities:r,resetQuantities:a}=(0,i.useContext)(g.A),l=(0,i.useContext)(h.qM),_=(0,C.Ph)(),w=(0,p.useSelector)((e=>e.page)),b=w.component===y.BR.ProductsWithCategory,A=b?null==(t=w.salesAgreement)?void 0:t.preSelectedLine:void 0,S=b?'':w.metaTitle||'',j=w.id,L=(null==l?void 0:l.trackingSource)??(0,x.hD)(j,S),T=(0,p.useDispatch)(),O=(e,t)=>T((0,v.kD)(e,t)),q=(0,i.useMemo)((()=>_?null:()=>(0,x.H4)(r,a,O,L,A)),[_,r,a,O,L,A]);return n?(0,o.jsx)("button",{"aria-label":s,className:u().miniatureButton,onClick:q,children:(0,o.jsx)(m.lL,{className:u().miniatureIcon})}):(0,o.jsx)("div",{className:u().addToBasket,children:(0,o.jsx)(c.Oi,{theme:"action",textKey:"AddToBasket","aria-label":s,onClick:q,placeholder:(0,o.jsx)(d.O,{}),disabled:0===r.size})})})),w=()=>{const{quantities:e}=(0,i.useContext)(g.A),[t,n]=(0,f.LW)(['Aria_PLP_AddToCartControl_Label','Aria_PLP_AddToCartControl_AmountTitle_Label']).texts,s=t?(0,f.g_)(t):'Add to cart control';return(0,o.jsxs)("section",{className:u().control,"aria-label":s,children:[(0,o.jsx)("span",{className:"visually-hidden",children:(0,f.g_)(n,[e.size])}),(0,o.jsx)(_,{})]})},b=(0,a.withStyles)(u())((0,i.memo)(w));var A=n(69230),S=n(60238),j=n(94708),L=n(99620);const T={size:parseInt(u().size),shift:parseInt(u().shift)},O=()=>{const{bottomFixedElementsHeight:e}=(0,L.JQ)(),{setOccupiedArea:t,shiftsStyle:n}=(0,L.Nk)('right',0,1),[s,r]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{r(P(e))}),[e]),(0,S.P5)((0,A.h)(S.Ss,S.Hk,S.ny),(()=>r(P(e))),!0,[e]),(0,i.useEffect)((()=>t(s?T:null)),[s]),(0,o.jsx)("span",{className:u().miniature,"data-scroll-lock-fill-gap":!0,style:{...n,visibility:s?'visible':'hidden'},children:(0,o.jsx)(_,{sticky:!0})})},q=()=>{const{xs:e}=(0,j.My)(),t=(0,p.useSelector)((e=>e.settings.productList.showFloatingAddToCart)),{quantities:n}=(0,i.useContext)(g.A);return(t||e)&&null!=n&&n.size?(0,o.jsx)(O,{}):null},k=(0,a.withStyles)(u())((0,i.memo)(q));function P(e){const t=document.querySelector(`.${u().addToBasket} button`);return!!t&&t.getBoundingClientRect().top>window.innerHeight-e}var B=n(62332);const D=e=>{let{children:t}=e;const n=(0,p.useDispatch)(),[s,r]=(0,i.useState)((()=>({quantities:new Map,quantitiesDependency:{}}))),a=s.quantities,l=(0,i.useCallback)((()=>r({quantities:new Map,quantitiesDependency:{}})),[]);(0,i.useEffect)((()=>{n((0,B.hW)(!!a.size))}),[!!a.size]);const u=(0,i.useCallback)(((e,t,n)=>{r((i=>{let{quantities:s}=i;
1if(n&&n.value){let i=s.get(e);i&&M(i)&&i.uomId===t?i.quantity=n:i={quantity:n,uomId:t},s.set(e,i)}else s.delete(e);return{quantities:s,quantitiesDependency:{}}}))}),[]),c=(0,i.useCallback)(((e,t,n)=>{r((i=>{let{quantities:s}=i,o=s.get(e);return o&&!M(o)||(o=new Map,s.set(e,o)),n.size>0?o.set(t,n):(o.delete(t),0===o.size&&s.delete(e)),{quantities:s,quantitiesDependency:{}}}))}),[]),d={quantities:a,updateQuantity:u,updateVariantQuantities:c,resetQuantities:l};return(0,o.jsx)(g.A.Provider,{value:d,children:t})};function M(e){return!(e instanceof Map)}var N=n(10170),I=n(16494),z=n(72413),E=n(72740),Q=n(39818),R=n(27929),V=n.n(R),F=n(70663);const U=e=>{let{containerId:t,pagingType:n,restoreSorting:s}=e;const r=(0,p.useDispatch)(),{showConfirmation:a,clearConfirmation:l,confirmationModal:c}=(0,F.A)(),{navigateTo:m}=(0,i.useContext)(Q.W),{quantities:h,resetQuantities:C}=(0,i.useContext)(g.A),y=(0,i.useRef)(!1),_=(0,i.useRef)(!1),w=(0,i.useRef)(),b=(0,p.useSelector)((e=>e.settings.basket.redirectOnAdd)),A=(0,p.useSelector)((e=>{var t;return null==(t=e.user.storeLocationInfo)?void 0:t.preferredStoreLocation})),S=(0,p.useSelector)((e=>{var t;return null==(t=e.user.storeLocationInfo)||null==(t=t.pendingPreferredStoreLocationInfo)||null==(t=t.confirmationInfo)?void 0:t.hasOpenProductsSelection})),j=(0,i.useRef)(S);void 0!==S&&(j.current=S),(0,E.yA)((()=>{void 0!==A&&j.current&&C()}),[A]);const{location:L,routeData:T}=(0,N.rK)(),O=null==T?void 0:T.params;function q(){y.current&&(y.current=!1,m('#'+t,{time:10}))}const k=(0,i.useMemo)((()=>h.size?e=>{if(b&&(null==e?void 0:e.routeName)===N.xW.BasketPage)return!1;const t=null==e?void 0:e.params,i=H(t,w.current,n);if(i){const e=e=>{if(e===F.F.Cancel)return q(),C(),P(),l(),void(_.current=!1);e!==F.F.Ok&&B()};a(M,{title:'ProductListSelectionLostPopup_Title'},(0,o.jsx)(f.sD,{textKey:"ProductListSelectionLostPopup_Description",placeholder:(0,o.jsx)(d.O,{})}),{closeText:'ButtonText_ProductListSelectionLostClearSelection',okText:'ButtonText_ProductListSelectionLostAddToBasket'},e,u().selectionLostPopup),y.current=function(e,t,n){return!!e&&((!n||n===I.n.Links)&&e.page!==(null==t?void 0:t.page))}(t,w.current,n),s&&(r=t,c=w.current,r&&r.sort!==(null==c?void 0:c.sort))&&(_.current=!0)}var r,c;return i}:()=>!1),[n,!!h.size,b]),{resume:P,discard:B}=(0,N.FX)(k);(0,z.vu)(C),(0,i.useEffect)((()=>{H(O,w.current,n)&&C(),w.current=O}),[O,L]);const D=()=>{B(),_.current&&(null==s||s()),y.current=!1,_.current=!1};return c;function M(){const e=function(e){for(const[t,n]of e){if(n instanceof Map)continue;if(!n.quantity.isValid)return t}return null}(h);if(e){D();const e=(0,x.pA)();e&&V()(e,{time:200},(()=>e.focus()))}else q(),(0,x.H4)(h,C,((e,t)=>r((0,v.kD)(e,t)))),_.current=!1,b?B():setTimeout(P,0)}},$=(0,a.withStyles)(u())((0,i.memo)(U));function H(e,t,n){if(!e||!t)return!0;return!!n&&n===I.n.Links&&e.page!==t.page||e.id!==t.id||e.language!==t.language||e.facets!==t.facets||e.sort!==t.sort}},83261:(e,t,n)=>{"use strict";n.d(t,{H4:()=>l,hD:()=>u,pA:()=>c});var i=n(51710),s=n.n(i),o=n(27929),r=n.n(o),a=n(74397);function l(e,t,n,i,s){const o=[];for(const[t,n]of e){if(n instanceof Map){for(const[e,i]of n)for(const[n,r]of i)o.push({productId:t,uomId:e,variantId:n,quantity:Number(r.value),salesAgreementLine:s});continue}const{quantity:e,uomId:i}=n;if(!n.quantity.isValid){const e=c();return void(e&&(r()(e,{time:200},(()=>e.focus())),e.focus()))}o.push({productId:t,quantity:Number(e.value),uomId:i,salesAgreementLine:s})}o.length>0&&n(o,i),t()}function u(e,t){switch(e){case'search':return a.jr.SearchResult;case'lastViewedProducts':return a.jr.LastViewedProductsPage;default:return{id:e,name:t}}}function c(){return document.querySelector(`.${s().quantityTextBox} [aria-invalid="true"]`)}},57624:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var i=n(67767),s=n.n(i);const o="Center",r="Justify",a={["Left"]:'',["Right"]:s().rightAlignment,[o]:s().centerAlignment,[r]:s().justifyAlignment}},98125:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var i=n(25498),s=n(24147),o=n(39706);const r=[s.Ul.ViewPrices,s.Ul.OrderProducts,s.Ul.ViewStock,s.Ul.ViewUnitOfMeasure];function a(){const{abilities:e}=(0,o.US)(r);return(0,i.useMemo)((()=>r.reduce(((t,n,i)=>(t[n]=e[i]===s.Qs.Available,t)),{})),e)}}
1,94262:(e,t,n)=>{var i=n(68723),s=n(95756)(i);s.push([e.id,".OverviewComponents_panel-alignment{display:flex;justify-content:flex-start}.OverviewComponents_panel-alignment.OverviewComponents_center-alignment{justify-content:center}.OverviewComponents_panel-alignment.OverviewComponents_right-alignment{justify-content:flex-end}.OverviewComponents_panel-alignment.OverviewComponents_justify-alignment{justify-content:space-between}.OverviewComponents_grid-tile{height:100%}html.pointer-mouse .OverviewComponents_grid-tile:hover{box-shadow:0 0 2px rgba(0,0,0,.4),inset 0 -1px 0 rgba(0,0,0,.2)}@supports(not (-webkit-hyphens:none)) and (not (-moz-appearance:none)) and (list-style-type:\"*\"){@media(pointer:coarse){html:not(.pointer-mouse) .OverviewComponents_grid-tile:active{box-shadow:0 0 2px rgba(0,0,0,.4),inset 0 -1px 0 rgba(0,0,0,.2)}}}",""]),s.locals={"panel-alignment":"OverviewComponents_panel-alignment",panelAlignment:"OverviewComponents_panel-alignment","center-alignment":"OverviewComponents_center-alignment",centerAlignment:"OverviewComponents_center-alignment","right-alignment":"OverviewComponents_right-alignment",rightAlignment:"OverviewComponents_right-alignment","justify-alignment":"OverviewComponents_justify-alignment",justifyAlignment:"OverviewComponents_justify-alignment","grid-tile":"OverviewComponents_grid-tile",gridTile:"OverviewComponents_grid-tile"},e.exports=s}}]); 2//# sourceMappingURL=2205.4543872f.chunk.js.map
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.