(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(86869),l=r(46420),i=r(18301),n=r(58139),o=r(75668),c=r(50530),u=(r(81282),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(86869),d=r(46420),p=r(51505),h=r(82732),m=r(76813),f=r(1505),g=r(57294),b=r(52648),y=r(23722),j=r(88302),v=r(9873),x=r(56619),P=r(18301),w=r(13852),S=r(80963),k=r(57912),O=r(57852),F=(r(71105),r(50530)),M=r(72354),H=r(32075),N=r(11034),C=r(23682),L=r(42924),B=r(47975),_=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,fullBleedHeroOptions:U,cmsProductPageSize:X,hiddenFilters:J}=e;const{pageHeader:K,ctaCollection:Q,merchandisedGrid:W,legalText:Y,marketingPage:ee}=R||{},te=ee?L[ee?.templateName??"plmpStandard"]:null,re=(0,w.O_)(),{text:ae}=(0,o.useLocalizer)(),{trackLoadMoreProducts:se}=(0,u.u)(),le=(0,i.useRouter)(),{asPath:ie,pathname:ne,locale:oe,query:ce}=le,ue=(0,w.D9)(ce?.slug),de=(0,o.useFeature)("wdev-1631-horizontal-tiles"),pe=de?.variant?.payload?.value,he=(0,S.Z)(S.o.TABLET_SMALL),me="horizontal"===pe&&!he,fe=(0,o.deserializeHash)(ie),ge=(0,l.useRef)(),{0:be,1:ye}=(0,l.useState)((()=>I.find((e=>{let{param:t}=e;return t===fe.sort}))?.value||I[0].value)),{0:je,1:ve}=(0,l.useState)((()=>parseInt(fe.p)||0)),{isFilterModalOpen:xe,selectedSortByOption:Pe,toggleModalFiltersMenu:we,handleSortByChange:Se}=(0,d.sI)({sortBy:be,sortByOptions:I,analytics:q,applySortBy:e=>{ye((()=>e))}}),ke=(0,l.useMemo)((()=>I.map((e=>{let{value:t,label:r}=e;return{value:t,label:ae(r)}}))),[I,ae]),Oe=(0,l.useMemo)((()=>({value:Pe.value,label:ae(Pe.label)})),[Pe,ae]),Fe=(0,l.useMemo)((()=>s.map((e=>e.attribute===u.z.ESRB_RATING&&F.bh[oe]||e))),[oe,s]),Me=(0,l.useMemo)((()=>Fe.map((e=>{let{attribute:t}=e;return t}))),[Fe]),He=(W||[]).flat(),Ne=(W||[]).flat().filter((e=>{let{sku:t}=e;return Boolean(t)})),{appliedFilters:Ce,appliedFiltersQuery:Le,filteredProducts:Be,filteredState:_e,refine:Ee,refineByQuery:De,clearFilters:ze}=(0,w.x3)(Ne,Me,{operator:w.fP.AND,queryToInitializeFilters:fe,hidden:J}),Te=0===Ce?.length&&Pe.value===I[0].value,Ze=(0,S.Z)(S.o.DESKTOP),Re=(0,l.useRef)();Re.current=Ze;const Ae=Te?He:Be,Ie=(0,l.useMemo)((()=>Ae.slice(0,(X||Ae.length)*(je+1))),[je,Ae,X]),$e=Ie.lengthbe?[...Ie].sort(be):Ie),[Ie,be]),Ge=(0,l.useCallback)((e=>{const t=I.find((e=>{let{value:t}=e;return t===be}))?.param||I[0].value;return`#${new URLSearchParams(T(T({},e),{},{sort:t,p:je})).toString()}`}),[I,be,je]),Ve=(0,l.useCallback)((e=>(ve((()=>0)),e)),[]),Ue=(0,l.useCallback)((function(){Ve(Ee)(...arguments)}),[Ee,Ve]),Xe=(0,l.useCallback)((function(){Ve(ze)(...arguments)}),[ze,Ve]),Je=(0,l.useCallback)((function(){Ve(Se)(...arguments)}),[Se,Ve]),Ke=(0,l.useCallback)((()=>{const{pageName:e}=q;se(e);const t=(0,o.deserializeHash)(),r=je+1;t.p=r,ve((()=>r))}),[je,q,se]),Qe=(0,l.useMemo)((()=>Ge(Le)),[Le,Ge]),We=(0,l.useMemo)((()=>Ce.map((e=>({attribute:e.split(w.HA)[0],label:e.split(w.HA)[1],value:e})))),[Ce]),Ye=(0,l.useMemo)((()=>q?.featureFlag?{featureFlag:q.featureFlag}:{featureFlag:de?.id,featureFlagVariant:pe}),[q,de,pe]),et=(0,l.useMemo)((()=>Fe.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&&ae(r),startCollapsed:0!==t,refine:Ue,items:_e[s]?.items||[],showMoreLabel:ae("Show more"),showLessLabel:ae("Show less"),collapsible:!0,limit:5,showMore:!0,analytics:{pageName:q?.pageName}},l),s)}))),[Fe,_e,Ue,ae,q]),tt=(0,l.useMemo)((()=>(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(O.en,{$singleColumnMobile:me,children:qe.map(((e,t)=>e.sku?(0,l.createElement)(x.I8,T(T(T({},Ye),{},{key:e.sku+t},e),{},{constrain:!1,showRating:$||Boolean(le.query[M.Tx.UTM_CODE])||!1,mobileHorizontal:me,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)))}),$e&&(0,E.jsx)(_.VR,{children:(0,E.jsx)(m.B,{variant:"tertiary",icon:f.Z,onClick:Ke,children:ae("Load more")})})]})),[le.query,q,Ye,$,$e,qe,me,Ke,ae]);(0,k.Z)({isDesktop:Ze,scrollToRef:ge,scrollToElementID:Z,enableStickyCollectionNav:G,pillFarm:Q.list}),(0,l.useEffect)((()=>{n().push({pathname:n().pathname,query:n().query,hash:Qe},null,{shallow:!0}).catch((e=>{if(!e.cancelled)throw e}))}),[Qe]),(0,P.nw)((()=>{const e=(0,o.deserializeHash)(ie),t=I.find((t=>{let{param:r}=t;return r===e.sort}))?.value||I[0].value;De(e),ye((()=>t)),ve(parseInt(e.p)||0)})),(0,l.useEffect)((()=>{!0===Re.current&&ge.current&&(0,P.n5)(ge.current,{offsetY:G&&B.d})}),[Ce.length,G]),(0,l.useEffect)((()=>{G&&ge.current&&ce?.slug!==ue&&(0,P.n5)(ge.current,{offsetY:B.d,behavior:"smooth"})}),[G,ce?.slug,ue]);const rt=(0,l.useMemo)((()=>r?(0,E.jsx)(g.B,{currentPage:ne,children:r.map(((e,t)=>(0,E.jsx)(c.Z,{href:e.href,children:(0,E.jsx)("a",{children:ae(e.title)})},e.title+t)))}):null),[r,ae,ne]),at=(0,l.useMemo)((()=>V?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(b.F,T({heading:K.heading,subtitle:K.description,image:{desktop:{assetPath:K.asset?.primary?.assetPath},mobile:{assetPath:K.asset?.secondary?.assetPath}},pillFarm:Q.list,icon:A},U)),(0,E.jsx)(O.Hr,{})]}):(0,E.jsx)(O.tm,{iconName:A,content:{assetPath:K.asset?.primary?.assetPath,assetPathAlt:K.asset?.alt,background:K.background,cta:K.cta,description:K.description,heading:K.heading,modifiers:K.modifiers},lightScrim:z})),[K,V,U,A,z,Q]);return(0,E.jsxs)(C.Kq,{preview:t,children:[ee&&(0,E.jsx)(y.H.NewLevel,{children:(0,E.jsx)(te,{marketingPage:ee})}),r&&(0,E.jsx)(O.JL,{children:rt}),K.asset?.primary?.assetPath&&at,(0,E.jsxs)(y.H.NewLevel,{children:[!V&&Q?.list.length>0&&(0,E.jsx)(O.$0,{constrained:!0,small:!0,divider:["bottom"],children:(0,E.jsx)(O.l6,{center:!0,items:Q.list})}),(0,E.jsx)("span",{ref:ge,id:"products","data-drawer-id":Z}),(0,E.jsx)(j.S,{size:48,axis:"vertical"}),(0,E.jsxs)(O.He,{children:[(0,E.jsxs)(_.zB,{$breadcrumbs:!!r,children:[(0,E.jsx)(p.D,{children:rt}),(0,E.jsx)(h.S,{label:ae("Sort by"),onSelect:Je,options:ke,dropdownValue:re?Oe:null}),(0,E.jsx)(p.M,{children:(0,E.jsx)(O.Lb,{icon:v.Z,variant:"tertiary",onClick:we,children:ae("Filter")})})]}),(0,E.jsx)(j.S,{size:32,axis:"vertical"}),(0,E.jsx)(O.dA,{enableStickyFilterPanel:!0,isFilterModalOpen:xe,toggleModalFiltersMenu:we,attributeFilterSets:et,isDesktop:Ze,stickyOffset:G&&parseInt(H.TH)+16,customizeFilters:{clearFilters:Xe,removeFilter:Ue,activeFilters:We,totalHits:Be.length},children:tt}),Y&&(0,E.jsx)(_.VH,{children:(0,E.jsx)(O.Ho,{data:Y,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,6024,7852,3682,7746,8139,9774,2888,179],(function(){return t=99503,e(e.s=t);var t}));var t=e.O();_N_E=t}]);