"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[22],{224:(e,n,t)=>{t.d(n,{a:()=>o});var r=t(272),i=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i{t.d(n,{a:()=>g,b:()=>f,c:()=>l,d:()=>d});var r=t(52),i=t(224),a=t(91),o=t(342),s=(t(5),function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,s)}l((r=r.apply(e,n||[])).next())}))});const l=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"),d=e=>s(void 0,[e],void 0,(function*({context:e,query:n,limit:t=4,page:r=1,options:i={}}){const a=yield u({context:e,query:n,limit:t,page:r,options:i}),o=yield y(e,a.handles,n,i,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})})),u=e=>s(void 0,[e],void 0,(function*({context:e,query:n,limit:t=4,page:i=1,options:a={}}){var s,d,u,h,f,g,y,m;const[_,P]=yield Promise.all([e.getFromCache([o.a]),e.getContent(r.a)]);if(!_)throw new Error("no product sorts");const k=l(e),[T,b]=yield Promise.all([p({siteConfig:P,query:n,limit:t,page:i,options:a}),...a.useInsiderSearch?[v({context:e,siteConfig:P,query:n,limit:t,page:i,uuid:k}).catch((()=>null))]:[]]),S=null!==(s=null==b?void 0:b.handles)&&void 0!==s?s:T.handles,q=null!==(d=null==b?void 0:b.handlesTrackingParameterMap)&&void 0!==d?d:T.handlesTrackingParameterMap,w=null!==(u=null==b?void 0:b.defaultVariantIds)&&void 0!==u?u:[],C=null!==(h=null==b?void 0:b.productsTotalCount)&&void 0!==h?h:T.productsTotalCount,O=(0,o.b)(S,_),I=null!==(f=null==T?void 0:T.queries)&&void 0!==f?f:[],x=null!==(g=null==T?void 0:T.collections)&&void 0!==g?g:[],$=null!==(y=null==T?void 0:T.pages)&&void 0!==y?y:[],j=null!==(m=null==T?void 0:T.articles)&&void 0!==m?m:[],M=c(e);return Object.assign({query:n,handles:S,handlesTrackingParameterMap:q,defaultVariantIds:w,productsTotalCount:C,productSorts:O,queries:I,collections:x,pages:$,articles:j},M&&{searchResultsDebug:{shopifyResult:T,insiderResult:b}})})),p=e=>s(void 0,[e],void 0,(function*({siteConfig:e,query:n,limit:t=4,page:r=1,options:a={}}){var o,s,l,c,d,u,p,h,v,f;const g=(0,i.a)(e),y=r>1?btoa(JSON.stringify({page:r,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!==(c=null===(l=null==_?void 0:_.predictiveSearch)||void 0===l?void 0:l.queries)&&void 0!==c?c:[],collections:null!==(u=null===(d=null==_?void 0:_.predictiveSearch)||void 0===d?void 0:d.collections)&&void 0!==u?u:[],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:[]}})),h=new WeakMap,v=e=>s(void 0,[e],void 0,(function*({context:e,siteConfig:n,query:t,limit:r=4,page:i=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,l=n.insider_auth_token,d=`${t}|${i}|${r}|${null!=a?a:""}`;let u=h.get(e);u||(u=new Map,h.set(e,u));const p=u.get(d);if(p)return p;const v=s(void 0,void 0,void 0,(function*(){var n,s;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(r)),d.searchParams.append("pf",String((i-1)*r)),d.searchParams.append("oi",String(!0)),a&&d.searchParams.append("uuid",a);const u=yield fetch(d.toString(),{headers:{"X-Auth-Token":l}});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!==(s=p.redirection.redirectionText)&&void 0!==s?s:""}:null;return Object.assign({handles:g,handlesTrackingParameterMap:new Map,defaultVariantIds:y,productsTotalCount:m,redirection:_},c(e)&&{raw:p})}));return u.set(d,v),v.catch((()=>null==u?void 0:u.delete(d))),v}));function f(e){return s(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 r=yield n.json();if("Success"!==r.status||!Array.isArray(r.data))return[];const i=new Map;for(const e of r.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 r=n||"Category"===e.phraseType,a=i.get(t);i.set(t,void 0===a?r:a||r)}return Array.from(i,(([e,n])=>({text:e,isCategory:n})))}catch(e){return[]}}))}function g(e){return s(this,arguments,void 0,(function*({siteConfig:e,userId:n}){var t,r;const i={recent:[],popular:[]};if(!(null==e?void 0:e.insider_auth_token)||!(null==e?void 0:e.insider_partner_id))return i;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 i;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!==(r=o.data.popular_searches)&&void 0!==r?r:[]}:i}catch(e){return i}}))}const y=(e,n,t,r,i,o)=>s(void 0,void 0,void 0,(function*(){const s=r.colorFiltering?{"product_option/Color":new Set(t.split(" "))}:void 0;return yield(0,a.a)({context:e,handles:n,maybeQueryFilters:s,handlesTrackingParameterMap:i,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))))}))}))}}]);