"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[22],{225:(e,n,t)=>{t.d(n,{a:()=>o});var i=t(277),r=function(e,n){var t={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(t[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r{t.d(n,{a:()=>d,b:()=>_,c:()=>m,d:()=>u,e:()=>v,f:()=>h,g:()=>p});var i=t(40),r=t(225),a=t(78),o=t(106),s=(t(5),t(235)),l=function(e,n,t,i){return new(t||(t=Promise))((function(r,a){function o(e){try{l(i.next(e))}catch(e){a(e)}}function s(e){try{l(i.throw(e))}catch(e){a(e)}}function l(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,s)}l((i=i.apply(e,n||[])).next())}))};const d=36,u=e=>{var n;return null!==(n=e.cookies.get("__orly_aid"))&&void 0!==n?n:e.cookies.get("_shopify_y")},c=e=>e.request.url.includes("__search_results_debug"),p=e=>l(void 0,[e],void 0,(function*({context:e,query:n,limit:t=4,page:i=1,options:r={}}){const a=yield h({context:e,query:n,limit:t,page:i,options:r}),o=yield P(e,a.handles,n,r,a.handlesTrackingParameterMap,a.defaultVariantIds),s=c(e);return Object.assign({query:n,limit:t,queries:a.queries,products:o,productsTotalCount:a.productsTotalCount,productSorts:a.productSorts,collections:a.collections,pages:a.pages,articles:a.articles},s&&{searchResultsDebug:a.searchResultsDebug})})),h=e=>l(void 0,[e],void 0,(function*({context:e,query:n,limit:t=4,page:r=1,options:a={}}){var s,l,d,p,h,v,g,m;const[_,P]=yield Promise.all([e.getFromCache([o.a]),e.getContent(i.a)]);if(!_)throw new Error("no product sorts");const T=u(e),[q,k]=yield Promise.all([f({siteConfig:P,query:n,limit:t,page:r,options:a}),...a.useInsiderSearch?[y({context:e,siteConfig:P,query:n,limit:t,page:r,uuid:T}).catch((()=>null))]:[]]),S=null!==(s=null==k?void 0:k.handles)&&void 0!==s?s:q.handles,C=null!==(l=null==k?void 0:k.handlesTrackingParameterMap)&&void 0!==l?l:q.handlesTrackingParameterMap,b=null!==(d=null==k?void 0:k.defaultVariantIds)&&void 0!==d?d:[],w=null!==(p=null==k?void 0:k.productsTotalCount)&&void 0!==p?p:q.productsTotalCount,I=(0,o.b)(S,_),O=null!==(h=null==q?void 0:q.queries)&&void 0!==h?h:[],x=null!==(v=null==q?void 0:q.collections)&&void 0!==v?v:[],M=null!==(g=null==q?void 0:q.pages)&&void 0!==g?g:[],$=null!==(m=null==q?void 0:q.articles)&&void 0!==m?m:[],j=c(e);return Object.assign({query:n,handles:S,handlesTrackingParameterMap:C,defaultVariantIds:b,productsTotalCount:w,productSorts:I,queries:O,collections:x,pages:M,articles:$},j&&{searchResultsDebug:{shopifyResult:q,insiderResult:k}})})),v=e=>l(void 0,[e],void 0,(function*({context:e,query:n,options:t={}}){var r,a,d,c,p,h,v,g,m,_,P,T,q;const[k,S]=yield Promise.all([e.getFromCache([o.a]),e.getContent(i.a)]);if(!k)throw new Error("no product sorts");const C=t.useInsiderSearch?50:250,b=u(e),[w,I]=yield Promise.all([f({siteConfig:S,query:n,limit:C,page:1,options:t}),...t.useInsiderSearch?[y({context:e,siteConfig:S,query:n,limit:C,page:1,uuid:b}).catch((()=>null))]:[]]),O=null!==(a=null!==(r=null==I?void 0:I.productsTotalCount)&&void 0!==r?r:w.productsTotalCount)&&void 0!==a?a:0,x=[...null!==(d=null==I?void 0:I.handles)&&void 0!==d?d:w.handles];let M=null!==(c=null==I?void 0:I.handlesTrackingParameterMap)&&void 0!==c?c:w.handlesTrackingParameterMap;const $=[...null!==(p=null==I?void 0:I.defaultVariantIds)&&void 0!==p?p:[]];if(O<=C){const e=(0,o.b)(x,k);return{query:n,handles:x,handlesTrackingParameterMap:M,defaultVariantIds:$,productsTotalCount:O,productSorts:e,queries:null!==(h=null==w?void 0:w.queries)&&void 0!==h?h:[],collections:null!==(v=null==w?void 0:w.collections)&&void 0!==v?v:[],pages:null!==(g=null==w?void 0:w.pages)&&void 0!==g?g:[],articles:null!==(m=null==w?void 0:w.articles)&&void 0!==m?m:[]}}const j=O-C,A=Math.ceil(j/C),E=new s.a({concurrency:6}),V=Array.from({length:A},((i,r)=>{const a=r+2;return E.add((()=>l(void 0,void 0,void 0,(function*(){return t.useInsiderSearch?yield y({context:e,siteConfig:S,query:n,limit:C,page:a,uuid:b}).catch((()=>null)):yield f({siteConfig:S,query:n,limit:C,page:a,options:t})}))))}));(yield Promise.all(V)).forEach((e=>{e&&(x.push(...e.handles),M=new Map([...M,...e.handlesTrackingParameterMap]),"defaultVariantIds"in e&&$.push(...e.defaultVariantIds))}));const F=(0,o.b)(x,k);return{query:n,handles:x,handlesTrackingParameterMap:M,defaultVariantIds:$,productsTotalCount:O,productSorts:F,queries:null!==(_=null==w?void 0:w.queries)&&void 0!==_?_:[],collections:null!==(P=null==w?void 0:w.collections)&&void 0!==P?P:[],pages:null!==(T=null==w?void 0:w.pages)&&void 0!==T?T:[],articles:null!==(q=null==w?void 0:w.articles)&&void 0!==q?q:[]}})),f=e=>l(void 0,[e],void 0,(function*({siteConfig:e,query:n,limit:t=4,page:i=1,options:a={}}){var o,s,l,d,u,c,p,h,v,f;const g=(0,r.a)(e),y=i>1?btoa(JSON.stringify({page:i,reverse:!0})):null,m=["QUERY",...Object.entries({includeCollections:"COLLECTION",includePages:"PAGE",includeArticles:"ARTICLE"}).filter((([e])=>a[e])).map((([,e])=>e))],{data:_,errors:P}=yield g.request("#graphql\n query search($query: String!, $first: Int!, $after: String, $productFilters: [ProductFilter!], $predictiveSearchTypes: [PredictiveSearchType!]) {\n search(query: $query, first: $first, after: $after, types: PRODUCT, productFilters: $productFilters) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n ... on Product {\n id\n handle\n tags\n availableForSale\n trackingParameters\n }\n }\n totalCount\n }\n predictiveSearch(query: $query, limit: 10, types: $predictiveSearchTypes) { # max 10 results\n queries {\n text\n styledText\n trackingParameters\n }\n collections {\n handle\n title\n trackingParameters\n }\n pages {\n handle\n title\n trackingParameters\n }\n articles {\n handle\n title\n trackingParameters\n }\n }\n }\n",{query:n,first:Math.min(250,t),after:y,predictiveSearchTypes:m});if(P)throw new Error(JSON.stringify(P));return{query:n,handles:null!==(o=null==_?void 0:_.search.nodes.map((e=>e.handle)))&&void 0!==o?o:[],handlesTrackingParameterMap:new Map(null!==(s=null==_?void 0:_.search.nodes.map((e=>[e.handle,e.trackingParameters||void 0])))&&void 0!==s?s:[]),productsTotalCount:null==_?void 0:_.search.totalCount,queries:null!==(d=null===(l=null==_?void 0:_.predictiveSearch)||void 0===l?void 0:l.queries)&&void 0!==d?d:[],collections:null!==(c=null===(u=null==_?void 0:_.predictiveSearch)||void 0===u?void 0:u.collections)&&void 0!==c?c:[],pages:null!==(h=null===(p=null==_?void 0:_.predictiveSearch)||void 0===p?void 0:p.pages)&&void 0!==h?h:[],articles:null!==(f=null===(v=null==_?void 0:_.predictiveSearch)||void 0===v?void 0:v.articles)&&void 0!==f?f:[]}})),g=new WeakMap,y=e=>l(void 0,[e],void 0,(function*({context:e,siteConfig:n,query:t,limit:i=4,page:r=1,uuid:a}){if(!n||!n.insider_auth_token||!n.insider_partner_id)throw new Error("Missing Insider config");const o=n.insider_partner_id,s=n.insider_auth_token,d=`${t}|${r}|${i}|${null!=a?a:""}`;let u=g.get(e);u||(u=new Map,g.set(e,u));const p=u.get(d);if(p)return p;const h=l(void 0,void 0,void 0,(function*(){var n,l;const d=new URL("https://ineureka.api.useinsider.com/api/web/search");d.searchParams.append("q",t),d.searchParams.append("p",o),d.searchParams.append("l","en_US"),d.searchParams.append("c","USD"),d.searchParams.append("ps",String(i)),d.searchParams.append("pf",String((r-1)*i)),d.searchParams.append("oi",String(!0)),a&&d.searchParams.append("uuid",a);const u=yield fetch(d.toString(),{headers:{"X-Auth-Token":s}});if(!u.ok)throw new Error(`Failed to fetch insider search results: ${u.statusText}`);const p=yield u.json(),h=p.data.items.map((e=>{var n,t;return null===(t=/^groupcode:(\d+)$/.exec(null!==(n=e.contentGroupId)&&void 0!==n?n:""))||void 0===t?void 0:t[1]})),v=yield Promise.all(h.map((n=>n?e.getFromCache([`/productId/${n}`]):void 0))),f=p.data.items.map(((e,n)=>{const t=v[n];return"string"==typeof t&&e.itemId?{handle:t,variantId:e.itemId}:null})).filter((e=>null!==e)),g=f.map((e=>e.handle)),y=f.map((e=>e.variantId)),m=p.data.navigation.totalItems,_=(null===(n=p.redirection)||void 0===n?void 0:n.redirectTo)?{redirectTo:p.redirection.redirectTo,redirectionText:null!==(l=p.redirection.redirectionText)&&void 0!==l?l:""}:null;return Object.assign({handles:g,handlesTrackingParameterMap:new Map,defaultVariantIds:y,productsTotalCount:m,redirection:_},c(e)&&{raw:p})}));return u.set(d,h),h.catch((()=>null==u?void 0:u.delete(d))),h}));function m(e){return l(this,arguments,void 0,(function*({siteConfig:e,query:n}){if(!(null==e?void 0:e.insider_auth_token)||!(null==e?void 0:e.insider_partner_id))return[];if(n.length<2||n.length>280)return[];const t=new URL("https://ineureka.api.useinsider.com/api/web/suggestions/query");t.searchParams.append("q",n),t.searchParams.append("p",e.insider_partner_id),t.searchParams.append("l","en_US");try{const n=yield fetch(t.toString(),{headers:{"X-AUTH-TOKEN":e.insider_auth_token}});if(!n.ok)return[];const i=yield n.json();if("Success"!==i.status||!Array.isArray(i.data))return[];const r=new Map;for(const e of i.data){if(!(null==e?void 0:e.phrase))continue;const n=/^-\s+/.test(e.phrase),t=e.phrase.replace(/^-\s+/,"").trim();if(!t)continue;const i=n||"Category"===e.phraseType,a=r.get(t);r.set(t,void 0===a?i:a||i)}return Array.from(r,(([e,n])=>({text:e,isCategory:n})))}catch(e){return[]}}))}function _(e){return l(this,arguments,void 0,(function*({siteConfig:e,userId:n}){var t,i;const r={recent:[],popular:[]};if(!(null==e?void 0:e.insider_auth_token)||!(null==e?void 0:e.insider_partner_id))return r;const a=new URL("https://ineureka.api.useinsider.com/api/web/suggestions/search-highlights");a.searchParams.append("p",e.insider_partner_id),a.searchParams.append("l","en_US"),a.searchParams.append("insightTypes","popular"),n&&(a.searchParams.append("insightTypes","recent"),a.searchParams.append("u",n));try{const n=yield fetch(a.toString(),{headers:{"X-AUTH-TOKEN":e.insider_auth_token}});if(!n.ok)return r;const o=yield n.json();return"Success"===o.status&&o.data?{recent:(null!==(t=o.data.recent_searches)&&void 0!==t?t:[]).map((e=>null==e?void 0:e.display)).filter((e=>Boolean(e))),popular:null!==(i=o.data.popular_searches)&&void 0!==i?i:[]}:r}catch(e){return r}}))}const P=(e,n,t,i,r,o)=>l(void 0,void 0,void 0,(function*(){const s=i.colorFiltering?{"product_option/Color":new Set(t.split(" "))}:void 0;return yield(0,a.a)({context:e,handles:n,maybeQueryFilters:s,handlesTrackingParameterMap:r,pinnedVariantIds:o?new Set(o):void 0}).then((e=>{const n=new Set;return e.filter((e=>!(!e||n.has(e.handle)||(n.add(e.handle),0))))}))}))}}]);