(function(e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define([],e):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).basicLightbox=e()})(function(){return function e(n,t,o){function r(c2,u){if(!t[c2]){if(!n[c2]){var a=typeof require=="function"&&require;if(!u&&a)return a(c2,!0);if(i)return i(c2,!0);var s=new Error("Cannot find module '"+c2+"'");throw s.code="MODULE_NOT_FOUND",s}var l=t[c2]={exports:{}};n[c2][0].call(l.exports,function(e2){return r(n[c2][1][e2]||e2)},l,l.exports,e,n,t,o)}return t[c2].exports}for(var i=typeof require=="function"&&require,c=0;c1&&arguments[1]!==void 0&&arguments[1],t2=document.createElement("div");return t2.innerHTML=e2.trim(),n2===!0?t2.children:t2.firstChild},r=function(e2,n2){var t2=e2.children;return t2.length===1&&t2[0].tagName===n2},i=function(e2){return(e2=e2||document.querySelector(".basicLightbox"))!=null&&e2.ownerDocument.body.contains(e2)===!0};t.visible=i,t.create=function(e2,n2){var t2=function(e3,n3){var t3=o(`
`)),i2=t3.querySelector(".basicLightbox__placeholder");e3.forEach(function(e4){return i2.appendChild(e4)});var c2=r(i2,"IMG"),u2=r(i2,"VIDEO"),a=r(i2,"IFRAME");return c2===!0&&t3.classList.add("basicLightbox--img"),u2===!0&&t3.classList.add("basicLightbox--video"),a===!0&&t3.classList.add("basicLightbox--iframe"),t3}(e2=function(e3){var n3=typeof e3=="string",t3=e3 instanceof HTMLElement==1;if(n3===!1&&t3===!1)throw new Error("Content must be a DOM element/node or string");return n3===!0?Array.from(o(e3,!0)):e3.tagName==="TEMPLATE"?[e3.content.cloneNode(!0)]:Array.from(e3.children)}(e2),n2=function(){var e3=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if((e3=Object.assign({},e3)).closable==null&&(e3.closable=!0),e3.className==null&&(e3.className=""),e3.onShow==null&&(e3.onShow=function(){}),e3.onClose==null&&(e3.onClose=function(){}),typeof e3.closable!="boolean")throw new Error("Property `closable` must be a boolean");if(typeof e3.className!="string")throw new Error("Property `className` must be a string");if(typeof e3.onShow!="function")throw new Error("Property `onShow` must be a function");if(typeof e3.onClose!="function")throw new Error("Property `onClose` must be a function");return e3}(n2)),c=function(e3){return n2.onClose(u)!==!1&&function(e4,n3){return e4.classList.remove("basicLightbox--visible"),setTimeout(function(){return i(e4)===!1||e4.parentElement.removeChild(e4),n3()},410),!0}(t2,function(){if(typeof e3=="function")return e3(u)})};n2.closable===!0&&t2.addEventListener("click",function(e3){e3.target===t2&&c()});var u={element:function(){return t2},visible:function(){return i(t2)},show:function(e3){return n2.onShow(u)!==!1&&function(e4,n3){return document.body.appendChild(e4),setTimeout(function(){requestAnimationFrame(function(){return e4.classList.add("basicLightbox--visible"),n3()})},10),!0}(t2,function(){if(typeof e3=="function")return e3(u)})},close:c};return u}},{}]},{},[1])(1)}),function(){"use strict";function o(){var o2=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||o2.__forceSmoothScrollPolyfill__===!0){var l,e=o2.HTMLElement||o2.Element,r=468,i={scroll:o2.scroll||o2.scrollTo,scrollBy:o2.scrollBy,elementScroll:e.prototype.scroll||n,scrollIntoView:e.prototype.scrollIntoView},s=o2.performance&&o2.performance.now?o2.performance.now.bind(o2.performance):Date.now,c=(l=o2.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(l)?1:0);o2.scroll=o2.scrollTo=function(){arguments[0]!==void 0&&(f(arguments[0])!==!0?h.call(o2,t.body,arguments[0].left!==void 0?~~arguments[0].left:o2.scrollX||o2.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:o2.scrollY||o2.pageYOffset):i.scroll.call(o2,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:o2.scrollX||o2.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:o2.scrollY||o2.pageYOffset))},o2.scrollBy=function(){arguments[0]!==void 0&&(f(arguments[0])?i.scrollBy.call(o2,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0):h.call(o2,t.body,~~arguments[0].left+(o2.scrollX||o2.pageXOffset),~~arguments[0].top+(o2.scrollY||o2.pageYOffset)))},e.prototype.scroll=e.prototype.scrollTo=function(){if(arguments[0]!==void 0)if(f(arguments[0])!==!0){var o3=arguments[0].left,t2=arguments[0].top;h.call(this,this,o3===void 0?this.scrollLeft:~~o3,t2===void 0?this.scrollTop:~~t2)}else{if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop)}},e.prototype.scrollBy=function(){arguments[0]!==void 0&&(f(arguments[0])!==!0?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},e.prototype.scrollIntoView=function(){if(f(arguments[0])!==!0){var l2=function(o3){for(;o3!==t.body&&(e3=p(l3=o3,"Y")&&a(l3,"Y"),r3=p(l3,"X")&&a(l3,"X"),(e3||r3)===!1);)o3=o3.parentNode||o3.host;var l3,e3,r3;return o3}(this),e2=l2.getBoundingClientRect(),r2=this.getBoundingClientRect();l2!==t.body?(h.call(this,l2,l2.scrollLeft+r2.left-e2.left,l2.scrollTop+r2.top-e2.top),o2.getComputedStyle(l2).position!=="fixed"&&o2.scrollBy({left:e2.left,top:e2.top,behavior:"smooth"})):o2.scrollBy({left:r2.left,top:r2.top,behavior:"smooth"})}else i.scrollIntoView.call(this,arguments[0]===void 0||arguments[0])}}function n(o3,t2){this.scrollLeft=o3,this.scrollTop=t2}function f(o3){if(o3===null||typeof o3!="object"||o3.behavior===void 0||o3.behavior==="auto"||o3.behavior==="instant")return!0;if(typeof o3=="object"&&o3.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+o3.behavior+" is not a valid value for enumeration ScrollBehavior.")}function p(o3,t2){return t2==="Y"?o3.clientHeight+c1?1:n2,l2=.5*(1-Math.cos(Math.PI*c2)),e2=t2.startX+(t2.x-t2.startX)*l2,i2=t2.startY+(t2.y-t2.startY)*l2,t2.method.call(t2.scrollable,e2,i2),e2===t2.x&&i2===t2.y||o2.requestAnimationFrame(d.bind(o2,t2))}function h(l2,e2,r2){var c2,f2,p2,a2,h2=s();l2===t.body?(c2=o2,f2=o2.scrollX||o2.pageXOffset,p2=o2.scrollY||o2.pageYOffset,a2=i.scroll):(c2=l2,f2=l2.scrollLeft,p2=l2.scrollTop,a2=n),d({scrollable:c2,method:a2,startTime:h2,startX:f2,startY:p2,x:e2,y:r2})}}typeof exports=="object"&&typeof module<"u"?module.exports={polyfill:o}:o()}();class AnnouncementBar extends HTMLElement{constructor(){super(),document.querySelector(".announcement__exit")&&document.querySelector(".announcement__exit").addEventListener("click",()=>{document.body.classList.add("no-transition"),setTimeout(()=>{document.body.classList.remove("show-announcement-bar"),localStorage.setItem("announcement-dismissed","true"),setTimeout(()=>{document.body.classList.remove("no-transitions")},100)},10)})}}customElements.define("announcement-bar",AnnouncementBar);const toggleAnnouncement=e=>{e.target.classList.contains("mount-announcement")&&(document.querySelector(".announcement")?document.body.classList.add("show-announcement-bar"):document.body.classList.remove("show-announcement-bar"))};document.addEventListener("shopify:section:load",toggleAnnouncement),document.addEventListener("shopify:section:select",toggleAnnouncement);class CartForm extends HTMLElement{constructor(){super(),this.ajaxifyCartItems()}ajaxifyCartItems(){this.form=this.querySelector("form"),this.querySelectorAll(".cart-item").forEach(t=>{const e=t.querySelector(".remove");e&&(e.dataset.href=e.getAttribute("href"),e.setAttribute("href",""),e.addEventListener("click",e2=>{e2.preventDefault(),this.updateCartQty(t,0)}));const r=t.querySelector(".qty");r&&(r.addEventListener("input",debounce(e2=>{e2.preventDefault(),e2.target.blur(),this.updateCartQty(t,parseInt(r.value))},300)),r.addEventListener("click",t2=>{t2.target.select()}))})}updateCartQty(t,e){this.form.classList.add("processing"),this.querySelector(".alert")&&this.querySelector(".alert").remove();const r=JSON.stringify({id:t.dataset.id,quantity:e});fetch(KROWN.settings.routes.cart_change_url,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/javascript"},body:r}).then(t2=>{if(t2.ok)return fetch("?section_id=cart-helper");throw new Error("Something went wrong")}).then(t2=>t2.text()).then(r2=>{const a=new DOMParser().parseFromString(r2,"text/html"),n=a.getElementById("AjaxCartForm").innerHTML,s=a.getElementById("AjaxCartSubtotal").innerHTML,o=document.getElementById("AjaxCartForm");if(o.innerHTML=n,o.ajaxifyCartItems(),document.querySelector("[data-header-cart-count]").textContent=o.querySelector("[data-cart-count]").textContent,e!=0&&e>parseInt(o.querySelector(`.cart-item[data-id="${t.dataset.id}"]`).dataset.qty)){let e2=document.createElement("span");e2.classList.add("alert","alert--error"),e2.textContent=KROWN.settings.locales.cart_add_error.replace("{{ title }}",t.dataset.title),this.form.prepend(e2)}document.getElementById("AjaxCartSubtotal").innerHTML=s,window.preloadImages(o)}).catch(t2=>{console.log(t2);let e2=document.createElement("span");e2.classList.add("alert","alert--error"),e2.textContent=KROWN.settings.locales.cart_general_error,this.form.prepend(e2)}).finally(()=>{this.form.classList.remove("processing")})}}customElements.define("cart-form",CartForm);class FacetFiltersForm extends HTMLElement{constructor(){super(),this.filterData=[],this.onActiveFilterClick=this.onActiveFilterClick.bind(this),this.debouncedOnSubmit=debounce(e=>{this.onSubmitHandler(e)},500),this.querySelector("form").addEventListener("input",this.debouncedOnSubmit.bind(this)),this.classList.contains("don-t-duplicate")||(document.getElementById("FacetFiltersFormMobile").innerHTML=document.getElementById("FacetFiltersForm").innerHTML,document.getElementById("FacetFiltersFormMobile").addEventListener("input",this.debouncedOnSubmit.bind(this)),document.getElementById("FacetFiltersFormMobile").querySelectorAll(".facets__item").forEach(e=>{const t=e.querySelector("input").id;e.querySelector("label").setAttribute("for",`mobile-${t}`),e.querySelector("input").id=`mobile-${t}`}),document.getElementById("FacetFiltersFormMobile").querySelector(".active-facets").classList.remove("active-facets-desktop"),document.getElementById("FacetFiltersFormMobile").querySelector(".active-facets").classList.add("active-facets-mobile"))}static setListeners(){window.addEventListener("popstate",e=>{const t=e.state?e.state.searchParams:FacetFiltersForm.searchParamsInitial;t!==FacetFiltersForm.searchParamsPrev&&FacetFiltersForm.renderPage(t,null,!1)})}static toggleActiveFacets(e=!0){document.querySelectorAll(".js-facet-remove").forEach(t=>{t.classList.toggle("disabled",e)})}static renderPage(e,t,r=!0){FacetFiltersForm.searchParamsPrev=e;const i=FacetFiltersForm.getSections();document.getElementById("main-collection-product-grid").classList.add("loading"),i.forEach(r2=>{const i2=`${window.location.pathname}?section_id=${r2.section}&${e}`,c=e2=>e2.url===i2;FacetFiltersForm.filterData.some(c)?FacetFiltersForm.renderSectionFromCache(c,t):FacetFiltersForm.renderSectionFromFetch(i2,t)}),r&&FacetFiltersForm.updateURLHash(e)}static renderSectionFromFetch(e,t){fetch(e).then(e2=>e2.text()).then(r=>{const i=r;FacetFiltersForm.filterData=[...FacetFiltersForm.filterData,{html:i,url:e}],FacetFiltersForm.renderFilters(i,t),FacetFiltersForm.renderProductGrid(i),FacetFiltersForm.renderProductCount(i)})}static renderSectionFromCache(e,t){const r=FacetFiltersForm.filterData.find(e).html;FacetFiltersForm.renderFilters(r,t),FacetFiltersForm.renderProductGrid(r),FacetFiltersForm.renderProductCount(r)}static renderProductGrid(e){const t=new DOMParser().parseFromString(e,"text/html").getElementById("CollectionProductGrid").innerHTML;document.getElementById("CollectionProductGrid").innerHTML=t,window.preloadImages(document.getElementById("CollectionProductGrid"))}static renderProductCount(e){const t=new DOMParser().parseFromString(e,"text/html").getElementById("CollectionProductCount");t&&(document.getElementById("CollectionProductCount").innerHTML=t.innerHTML)}static renderFilters(e,t){const r=new DOMParser().parseFromString(e,"text/html"),i=r.querySelectorAll("#FacetFiltersForm .js-filter, #FacetFiltersFormMobile .js-filter"),c=e2=>{if(t&&t.target.closest(".js-filter"))return e2.dataset.index===t.target.closest(".js-filter").dataset.index},a=Array.from(i).filter(e2=>!c(e2)),s=Array.from(i).find(c);a.forEach(e2=>{document.querySelector(`.js-filter[data-index="${e2.dataset.index}"]`).innerHTML=e2.innerHTML}),FacetFiltersForm.renderActiveFacets(r),s&&FacetFiltersForm.renderCounts(s,t.target.closest(".js-filter"))}static renderActiveFacets(e){[".active-facets-mobile",".active-facets-desktop"].forEach(t=>{const r=e.querySelector(".active-facets");r&&document.querySelector(t)&&(document.querySelector(t).innerHTML=r.innerHTML)}),FacetFiltersForm.toggleActiveFacets(!1)}static renderCounts(e,t){[".facets__selected"].forEach(r=>{const i=t.querySelector(r);e.querySelector(r)&&i&&(t.querySelector(r).outerHTML=e.querySelector(r).outerHTML)})}static updateURLHash(e){history.pushState({searchParams:e},"",`${window.location.pathname}${e&&"?".concat(e)}`)}static getSections(){return[{id:"main-collection-product-grid",section:document.getElementById("main-collection-product-grid").dataset.id}]}onSubmitHandler(e){e.preventDefault();const t=new FormData(e.target.closest("form")),r=new URLSearchParams(t).toString();FacetFiltersForm.renderPage(r,e)}onActiveFilterClick(e){e.preventDefault(),FacetFiltersForm.toggleActiveFacets(),FacetFiltersForm.renderPage(new URL(e.currentTarget.href).searchParams.toString())}}FacetFiltersForm.filterData=[],FacetFiltersForm.searchParamsInitial=window.location.search.slice(1),FacetFiltersForm.searchParamsPrev=window.location.search.slice(1),customElements.define("facet-filters-form",FacetFiltersForm),FacetFiltersForm.setListeners();class FacetRemove extends HTMLElement{constructor(){super(),this.querySelector("a").addEventListener("click",e=>{e.preventDefault(),(this.closest("facet-filters-form")||document.querySelector("facet-filters-form")).onActiveFilterClick(e)})}}customElements.define("facet-remove",FacetRemove);class PriceRange extends HTMLElement{constructor(){super(),this.querySelectorAll("input").forEach(e=>e.addEventListener("change",this.onRangeChange.bind(this))),this.setMinAndMaxValues()}onRangeChange(e){this.adjustToValidValues(e.currentTarget),this.setMinAndMaxValues()}setMinAndMaxValues(){const e=this.querySelectorAll("input"),t=e[0],r=e[1];r.value&&t.setAttribute("max",r.value),t.value&&r.setAttribute("min",t.value),t.value===""&&r.setAttribute("min",0),r.value===""&&t.setAttribute("max",r.getAttribute("max"))}adjustToValidValues(e){const t=Number(e.value),r=Number(e.getAttribute("min")),i=Number(e.getAttribute("max"));ti&&(e.value=i)}}customElements.define("price-range",PriceRange);class LocalizationForm extends HTMLElement{constructor(){super(),this.selector=this.querySelector(".regular-select-cover"),this.content=this.querySelector(".regular-select-content"),this.selector.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),document.querySelectorAll(".regular-select-cover.content-opened").forEach(e=>{e!=t.currentTarget&&(e.classList.remove("content-opened"),e.parentNode.style.zIndex=9)}),this.content.classList.contains("content-opened")?(t.currentTarget.setAttribute("aria-expanded","false"),this.content.parentNode.style.zIndex=9,this.content.classList.remove("content-opened","invert"),window.removeEventListener("click",this.onClickHandler)):(this.content.classList.add("content-opened"),t.currentTarget.setAttribute("aria-expanded","true"),this.content.parentNode.style.zIndex=1e3,this.content.classList.contains("invert-with-fixed")?this.content.getBoundingClientRect().y+this.content.outerHeight+55>window.innerHeight&&this.content.classList.add("invert"):this.content.offsetTop+this.content.outerHeight+55>document.querySelector("html").outerHeight&&this.content.classList.add("invert"),this.onClickHandler=(()=>{this.content.classList.contains("content-opened")&&(this.content.classList.remove("content-opened","invert"),this.content.parentNode.style.zIndex=9)}).bind(this),window.addEventListener("click",this.onClickHandler))}),this.querySelector(".regular-select-cover").addEventListener("keydown",function(t){t.keyCode==window.KEYCODES.RETURN&&(this.content.classList.contains("opened-with-tab")||(this.content.addClass("opened-with-tab"),this.content.querySelectorAll(".regular-select-item").forEach(t2=>{t2.setAttribute("tabindex","0")})))})}}customElements.define("localization-form",LocalizationForm);class ModalBox extends HTMLElement{constructor(){if(super(),this.o={show:10,frequency:"day",enabled:!0,...JSON.parse(this.dataset.options)},this._modalKey=`modal-${document.location.hostname}-${this.id}`,this._modalStorage=localStorage.getItem(this._modalKey)?JSON.parse(localStorage.getItem(this._modalKey)):"empty",this._modalText=this.extractText(this.querySelector("[data-content]")),this.o.enabled){const t=new Date().getTime(),e=Math.round((t-this._modalStorage.shown)/1e3);let o=!1;(this._modalStorage=="empty"||this.frequency=="day"&&e>86400||this.frequency=="week"&&e>604800||this.frequency=="month"&&e>2419200||this._modalStorage.content!=this._modalText)&&(o=!0),o&&(setTimeout(()=>{this.show()},parseInt(1e3*this.o.show)),this.querySelectorAll("[data-close]").forEach(t2=>t2.addEventListener("click",()=>{this.hide(!0)})))}this.setAttribute("style","")}show(){this.classList.add("active")}hide(t=!1){this.classList.remove("active"),t&&localStorage.setItem(this._modalKey,JSON.stringify({shown:new Date().getTime(),content:this._modalText}))}extractText(t){let e=document.createElement("span");e.innerHTML=t.innerHTML;const o=e.textContent||e.innerText;return e.remove(),[o].toString().replace(/ +/g,"")}}customElements.define("modal-box",ModalBox),document.addEventListener("shopify:section:select",t=>{t.target.classList.contains("mount-popup")&&t.target.querySelector("modal-box").show()}),document.addEventListener("shopify:section:deselect",t=>{t.target.classList.contains("mount-popup")&&t.target.querySelector("modal-box").hide()});class ProductVariants extends HTMLElement{constructor(){super(),this.price=document.querySelector(`#product-price-${this.dataset.id}`),this.price&&(this.priceOriginal=this.price.querySelector(".product__price--original"),this.priceCompare=this.price.querySelector(".product__price--compare"),this.priceUnit=this.price.querySelector(".product__price--unit")),this.productForm=document.querySelector(`#product-form-${this.dataset.id}`),this.productForm&&(this.productQty=this.productForm.querySelector(".product__quantity"),this.addToCart=this.productForm.querySelector(".product__add-to-cart"),this.addToCartText=this.productForm.querySelector(".add-to-cart__text")),this.productSKU=document.querySelector(`#product-${this.dataset.id} .product__sku`),this.productBARCODE=document.querySelector(`#product-${this.dataset.id} .product__barcode`),this.addEventListener("change",this.onVariantChange),this.updateOptions(),this.updateMasterId(),this.updateUnavailableVariants(),this.productStock=this.querySelector(".variant-quantity"),this.productStock&&this.querySelector(".variant-quantity-data")&&(this.productStockData=JSON.parse(this.querySelector(".variant-quantity-data").dataset.inventory)),this.updateStock(),this._event=new Event("VARIANT_CHANGE")}onVariantChange(){this.updateOptions(),this.updateMasterId(),this.updateVariantInput(),this.price&&this.updatePrice(),this.updateStock(),this.updateUnavailableVariants(),this.updatePickupAvailability(),this.updateURL(),this.updateDetails(),this.productForm&&(this.currentVariant&&this.currentVariant.available?(this.productQty.style.display="",this.addToCart.classList.remove("disabled"),this.addToCartText.textContent=KROWN.settings.locales.products_add_to_cart_button):(this.productQty.style.display="none",this.addToCart.classList.add("disabled"),this.addToCartText.textContent=KROWN.settings.locales.products_sold_out_variant),this.currentVariant?this.productForm.classList.remove("unavailable-variant"):(this.productForm.classList.add("unavailable-variant"),this.addToCartText.textContent=KROWN.settings.locales.products_unavailable_variant)),this.dispatchEvent(this._event)}updateOptions(){this.dataset.type=="select"?this.options=Array.from(this.querySelectorAll(".product-variant-container"),t=>t.value):this.dataset.type=="radio"&&(this.options=[],this.querySelectorAll(".product-variant__input").forEach(t=>{t.checked&&this.options.push(t.value)}))}updateMasterId(){this.currentVariant=this.getVariantData().find(t=>!t.options.map((t2,e)=>this.options[e]===t2).includes(!1))}updatePrice(){this.currentVariant?(this.priceOriginal.innerHTML=KROWN.helpers.formatMoney(this.currentVariant.price,KROWN.settings.shop_money_format),this.currentVariant.compare_at_price>this.currentVariant.price?(this.priceCompare.innerHTML=KROWN.helpers.formatMoney(this.currentVariant.compare_at_price,KROWN.settings.shop_money_format),this.priceCompare.style.display=""):this.priceCompare.style.display="none",this.currentVariant.unit_price_measurement?this.priceUnit.innerHTML=` ${KROWN.helpers.formatMoney(this.currentVariant.unit_price,KROWN.settings.shop_money_format)} / ${this.currentVariant.unit_price_measurement.reference_value!=1?this.currentVariant.unit_price_measurement.reference_value+" ":""} ${this.currentVariant.unit_price_measurement.reference_unit} `:this.priceUnit.innerHTML=""):(this.priceOriginal.innerHTML="",this.priceCompare.style.display="none",this.priceUnit.innerHTML="")}updateStock(){if(this.currentVariant){if(this.productStock&&this.productStockData){let t=!1;for(const e of this.productStockData)if(e.id==this.currentVariant.id){t=e;break}this.productStock.innerHTML="",t&&(t.quantity<=0?t.inventory=="continue"?this.productStock.innerHTML=KROWN.settings.locales.products_preorder:t.inventory=="deny"&&(this.productStock.innerHTML=KROWN.settings.locales.products_no_products):t.quantity=="1"?this.productStock.innerHTML=KROWN.settings.locales.products_one_product:t.quantity<=5?this.productStock.innerHTML=KROWN.settings.locales.products_few_products.replace("{{ count }}",t.quantity):t.unavailable?this.productStock.innerHTML=KROWN.settings.locales.products_no_products:t.quantity>5&&this.productStock.dataset.type=="always"&&(this.productStock.innerHTML=KROWN.settings.locales.products_few_products.replace("{{ count }}",t.quantity)))}}else this.productStock&&(this.productStock.innerHTML="")}updateDetails(){this.productSKU&&(this.currentVariant.sku?this.productSKU.textContent=KROWN.settings.locales.product_sku+this.currentVariant.sku:this.productSKU.textContent=""),this.productBARCODE&&(this.currentVariant.barcode?this.productBARCODE.textContent=KROWN.settings.locales.product_barcode+this.currentVariant.barcode:this.productBARCODE.textContent="")}updatePickupAvailability(){const t=document.querySelector("pickup-availability");t&&(this.currentVariant&&this.currentVariant.available?t.fetchAvailability(this.currentVariant.id):(t.removeAttribute("available"),t.innerHTML=""))}updateUnavailableVariants(){if(this.dataset.hideVariants=="true"){let t={},e={},i={},r=null,a=null;this.dataset.variants>1&&(r=this._getSelectedOption(0),this._resetDisabledOption(1)),this.dataset.variants>2&&(a=this._getSelectedOption(1),this._resetDisabledOption(2)),this.getVariantData().forEach(s=>{this.dataset.variants>0&&(t[s.option1]||(t[s.option1]=[]),t[s.option1].push(String(s.available))),this.dataset.variants>1&&(e[s.option2]||(e[s.option2]=[]),e[s.option2].push(String(s.available))),this.dataset.variants==2&&(s.option1!=r||s.available||this._setDisabledOption(1,s.option2)),this.dataset.variants>2&&(i[s.option3]||(i[s.option3]=[]),i[s.option3].push(String(s.available)),s.option2!=a||s.option1!=r||s.available||this._setDisabledOption(2,s.option3))}),this.dataset.variants>0&&Object.keys(t).forEach(e2=>{t[e2].includes("true")||this.querySelectorAll(".product-variant")[0].querySelector(`.product-variant-value[value="${e2}"]`).setAttribute("disabled","disabled")}),this.dataset.variants>1&&Object.keys(e).forEach(t2=>{e[t2].includes("true")||this.querySelectorAll(".product-variant")[1].querySelector(`.product-variant-value[value="${t2}"]`).setAttribute("disabled","disabled")}),this.dataset.variants>2&&(Object.keys(i).forEach(t2=>{i[t2].includes("true")||this.querySelectorAll(".product-variant")[2].querySelector(`.product-variant-value[value="${t2}"]`).setAttribute("disabled","disabled")}),Object.keys(e).forEach(t2=>{e[t2].includes("true")||a==t2&&this.querySelectorAll(".product-variant")[2].querySelector(".product-variant-value").setAttribute("disabled","disabled")}))}}_getSelectedOption(t){if(this.dataset.type=="select")return this.querySelectorAll(".product-variant")[t].querySelector(".product-variant-container").value;if(this.dataset.type=="radio"){let e=null;return this.querySelectorAll(".product-variant")[t].querySelectorAll(".product-variant__input").forEach(t2=>{t2.checked&&(e=t2.value)}),e}}_resetDisabledOption(t){this.querySelectorAll(".product-variant")[t].querySelectorAll(".product-variant-value").forEach(t2=>{t2.removeAttribute("disabled")})}_setDisabledOption(t,e){this.querySelectorAll(".product-variant")[t].querySelector(`.product-variant-value[value="${e}"]`).setAttribute("disabled","disabled")}updateURL(){this.currentVariant&&window.history.replaceState({},"",`${this.dataset.url}?variant=${this.currentVariant.id}`)}updateVariantInput(){this.currentVariant&&document.querySelectorAll(`#product-form-${this.dataset.id}, #product-form-installment`).forEach(t=>{const e=t.querySelector('input[name="id"]');e.value=this.currentVariant.id,e.dispatchEvent(new Event("change",{bubbles:!0}))})}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector('[type="application/json"]').textContent),this.variantData}}customElements.define("product-variants",ProductVariants);class ProductForm extends HTMLElement{constructor(){super(),this.hasAttribute("data-ajax-cart")&&(this.form=this.querySelector("form"),this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),this.ADD_TO_CART=new Event("add-to-cart")),this.querySelector("form").append(this.querySelector("template").content.cloneNode(!0))}onSubmitHandler(t){t.preventDefault();const e=this.querySelector('[type="submit"]');this.querySelector(".add-to-cart__text"),e.classList.add("working");const i=serializeForm(this.form);let r="";fetch(`${KROWN.settings.routes.cart_add_url}.js`,{body:i,headers:{"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},method:"POST"}).then(t2=>t2.json()).then(t2=>(t2.status==422&&(r=document.createElement("span"),r.className="alert body-text-sm alert--error",r.innerHTML=t2.description),fetch("?section_id=cart-helper"))).then(t2=>t2.text()).then(t2=>{const e2=new DOMParser().parseFromString(t2,"text/html"),i2=e2.getElementById("AjaxCartForm").innerHTML,a=e2.getElementById("AjaxCartSubtotal").innerHTML,s=document.getElementById("AjaxCartForm");s.innerHTML=i2,s.ajaxifyCartItems(),r!=""&&document.getElementById("AjaxCartForm").querySelector("form").prepend(r),document.getElementById("AjaxCartSubtotal").innerHTML=a,window.preloadImages(s),document.querySelector("[data-header-cart-count]").textContent=document.querySelector("#AjaxCartForm [data-cart-count]").textContent,this.dispatchEvent(this.ADD_TO_CART)}).catch(t2=>{console.log(t2)}).finally(()=>{e.classList.remove("working")})}}customElements.define("product-form",ProductForm);class PickupAvailability extends HTMLElement{constructor(){super(),this.errorHtml=this.querySelector("template").content.firstElementChild.cloneNode(!0),this.onClickRefreshList=this.onClickRefreshList.bind(this),this.hasAttribute("available")&&this.fetchAvailability(this.dataset.variantId)}fetchAvailability(t){const e=`${this.dataset.baseUrl}variants/${t}/?section_id=pickup-availability`;fetch(e).then(t2=>t2.text()).then(t2=>{const e2=new DOMParser().parseFromString(t2,"text/html").querySelector(".shopify-section");this.renderPreview(e2)}).catch(t2=>{console.log(t2),this.querySelector("button")&&this.querySelector("button").removeEventListener("click",this.onClickRefreshList),this.renderError()})}onClickRefreshList(){this.fetchAvailability(this.dataset.variantId)}renderError(){this.innerHTML="",this.appendChild(this.errorHtml),this.querySelector("button").addEventListener("click",this.onClickRefreshList)}renderPreview(t){const e=document.getElementById("PickupAvailabilityDrawer");if(e&&e.remove(),!t.querySelector("pickup-availability-preview"))return this.innerHTML="",void this.removeAttribute("available");this.innerHTML=t.querySelector("pickup-availability-preview").outerHTML,this.setAttribute("available",""),document.body.appendChild(t.querySelector("#PickupAvailabilityDrawer")),this.querySelector("button").addEventListener("click",t2=>{document.getElementById("PickupAvailabilityDrawer").show(t2.target)}),this.querySelector("button").addEventListener("keyup",t2=>{t2.keyCode==window.KEYCODES.RETURN&&document.getElementById("PickupAvailabilityDrawer").querySelector("[data-close]").focus()})}}customElements.define("pickup-availability",PickupAvailability);class ProductImageZoom extends HTMLElement{constructor(){super(),document.getElementById("zoom")?this.zoom=document.getElementById("zoom"):(this.zoom=document.createElement("div"),this.zoom.id="zoom",this.zoom.innerHTML=` ${KROWN.settings.symbols.zoom_out}
`,document.body.append(this.zoom),this.zoom.querySelector(".zoom__exit").addEventListener("click",this._productZoomUnmount.bind(this))),this.onMouseMoveHandlerBinded=this.onMouseMoveHandler.bind(this),this.onResizeHandlerBinded=this.onResizeHandler.bind(this),this.addEventListener("click",t=>{this.zoom.classList.add("opened"),this.image=this.zoom.querySelector("img"),this.image.src=this.getAttribute("data-image"),this.image.naturalWidth>0?this._productZoomMount():this.image.addEventListener("load",this._productZoomMount.bind(this))})}onMouseMoveHandler(t){window.clientX=t.clientX,window.clientY=t.clientY;const e=t.clientX*(window.innerWidth-this.image.offsetWidth)/window.innerWidth,i=t.clientY*(window.innerHeight-this.image.offsetHeight)/window.innerHeight;this.image.style.left=e+"px",this.image.style.top=i+"px"}onResizeHandler(){const t=window.innerWidth>768?1:2;this.image.classList.contains("portrait")?(this.image.style.width=window.innerWidth*t+"px",this.image.style.height=window.innerWidth*t/this.image.dataset.ratio+"px"):(this.image.style.height=window.innerHeight*t+"px",this.image.style.width=window.innerHeight*t*this.image.dataset.ratio+"px",this.image.offsetWidth{(document.body.classList.contains("touch")||document.body.classList.contains("touchevents"))&&(this.zoom.scrollTop=(window.innerHeight-this.image.offsetHeight)/-2,this.zoom.scrollLeft=(window.innerWidth-this.image.offsetWidth)/-2),this.zoom.classList.add("loaded")},50)}_productZoomUnmount(){this.zoom.classList.remove("opened"),setTimeout(()=>{window.removeEventListener("resize",this.onResizeHandlerBinded),window.removeEventListener("mousemove",this.onMouseMoveHandlerBinded);const t=document.querySelector("#zoom img");t.src="",t.className="",t.style="",this.zoom.classList.remove("loaded")},300)}}customElements.define("product-image-zoom",ProductImageZoom);class ToggleTab extends HTMLElement{constructor(){super(),this.titleEl=this.querySelector(".toggle__title"),this.contentEl=this.querySelector(".toggle__content"),this.titleEl.innerHTML=`${this.titleEl.innerHTML}${KROWN.settings.symbols.toggle_pack}`,this.titleEl.addEventListener("click",this.onClickHandler.bind(this)),this.titleEl.addEventListener("keydown",t=>{t.keyCode==window.KEYCODES.RETURN&&this.onClickHandler()})}onClickHandler(){this.titleEl.classList.contains("opened")?(this.titleEl.classList.remove("opened"),this.titleEl.setAttribute("aria-expanded","false"),this.slideUp(this.contentEl,200)):(this.titleEl.classList.add("opened"),this.titleEl.setAttribute("aria-expanded","true"),this.slideDown(this.contentEl,200))}slideUp(t,e){t.style.transitionProperty="height, margin, padding",t.style.transitionDuration=e+"ms",t.style.boxSizing="border-box",t.style.height=t.offsetHeight+"px",t.offsetHeight,t.style.overflow="hidden",t.style.height=0,t.style.paddingTop=0,t.style.paddingBottom=0,t.style.marginTop=0,t.style.marginBottom=0,setTimeout(()=>{t.style.display="none",t.style.removeProperty("height"),t.style.removeProperty("padding-top"),t.style.removeProperty("padding-bottom"),t.style.removeProperty("margin-top"),t.style.removeProperty("margin-bottom"),t.style.removeProperty("overflow"),t.style.removeProperty("transition-duration"),t.style.removeProperty("transition-property")},e)}slideDown(t,e){t.style.removeProperty("display");var o=window.getComputedStyle(t).display;o==="none"&&(o="block"),t.style.display=o;var i=t.offsetHeight;t.style.overflow="hidden",t.style.height=0,t.style.paddingTop=0,t.style.paddingBottom=0,t.style.marginTop=0,t.style.marginBottom=0,t.offsetHeight,t.style.boxSizing="border-box",t.style.transitionProperty="height, margin, padding",t.style.transitionDuration=e+"ms",t.style.height=i+"px",t.style.removeProperty("padding-top"),t.style.removeProperty("padding-bottom"),t.style.removeProperty("margin-top"),t.style.removeProperty("margin-bottom"),setTimeout(()=>{t.style.removeProperty("height"),t.style.removeProperty("overflow"),t.style.removeProperty("transition-duration"),t.style.removeProperty("transition-property")},e)}}customElements.define("toggle-tab",ToggleTab),document.addEventListener("shopify:block:select",t=>{const e=t.target;e.classList.contains("toggle")&&(e.querySelector(".toggle__title").classList.contains("opened")||e.onClickHandler())}),document.addEventListener("shopify:block:deselect",t=>{const e=t.target;e.classList.contains("toggle")&&e.querySelector(".toggle__title").classList.contains("opened")&&e.onClickHandler()});class VideoPopup extends HTMLElement{constructor(){super(),this.querySelector(".video-popup__link").addEventListener("click",A=>{A.preventDefault();const e=document.createElement("div");e.classList.add("video-popup__blackout"),this.append(e),setTimeout(()=>{e.style.opacity="1"},10),setTimeout(()=>{this.dataset.videoSource=="youtube"?this.querySelector(".video-popup__container").innerHTML=`