class e extends HTMLElement{}const t=(e,t)=>{window.history.replaceState({},"",`${document.location.origin}/${e}/${t}`)},i=e=>e.replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())).trim(),s=async(e,t,i)=>{try{const s=await(async(e,t,i)=>{try{const s=await fetch(e);if(!s.ok)throw new Error(`Failed to fetch ${i}`);const a=await s.text(),r=(new DOMParser).parseFromString(a,"text/html").querySelector(t);if(!r)throw new Error(`${i} not found in fetched content`);return r}catch(e){throw new Error(`Error fetching ${i}: ${e.message}`)}})(e,t,i),a=document.querySelector(t);if(!a){const e=`Updated section on variant change for ${i} not found`;throw new Error(e)}a.parentNode.replaceChild(s,a)}catch(e){console.error(e.message)}},a=async e=>{const t=document.getElementById("rush-fee-variant"),{rushVariantId:i,defaultRushVariantId:s}=t?.dataset||{},a=i||window.productDualSaleRushFeeVariantID,r=s||window.defaultDualSaleRushFeeVariantID;try{await fetch(`/products/${e}.js`).then((e=>e.json())).then((e=>{window.productInventory=e.variants?.map((e=>({size:e?.option1,shipping_details:e?.option3,inventory:e?.inventory_quantity,inventory_policy:e?.inventory_policy}))),window.dispatchEvent(new CustomEvent("productChange",{detail:e})),window.productDualSaleRushFeeVariantID=""!==a?a:r}))}catch(e){console.error("trackProductChange error:",e)}};class r extends HTMLElement{connectedCallback(){this.addEventListeners()}addEventListeners(){this.querySelectorAll("label").forEach((e=>{window?.features&&window?.features["pdp_redirect-test_2025-04"]?e.addEventListener("click",(()=>this.redirect(e))):e.addEventListener("click",(()=>this.render(e)))}))}updateTitleAndCrossSellBox(){const e=document.querySelector(".product-wrapper"),t=e.querySelector("#color-legend"),i=document.querySelector("#color-legend"),s=e.querySelector("#fabric-legend"),a=document.querySelector("#fabric-legend");if(s&&a){this.updateTitle(t.textContent.trim(),i.textContent.trim(),s.textContent.trim(),a.textContent.trim());const e=document.querySelector(".cross-sell-upsell-box");e&&(e.dataset.title=`Swatch - ${a.textContent.trim()} in ${i.textContent.trim()}`)}else this.updateTitle(t.textContent.trim(),i.textContent.trim())}redirect(e){const{product:t}=e.dataset;a(t);const i=window.location.search;setTimeout((()=>{sessionStorage.setItem("scrollDepth",window.scrollY)}),50);const s=`${window.location.origin}/products/${t}${i}`;window.location.replace(s)}async render(e){const{product:i}=e.dataset;await Promise.all([s(`/products/${i}/?section_id=${this.dataset.sectionId}`,".product-wrapper","Product Wrapper Section"),s(`/products/${i}/?section_id=product--fabric-101-modal`,"fabric-modal","Fabric 101 Modal"),s(`/products/${i}/?section_id=ss-ymal-carousel`,".ss-ymal-carousel","You Might Also Like Section"),s(`/products/${i}/?section_id=product--see-it-in-the-wild`,"#see-it-in-the-wild","See It In The Wild Section"),s(`/products/${i}/?section_id=product--back-in-stock`,"#bis-input-container","Back In Stock Section"),s(`/products/${i}/?section_id=product--reviews`,".reviews-wrapper","Reviews Section")]),this.updateTitleAndCrossSellBox(),initProduct(),t("products",e.dataset.product),a(i),this.updateTitleAndCrossSellBox()}updateTitle(e,t,s,a){let r=document.title.replace(i(e),i(t));s&&a&&(r=r.replace(i(s),i(a))),document.title=r}}class o extends r{connectedCallback(){this.addEventListeners(),this.resetUnavailableProductHandels()}resetUnavailableProductHandels(){this.querySelectorAll("label").forEach((e=>{const t=e.previousElementSibling,i=this.dataset.unavailableProducts.split(","),s=this.dataset.colors.split(",").map((e=>e.trim().toLowerCase().replace(/ /g,"-"))),a=e.dataset.fabric.split(" ").join("-");if(t.disabled){const t=s.map((e=>i.find((t=>t.includes(a)&&t.includes(e))))).find((e=>e));e.dataset.product=t}}))}}const n=e=>{"undefined"!=typeof sessionStorage&&"string"==typeof e&&sessionStorage.setItem("pdp-estimated-arrival",e)},l=()=>"undefined"!=typeof sessionStorage?sessionStorage.getItem("pdp-estimated-arrival"):null;class d extends HTMLElement{constructor(){super(),this.canUpdateProductionTimelineLabels=!0,this.allSizesAreMadeToOrder=!1,this.allSizesArePreorder=!1,this.allSizesAreMadeToOrderAndPreorder=!1,this.allSizesAreWaitlist=!1,this.numOfMadeToOrderSizes=0,this.numOfPreorderSizes=0,this.numOfWaitlistSizes=0,this.matchingVariants=[],this.variantTitlesChecked=new Set;const e=window.dualSaleStandardOptionName,t=l()||e;this.state={color:void 0,slit:void 0,personalization:void 0,arrival:t,size:window.sessionStorage.getItem("pdp-standard-size-preselect")||void 0},this.variantString=void 0,this.dualSale="true"===String(this.dataset.dualSale)}connectedCallback(){this.initializeElements(),this.initializeListeners(),this.render()}handleStateChanges(){this.resetSizeCounts(),this.updateState(),this.updateVariantString(),this.updateMatchingVariants()}auditRushFee(){if(!this.dualSale)return;const e=document.querySelector("#estimated-arrival-legend"),t=document.querySelector('.standard-radios input[value="STANDARD PRODUCTION"]'),i=document.querySelector('.standard-radios input[value="RUSH PRODUCTION"]'),s=e?.dataset.rushFee,a=i?.classList?.contains("waitlisted");("$0"===s||a)&&(t.classList.toggle("waitlisted",!a),t.classList.toggle("disable-mto",!a),t.disabled=!a,(a?t:i).click())}updateUI(){this.dualSale?this.updateProductionTimelineLabelsDualSale():(this.updateProductionTimelineLabels(),this.determineIfAllSizesAreMadeToOrderOrPreorder(),this.updateMessagingOnPDP())}render(){this.handleStateChanges(),this.auditRushFee(),this.updateUI()}initializeElements(){this.product=document.querySelector(".product-wrapper"),this.productionTimelineMessage=this.product.querySelector("#shipping-message"),this.madeToOrderNote=this.product.querySelector("#madetoorder-text"),this.preOrderNote=this.product.querySelector("#preorder-text"),this.generalOrderNote=this.product.querySelector("#general-order-text"),this.generalPreorderNote=this.product.querySelector("#general-preorder-text"),this.bisMessage=this.product.querySelector("#bis-message"),this.sizeDropdownItems=this.product.querySelectorAll(".size-dropdown .dropdown-item"),this.slitVariationRadiosExist=this.product.querySelectorAll(".slit-variation-radio").length,this.personalizationRadiosExist=this.product.querySelectorAll(".personalization-input").length,this.arrivalRadiosExist=this.product.querySelectorAll(".estimated-arrival-input").length,this.productRadios=this.product.querySelectorAll(".product-radio:not(.product-fabric-radio)")}initializeListeners=()=>{this.productRadios&&this.productRadios.forEach((e=>{e.addEventListener("click",(()=>{this.render()}))}))};resetSizeCounts=()=>{this.numOfMadeToOrderSizes=0,this.numOfPreorderSizes=0};updateState(){Object.entries({color:{selector:".standard-color-radios input",defaultToFirstAvailable:!1},slit:{selector:".slit-variation-radio",defaultToFirstAvailable:!1},personalization:{selector:".personalization-input",defaultToFirstAvailable:!0},arrival:{selector:".estimated-arrival-input",defaultToFirstAvailable:!1}}).forEach((([e,t])=>{this.state[e]=this.getVariantOptionValue(t.selector,t.defaultToFirstAvailable)}))}getVariantOptionValue(e,t=!1){const i=this.product.querySelectorAll(e),s=Array.from(i).find((e=>e.checked));return s?s.value:t&&i.length>0?i[0].value:void 0}updateVariantString=()=>{const{color:e,slit:t,personalization:i,arrival:s}=this.state;this.slitVariationRadiosExist&&t?(this.canUpdateProductionTimelineLabels=!0,this.variantString=`${e} / ${t}`):this.personalizationRadiosExist&&i?(this.canUpdateProductionTimelineLabels=!0,this.variantString=`${e} / ${i}`):this.arrivalRadiosExist&&s?(this.canUpdateProductionTimelineLabels=!0,this.variantString=`${e} / ${s}`):this.slitVariationRadiosExist||this.personalizationRadiosExist?this.canUpdateProductionTimelineLabels=!1:void 0!==e&&(this.canUpdateProductionTimelineLabels=!0,this.variantString=e)};updateMatchingVariants=()=>{this.matchingVariants=[],this.variantTitlesChecked=new Set;const{color:e}=this.state;[...this.product.querySelectorAll(".variant-select option")].forEach((t=>{const i=String(t.dataset.title);if(e){const s=i===this.variantString;let a=i.includes(this.variantString)&&i.includes(`/ ${e}`);this.dualSale&&(a=i.includes(`/ ${e}`)&&t.dataset.options?.includes(window.dualSaleOptionName)),(s||a)&&this.matchingVariants.push(t)}else this.dualSale||!i||this.variantTitlesChecked.has(i)||(this.variantTitlesChecked.add(i),this.matchingVariants.push(t))}))};updateProductionTimelineLabels=()=>{if(this.canUpdateProductionTimelineLabels)if(0===this.sizeDropdownItems.length){if(void 0!==this.matchingVariants[0]&&this.matchingVariants[0]){const{dataset:e}=this.matchingVariants[0];e.madetoorder?this.numOfMadeToOrderSizes+=1:e.preorder?this.numOfPreorderSizes+=1:parseInt(e.quantity,10)<=0&&(this.numOfWaitlistSizes+=1)}}else for(let e=0;ee.dataset.size===t.dataset.value));if(s){const{dataset:e}=s,a=d.getProductionTimeline(e);e.madetoorder?this.numOfMadeToOrderSizes+=1:e.preorder?this.numOfPreorderSizes+=1:parseInt(e.quantity,10)<=0&&(this.numOfWaitlistSizes+=1),t.style.backgroundColor=d.labelStyles[a].parentStyleBackground,t.querySelector(".dropdown-item__size").style.opacity=d.labelStyles[a].sizeOpacity,d.updateLabelStyles(t,i,a)}}};updateProductionTimelineLabelsDualSale=()=>{if(!this.canUpdateProductionTimelineLabels)return;const e=[],t=[];this.matchingVariants.forEach((i=>{const s=String(i.dataset.title).toLowerCase(),a=window.dualSaleStandardOptionName.toLowerCase(),r=window.dualSaleRushOptionName.toLowerCase();s.includes(a)?e.push(i):s.includes(r)&&t.push(i)}));for(let i=0;ie.dataset.size===s.dataset.value));if(o){const{dataset:e}=o;r=d.getInventoryPolicy(e)}const n=t.find((e=>e.dataset.size===s.dataset.value));if(n){const{dataset:e}=n;let t=d.getProductionTimeline(e);t=e.quantity>0?"reset":"madetoorderonly","deny"===r&&(t="madetoorderonly"===t?e.quantity<=0?"outofstock":"waitlist":e.quantity>0?"readytoship":"reset"),s.style.backgroundColor=d.labelStyles[t].parentStyleBackground,s.querySelector(".dropdown-item__size").style.opacity=d.labelStyles[t].sizeOpacity,d.updateLabelStyles(s,a,t),"waitlist"===t&&(d.showElements(this.bisMessage),d.hideElements(this.productionTimelineMessage))}if(o.dataset.size===window?.selectedSize?.value&&"deny"===o.dataset.variantInventoryPolicy&&"0"===o.dataset.quantity){const e=document.querySelector('.standard-radios input[value="STANDARD PRODUCTION"]');e.disabled=!0,e.classList.add("waitlisted")}}};static updateLabelStyles(e,t,i){const s=t.cloneNode(!0),a=d.labelStyles[i];s.style.opacity=a.labelOpacity,s.innerText=a.text,s.style.backgroundColor=a.styleBackground,s.style.padding=a.padding,e.replaceChild(s,t)}static labelStyles={madetoorder:{text:"MADE-TO-ORDER",styleBackground:"#E4EDEE",sizeOpacity:"1",labelOpacity:"1"},madetoorderonly:{text:"MADE-ON-DEMAND ONLY",styleBackground:"#E4EDEE",sizeOpacity:"1",labelOpacity:"1"},preorder:{text:"PREORDER",styleBackground:"#E4EDEE",sizeOpacity:"1",labelOpacity:"1"},readytoship:{text:"SHIPS NOW",styleBackground:"#E9CFE0",sizeOpacity:"1",labelOpacity:"1"},waitlist:{text:"WAITLIST",styleBackground:"transparent",sizeOpacity:"1",labelOpacity:"1",padding:"0 0.25rem"},outofstock:{text:"OUT OF STOCK",styleBackground:"transparent",parentStyleBackground:"#F3F1EE",sizeOpacity:"1",labelOpacity:"1",padding:"0 0.25rem"},reset:{text:"",styleBackground:"transparent",sizeOpacity:"1",labelOpacity:"1"}};static getProductionTimeline=e=>e.madetoorder?"madetoorder":e.preorder?"preorder":e.readytoship?"readytoship":"true"===e.nowaitlist&&parseInt(e.quantity,10)<=0?"outofstock":parseInt(e.quantity,10)<=0?"waitlist":"reset";static getInventoryPolicy=e=>e.variantInventoryPolicy;determineIfAllSizesAreMadeToOrderOrPreorder=()=>{this.numOfMadeToOrderSizes>0&&this.numOfPreorderSizes>0?(this.allSizesAreMadeToOrderAndPreorder=this.matchingVariants.length===this.numOfMadeToOrderSizes+this.numOfPreorderSizes,window.globalAllSizesAreMtoAndPreorder=this.allSizesAreMadeToOrderAndPreorder):this.numOfMadeToOrderSizes>0&&this.matchingVariants.length>0?(this.allSizesAreMadeToOrder=this.matchingVariants.length===this.numOfMadeToOrderSizes,window.globalAllSizesAreMto=this.allSizesAreMadeToOrder):this.numOfPreorderSizes>0&&this.matchingVariants.length>0?(this.allSizesArePreorder=this.matchingVariants.length===this.numOfPreorderSizes,window.globalAllSizesArePreorder=this.allSizesArePreorder):this.numOfWaitlistSizes>0&&this.matchingVariants.length>0&&(this.allSizesAreWaitlist=this.matchingVariants.length===this.numOfWaitlistSizes,window.globalAllSizesAreWaitlist=this.allSizesAreWaitlist)};updateMessagingOnPDP=()=>{this.allOptionsSelected()?this.togglePDPmessagingWhenAllOptionsAreSelected():(this.togglePDPmessagingWhenSomeOptionsAreSelected(this.allSizesAreMadeToOrder,this.allSizesArePreorder,this.allSizesAreMadeToOrderAndPreorder,this.allSizesAreWaitlist,this.numOfMadeToOrderSizes,this.numOfPreorderSizes),this.changeCtaForMadeToOrderAndPreorder(),this.swapHexOfCta())};togglePDPmessagingWhenSomeOptionsAreSelected=(e,t,i,s,a,r)=>{d.hideElements(this.madeToOrderNote,this.preOrderNote,this.generalOrderNote,this.generalPreorderNote,this.productionTimelineMessage,this.bisMessage),!0===e?d.showElements(this.madeToOrderNote,this.productionTimelineMessage):!0===t?d.showElements(this.preOrderNote):i?d.showElements(this.madeToOrderNote):s?d.showElements(this.bisMessage):a>0?d.showElements(this.generalOrderNote):r>0&&d.showElements(this.generalPreorderNote)};togglePDPmessagingWhenAllOptionsAreSelected=()=>{const e=this.product.querySelector(".variant-select"),t=e?.options[e.selectedIndex],i=this.preOrderNote?.querySelector(".preorder-arrive-note");t&&(d.hideElements(this.madeToOrderNote,this.preOrderNote,this.generalOrderNote,this.generalPreorderNote,this.productionTimelineMessage,this.bisMessage),t.dataset.madetoorder?d.showElements(this.madeToOrderNote,this.productionTimelineMessage):t.dataset.preorder?(i&&(i.innerText=`${t.dataset.preorder}`),d.showElements(this.preOrderNote)):t.dataset.backinstock&&d.showElements(this.bisMessage))};changeCtaForMadeToOrderAndPreorder=()=>{if(!this.allOptionsSelected()&&window.globalAllSizesArePreorder){const e=this.product.querySelector("#pdp-atc");e.classList.remove(e.classList.value.split(" ").find((e=>-1!==e.indexOf("bg-")))),this.product.querySelector("#pdp-atc").textContent="Preorder"}};swapHexOfCta=()=>{if(this.product.querySelector("#pdp-atc")){const e=this.product.querySelector("#pdp-atc"),t=e?.textContent.trim().toLowerCase();e.classList.remove("button-primary","button-primary-alt","button-secondary","button-special"),"preorder"===t?e.classList.add("button-special"):e.classList.add("button-primary")}};static showElements=(...e)=>{e.forEach((e=>{e?.classList.remove("none","hidden")}))};static hideElements=(...e)=>{e.forEach((e=>{e?.classList.add("none","hidden")}))};allOptionsSelected=()=>{const e=this.product.querySelectorAll(".slit-variation-radio"),t=this.product.querySelector(".size-radios");let i=!1,s=!1;return i=!e.length||[...e].some((e=>e.checked)),t?t.querySelector(".size-radio:checked")&&(s=!0):s=!0,s&&i}}class c extends HTMLElement{constructor(){super(),this.state={slit:null}}connectedCallback(){this.initializeElements(),this.initializeListeners(),this.render()}render(){this.updateState(),this.updateUI()}updateState(){let e=this.getProductState("slit");e=e.toLowerCase(),this.state.slit=e}updateUI(){const e=this.state.slit;e&&Array.from(this.slitSelectors).forEach((t=>{String(t.value).toLowerCase()===e&&t.click()}))}initializeElements(){this.productState=document.querySelector("product-state"),this.slitSelectors=this.querySelectorAll(".slit-variation-radio")}initializeListeners(){Array.from(this.slitSelectors).forEach((e=>{e.addEventListener("click",(()=>{this.setProductState("slit",e.value)}))}))}getProductState=e=>this.productState.getAttribute(e);setProductState=(e,t)=>{this.productState.setAttribute(e,t)}}class h extends HTMLElement{constructor(){super();const e=l()||void 0;this.state={arrival:e},this.allSizesAreWaitlist=!1}connectedCallback(){this.initializeElements(),this.initializeListeners(),this.render()}render(){this.updateState(),this.updateUI(),this.notifyArrivalModal()}updateState(){const e={arrival:{selector:".estimated-arrival-input",defaultToFirstAvailable:!1}},t=l();t?this.state.arrival=t:Object.entries(e).forEach((([e,t])=>{this.state[e]=this.getVariantOptionValue(t.selector,t.defaultToFirstAvailable)}))}notifyArrivalModal(){const e=new CustomEvent("arrivalStateUpdated",{detail:this.state}),t=this.querySelector("arrival-modal");t&&t.dispatchEvent(e)}getVariantOptionValue(e,t=!1){const i=this.querySelectorAll(e),s=Array.from(i).find((e=>e.checked));return s?s.value:t&&i.length>0?i[0].value:void 0}updateUI(){let{arrival:e}=this.state;if(!e)return;e=e.toLowerCase();const{standardMessage:t,rushMessage:i}=this.estimatedArrivalMessage.dataset;e.includes("standard")?(this.legend.textContent="Standard (No fee)",this.estimatedArrivalMessageText.textContent=String(t)):(this.legend.textContent=`Rush +${this.rushFee}`,this.estimatedArrivalMessageText.textContent=String(i),"$0"===this.rushFee&&(this.standardRadio.disabled=!0,this.standardRadio.classList.add("disable-mto"))),this.standardRadio.disabled&&this.rushRadio.disabled?this.estimatedArrivalMessage.classList.add("hidden"):this.estimatedArrivalMessage.classList.remove("hidden"),this.updateCTAtext(),this.swapHexOfCta()}updateCTAtext(){this.allSizesAreWaitlist=!Array.from(this.pdpOptions).some((e=>"deny"!==e.dataset.variantInventoryPolicy&&e.dataset.quantity>0)),this.optionsOutOfStock=!Array.from(this.pdpOptions).some((e=>"deny"!==e.dataset.variantInventoryPolicy&&e.dataset.quantity>0&&"true"===e.dataset.nowaitlist));let{arrival:e}=this.state;e=e.toLowerCase();const t=this.isStandardProductionOnWaitlist();e.includes("standard")&&t&&this.optionsOutOfStock?this.pdpAtc.textContent="OUT OF STOCK":e.includes("standard")&&t&&this.allSizesAreWaitlist?this.pdpAtc.textContent="ADD ME TO THE WAITLIST":this.pdpAtc.textContent="ADD TO BAG"}isStandardProductionOnWaitlist(){return this.standardRadio.classList.contains("waitlisted")}colorToATC=[{id:"WAITLIST",color:"#f4e6dc"},{id:"ADD TO BAG",color:"#e5b3ac"}];swapHexOfCta=()=>{let{arrival:e}=this.state;if(e=e.toLowerCase(),this.isStandardProductionOnWaitlist(),this.pdpAtc){const e=this.pdpAtc;e.classList.remove("button-primary","button-primary-alt","button-secondary","button-special"),e.classList.add("button-primary")}};initializeElements(){this.product=document.querySelector(".product-wrapper"),this.pdpAtc=this.product.querySelector("#pdp-atc"),this.legend=this.querySelector("#estimated-arrival-legend"),this.rushFee=this.querySelector("#estimated-arrival-legend").dataset.rushFee,this.radios=this.querySelectorAll(".estimated-arrival-radios .variant-radio"),this.sizeRadios=this.product.querySelectorAll(".size-dropdown .dropdown-item"),this.labels=this.querySelectorAll(".estimated-arrival-radios .product-radio-label"),this.estimatedArrivalMessage=this.product.querySelector("#shipping-message"),this.estimatedArrivalMessageText=this.estimatedArrivalMessage.querySelector("p"),this.estimatedArrivalMessage.classList.remove("hidden"),this.rushRadio=null,this.standardRadio=null;const e=window.dualSaleStandardOptionName.toLowerCase(),t=window.dualSaleRushOptionName.toLowerCase();this.radios.forEach((i=>{i.value.toLowerCase().includes(t)?this.rushRadio=i:i.value.toLowerCase().includes(e)&&(this.standardRadio=i)})),this.pdpOptions=this.product.querySelectorAll(".pdp-option")}initializeListeners(){this.radios.forEach((e=>{e.checked&&(n(e.value),this.state.arrival=e.value,e.click()),e.addEventListener("click",(()=>{n(e.value),this.render()}));new MutationObserver((t=>{t.forEach((t=>{"attributes"===t.type&&"class"===t.attributeName&&window.autoDisableMTO&&(e.disabled?this.getLabelForRadio(e).style.pointerEvents="none":this.getLabelForRadio(e).style.pointerEvents="auto"),"attributes"===t.type&&"disabled"===t.attributeName&&(e.disabled?this.getLabelForRadio(e).style.pointerEvents="none":this.getLabelForRadio(e).style.pointerEvents="auto")}))})).observe(e,{attributes:!0})})),this.sizeRadios.forEach((e=>{e.addEventListener("click",(()=>{this.render()}))}))}getLabelForRadio(e){return Array.from(this.labels).find((t=>t.htmlFor===e.id))}}class u extends HTMLElement{constructor(){super();const e=window.dualSaleStandardOptionName,t=l()||e;this.state={arrival:t}}connectedCallback(){this.initializeElements(),this.initializeListeners(),this.updateUI()}handleStateEvent(e){e.arrival&&(this.updateState(e),this.updateUI())}updateState(e){this.state.arrival=e.arrival}updateUI(){const{standardText:e,rushText:t}=this.messageDescription.dataset,i=this.variantIsStandard(),s=i?"Standard":"Rush",a=i?e:t;i?this.messageLink.classList.remove("hidden"):this.messageLink.classList.add("hidden"),this.messageTitle.textContent=s,this.messageDescription.textContent=a}variantIsStandard(){const e=this.state.arrival?.toLowerCase();return e.includes("standard")}initializeElements(){this.message=this.querySelector(".arrival-modal-message"),null!==this.message&&(this.triggers=this.querySelectorAll(".arrival-modal-trigger"),this.overlay=this.querySelector(".arrival-modal-overlay"),this.close=this.querySelector(".arrival-modal-close"),this.closeImg=this.querySelector(".arrival-modal-close img"),this.messageTitle=this.querySelector(".arrival-modal-message-title"),this.messageDescription=this.querySelector(".arrival-modal-message-description"),this.messageLink=this.querySelector(".arrival-modal-message-link"))}initializeListeners(){this.addEventListener("arrivalStateUpdated",(e=>{this.handleStateEvent(e.detail)})),this.triggers.forEach((e=>{e.addEventListener("click",(e=>{e.target!==this.close&&e.target!==this.closeImg&&"A"!==e.target.tagName&&(e.preventDefault(),this.showModal(),this.trapFocus())}))})),this.close.addEventListener("click",(e=>{this.closeModal(e)})),this.overlay.addEventListener("click",(e=>{this.closeModal(e)}))}showModal(){this.message.classList.remove("none"),this.message.classList.add("active"),this.overlay.classList.remove("hidden")}closeModal=e=>{e.preventDefault(),this.message.classList.add("none"),this.message.classList.remove("active"),this.overlay.classList.add("hidden")};trapFocus(){const e=this.message.querySelectorAll('a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])'),t=e[0],i=e[e.length-1];this.message.addEventListener("keydown",(e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===t&&(i.focus(),e.preventDefault()):document.activeElement===i&&(t.focus(),e.preventDefault()))}))}}class p extends HTMLElement{connectedCallback(){this.initializeElements(),this.initializeListeners(),this.render()}initializeElements(){this.productWrapper=document.querySelector(".product-wrapper"),this.allSwatchProductCardsInThisFabric=window?.features?.enableNewCarouselUI?Array.from(this.querySelectorAll(".utm-swatch-new")):Array.from(this.querySelectorAll(".utm-swatch-legacy")),this.carouselContainer=window?.features?.enableNewCarouselUI?this.querySelector("#utm-swatch-carousel-container"):this.querySelector("#utm-swatch-carousel-container-legacy"),this.variantColors=this.productWrapper.querySelector("variant-colors"),this.colorInputs=Array.from(this.variantColors.querySelectorAll("input")),this.startingIndex=this.colorInputs.findIndex((e=>e.checked)),this.productState=document.querySelector("product-state"),this.fabric=this.productState.getAttribute("fabric-handleized")}initializeListeners(){this.productWrapper.querySelectorAll(".color-label, .fabric-label").forEach((e=>{e.addEventListener("click",(()=>{t("products",e.dataset.product),this.updateCarousel()}))}))}updateCarousel=()=>{if("google"!==new URLSearchParams(window.location.search).get("utm_source"))return void this.remove();const e=[];let t=0;for(let i=this.startingIndex;t<8;i+=1){i>=this.colorInputs.length&&(i=0);const s=this.colorInputs[i].value;e.push(s),t+=1}const i=((e=[])=>e.map((e=>e.toLowerCase().trim().replace(/\s+/g,"-"))))(e).map((e=>`swatch-${this.fabric}-in-${e}`)),s=new Map(this.allSwatchProductCardsInThisFabric.map((e=>[e.dataset.handle,e]))),a=i.reduce(((e,t)=>{const i=s.get(t);return i&&e.push(i),e}),[]);this.carouselContainer.innerHTML="",a.forEach((e=>{this.carouselContainer.appendChild(e)}))};render(){this.updateCarousel()}}customElements.define("product-state",e),customElements.define("variant-colors",r),customElements.define("variant-fabrics",o),customElements.define("variant-sizes",d),customElements.define("variant-slits",c),customElements.define("variant-estimated-arrival",h),customElements.define("arrival-modal",u),customElements.define("utm-swatch-carousel",p);export{u as ArrivalModal,e as ProductState,p as UtmSwatchCarousel,r as VariantColors,h as VariantEstimatedArrival,o as VariantFabrics,d as VariantSizes,c as VariantSlits}; //# sourceMappingURL=product--components.min.js.map