(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4398],{29105:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSP:function(){return p}});var a=r(64897),s=r(49074),l=r(46420),i=r(36796),n=r(58139),o=r(75668),c=r(50530),u=(r(66998),r(92072)),d=r(52322);var p=!0;t.default=function(e){let{page:t,preview:r,renderFullBleedPageHero:p}=e;const h=(0,a.Z)(),m=t.content.pageHeader.heading,f=t.content?.productsCategoryUid,g=[{href:"/",title:"Home"},{href:"/store",title:"My Nintendo Store"},{href:"/store/hardware",title:"Hardware"},{href:"/store/hardware/[slug]",title:m}],b=s.e.HARDWARE,y=(0,u.XD)({category:b,productsCategoryUid:f,merchandisedGrid:t?.content?.merchandisedGrid,router:h}),j=(0,i.vS)(h.locale)?s.J.filter((e=>"Price"!==e.title)):s.J;return f?(0,d.jsx)(l.X$,{router:h,categoryConfig:y,defaultCategory:b,searchParamWhitelist:c.uy,preserveQueryParamKeys:c.aq,children:(0,d.jsx)(n.Z,{preview:r,breadcrumbLinks:g,page:t.content,pageIcon:"controller",cachePrefix:`${(0,i.GL)(m)}`,filterSections:j,analytics:{eventPrefix:`Hardware:${m}`,pageName:`Hardware PLP - ${m}`},fullBleedHero:p})}):(0,d.jsx)(o.Z,{preview:r,breadcrumbLinks:g,page:t.content,filterSections:j,analytics:{pageName:`Hardware PLP - ${m}`}})}},75668:function(e,t,r){"use strict";var a=r(82269),s=r(95235),l=r(2784),i=r(5632),n=r.n(i),o=r(82091),c=r(97224),u=r(49074),d=r(46420),p=r(51505),h=r(82732),m=r(19859),f=r(1505),g=r(10805),b=r(13814),y=r(2199),j=r(5719),v=r(9873),x=r(30408),P=r(36796),w=r(13852),S=r(80963),k=r(57912),O=r(94965),F=(r(71105),r(50530)),M=r(72354),H=r(32075),N=r(11034),C=r(23682),L=r(42924),_=r(47975),B=r(62898),E=r(52322);const D=["title","attribute"];function z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function T(e){for(var t=1;t{let{preview:t,breadcrumbLinks:r,filterSections:s,lightScrim:z,page:R,pageIcon:A,sortByOptions:I,showRating:$,analytics:q,enableStickyCollectionNav:G,fullBleedHero:V,cmsProductPageSize:U,hiddenFilters:X}=e;const{pageHeader:J,ctaCollection:K,merchandisedGrid:Q,legalText:W,marketingPage:Y}=R||{},ee=Y?L[Y?.templateName??"plmpStandard"]:null,te=(0,w.O_)(),{text:re}=(0,o.useLocalizer)(),{trackLoadMoreProducts:ae}=(0,u.u)(),se=(0,i.useRouter)(),{asPath:le,pathname:ie,locale:ne,query:oe}=se,ce=(0,w.D9)(oe?.slug),ue=(0,o.useFeature)("wdev-1631-horizontal-tiles"),de=ue?.variant?.payload?.value,pe=(0,S.Z)(S.o.TABLET_SMALL),he="horizontal"===de&&!pe,me=(0,o.deserializeHash)(le),fe=(0,l.useRef)(),{0:ge,1:be}=(0,l.useState)((()=>I.find((e=>{let{param:t}=e;return t===me.sort}))?.value||I[0].value)),{0:ye,1:je}=(0,l.useState)((()=>parseInt(me.p)||0)),{isFilterModalOpen:ve,selectedSortByOption:xe,toggleModalFiltersMenu:Pe,handleSortByChange:we}=(0,d.sI)({sortBy:ge,sortByOptions:I,analytics:q,applySortBy:e=>{be((()=>e))}}),Se=(0,l.useMemo)((()=>I.map((e=>{let{value:t,label:r}=e;return{value:t,label:re(r)}}))),[I,re]),ke=(0,l.useMemo)((()=>({value:xe.value,label:re(xe.label)})),[xe,re]),Oe=(0,l.useMemo)((()=>s.map((e=>e.attribute===u.z.ESRB_RATING&&F.bh[ne]||e))),[ne,s]),Fe=(0,l.useMemo)((()=>Oe.map((e=>{let{attribute:t}=e;return t}))),[Oe]),Me=(Q||[]).flat(),He=(Q||[]).flat().filter((e=>{let{sku:t}=e;return Boolean(t)})),{appliedFilters:Ne,appliedFiltersQuery:Ce,filteredProducts:Le,filteredState:_e,refine:Be,refineByQuery:Ee,clearFilters:De}=(0,w.x3)(He,Fe,{operator:w.fP.AND,queryToInitializeFilters:me,hidden:X}),ze=0===Ne?.length&&xe.value===I[0].value,Te=(0,S.Z)(S.o.DESKTOP),Ze=(0,l.useRef)();Ze.current=Te;const Re=ze?Me:Le,Ae=(0,l.useMemo)((()=>Re.slice(0,(U||Re.length)*(ye+1))),[ye,Re,U]),Ie=Ae.lengthge?[...Ae].sort(ge):Ae),[Ae,ge]),qe=(0,l.useCallback)((e=>{const t=I.find((e=>{let{value:t}=e;return t===ge}))?.param||I[0].value;return`#${new URLSearchParams(T(T({},e),{},{sort:t,p:ye})).toString()}`}),[I,ge,ye]),Ge=(0,l.useCallback)((e=>(je((()=>0)),e)),[]),Ve=(0,l.useCallback)((function(){Ge(Be)(...arguments)}),[Be,Ge]),Ue=(0,l.useCallback)((function(){Ge(De)(...arguments)}),[De,Ge]),Xe=(0,l.useCallback)((function(){Ge(we)(...arguments)}),[we,Ge]),Je=(0,l.useCallback)((()=>{const{pageName:e}=q;ae(e);const t=(0,o.deserializeHash)(),r=ye+1;t.p=r,je((()=>r))}),[ye,q,ae]),Ke=(0,l.useMemo)((()=>qe(Ce)),[Ce,qe]),Qe=(0,l.useMemo)((()=>Ne.map((e=>({attribute:e.split(w.HA)[0],label:e.split(w.HA)[1],value:e})))),[Ne]),We=(0,l.useMemo)((()=>q?.featureFlag?{featureFlag:q.featureFlag}:{featureFlag:ue?.id,featureFlagVariant:de}),[q,ue,de]),Ye=(0,l.useMemo)((()=>Oe.filter((e=>{let{attribute:t}=e;return _e[t]?.items?.length>0})).map(((e,t)=>{let{title:r,attribute:s}=e,l=(0,a.Z)(e,D);return(0,E.jsx)(O.vT,T({attribute:s,title:r&&re(r),startCollapsed:0!==t,refine:Ve,items:_e[s]?.items||[],showMoreLabel:re("Show more"),showLessLabel:re("Show less"),collapsible:!0,limit:5,showMore:!0,analytics:{pageName:q?.pageName}},l),s)}))),[Oe,_e,Ve,re,q]),et=(0,l.useMemo)((()=>(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(O.en,{$singleColumnMobile:he,children:$e.map(((e,t)=>e.sku?(0,l.createElement)(x.I8,T(T(T({},We),{},{key:e.sku+t},e),{},{constrain:!1,showRating:$||Boolean(se.query[M.Tx.UTM_CODE])||!1,mobileHorizontal:he,analytics:{listDetails:{id:`clp-${(0,P.GL)(q.pageName)}`,name:q.pageName}}})):(0,E.jsx)(N.Z,{asset:e.asset.primary.assetPath,cta:e.cta,heading:e.heading},e.heading+t)))}),Ie&&(0,E.jsx)(B.VR,{children:(0,E.jsx)(m.B,{variant:"tertiary",icon:f.Z,onClick:Je,children:re("Load more")})})]})),[se.query,q,We,$,Ie,$e,he,Je,re]);(0,k.Z)({isDesktop:Te,scrollToRef:fe,scrollToElementID:Z,enableStickyCollectionNav:G,pillFarm:K.list}),(0,l.useEffect)((()=>{n().push({pathname:n().pathname,query:n().query,hash:Ke},null,{shallow:!0}).catch((e=>{if(!e.cancelled)throw e}))}),[Ke]),(0,P.nw)((()=>{const e=(0,o.deserializeHash)(le),t=I.find((t=>{let{param:r}=t;return r===e.sort}))?.value||I[0].value;Ee(e),be((()=>t)),je(parseInt(e.p)||0)})),(0,l.useEffect)((()=>{!0===Ze.current&&fe.current&&(0,P.n5)(fe.current,{offsetY:G&&_.d})}),[Ne.length,G]),(0,l.useEffect)((()=>{G&&fe.current&&oe?.slug!==ce&&(0,P.n5)(fe.current,{offsetY:_.d,behavior:"smooth"})}),[G,oe?.slug,ce]);const tt=(0,l.useMemo)((()=>r?(0,E.jsx)(g.B,{currentPage:ie,children:r.map(((e,t)=>(0,E.jsx)(c.Z,{href:e.href,children:(0,E.jsx)("a",{children:re(e.title)})},e.title+t)))}):null),[r,re,ie]),rt=(0,l.useMemo)((()=>J?.asset?.primary?.assetPath?V?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(b.F,{heading:J.heading,subtitle:J.description,image:{desktop:{assetPath:J.asset?.primary?.assetPath},mobile:{assetPath:J.asset?.secondary?.assetPath}},pillFarm:K.list,icon:A}),(0,E.jsx)(O.Hr,{})]}):(0,E.jsx)(O.tm,{iconName:A,content:{assetPath:J.asset?.primary?.assetPath,assetPathAlt:J.asset?.alt,background:J.background,cta:J.cta,description:J.description,heading:J.heading,modifiers:J.modifiers},lightScrim:z}):null),[J,V,A,z,K]);return(0,E.jsxs)(C.Kq,{preview:t,children:[Y&&(0,E.jsx)(y.H.NewLevel,{children:(0,E.jsx)(ee,{marketingPage:Y})}),r&&(0,E.jsx)(O.JL,{children:tt}),rt,(0,E.jsxs)(y.H.NewLevel,{children:[!V&&K?.list.length>0&&(0,E.jsx)(O.$0,{constrained:!0,small:!0,divider:["bottom"],children:(0,E.jsx)(O.l6,{center:!0,items:K.list})}),(0,E.jsx)("span",{ref:fe,id:"products","data-drawer-id":Z}),(0,E.jsx)(j.S,{size:48,axis:"vertical"}),(0,E.jsxs)(O.He,{children:[(0,E.jsxs)(B.zB,{$breadcrumbs:!!r,children:[(0,E.jsx)(p.D,{children:tt}),(0,E.jsx)(h.S,{label:re("Sort by"),onSelect:Xe,options:Se,dropdownValue:te?ke:null}),(0,E.jsx)(p.M,{children:(0,E.jsx)(O.Lb,{icon:v.Z,variant:"tertiary",onClick:Pe,children:re("Filter")})})]}),(0,E.jsx)(j.S,{size:32,axis:"vertical"}),(0,E.jsx)(O.dA,{enableStickyFilterPanel:!0,isFilterModalOpen:ve,toggleModalFiltersMenu:Pe,attributeFilterSets:Ye,isDesktop:Te,stickyOffset:G&&parseInt(H.TH)+16,customizeFilters:{clearFilters:Ue,removeFilter:Ve,activeFilters:Qe,totalHits:Le.length},children:et}),W&&(0,E.jsx)(B.VH,{children:(0,E.jsx)(O.Ho,{data:W,textVariant:"legal"})})]}),(0,E.jsx)(O.y4,{})]})]})};R.defaultProps={sortByOptions:F.Op},t.Z=R},99503:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/store/hardware/[slug]",function(){return r(29105)}])}},function(e){e.O(0,[5106,8286,4511,5820,3948,4965,3682,6047,8139,9774,2888,179],(function(){return t=99503,e(e.s=t);var t}));var t=e.O();_N_E=t}]);