1!function(){"use strict";function t(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function e(t,e){return i(t),function(t){if(Array.isArray(t)&&"object"==typeof t[0])throw new Error(t+"is not a valid array of options.")}(e),t.variants.filter((function(t){return e.every((function(e,i){return t.options[i]===e}))}))[0]||null}function i(t){if("object"!=typeof t)throw new TypeError(t+" is not an object.");if(0===Object.keys(t).length&&t.constructor===Object)throw new Error(t+" is empty.")}function a(t,e){if(null===e)return t;if("master"===e)return s(t);const i=t.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?$/i);if(i){const a=t.split(i[0]),r=i[0];return s(`${a[0]}_${e}${r}`)}return null}function s(t){return t.replace(/http(s)?:/,"")}if(!customElements.get("variant-picker")){class i extends HTMLElement{constructor(){super(),t(this,"_getBaseUnit",(()=>1===this.currentVariant.unit_price_measurement.reference_value?this.currentVariant.unit_price_measurement.reference_unit:this.currentVariant.unit_price_measurement.reference_value+this.currentVariant.unit_price_measurement.reference_unit)),t(this,"hideSoldOutAndUnavailableOptions",(()=>{const t="variant-picker__option--soldout",i="variant-picker__option--unavailable",a=this.currentVariant,{optionNodes:s}=this.domNodes,{productData:r,productData:{variants:n,options:{length:o}}}=this;s.forEach((s=>{const{optionPosition:d,value:c}=s.dataset,l=Number(d),u="OPTION"===s.tagName;let h=[];if(l===o){const t=Array.from(a.options);t[o-1]=c,h.push(e(r,t))}else h=n.filter((t=>t.options[l-1]===c&&t.options[l-2]===a["option"+(l-1)]));if(h=h.filter(Boolean),h.length){s.classList.remove(i),u&&s.removeAttribute("disabled");const e=h.every((t=>!1===t.available))?"add":"remove";s.classList[e](t)}else s.classList.add(i),u&&s.setAttribute("disabled","true")}))})),this.selectors={container:"[data-variant-picker]",productInfo:".sf-prod__info",error:".prod__form-error",variantIdInput:'[name="id"]',pickerFields:["[data-picker-field]"],optionNodes:[".variant-picker__option"],productSku:"[data-variant-sku]",productAvailability:"[data-availability]",shareUrlInput:"[data-share-url]",stockCountdown:".prod__stock-countdown"},this.container=this.closest(this.selectors.container),this.productInfo=this.closest(this.selectors.productInfo),this.domNodes=queryDomNodes(this.selectors,this.productInfo),this.setupData()}async setupData(){let t=(window._themeProducts||{})[this.container.dataset.productId];this.productId=this.container.dataset.productId,this.sectionId=this.container.dataset.section,this.productUrl=this.container.dataset.productUrl,this.productHandle=this.container.dataset.productHandle,this.section=this.container.closest(`[data-section-id="${this.sectionId}"]`),this.variantData=this.getVariantData(),this.productData=Object.assign(await this.getProductJson(),t),this.enableVariantGroupImages=this.container.dataset.enableVariantGroupImages,"true"===this.enableVariantGroupImages&&(this.variantGroupImages=this.getVariantGroupImageData());const e=this.section?.querySelector(this.selectors.variantIdInput)?.value;this.currentVariant=this.productData.variants.find((t=>t.id===Number(e))),this.productData.current_variant_id=this.currentVariant.id,this.productData.initialVariant=this.currentVariant,this.currentVariant&&(this.getDataImageVariant(this.currentVariant.id),this.hideSoldOutAndUnavailableOptions(),this.updateStockCountdownByVariant(this.currentVariant),this.updateButton(!this.currentVariant.available,"",!1)),this.check=setInterval((()=>{this.mediaGallery=this.section.querySelectorAll("media-gallery"),this.mediaGallery&&(clearInterval(this.check),this.mediaGallery?.forEach((t=>{"none"!==window.getComputedStyle(t).display&&(this.layout=t.layout,this.media=t,"slider"===t.mediaMode?(this.slides=t.slider?.slides,this.slidesNav=t.navSlider?.slides):this.mediaItems=t.querySelectorAll(".sf-prod-media-item"),"true"===this.enableVariantGroupImages&&this.variantGroupImages?.enable&&this.updateMedia())})))}),100),this.initOptionSwatches(),this.addEventListener("change",this.onVariantChange)}
1onVariantChange(){this.getSelectedOptions(),this.getSelectedVariant(),this.updateButton(!0,"",!1),this.updatePickupAvailability(),this.removeErrorMessage(),this.currentVariant?(this.getDataImageVariant(this.currentVariant.id),this.updateMedia(),this.updateBrowserHistory(),this.updateVariantInput(),this.updateProductMeta(),this.updatePrice(),this.updateButton(!this.currentVariant.available,window.MinimogStrings.soldOut),this.hideSoldOutAndUnavailableOptions(),this.updateStockCountdownByVariant(this.currentVariant)):(this.updateButton(!0,"",!0),this.setUnavailable()),window.MinimogEvents.emit(`${this.productId}__VARIANT_CHANGE`,this.currentVariant,this)}getDataImageVariant(t){this.variantGroupImages&&this.variantGroupImages.enable&&(this.currentVariantMedia=this.variantGroupImages?.mapping.find((e=>Number(e.id)===t)).media)}getProductJson(){return fetch(this.productUrl+".js").then((function(t){return t.json()}))}getSelectedVariant(){let t=e(this.productData,this.options),i=[...this.options];t||(i.pop(),t=e(this.productData,i),t||(i.pop(),t=e(this.productData,i)),this.options=[...t?.options],this.updateSelectedOptions()),this.currentVariant=t}getSelectedOptions(){const t=Array.from(this.querySelectorAll("[data-picker-field]"));this.options=t.map((t=>"radio"===t.dataset.pickerField?Array.from(t.querySelectorAll("input")).find((t=>t.checked))?.value:t.querySelector("select")?.value))}updateSelectedOptions(){this.domNodes.pickerFields.forEach(((t,e)=>{if(t.dataset.selectedValue!==this.options[e]){const i=t.querySelector(`input[value="${this.options[e]}"]`);i&&(i.checked=!0,t.updateSelectedValue())}}))}updateMedia(){if(!this.currentVariant)return;if(!this.currentVariant.featured_media)return;let t=[],e=[],i=0,a=0,s=0,r=0;if(this.variantGroupImages&&this.variantGroupImages.enable&&this.currentVariantMedia.length>0){if("slider"===this.media.mediaMode)this.slides?.forEach((e=>{const s=e.querySelector("[data-media-id]")?.dataset.mediaId;this.currentVariantMedia.includes(s)&&(e.dataset.swiperSlideIndex=i++,e.dataset.index=a++,"0"===e.dataset.swiperSlideIndex&&e.classList.add("swiper-slide-active"),t.push(e)),e.classList.contains("media-type-image")||(e.dataset.swiperSlideIndex=i++,e.dataset.index=a++,t.push(e))})),this.media.slider?.removeAllSlides(),this.media.slider?.appendSlide(t),this.media.slider?.slideToLoop(0),this.media?.handleSlideChange(),this.slidesNav?.forEach((t=>{const i=t.querySelector("[data-media-id]")?.dataset.mediaId;this.currentVariantMedia.includes(i)&&(t.dataset.swiperSlideIndex=s++,t.dataset.index=r++,"0"===t.dataset.swiperSlideIndex&&t.classList.add("swiper-slide-thumb-active"),e.push(t)),t.classList.contains("media-type-image")||(t.dataset.swiperSlideIndex=s++,t.dataset.index=r++,e.push(t))})),this.media.navSlider?.removeAllSlides(),this.media.navSlider?.appendSlide(e),this.media.navSlider?.slideToLoop(0),this.media?.removeAttribute("data-media-loading"),this.media.firstElementChild.style.opacity=1;else{let e=0;const i=this.media?.querySelector(".sf-prod-media__wrapper > div");this.mediaItems?.forEach((i=>{const a=i.querySelector("[data-media-id]")?.dataset.mediaId;this.currentVariantMedia.includes(a)&&(i.dataset.index=e++,t.push(i)),i.classList.contains("media-type-image")||(i.dataset.index=e++,t.push(i))})),i.innerHTML="",t.forEach((t=>{if("layout-2"==this.layout){t.classList.remove("col-span-2");0==t.dataset.index%3&&t.classList.add("col-span-2")}i.append(t)})),this.media.removeAttribute("data-media-loading"),this.media.firstElementChild.style.opacity=1}const n=[];this.currentVariantMedia.forEach((t=>{n.push(this.media.productData.media.find((e=>e.id===Number(t))))})),this.media?.addEventToMainMedias(),this.media?.initLightbox(n.sort(((t,e)=>t.position-e.position)))}else this.media?.setActiveMedia(this.currentVariant)}updateBrowserHistory(){this.currentVariant&&"false"!==this.dataset.updateUrl&&window.history.replaceState({},"",`${this.productUrl}?variant=${this.currentVariant.id}`)}updateVariantInput(){document.querySelectorAll(`#product-form-${this.sectionId}, #product-form-installment`).forEach((t=>{const e=t.querySelector(this.selectors.variantIdInput);e.value=this.currentVariant.id,e.dispatchEvent(new Event("change",{bubbles:!0}))}
1))}updatePickupAvailability(){const t=this.section?.querySelector("pickup-availability");t&&(this.currentVariant&&this.currentVariant.available?t.fetchAvailability(this.currentVariant.id):(t.removeAttribute("available"),t.innerHTML=""))}removeErrorMessage(){const t=this.closest("section");if(!t)return;const e=t.querySelector("product-form");e&&e.handleErrorMessage()}updatePrice(){const t="f-price--on-sale",e="f-price--sold-out",i=window.MinimogSettings.money_format,{priceWrapper:a,salePrice:s,unitPrice:r,compareAtPrice:n,saleBadge:o,saleAmount:d}=queryDomNodes({priceWrapper:".f-price",salePrice:".f-price-item--sale",compareAtPrice:[".f-price-item--regular"],unitPrice:".f-price__unit",saleBadge:".f-price__badge-sale",saleAmount:"[data-saved-price]"},this.productInfo),{compare_at_price:c,price:l,unit_price_measurement:u}=this.currentVariant,h=c&&c>l,p=!this.currentVariant.available;if(h?a.classList.add(t):a.classList.remove(t),p?a.classList.add(e):a.classList.remove(e),a&&a.classList.remove("visibility-hidden"),s&&(s.innerHTML=formatMoney(l,i)),n?.length&&c>l?n.forEach((t=>t.innerHTML=formatMoney(c,i))):n.forEach((t=>t.innerHTML=formatMoney(l,i))),o&&c>l){let t;const e=100*(c-l)/c;t=Math.round(e)+"%",d.textContent=t}if(u&&r){r.classList.remove("f-hidden");const t=`<span>${formatMoney(this.currentVariant.unit_price,i)}</span>/<span data-unit-price-base-unit>${this._getBaseUnit()}</span>`;r.innerHTML=t}else r?.classList.add("f-hidden")}updateButton(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;const i=document.querySelectorAll(`.product-form-${this.sectionId}`);i&&i.forEach((i=>{const a=i.querySelector('[name="add"]'),s=i.querySelector(".prod__dynamic_checkout"),r=i.querySelector('[name="add"] > span.atc-text'),n=i.dataset.preorder;a&&(t?(a.setAttribute("disabled","disabled"),a.classList.add("disabled"),s?.classList?.add?.("disabled"),e&&(r.textContent=e)):(a.removeAttribute("disabled"),a.classList.remove("disabled"),s?.classList?.remove?.("disabled"),r.textContent="true"===n?window.MinimogStrings.preorder:window.MinimogStrings.addToCart))}))}updateProductMeta(){const{available:t,sku:e,noSku:i}=this.currentVariant,{inStock:a,outOfStock:s}=window.MinimogStrings,r=this.section?.querySelector(this.selectors.productAvailability),n=this.section?.querySelector(this.selectors.productSku);if(n&&(n.textContent=e||i),r){const e=t?"remove":"add";r.innerText=t?a:s,r.classList[e]("prod__availability--outofstock")}}setUnavailable(){const t=document.getElementById(`product-form-${this.sectionId}`),e=t.querySelector('[name="add"]'),i=t.querySelector('[name="add"] > span.atc-text'),a=this.section.querySelector(".f-price");e&&(i.textContent=window.MinimogStrings.unavailable,a&&a.classList.add("visibility-hidden"))}updateStockCountdownByVariant(t){const{stockCountdown:e}=this.domNodes;if(e){const i=t.available?"remove":"add";if(e?.classList?.[i]?.("hidden"),"use_quantity"===e.dataset.countdownType){const i=e.querySelector("[data-countdown-number]");i&&(i.textContent=t.inventory_quantity>0?t.inventory_quantity:t.id.toString().split("")[13]- -1)}}}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.container.querySelector('#productVariants[type="application/json"]').textContent),this.variantData}getVariantGroupImageData(){return this.variantGroupImages=this.variantGroupImages||JSON.parse(this.container.querySelector('#variantGroup[type="application/json"]').textContent),this.variantGroupImages}initOptionSwatches(){const{_colorSwatches:t=[],_imageSwatches:e=[]}=window.MinimogSettings;this.domNodes.optionNodes.forEach((i=>{const{optionType:s,optionPosition:r,value:n}=i?.dataset,o=n?.toLowerCase(),d=this.variantData.find((t=>t[`option${r}`]===n)),c=d?.featured_image?.src?a(d?.featured_image?.src,"100x"):"",l=e.find((t=>t.key===o))?.value,u=t.find((t=>t.key===o))?.value;switch((c||l)&&i.querySelector("label")?.classList.add("has-bg-img"),s){case"default":i.querySelector("label").style.backgroundImage=`url(${l||c||""})`;break;case"image":i.querySelector("label").style.backgroundImage=`url(${c||l||""})`;break;case"color":i.querySelector("label").style.backgroundColor=u||o,l&&(i.querySelector("label").style.backgroundImage=`url(${l})`)}}))}}customElements.define("variant-picker",i)}if(!customElements.get("variant-button")){class t extends HTMLElement{constructor(){super(),this.selectedSpan=this.querySelector(".selected-value"),this.addEventListener("change",this.updateSelectedValue)}updateSelectedValue(){this.value=Array.from(this.querySelectorAll("input")).find((t=>t.checked)).value,this.setAttribute("data-selected-value",this.value),this.selectedSpan&&(this.selectedSpan.textContent=this.value)}}if(customElements.define("variant-button",t),!customElements.get("variant-select")){class e extends t{constructor(){super()}updateSelectedValue(){this.value=this.querySelector("select").value,this.setAttribute("data-selected-value",this.value),this.selectedSpan&&(this.selectedSpan.textContent=this.value)}}customElements.define("variant-select",e)}if(!customElements.get("variant-image")){class e extends t{constructor(){super()}}customElements.define("variant-image",e)}if(!customElements.get("variant-color")){class e extends t{constructor(){super()}}customElements.define("variant-color",e)}}}();
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.