"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[21],{91:(n,e,t)=>{t.d(e,{a:()=>d,b:()=>u});var a=t(157),r=t(84),i=t(5),o=t(108),l=t(41),s=function(n,e,t,a){return new(t||(t=Promise))((function(r,i){function o(n){try{s(a.next(n))}catch(n){i(n)}}function l(n){try{s(a.throw(n))}catch(n){i(n)}}function s(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(o,l)}s((a=a.apply(n,e||[])).next())}))};function d(n){return s(this,arguments,void 0,(function*({context:n,handles:e,defaultVariantIds:t,queryFilters:s,maybeQueryFilters:d,generatedCollectionVariantIds:p,pinnedVariantColors:v,preferredVariantIds:h,pinnedProductHandles:g,originalCollectionHandles:m,handlesTrackingParameterMap:b}){e=u(n,e),s=f(s),d=f(d);const O=yield Promise.all([...e.map((e=>(0,r.a)({context:n,handle:e,isPDP:!1,queryFilters:s})))]);v=function({products:n,pinnedVariantColors:e,preferredVariantIds:t}){if(!t)return e;const a=null!=e?e:new Map;return n.forEach(((n,e)=>{if(!n)return;const r=n.variants.find((e=>{if(!t.has(e.variantId))return!1;const a=e.selectedOptions.childProductHandle;return!a||a===n.handle})),i=null==r?void 0:r.selectedOptions.Color;r&&i&&(t.delete(r.variantId),a.set(`${n.handle}_${e}`,{handle:n.handle,color:i}))})),a}({products:O,pinnedVariantColors:v,preferredVariantIds:h});const I=(0,a.a)(function(n){return n.map((n=>{if(!n)return;const{handle:e,id:t,priceRange:a,compareAtRange:r,priceCurrency:i,title:o,oos:l,metafields:s,variants:d,vendor:c,imageMap:u,options:f,productType:p,promoInfo:v,plpPromoText:h,plpTagLabels:g,priceTextOverride:m,reviewCount:b,reviewRating:O,badge:I,isPack:C,combinedKey:w,preorderSiblingHandle:y}=n;return{id:t,oos:l,priceRange:a,compareAtRange:r,priceCurrency:i,title:o,handle:e,vendor:c,options:f,metafields:s,variants:d,imageMap:u,productType:p,promoInfo:v,plpPromoText:h,plpTagLabels:g,priceTextOverride:m,reviewCount:b,reviewRating:O,badge:I,isPack:C,combinedKey:w,preorderSiblingHandle:y}})).filter(i.e)}(O),n,s,t,d).map((e=>{const t=null==p?void 0:p[e.handle],a=t&&t.length>0?e.variants.filter((n=>t.includes(n.variantId))):e.variants;return Object.assign(Object.assign({},e),{variants:c(Object.assign(Object.assign({},e),{variants:a}),n),trackingParameters:null==b?void 0:b.get(e.handle)})})),C=[],w=null!=m?m:e;if(v&&v.size>0){const t=(0,o.d)((0,i.j)(n)),a=new Set(e),r=[];if(t)for(const n of e)for(const[,e]of v)e.handle===n&&r.push(e);else for(const[,n]of v)a.has(n.handle)&&r.push(n);for(const{handle:e,color:t}of r){const a=I.find((n=>n.handle===e));if(!a){console.warn(`Pinned variant product "${e}" not found`);continue}if("_default"===t){const n=a.variants.find((n=>n.variantId==a.defaultVariantId));if(!n)continue;C.push(Object.assign(Object.assign({},a),{variants:[n],defaultVariantId:n.variantId}));continue}const r=a.variants.find((n=>n.selectedOptions.Color===t));if(!r){console.warn(`Pinned variant color "${t}" not found for ${e}`);continue}const i=O.find((n=>(null==n?void 0:n.handle)===e)),o=(null==i?void 0:i.variants)?i.variants.filter((n=>n.selectedOptions.Color===t)):[],s=o.length?(0,l.b)(n,o):o,d=s.length>0&&s!==o?s[0]:r,c=a.variants.some((n=>n.selectedOptions.Color===t))?a.variants.map((n=>n.selectedOptions.Color===t?d:n)):[...a.variants,d];C.push(Object.assign(Object.assign({},a),{variants:c,defaultVariantId:d.variantId}))}}const y=new Set(C.map((n=>n.handle))),P=y.size&&"enabled"===n.getAssignment("pinVariantsDedupe"),j=I.filter((n=>n.variants.length>0)).filter((n=>w.includes(n.handle))).filter((n=>!P||!y.has(n.handle))),V=new Set(null!=g?g:[]),T=new Map((null!=g?g:[]).map(((n,e)=>[n,e]))),E=j.filter((n=>V.has(n.handle))).sort(((n,e)=>{var t,a;return(null!==(t=T.get(n.handle))&&void 0!==t?t:Number.MAX_SAFE_INTEGER)-(null!==(a=T.get(e.handle))&&void 0!==a?a:Number.MAX_SAFE_INTEGER)})),k=j.filter((n=>!V.has(n.handle))).sort((0,l.f)(n));return[...C,...E,...k]}))}function c({variants:n,defaultVariantId:e},t){var a;const r={},i=n.find((n=>n.variantId===e));i&&(r[null!==(a=i.selectedOptions.Color)&&void 0!==a?a:"default"]=i);const o={};return n.forEach((n=>{var e,t;const a=null!==(e=n.selectedOptions.Color)&&void 0!==e?e:"default";null!==(t=o[a])&&void 0!==t||(o[a]=[]),o[a].push(n)})),Object.entries(o).forEach((([n,e])=>{var a,i,o;if(r[n])return;const s=(0,l.b)(t,e);r[n]=null!==(o=null!==(i=null!==(a=s.filter((n=>!n.oos))[0])&&void 0!==a?a:s[0])&&void 0!==i?i:e.filter((n=>!n.oos))[0])&&void 0!==o?o:e[0]})),Object.values(r)}function u(n,e){var t;if(!e.length)return e;const a=null!==(t=n.getAssignment("exitProducts"))&&void 0!==t?t:"default";if("default"===a)return e;const r=a.split("||");return e.filter((n=>!r.includes(n)))}function f(n){if(n)return Object.fromEntries(Object.entries(n).map((([n,e])=>[n,e?new Set(Array.from(e).map((n=>(0,i.k)(n)))):e])))}}}]);