1import{oosCanadaProductIds,oosUkProductIds,oosUsaProductIds}from"./geolocation-handler.js";class BartesianPricingUI extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.initializeProperties(),this.removeLoaderElements(),this.shadowRoot.append(this.createStyles(),this.createStructure()),this.setupEventListeners(),this.checkAvailability(),this.checkOutOfStock()}initializeProperties(){this.sideCart=document.querySelector("side-cart"),this.uiType=this.getAttribute("ui-type"),this.variantId=this.getAttribute("variant-id"),this.productId=this.getAttribute("product-id"),this.price=JSON.parse(this.getAttribute("price")),this.currentTemplate=this.getAttribute("current-template"),this.oosStates=disableStickyATC[this.productId],this.showModifiedPricing=!1,this.modifiedPricing=this.price?.amount||null,this.availability=this.getAttribute("availability"),this.productId==="7697851908295"||this.productId==="7701507276999"?this.numCapsulesPerBox=6:this.productId==="8035822534855"||this.productId==="8773255692487"||this.productId==="7519374901447"?this.numCapsulesPerBox=12:this.productId==="8166638452935"?this.numCapsulesPerBox=4:this.numCapsulesPerBox=8}removeLoaderElements(){document.querySelectorAll(".line-of-dots")?.forEach(element=>{element.classList.remove("line-of-dots")})}setupEventListeners(){this.boundHandleOutsideClick=this.handleOutsideClick.bind(this),document.addEventListener("click",this.boundHandleOutsideClick)}createStyles(){const style=document.createElement("style");return style.textContent=` 2 :root { 3 --custom-loader-primary: #008fbb; 4 } 5 .bartesian-pricing-ui-wrapper { 6 display: flex; 7 align-items: center; 8 justify-content: space-between; 9 width: 100%; 10 position: relative; 11 } 12 .bartesian-pricing-ui-wrapper-pdp { 13 align-items: flex-start; 14 } 15 .bartesian-pricing-ui-wrapper-plp { 16 padding-left: 1rem; 17 } 18 .bartesian-pricing-ui-inner-wrapper { 19 display: flex; 20 flex-direction: column; 21 align-items: flex-start; 22 justify-content: center; 23 } 24 .bartesian-pricing-ui-inner-wrapper-pdp { 25 flex-direction: column; 26 align-items: flex-start; 27 margin-top: 1rem; 28 width: 100%; 29 } 30 .add-to-cart-btn:hover { 31 cursor: pointer; 32 } 33 .add-to-cart-btn:disabled { 34 cursor: not-allowed; 35 ${this.currentTemplate==="product"?"width: 100%;":"width: 50px;"} 36 } 37 .price span, 38 .default-price-per-unit span { 39 color: rgb(var(--color-foreground)); 40 font-size: 13px; 41 font-family: Encode Sans, sans-serif; 42 letter-spacing: 0; 43 } 44 .price-per-capsule span, 45 .price-per-box span { 46 font-size: 16px; 47 color: #008FBB; 48 font-weight: bold; 49 } 50 .price-font-normal span { 51 font-weight: normal; 52 } 53 .add-to-cart { 54 55 } 56 .add-to-cart-pdp { 57 width: 100%; 58 } 59 .add-to-cart-btn { 60 display: flex; 61 color: white; 62 background: #008FBB; 63 width: 50px; 64 height: 50px; 65 justify-content: center; 66 align-items: center; 67 border: 1px solid #008FBB; 68 margin: .5rem 1rem; 69 font-size: 1.5rem; 70 border-radius: 50%; 71 position: relative; 72 } 73 .add-to-cart-btn .sold-out { 74 font-size: 11px; 75 position: absolute; 76 top: 50%; 77 left: 50%; 78 transform: translate(-50%, -50%); 79 } 80 .add-to-cart-btn-pdp { 81 background-color: #008FBB; 82 font-family: "Encode Sans Condensed", sans-serif; 83 font-size: 14px; 84 letter-spacing: 2px; 85 width: 100%; 86 margin: 1rem auto; 87 height: 40px; 88 border: none; 89 border-radius: unset; 90 } 91 .add-to-cart-btn-pdp .sold-out { 92 font-size: 16px; 93 } 94 .add-to-cart-btn-pdp:hover { 95 box-shadow: 0 0 0 0 #008FBB; 96 border: unset; 97 } 98 .add-to-cart-btn-pdp:disabled { 99 cursor: not-allowed; 100 } 101 .quantity-selector { 102 display: none; 103 position: absolute; 104 background: #e0e0e0; 105 border: 1px solid #ccc; 106 padding: 2rem; 107 z-index: 100; 108 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 109 box-sizing: border-box; 110 text-align: center; 111 ${this.currentTemplate==="product"?"transform: translate(-50%, -75%);":"transform: translate(-50%, -125%);"} 112 left: 50%; 113 ${this.currentTemplate==="product"?"":"top: 50%;"} 114 max-height: 260px; 115 } 116 .quantity-selector h3 { 117 font-size: 2rem; 118 margin: 0; 119 } 120 .quantity-selector__container { 121 gap: 0.5rem; 122 display: flex; 123 flex-direction: column; 124 justify-items: center; 125 align-items: center; 126 } 127 .predefined-quantity-list { 128 display: grid; 129 grid-template-columns: repeat(4, 1fr); 130 padding: 0; 131 gap: 1rem; 132 width: 100%; 133 margin: 1rem auto 0; 134 } 135 .predefined-quantity-list__quantity { 136 list-style: none; 137 margin: 0; 138 padding: 0; 139 } 140 .predefined-quantity-list__quantity-button { 141 width: 50px; 142 height: 50px; 143 background: #fff; 144 border: 2px solid #ccc; 145 cursor: pointer; 146 font-size: 1em; 147 display: flex; 148 justify-content: center; 149 align-items: center; 150 transition: background 0.3s, color 0.3s; 151 } 152 .predefined-quantity-list__quantity-button:hover { 153 background: #f0f0f0; 154 } 155 .predefined-quantity-list__quantity-button.selected { 156 background: white; 157 color: black; 158 border: 2px solid #008FBB; 159 } 160 .text-field__input { 161 width: 110px; 162 padding: 10px; 163 box-sizing: border-box; 164 font-size: 1em; 165 border: 2px solid #ccc; 166 margin-right: 1rem; 167 } 168 .text-field__input::placeholder { 169 font-size: 1.2rem; 170 } 171 input.text-field__input[type="number"]::-webkit-outer-spin-button, 172 input.text-field__input[type="number"]::-webkit-inner-spin-button { 173 -webkit-appearance: none; 174 margin: 0; 175 } 176 input.text-field__input[type="number"]:focus { 177 outline: 1px solid #ccc; 178 border: 1px solid #ccc; 179 } 180 .quantity-selector-custom-field__button-ok { 181 width: 110px; 182 height: 50px; 183 background: #008FBB; 184 color: #fff; 185 border: none; 186 cursor: pointer; 187 font-size: 14px; 188 transition: background 0.3s; 189 letter-spacing: 1px; 190 } 191 .quantity-selector-custom-field__container { 192 width: 100%; 193 display: flex; 194 } 195 @media screen and (max-width: 768px) { 196 .quantity-selector { 197 position: fixed; 198 top: 50%; 199 left: 50%; 200 transform: translate(-50%, -50%); 201 } 202 .add-to-cart-btn { 203 width: 35px; 204 height: 35px; 205 } 206 .add-to-cart-btn-pdp { 207 width: 100%; 208 } 209 .bartesian-pricing-ui-wrapper-plp .price-per-capsule span { 210 font-size: 13px; 211 } 212 .bartesian-pricing-ui-wrapper-plp .price-per-box span { 213 font-size: 13px; 214 max-width: 60px !important; 215 display: block; 216 } 217 .bartesian-pricing-ui-wrapper-plp .default-price-per-unit span { 218 font-size: 11px; 219 } 220 .bartesian-pricing-ui-wrapper-plp .add-to-cart { 221 margin-right: 0.5rem; 222 } 223 .add-to-cart-btn .sold-out { 224 font-size: 10px; 225 } 226 .add-to-cart-btn-pdp .sold-out { 227 font-size: 14px; 228 } 229 .add-to-cart-btn:disabled {
230 cursor: not-allowed; 231 ${this.currentTemplate==="product"?"width: 100%;":"width: 35px;"} 232 } 233 } 234 `,this.classList.contains("holiday-theme")&&(style.textContent+=` 235 .add-to-cart { 236 display: none !important; 237 } 238 .price-per-capsule span, .price-per-box span { 239 color: black !important; 240 241 } 242 .bartesian-pricing-ui-wrapper-plp { 243 padding-left: 0 !important; 244 } 245 `),style}createStructure(){const wrapper=document.createElement("div");wrapper.classList.add("bartesian-pricing-ui-wrapper"),this.currentTemplate==="product"?wrapper.classList.add("bartesian-pricing-ui-wrapper-pdp"):wrapper.classList.add("bartesian-pricing-ui-wrapper-plp");const innerWrapper=document.createElement("div");return innerWrapper.classList.add("bartesian-pricing-ui-inner-wrapper"),this.currentTemplate==="product"?(innerWrapper.classList.add("bartesian-pricing-ui-inner-wrapper-pdp"),this.uiType==="non-variety"?innerWrapper.append(this.createPriceElement(),this.createDefaultPricePerUnitElement(),this.createButtonContainer()):innerWrapper.append(this.createPerBoxPriceElement(),this.createButtonContainer()),wrapper.append(innerWrapper)):this.uiType==="non-variety"?(innerWrapper.append(this.createPriceElement(),this.createDefaultPricePerUnitElement()),wrapper.append(innerWrapper,this.createButtonContainer())):(innerWrapper.append(this.createPerBoxPriceElement()),wrapper.append(innerWrapper,this.createButtonContainer())),wrapper}createPriceElement(){const price=document.createElement("div");price.classList.add("price"),price.classList.add("price-per-capsule"),this.uiType!=="non-variety"&&this.currentTemplate;const amount=parseFloat(this.price.amount/this.numCapsulesPerBox),formattedPrice=(()=>{switch(this.price.currency_code){case"USD":case"CAD":case"AUD":return`$${amount.toFixed(2)}`;case"GBP":return`\xA3${amount.toFixed(2)}`;case"EUR":return`\u20AC${amount.toFixed(2)}`;default:return`${amount.toFixed(2)} ${this.price.currency_code}`}})();return price.innerHTML=`<span>${formattedPrice} ${this.currentTemplate==="product"?window.cartStrings.perCapsule:""}</span>`,price}createPerBoxPriceElement(){const price=document.createElement("div");price.classList.add("price"),price.classList.add("price-per-box");const amount=parseFloat(this.price.amount),formattedPrice=(()=>{switch(this.price.currency_code){case"USD":case"CAD":case"AUD":return`$${amount.toFixed(2)}`;case"GBP":return`\xA3${amount.toFixed(2)}`;case"EUR":return`\u20AC${amount.toFixed(2)}`;default:return`${amount.toFixed(2)} ${this.price.currency_code}`}})();return price.innerHTML=`<span>${formattedPrice} / box of ${this.numCapsulesPerBox}</span>`,price}createButtonContainer(){const buttonContainer=document.createElement("div");return buttonContainer.classList.add("add-to-cart"),this.currentTemplate==="product"&&buttonContainer.classList.add("add-to-cart-pdp"),buttonContainer.dataset.productId=this.productId,buttonContainer.dataset.variantId=this.variantId,buttonContainer.dataset.buttonSize="small",buttonContainer.dataset.initialized="true",buttonContainer.innerHTML=` 246 <div class="add-to-cart-btn__container"> 247 <div id="add-to-cart-btn__button-${this.variantId}"> 248 <button 249 class="add-to-cart-btn add-to-cart-btnSmall add-to-cart-btnSmall--active ${this.currentTemplate==="product"?"add-to-cart-btn-pdp":""}" 250 data-focus-id="add-to-cart-btn__button-${this.variantId}" 251 type="button" 252 > 253 <div aria-hidden="true" class="add-to-cart-btnSmall__quantity">${this.currentTemplate==="product"?"ADD TO CART":"+"}</div> 254 </button> 255 ${this.createQuantitySelector()} 256 </div> 257 </div> 258 `,buttonContainer}createQuantitySelector(){let predefinedQuantityList=[];return this.productId==="8035822534855"||this.productId==="8773255692487"||this.productId==="7519374901447"?predefinedQuantityList=[0,1,2,3,4]:predefinedQuantityList=this.uiType==="non-variety"?[0,8,16,24,32,40,48,56]:[0,1,2,3,4,5,6,7],` 259 <div 260 class="quantity-selector" 261 id="quantity-selector__wrapper-${this.variantId}" 262 role="dialog" 263 aria-labelledby="quantity-selector__title-${this.variantId}" 264 aria-describedby="quantity-selector__description-${this.variantId}" 265 > 266 <h3>${this.uiType==="non-variety"?"Select Capsule Quantity":"Select Box Quantity"}</h3> 267 <div class="quantity-selector__container"> 268 <ul class="predefined-quantity-list"> 269 ${predefinedQuantityList.map(quantity=>` 270 <li class="predefined-quantity-list__quantity"> 271 <button id="quantity-selector__predefined-${quantity}" class="predefined-quantity-list__quantity-button" data-quantity="${quantity}">
272 <span aria-hidden="true" class="notranslate">${quantity}</span> 273 </button> 274 </li> 275 `).join("")} 276 </ul> 277 <div id="quantity-message"></div> 278 <form class="quantity-selector-custom-field__container" novalidate=""> 279 <input 280 id="quantity-selector__custom-field-${this.variantId}" 281 data-focus-id="quantity-selectorCustomField__field" 282 type="number" 283 min="0" 284 class="text-field__input quantity-selectorCustomField__input" 285 placeholder="Other Amount" 286 > 287 <button 288 id="quantity-selector__custom-ok-${this.variantId}" 289 class="quantity-selector-custom-field__button-ok" 290 type="submit" 291 > 292 UPDATE 293 </button> 294 </form> 295 </div> 296 </div> 297 `}createDefaultPricePerUnitElement(){const defaultPricePerUnit=document.createElement("div");defaultPricePerUnit.classList.add("default-price-per-unit"),this.currentTemplate;const amount=parseFloat(this.price.amount),formattedPrice=(()=>{switch(this.price.currency_code){case"USD":case"CAD":case"AUD":return`$${amount.toFixed(2)}`;case"GBP":return`\xA3${amount.toFixed(2)}`;case"EUR":return`\u20AC${amount.toFixed(2)}`;default:return`${amount.toFixed(2)} ${this.price.currency_code}`}})();return defaultPricePerUnit.innerHTML=`<span>${formattedPrice} / box of ${this.numCapsulesPerBox} ${this.currentTemplate==="product"?"capsules":""}</span>`,defaultPricePerUnit}addEventListeners(){const addToCartButton=this.shadowRoot.querySelector(".add-to-cart-btn");addToCartButton?addToCartButton.addEventListener("click",()=>this.toggleQuantitySelector(this.variantId)):console.error("Add-to-cart button not found");const quantityButtons=this.shadowRoot.querySelectorAll(".predefined-quantity-list__quantity-button");quantityButtons.length>0?quantityButtons.forEach(button=>{button.addEventListener("click",event=>this.handlePredefinedQuantityButtonClick(event))}):console.error("Predefined quantity buttons not found");const customFieldContainer=this.shadowRoot.querySelector(".quantity-selector-custom-field__container");customFieldContainer?customFieldContainer.addEventListener("submit",event=>{event.preventDefault(),this.updateCustomQuantity(this.variantId)}):console.error("Custom field container not found")}handlePredefinedQuantityButtonClick(event){const currentBtn=event.currentTarget;this.shadowRoot.querySelectorAll(".predefined-quantity-list__quantity-button").forEach(btn=>btn.classList.remove("selected")),currentBtn.classList.add("selected");const quantity=Number(currentBtn.getAttribute("data-quantity")),customQuantityInput=this.shadowRoot.querySelector(".text-field__input.quantity-selectorCustomField__input");customQuantityInput&&(customQuantityInput.value=quantity),quantity===0&&this.updateQuantity(quantity,this.variantId)}async fetchInitialQuantity(openCart=!1){if(!this.sideCart||typeof this.sideCart.getCart!="function"){console.error("sideCart is not defined or getCart method is not available");return}const cartItems=await this.sideCart.getCart();openCart||this.closeSideCart();const cartItem=cartItems.items.find(item=>item.variant_id.toString()===this.variantId),initialQuantity=cartItem?cartItem.quantity:0;let quantity=this.uiType==="variety"?initialQuantity:initialQuantity*8;this.setAttribute("quantity",quantity),this.updateQuantityDisplayForVariant(this.variantId,quantity)}updateQuantityDisplayForVariant(variantId,quantity){const quantityDisplay=this.shadowRoot.querySelector(`#add-to-cart-btn__button-${variantId} .add-to-cart-btnSmall__quantity`);quantityDisplay&&this.updateQuantityDisplay(quantityDisplay,quantity),this.shadowRoot.querySelectorAll(".predefined-quantity-list__quantity-button").forEach(button=>button.classList.remove("selected"));const predefinedButton=this.shadowRoot.querySelector(`.predefined-quantity-list__quantity-button[data-quantity="${quantity}"]`);predefinedButton&&predefinedButton.classList.add("selected")}toggleQuantitySelector(variantId){const quantitySelector=this.shadowRoot.getElementById(`quantity-selector__wrapper-${variantId}`),quantitySelectorTitle=this.shadowRoot.querySelector(".quantity-selector h3"),quantityBtnList=this.shadowRoot.querySelector(".predefined-quantity-list");quantitySelector?(quantitySelectorTitle.style.display="block",quantityBtnList.style.display="grid",quantitySelector.style.display=quantitySelector.style.display==="block"?"none":"block"):console.error("Quantity selector not found")}async updateQuantity(quantity,variantId){let formattedQuantity=this.uiType==="variety"?quantity:quantity/this.numCapsulesPerBox;const quantityDisplay=this.shadowRoot.querySelector(`#add-to-cart-btn__button-${variantId} .add-to-cart-btnSmall__quantity`);if(quantityDisplay&&(this.currentTemplate!=="product"&&this.updateQuantityDisplay(quantityDisplay,quantity),this.toggleQuantitySelector(variantId),this.setAttribute("quantity",quantity)),this.sideCart){const cartItems=await this.sideCart.getCart();this.closeSideCart(),cartItems?.items?.some(item=>item.variant_id.toString()===variantId)?await this.updateCartItem(variantId,formattedQuantity):await this.addOrUpdateCartItem(variantId,formattedQuantity)}}updateQuantityDisplay(quantityDisplay,quantity){const displayQuantity=Number(quantity);quantityDisplay.textContent=displayQuantity===0?"+":displayQuantity}closeSideCart(){this.sideCart&&(this.sideCart.classList.remove("cart--open"),document.querySelector("body").classList.remove("overflow-hidden"))}async updateCartItem(variantId,quantity){if(!this.sideCart)return;const cart=await this.sideCart.getCart(),index=cart.items.findIndex(item=>String(item.variant_id??item.id)===String(variantId));if(index===-1){console.warn("Variant not found in cart:",variantId,cart.items);return}const lineIndex=index+1;await this.sideCart.updateCart(lineIndex,quantity),this.openSideCart()}async addOrUpdateCartItem(variantId,quantity){quantity!==0&&this.sideCart&&(await this.sideCart.addToCart(variantId,quantity,void 0,{_showModifiedPricing:this.showModifiedPricing,_modifiedPricing:this.modifiedPricing,_numCapsulesPerBox:this.numCapsulesPerBox}),this.openSideCart())}openSideCart(){this.sideCart&&(this.sideCart.classList.add("cart--open"),document.querySelector("body").classList.add("overflow-hidden"))}updateCustomQuantity(variantId){const customQuantityInput=this.shadowRoot.getElementById(`quantity-selector__custom-field-${variantId}`),quantitySelector=this.shadowRoot.querySelector(".quantity-selector"),quantitySelectorTitle=this.shadowRoot.querySelector(".quantity-selector h3"),quantityBtnList=this.shadowRoot.querySelector(".predefined-quantity-list"),quantityMessageDiv=this.shadowRoot.getElementById("quantity-message");quantitySelectorTitle.style.display="block",quantityBtnList.style.display="grid";let quantity=Number(customQuantityInput.value);if(quantity%this.numCapsulesPerBox!==0&&this.uiType==="non-variety"){const closestMultiple=Math.ceil(quantity/this.numCapsulesPerBox)*this.numCapsulesPerBox;quantityMessageDiv.innerHTML=`<p>Available in multiples of ${this.numCapsulesPerBox}</p><p><strong>Modified quantity to ${closestMultiple}</strong></p>`,quantity=closestMultiple,quantitySelectorTitle.style.display="none",quantityBtnList.style.display="none",customQuantityInput.value=quantity,customQuantityInput.focus(),quantitySelector.style.bottom==="-10rem"&&(quantitySelector.style.bottom="0")}else{this.updateQuantity(quantity,variantId),customQuantityInput&&(customQuantityInput.value=quantity);const predefinedButtons=this.shadowRoot.querySelectorAll(".predefined-quantity-list__quantity-button");let matchedButton=null;predefinedButtons.forEach(button=>{Number(button.getAttribute("data-quantity"))===quantity&&(matchedButton=button),button.classList.remove("selected")}),matchedButton&&matchedButton.classList.add("selected"),quantityMessageDiv.textContent=""}}handleOutsideClick(event){this.shadowRoot.querySelectorAll(".quantity-selector").forEach(selector=>{const quantityBtnList=this.shadowRoot.querySelector(".predefined-quantity-list"),addToCartButton=this.shadowRoot.querySelector(".add-to-cart-btn"),customFieldContainer=this.shadowRoot.querySelector(".quantity-selector-custom-field__container");if(this.currentTemplate==="product"){const stickyAtcButton=document.querySelector("sticky-atc");selector.style.display==="block"&&!selector.contains(event.target)&&!event.composedPath().includes(addToCartButton)&&!event.composedPath().includes(quantityBtnList)&&!event.composedPath().includes(cu
297stomFieldContainer)&&!event.composedPath().includes(stickyAtcButton)&&(selector.style.display="none",selector.style.position="absolute",selector.style.bottom="unset")}else selector.style.display==="block"&&!selector.contains(event.target)&&!event.composedPath().includes(addToCartButton)&&!event.composedPath().includes(quantityBtnList)&&!event.composedPath().includes(customFieldContainer)&&(selector.style.display="none")})}disableAtc(){const atcButton=this.shadowRoot.querySelector("button.add-to-cart-btn");atcButton.setAttribute("disabled",!0),this.currentTemplate==="product"?atcButton.innerHTML='<span class="sold-out">SOLD OUT</span>':atcButton.innerHTML='<span class="sold-out">SOLD<br>OUT</span>',this.price.currency_code==="AUD"&&(atcButton.innerHTML='<span class="sold-out">Coming Soon</span>')}enableAtc(){const atcButton=this.shadowRoot.querySelector("button.add-to-cart-btn");atcButton.removeAttribute("disabled"),this.currentTemplate==="product"?atcButton.innerHTML='<div aria-hidden="true" class="add-to-cart-btnSmall__quantity">ADD TO CART</div>':atcButton.innerHTML='<div aria-hidden="true" class="add-to-cart-btnSmall__quantity">+</div>'}checkAvailability(){const atcButton=this.shadowRoot.querySelector("button.add-to-cart-btn");this.availability==="false"&&(atcButton.setAttribute("disabled",!0),this.currentTemplate==="product"?atcButton.innerHTML='<span class="sold-out">SOLD OUT</span>':atcButton.innerHTML='<span class="sold-out">SOLD<br>OUT</span>',this.price.currency_code==="AUD"&&(atcButton.innerHTML='<span class="sold-out">Coming Soon</span>'))}disableProductsByMarket(productIds,region){productIds.length===0||!(region===""?!window.location.href.includes("/en-ca/")&&!window.location.href.includes("/en-gb/"):window.location.href.includes(`/${region}/`))||productIds.forEach(productId=>
297{const atcBtnWrapper=this.shadowRoot.querySelector(`[data-product-id="${productId}"]`);if(atcBtnWrapper){const atcButton=atcBtnWrapper.querySelector("button.add-to-cart-btn");atcButton&&(atcButton.setAttribute("disabled",!0),this.currentTemplate==="product"?atcButton.innerHTML='<span class="sold-out">SOLD OUT</span>':atcButton.innerHTML='<span class="sold-out">SOLD<br>OUT</span>',this.price.currency_code==="AUD"&&(atcButton.innerHTML='<span class="sold-out">Coming Soon</span>'))}})}showModifiedPricingPerRegion(data){const regionCode=data.region_code,wrapper=this.parentElement,quickshopWrapper=wrapper.parentElement.querySelector(".quickshop__wrapper"),regionCodeSpan=wrapper.querySelector(".region-code");this.showModifiedPricing=!0,wrapper.classList.add("modified-pricing-enabled"),quickshopWrapper&&quickshopWrapper.classList.add("modified-pricing-enabled"),regionCodeSpan&&(regionCodeSpan.textContent=regionCode),this.classList.remove("hide-pricing-related-element")}async checkOutOfStock(){this.disableProductsByMarket(oosCanadaProductIds,"en-ca"),this.disableProductsByMarket(oosUkProductIds,"en-gb"),this.disableProductsByMarket(oosUsaProductIds,"");
297const storedGeoData=sessionStorage.getItem("geoDetails");if(storedGeoData){const data=JSON.parse(storedGeoData);this.checkRegionCodes(data)}this.addEventListeners()}checkRegionCodes(data){const regionCodeActions={no_CA:["AZ","CA","ID","MT","NV","OR","UT","WA"],no_TX:["KS","NM","AR","LA","OK","TX","CO","WY"],no_IL:["ND","SD","NE","IL","WI","MN","IA","MO","IN","AK","HI","PR"],no_OH:["WV","OH","MI","KY","VA"],no_PA:["ME","NH","VT","MA","RI","CT","NJ","DE","MD","NY","PA","DC"],no_DOTH:["AL","MS","SC","NC","TN","FL","GA"]},{country_code:country,region_code:regionCode}=data;if(this.oosStates&&this.oosStates.length>0&&this.oosStates[0]!=="")if(country==="US"){for(const[key,regions]of Object.entries(regionCodeActions))if(this.oosStates.includes(key))if(regions.includes(regionCode)){this.disableAtc();return}else this.enableAtc();this.oosStates.includes("no_US")&&this.disableAtc()}else country==="CA"&&this.oosStates.includes("no_CAN")?this.disableAtc():country==="GB"&&this.oosStates.includes("no_UK")&&this.disableAtc()}disableAtcByRegionCode(regionCode,containerSelector=`product-form[data-product-id="${this.productId}"]`){const container=document.querySelector(containerSelector);if(!container){console.warn(`Container element '${containerSelector}' not found.`);return}const atcButton=container.querySelector("button.custom-atc"),selectElement=container.querySelector("select");atcButton?(atcButton.setAttribute("disabled",!0),atcButton.innerHTML="SOLD OUT",this.price.currency_code==="AUD"&&(atcButton.innerHTML='<span class="sold-out">Coming Soon</span>')):console.warn("ATC button not found in the container."),selectElement?selectElement.setAttribute("disabled",!0):console.warn("Select element not found in the container.")}disconnectedCallback(){document.removeEventListener("click",this.boundHandleOutsideClick)}}customElements.define("bartesian-pricing-ui",BartesianPricingUI); 298//# sourceMappingURL=/cdn/shop/t/772/assets/bartesian-pricing-ui.js.map?v=1669791442433410151788878038%3Fv%3D1790242253
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.