1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3054],{4243:e=>{e.exports={productHeaderWrapper:"promotion-product-list-container_productHeaderWrapper__yi285",productCountLabel:"promotion-product-list-container_productCountLabel__LCsW6",pagination:"promotion-product-list-container_pagination__ZSX4c"}},8545:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__N_SSP:()=>z,default:()=>Q,getPromotionCampaignDetails:()=>J,getPromotionProducts:()=>G});var o=r(60004),s=r(43207),a=r(12874),i=r(60404),n=r(60322),l=r(73561),c=r(42092),d=r(44908),u=r(88088),p=r(68178),m=r(46086),g=r(93941),P=r(6340),f=r(47852),b=r(62990),y=r(94114),h=r(64275),w=r(37700),x=r(87391),v=r(90856),j=r(34354),_=r(24447),I=r(38627),L=r(12072),C=r(54688),O=r(10983),A=r(14467);let N=["page"];function k(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?k(Object(r),!0).forEach(function(t){(0,L.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):k(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E=r(35695),$=r(80586),D=r(22760),S=r(5179),T=r(18380),R=r(87532),W=r.n(R),B=r(60072);let M=(0,o.memo)(({productDocList:e})=>{let{0:t,1:r}=(0,o.useState)(!1),{currentView:s}=(0,n.L9)(),a=S.U.up("md");(0,o.useEffect)(()=>{r(!0)},[]);let i=t&&a&&s===T.o6.Grid,l=i?$.C:D.q,c=3-e.length%3;return(0,B.jsxs)("ul",{className:(0,E.A)(i?W().gridView:W().listView,"promotionProductList"),"data-testid":"promotion-product-list",children:[e.map(({productId:e},t)=>(0,B.jsx)(l,{productId:e},`${e}_${t}`)),i&&3!==c&&(0,B.jsx)(B.Fragment,{children:Array(c).fill(0).map((e,t)=>(0,B.jsx)("li",{},t))})]})});var H=r(4243),F=r.n(H);let q=(0,o.memo)(()=>{let{sendToast:e}=(0,c.d)(),{currentView:t,handleSetViewMode:r,productViewPage:a}=(0,n.L9)(),[i]=(0,s.B)(),l=(0,o.useRef)(),L=(0,o.useRef)(),{onPageChange:k,productDocList:E,isLoading:$,totalElements:D,totalPages:S,page:T}=(e=>{let{query:t,pathname:r,push:s}=(0,O.useRouter)(),{results:a,isLoading:i}=(()=>{let{query:e}=(0,O.useRouter)(),{feature_flags_products_page_size:t}=(0,A.rD)(),r={promotionId:e.slug,page:e.page-1||0,size:+t},{data:o,loading:s}=(0,j.Znv)({variables:r});return{results:o?.getPromotionProducts,isLoading:s&&!0}})(),n=(0,o.useMemo)(()=>a?.productsV2?.map(e=>e),[a?.productsV2]);return{onPageChange:(0,o.useCallback)(o=>{e.current.scrollIntoView({behavior:"smooth",block:"center"});let{page:a}=t,i=(0,C.A)(t,N),n=o&&0!==o&&{page:String(o)};s({pathname:r,query:V(V({},i),n)},void 0,{shallow:!0})},[t,r,s,e]),isLoading:i,productDocList:n,totalElements:a?.totalElements,totalPages:a?.totalPages,page:a?.page}})(l),R=!$&&(!D||!E?.length),{isInFavoriteList:W,addToFavoriteList:H}=(0,m.N)(),{openStockLocatorDrawer:q}=(0,y.jj)(),{cart:Z}=(0,p.B_)(),[U]=(0,j.jkR)({onCompleted:()=>{e({message:i("catalog.addtocart.successMessage"),status:"success",closeLabel:i("toaster.accessibility.close")})},onError:({graphQLErrors:t})=>{let r=t?.[0]?.extensions?.response?.body,{errorMessage:o,status:s}=(0,x.C)(r,i);e({message:o,status:s,closeLabel:i("common.close")})}}),{showRecommendedProducts:X}=(0,P.b)(),z=async({productId:e,cartId:t,campaignId:r,offerId:o,quantity:s})=>{await U({variables:{productId:e,cartId:t,campaignId:r,offerId:o,quantity:s}}),X({lineItems:[...Z?.items?.map(e=>({productId:e.productId}))||[],{productId:e}],maxNumberResponses:f.Si})};return(0,B.jsxs)(g.Mg,{productDocList:E,productViewPage:v.WF.PROMOTION_PLP,addToCart:z,plpViewMode:t,isInFavoriteList:W,addToFavoriteList:H,stockLocatorPanelHandler:(e,t)=>{q(e,t)},children:[$&&(0,B.jsx)(w.Z,{variant:"A",count:6}),R?(0,B.jsx)("div",{"data-testid":"results-not-found",children:(0,B.jsx)(_.b,{})}):(0,B.jsxs)("div",{"data-testid":"product-list-container",children:[(0,B.jsx)("div",{id:"scroll-top",ref:l}),(0,B.jsx)(d.c,{variant:"minor"}),(0,B.jsxs)("div",{className:F().productHeaderWrapper,children:[(0,B.jsx)(u.E,{size:"body-1",color:"subtle","data-testid":"product-list-count",className:F().productC
1ountLabel,weight:"light",children:i("productList.totalProducts",{count:D})}),(0,B.jsx)(I.X,{currentView:t,handleSetViewMode:r,productViewPage:a})]}),E&&(0,B.jsx)("div",{ref:L,children:(0,B.jsx)(M,{productDocList:E})}),(0,B.jsx)(b.e,{}),(0,B.jsx)(h.d,{className:F().pagination,onPageChange:k,currentPage:T+1,numberOfPages:S,elementRef:L})]})]})});var Z=r(65100),U=r.n(Z),X=r(92475),z=!0;let G=(e,t,r,o)=>e.query({query:X.sE,variables:{promotionId:t,page:r,size:o}}).then(e=>({result:e?.data?.getPromotionProducts??null})),J=(e,t)=>e.query({query:X.xw,variables:{promotionId:t}}).then(e=>({promotionDetails:e?.data?.getPromotionCampaignDetails??null})),Q=({plpViewMode:e,promotionDetails:t})=>{let[r]=(0,s.B)(),o={title:r("catalog.promotions.title")};return(0,B.jsx)(a.r,{title:`${r("catalog.promotions.title")} - ${t?.title}`,description:t?.description,children:(0,B.jsx)("div",{className:U().pageWrapper,"data-testid":"promotion-product-list",children:(0,B.jsx)(n.ZQ,{plpViewMode:e,children:(0,B.jsxs)("div",{className:U().listContainer,children:[(0,B.jsx)(l.O,{title:t?.title,description:t?.description,breadCrumbItems:o,defaultRedirection:i.b.catalog.promotions,brochureText:r("catalog.promotions.downloadLink"),brochureUrl:t?.asset?.externalUrl}),(0,B.jsx)(q,{})]})})})})}},22050:(e,t,r)=>{"use strict";r.d(t,{s:()=>d});var o=r(53779),s=r(85587),a=r(52856),i=r(69222),n={s:"m",m:"l"},l=r(60004),c=(0,s.h)(),d=(0,l.forwardRef)(({className:e,id:t,label:r,link:s,variant:l="default",radioSize:d="m",visuallyHiddenLabel:u,...p},m)=>{let g=(0,a.k)("watts-radio");return(0,c.jsxs)("label",{className:(0,o.$)("watts-radio",`watts-radio--${d}`,`watts-radio--${l}`,e),children:[(0,c.jsx)("input",{ref:m,id:t||g,type:"radio",...p}),(0,c.jsxs)("span",{className:(0,o.$)("watts-radio__label",{"sr-only":u}),children:[r,!!s&&(0,c.jsx)(i.N,{title:s.text,href:s.href,size:n[d],children:s.text})]})]})});d.displayName="Radio"},31709:(e,t,r)=>{"use strict";r.d(t,{E6:()=>s,HP:()=>l,IH:()=>a,JO:()=>n});var o=r(84167);let s=(0,o.Ay)` 2 fragment ProductCategoryInfo on ProductCategoriesInfo { 3 id 4 title 5 parents { 6 id 7 title 8 } 9 } 10`,a=(0,o.Ay)` 11 fragment ProductAssetInfo on AssetItem { 12 order 13 externalUrl 14 title 15 role 16 } 17`,i=(0,o.Ay)` 18 fragment AssetsByGategoryInfo on AssetsByGategory { 19 products { 20 ...ProductAssetInfo 21 } 22 brands { 23 ...ProductAssetInfo 24 } 25 campaigns { 26 ...ProductAssetInfo 27 } 28 categories { 29 ...ProductAssetInfo 30 } 31 } 32 ${a} 33`,n=(0,o.Ay)` 34 fragment ProductAssetsInfo on AssetsType { 35 images { 36 ...AssetsByGategoryInfo 37 } 38 videos { 39 ...ProductAssetInfo 40 } 41 webLinks { 42 ...ProductAssetInfo 43 } 44 documents { 45 ...ProductAssetInfo 46 } 47 } 48 ${i} 49 ${a} 50`,l=(0,o.Ay)` 51 fragment ProductCarbonFields on ProductCarbon { 52 supplier { 53 value 54 unit 55 } 56 sonepar { 57 value 58 unit 59 range 60 } 61 groups { 62 code 63 data { 64 name 65 value 66 unit 67 url 68 text 69 } 70 } 71 } 72`},55818:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var o=r(41010);let s=(0,o.J1)` 73 fragment ProductTotalPrice on TotalProductPrice { 74 productId 75 listPrice { 76 amount 77 scale 78 currency 79 } 80 totalNetPrice { 81 amount 82 scale 83 currency 84 } 85 totalListPrice { 86 amount 87 scale 88 currency 89 } 90 bestPrice { 91 totalNetPrice { 92 amount 93 scale 94 currency 95 } 96 totalListPrice { 97 amount 98 scale 99 currency 100 } 101 listPrice { 102 amount 103 scale 104 currency 105 } 106 } 107 taxes { 108 type 109 surcharge 110 rate { 111 value 112 scale 113 } 114 percentage 115 amount { 116 amount 117 scale 118 currency 119 } 120 } 121 } 122`},60322:(e,t,r)=>{"use strict";r.d(t,{ZQ:()=>d,L9:()=>u});var o=r(60004),s=r(7384),a=r(18380),i=r(60072);let n={currentView:a.o6.List,handleSetViewMode:null,productViewPage:null},l=(0,o.createContext)(n),c=e=>Object.values(a.o6).includes(e),d=({children:e,plpViewMode:t=a.o6.List,productViewPage:r,hasCmsComponents:n=!1,isComponentsPage:d=!1,setIsComponentsPage:u,isMerchandisedPage:p=!1,isMerchandisedCategoryPage:m=!1,isMerchandisedSeriesPage:g=!1})=>{let{sendViewTypeUpdatedGtmTag:P}=(0,s.PB)(),{0:f,1:b}=(0,o.useState)(c(t)?t:a.o6.List),y=(0,o.useCallback)(e=>{if(!c(e))return;let t=`plp-view-mode=${e}`;document.cookie.indexOf(t)>
122=0||(document.cookie=`${t}; path=/`,b(e),P(e))},[b,P]),h=(0,o.useMemo)(()=>({currentView:f,handleSetViewMode:y,productViewPage:r,hasCmsComponents:n,isComponentsPage:d,setIsComponentsPage:u,isMerchandisedPage:p,isMerchandisedCategoryPage:m,isMerchandisedSeriesPage:g}),[f,y,r,n,d,u,p,m,g]);return(0,i.jsx)(l.Provider,{value:h,children:e})},u=()=>{let e=(0,o.useContext)(l);if(!e)throw Error("You need to wrap your component with <PLPLayoutContextProvider>");return e}},64336:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/promotions/[slug]",function(){return r(8545)}])},65100:e=>{e.exports={pageWrapper:"promotion-product-list-page_pageWrapper__DMrHl",listContainer:"promotion-product-list-page_listContainer__WU2Ii"}},75747:(e,t,r)=>{"use strict";r.d(t,{w:()=>s});var o=r(84167);let s=(0,o.Ay)` 123 fragment PromotionDetails on SummaryPromotion { 124 startDate 125 endDate 126 title 127 description 128 campaignId 129 ranking 130 type 131 promotionBrand { 132 brandName 133 brandImage 134 } 135 } 136`},83558:(e,t,r)=>{"use strict";r.d(t,{k:()=>c});var o=r(32182),s=r(66698),a=r(13726),i=r(65375),n=r(60404),l=r(30791);let c=()=>{let{isLoggedIn:e,user:t}=(0,s.Z2)(),{isInFavoriteList:r,updateProductsInFavoriteLists:c}=(0,a.BF)(),{openFavoriteListsDrawer:d}=(0,l.Jx)(),[u]=(0,o.WXO)({variables:{accountId:t?.accountId,userId:t?.userId,email:t?.email},onCompleted:e=>{c(e.productsInFavoriteLists||[])}});return{isInFavoriteList:r,handleAddToFavorites:async t=>{if(e)t.length&&d(()=>u(),t);else{let e=window.location.href;(0,i.A)(`${n.b.account.login}?redirect_to=${e}`,n.b.account.app)}}}}},87532:e=>{e.exports={gridView:"promotion-product-list_gridView__dT9KT",listView:"promotion-product-list_listView__hBW_H"}}},e=>{e.O(0,[606,2760,663,5053,636,6593,8792],()=>e(e.s=64336)),_N_E=e.O()}]);
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.