"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8139],{58139:function(e,t,a){a.d(t,{Z:function(){return G}});var r=a(95235),s=a(82269),i=a(2784),n=a(64897),l=a(32899),o=a(97224),c=a(46420),u=a(7771),p=a(51505),m=a(89937),h=a(62989),d=a(1505),f=a(67512),g=a(54076),b=a(19489),j=a(20669),y=a(9873),x=a(40768),P=a(80963),v=a(31347),O=a(79185),S=a(91115),w=(a(71105),a(61748)),N=a(87136),k=a(90643),M=a(11034),F=a(52322);const I=["attribute","items","cmsItems","refine","cmsRefine"];function C(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}const D=e=>{const{attribute:t,items:a,cmsItems:n,refine:l,cmsRefine:o}=e,c=(0,s.Z)(e,I),u=(0,i.useMemo)((()=>(0,k.iJ)(t,a,n)),[t,a,n]),p=(0,i.useCallback)((e=>{let{value:t,cmsValue:a}=e;t&&l(t),a&&o(a)}),[l,o]);return(0,F.jsx)(S.vT,function(e){for(var t=1;t{if(!e?.length)return t||[];if(!t?.length)return e||[];const{interval:r=10,isPromoInFirstPosition:s}=a||{};let i=0;return t.reduce(((t,a,n)=>{if(0===n&&s){const t=e?.[i];return t?(i++,[t,a]):[a]}if(n>0&&n%r===0){const r=e?.[i];return r?(i++,[...t,r,a]):[...t,a]}return[...t,a]}),[])},Z=a(23682),$=a(42924),B=a(62898);const E=["title","attribute"],R=["objectID"],z=["objectID"];function _(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t(X||[]).flat()),[X]),Ze=(0,i.useMemo)((()=>Ce?.value===u.f.DEFAULT?He.filter((e=>{let{sku:t}=e;return Boolean(t)})):[]),[He,Ce]),$e=(0,i.useMemo)((()=>{if(W){const e=He.filter((e=>{let{sku:t}=e;return!t}));return H(e,Ze,{isPromoInFirstPosition:q})}return He}),[Ze,He,q,W]),Be=(0,i.useMemo)((()=>C.map((e=>e.attribute===u.z.ESRB_RATING&&N.bh[ge.locale]||e))),[ge.locale,C]),Ee=(0,i.useMemo)((()=>Be.map((e=>{let{attribute:t}=e;return t}))),[Be]),{appliedFilters:Re,filteredProducts:ze,filteredState:_e,refine:Ae,refineByQuery:Te,clearFilters:Ge}=(0,x.x3)(Ze,Ee,{operator:x.fP.AND,queryToInitializeFilters:(0,l.uX)()}),Ve=(0,i.useCallback)((e=>(pe({show:0}),e)),[pe]),Je=(0,i.useCallback)((function(){return Ve(ce)(...arguments)}),[Ve,ce]),Ke=(0,i.useCallback)((e=>{Ve((e=>{let{value:t,cmsValue:a}=e;t&&he(t),a&&Ae(a)}))(e)}),[he,Ae,Ve]),Ue=(0,i.useCallback)((()=>{Ve((()=>{me(),Ge()}))()}),[me,Ge,Ve]),Xe=(0,i.useCallback)((function(){Ve(Le)(...arguments)}),[Le,Ve]),qe=(0,i.useCallback)((()=>{const{pageName:e}=_||{};e&&je(e),oe&&oe()}),[oe,je,_]),Qe=(0,i.useCallback)((()=>{const{pageName:e}=_;je(e),pe({show:Fe+1})}),[_,Fe,je,pe]),We=(0,i.useMemo)((()=>se.map((e=>{let{value:t,label:a}=e;return{value:t,label:ye(a)}}))),[se,ye]),Ye=(0,i.useRef)(),et=(0,w.Z)({isSearching:Y,cacheKey:"nintendo.plp.cache",cachePrefix:T,activeIndexName:ie,rawSearchHits:te}),tt=(0,i.useMemo)((()=>({value:Ce.value,label:ye(Ce.label)})),[Ce,ye]),at=(0,i.useMemo)((()=>Re.map((e=>({attribute:e.split(x.HA)[0],label:e.split(x.HA)[1],value:e})))),[Re]),rt=(0,i.useMemo)((()=>{const e=new Set;return ze.filter((t=>{if(!e.has(t.sku))return e.add(t.sku),!0}))}),[ze]),st=(0,i.useMemo)((()=>(0,k.hG)(ne,at)),[ne,at]),it=(0,i.useMemo)((()=>Be.map(((e,t)=>{let{title:a,attribute:r}=e,i=(0,s.Z)(e,E);const n=ee?.[r]||[];return(0,F.jsx)(L,A({title:a&&ye(a),attribute:r,startCollapsed:0!==t,showMoreLabel:ye("Show more"),showLessLabel:ye("Show less"),collapsible:!0,limit:5,showMore:!0,refine:Je,cmsRefine:Ae,items:n,cmsItems:_e[r]?.items||[],analytics:{pageName:_.pageName}},i),r)}))),[Be,ye,_,_e,Ae,Je,ee]),nt=(0,i.useMemo)((()=>!ne?.length&&!at?.length&&Ce?.value===u.f.DEFAULT&&$e?.length>0),[ne,at,Ce,$e]),lt=nt?$e:rt,ot=J||lt.length,ct=(0,i.useMemo)((()=>lt.slice(0,ot*(Fe+1))),[Fe,lt,ot]),ut=ct.lengthpt||!ct?.length||Ce?.value!==u.f.DEFAULT),ht=(0,i.useMemo)((()=>de?ut?(0,F.jsx)(B.VR,{children:(0,F.jsx)(h.B,{variant:"tertiary",icon:d.Z,onClick:Qe,children:ye("See all")})}):mt?(0,F.jsx)(S.CD,{isLoading:Y,hasMore:ae,onLoadMoreClick:qe}):et.length>0?(0,F.jsx)(B.VR,{children:(0,F.jsx)(h.B,{variant:"tertiary",icon:d.Z,onClick:Qe,children:ye("See all")})}):null:null),[de,et,Y,ae,ut,mt,ye,qe,Qe]),dt=(0,i.useMemo)((()=>nt?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(S.en,{ref:Se,$singleColumnMobile:Oe,children:[ct.map(((e,t)=>e.sku?(0,F.jsx)(v.I8,A(A({featureFlag:Pe?.id,featureFlagVariant:ve},e),{},{constrain:!1,showRating:I||!1,mobileHorizontal:Oe,analytics:{listDetails:{id:`plp-${(0,O.GL)(_.pageName)}`,name:_.pageName}}}),`default-cms-${e.sku}-${t}`):(0,F.jsx)(M.Z,{cta:e.cta,heading:e.heading,asset:e.asset.primary.assetPath},e.heading+t))),mt&&et.map((e=>{let{objectID:t}=e,a=(0,s.Z)(e,R);return(0,F.jsx)(S.xb,A(A({},a),{},{showRating:I||!1,mobileHorizontal:Oe,analytics:{eventName:we,searchId:a.searchId,position:a.resultsPosition,locale:ge.locale,pageName:_?.pageName,itemListDetails:{id:`plp-${(0,O.GL)(_.pageName)}`,name:_.pageName}}}),`default-search-${t}`)}))]}),ht]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(S.en,{ref:Se,$singleColumnMobile:Oe,children:[ct.map(((e,t)=>(0,F.jsx)(v.I8,A(A({featureFlag:Pe?.id,featureFlagVariant:ve},e),{},{constrain:!1,mobileHorizontal:Oe,analytics:{listDetails:{id:`plp-${(0,O.GL)(_.pageName)}`,name:_.pageName}}}),`filtered-cms-${e.sku}-${t}`))),mt&&et.map((e=>{let{objectID:t}=e,a=(0,s.Z)(e,z);return(0,F.jsx)(S.xb,A(A({mobileHorizontal:Oe},a),{},{analytics:{eventName:we,searchId:a.searchId,position:a.resultsPosition,locale:ge.locale,pageName:_.pageName,itemListDetails:{id:`plp-${(0,O.GL)(_.pageName)}`,name:_.pageName}}}),`filtered-search-${t}`)}))]}),ht]})),[_.pageName,we,nt,I,Se,ct,et,ge.locale,ge.query,Pe,ve,Oe,mt,ht]);(0,i.useEffect)((()=>{Te((0,l.uX)(ge.asPath))}),[Te,ge.asPath]),(0,i.useEffect)((()=>{ke.current&&Ye.current&&(0,O.n5)(Ye.current)}),[ne.length,at.length]);const ft=()=>(0,F.jsx)(f.B,{currentPage:ge.pathname,children:D.map(((e,t)=>(0,F.jsx)(o.Z,{href:e.href,children:(0,F.jsx)("a",{children:ye(e.title)})},e.title+t)))});return(0,F.jsxs)(Z.Kq,{preview:t,disableScrollRestoration:!0,children:[Q&&(0,F.jsx)(g.H.NewLevel,{children:(0,F.jsx)(fe,{marketingPage:Q})}),(0,F.jsx)(S.JL,{children:D&&ft()}),K.asset?.primary?.assetPath&&(0,F.jsx)(F.Fragment,{children:V?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(b.F,{heading:K.heading,subtitle:K.description,image:{desktop:{assetPath:K.asset?.primary?.assetPath},mobile:{assetPath:K.asset?.secondary?.assetPath}},pillFarm:U.list,icon:r}),(0,F.jsx)(S.Hr,{})]}):(0,F.jsx)(S.tm,{iconName:r,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}})}),(0,F.jsxs)(g.H.NewLevel,{children:[!V&&U?.list.length>0&&(0,F.jsx)(S.$0,{constrained:!0,small:!0,divider:["bottom"],children:(0,F.jsx)(S.l6,{center:!0,items:U.list})}),(0,F.jsx)("span",{ref:Ye,id:"products"}),(0,F.jsx)(j.S,{size:48,axis:"vertical"}),(0,F.jsxs)(S.He,{children:[(0,F.jsxs)(B.zB,{$breadcrumbs:!!D,children:[(0,F.jsx)(p.D,{children:D&&ft()}),(0,F.jsx)(m.S,{label:ye("Sort by"),onSelect:Xe,options:We,dropdownValue:de?tt:null}),(0,F.jsx)(p.M,{children:(0,F.jsx)(S.Lb,{icon:y.Z,variant:"tertiary",onClick:De,children:ye("Filter")})})]}),(0,F.jsx)(j.S,{size:32,axis:"vertical"}),(0,F.jsx)(S.dA,{enableStickyFilterPanel:!0,isFilterModalOpen:Ie,toggleModalFiltersMenu:De,attributeFilterSets:it,isDesktop:Ne,customizeFilters:{activeFilters:st,removeFilter:Ke,clearFilters:Ue,totalHits:le+rt.length},children:dt})]}),(0,F.jsx)(S.y4,{})]})]})}T.defaultProps={filterCMSProducts:!0};var G=T},61748:function(e,t,a){a.d(t,{Z:function(){return c}});var r=a(82269),s=a(2784),i=a(64897),n=a(29816),l=a(32899);const o=["p"];var c=e=>{const{0:t,1:a}=(0,s.useState)([]),{isSearching:c,cacheKey:u,cachePrefix:p,activeIndexName:m,rawSearchHits:h}=e,d=(0,i.Z)(),f=(0,l.i1)();return(0,s.useEffect)((()=>{const e=(0,l.uX)(d.asPath),{p:t}=e,s=(0,r.Z)(e,o),i=((e,t)=>{try{return JSON.parse(sessionStorage.getItem(e))||t}catch{return t}})(u,{}),g=`${p}_${JSON.stringify(s)}_${d.locale}`,b=c?i[g]||[]:((e,t)=>{const a=t?.[0]?.__position||0;return[...(e||[]).slice(0,a),...t]})(i[g],h);((e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch{return null}})(u,{[g]:b});const j=Object.values(b).sort(((e,t)=>e.__position-t.__position)),y=(0,n.p)(j,{locale:d.locale,localizer:f,indexName:m});a(y)}),[c,u,p,h,d.asPath,d.locale,m,f]),t}}}]);