customElements.get("pickup-availability")||customElements.define("pickup-availability",class extends HTMLElement{constructor(){super(),this.errorHtml=this.querySelector("template")?.content.firstElementChild.cloneNode(!0),this.info=this.querySelector(".js-pickup-availability-info"),this.pickupAvailabilityConfirmStore=this.querySelector(".pickup-availability__confirm-store"),this.storeLocator=document.querySelector("my-store-locator"),this.storeLocatorDrawer=document.querySelector("my-store-locator-drawer"),this.storeConfirmationMessage=window.cartStrings.storeConfirmationMessage}renderError(){this.info.innerHTML="",this.info.append(this.errorHtml)}renderLoading(){this.info.innerHTML="",this.pickupAvailabilityConfirmStore&&(this.pickupAvailabilityConfirmStore.innerHTML="");const loadingHtml=`
${this.storeLocator.dataset.loadingText}
`,loadingNode=new DOMParser().parseFromString(loadingHtml,"text/html").body.childNodes[0];this.info.append(loadingNode)}renderPreview(location){if(this.dataset?.cto){location?.available?this.classList.add("is-active"):this.classList.remove("is-active");return}if(this.dataset?.itemKey&&location){const itemLocationsData=this.storeLocator.itemLocationsData[this.dataset.itemKey];if(itemLocationsData){const itemLocation=itemLocationsData.find(itemLocation2=>itemLocation2.id===location.id);itemLocation&&(location=itemLocation)}}this.info.innerHTML="",this.pickupAvailabilityConfirmStore&&(this.pickupAvailabilityConfirmStore.innerHTML="");let buttonText=this.storeLocator.dataset.viewStoreAvailabilityText,unavailableHtml="",timeHtml="",stockHtml="",messageOverridden=!1;if(location){const itemsAdded=this.dataset?.itemQuantity?parseInt(this.dataset.itemQuantity):null;buttonText=location.name;let pickUpTimeTranslated="";if(location.pickUpTime){const key=location.pickUpTime,languageKey=SDG.Data.language?.toLowerCase()||"en";pickUpTimeTranslated=window.deliveryOptionsStrings?.[languageKey]?.[key]||location.pickUpTime}let overridePickupMessage=this.dataset?.overridePickupMessage;const messageType=this.dataset?.messageType;if(!overridePickupMessage&&messageType){const languageKey=SDG.Data.language?.toLowerCase()||"en",pickupMessagesJson=JSON.parse(location.pickupMessages?.value||null),pickupMessages=pickupMessagesJson?.[languageKey]||pickupMessagesJson?.en;switch(messageType){case"cto":overridePickupMessage=pickupMessages?.cto;break;case"preorder":overridePickupMessage=pickupMessages?.preOrder;break;case"in stock":overridePickupMessage=pickupMessages?.inStock;break}}if(overridePickupMessage&&location.productPickupOfferedAtLocation&&!(messageType==="in stock"&&!location.available))timeHtml=`${overridePickupMessage}
`,window.location.href.includes("/cart")&&(this.pickupAvailabilityConfirmStore.innerHTML=this.storeConfirmationMessage),messageOverridden=!0;else if(location.available)this.dataset.quantityAvailable=location.quantityAvailable,timeHtml=`${pickUpTimeTranslated}
`,location.quantityAvailable<10&&(stockHtml=`${this.storeLocator.dataset.lowStockHtml.replace("{{ quantity }}",location.quantityAvailable)}
`),itemsAdded&&itemsAdded>location.quantityAvailable&&(timeHtml=`${this.dataset.error}
`),window.location.href.includes("/cart")&&(this.pickupAvailabilityConfirmStore.innerHTML=this.storeConfirmationMessage);else if(location.available===!1){const overrideUnavailableMessage=this.dataset?.overrideUnavailableMessage;unavailableHtml=`${overrideUnavailableMessage?`${overrideUnavailableMessage}`:this.storeLocator.dataset.unavailableText}
`,messageOverridden=!!overrideUnavailableMessage}}const infoHtml=`