PageSourceSearch

https://embroiderydesignclub.com/cdn/shop/t/156/assets/theme.js?v=106848039887400049281786378449

js embroiderydesignclub.com collected 2026-10-09 21:38:10 UTC 156,340 bytes, 31 lines download raw bytes

1var SHTHelper=window.SHTHelper||{},TRAP_FOCUS_HANDLERS={};SHTHelper.fetchConfigHTTP={method:"POST",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"application/javascript"}},SHTHelper.fetchConfigJSON={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"}},SHTHelper.debounce=function(t,s){let i=null;return function(e){clearTimeout(i),i=null,i=setTimeout(function(){t.call(this,e)},s)}},SHTHelper.removeTrapFocus=function(e=null){document.removeEventListener("focusin",TRAP_FOCUS_HANDLERS.focusin),document.removeEventListener("focusout",TRAP_FOCUS_HANDLERS.focusout),document.removeEventListener("keydown",TRAP_FOCUS_HANDLERS.keydown),e&&e.focus()},SHTHelper.trapFocus=function(t,e=t){var s=t.querySelectorAll(`a[href]:not([disabled]), [tabindex]:not([tabindex^='-']), summary, button:not([disabled]), textarea:not([disabled]), input:not([type=hidden]):enabled, input[type="text"]:not([disabled]), object, iframe, input[type="search"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])`);let i=s[0],r=s[s.length-1];SHTHelper.removeTrapFocus(),TRAP_FOCUS_HANDLERS.focusin=e=>{e.target!==t&&e.target!==r&&e.target!==i||document.addEventListener("keydown",TRAP_FOCUS_HANDLERS.keydown)},TRAP_FOCUS_HANDLERS.focusout=function(){document.removeEventListener("keydown",TRAP_FOCUS_HANDLERS.keydown)},TRAP_FOCUS_HANDLERS.keydown=function(e){"Tab"!==e.key&&9!==e.keyCode||(e.shiftKey?e.target!==t&&e.target!==i||(r.focus(),e.preventDefault()):e.target===r&&(i.focus(),e.preventDefault()))},document.addEventListener("focusout",TRAP_FOCUS_HANDLERS.focusout),document.addEventListener("focusin",TRAP_FOCUS_HANDLERS.focusin),e.focus()},SHTHelper.isColor=function(e){var t=(new Option).style;return t.color=e,t.color==e},SHTHelper.isHexColor=function(e){return/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)},SHTHelper.isImage=function(e){return/(\/\/)([^\s(["<,>/]*)(\/)[^\s[",><]*(.png|.jpg|.webp|.heic|.gif|.svg)(\?[^\s[",><]*)?/gi.test(e)},SHTHelper.preventStickyHeaderReveal=function(){var e=SHTHelper.qs("sht-sticky-header");e&&e.dispatchEvent(new Event("preventStickyHeaderReveal"))},SHTHelper.formatMoney=function(e,t=""){"string"==typeof e&&(e=e.replace(".",""));var s=/\{\{\s*(\w+)\s*\}\}/,t=t||window.theme_variables.settings.money_format;let i="";switch(t.match(s)[1]){case"amount":i=SHTHelper.formatWithDelimiters(e,2);break;case"amount_no_decimals":i=SHTHelper.formatWithDelimiters(e,0);break;case"amount_with_space_separator":i=SHTHelper.formatWithDelimiters(e,2," ",".");break;case"amount_with_comma_separator":i=SHTHelper.formatWithDelimiters(e,2,".",",");break;case"amount_with_apostrophe_separator":i=SHTHelper.formatWithDelimiters(e,2,"'",".");break;case"amount_no_decimals_with_comma_separator":i=SHTHelper.formatWithDelimiters(e,0,".",",");break;case"amount_no_decimals_with_space_separator":i=SHTHelper.formatWithDelimiters(e,0," ");break;case"amount_no_decimals_with_apostrophe_separator":i=SHTHelper.formatWithDelimiters(e,0,"'")}return t.indexOf("with_comma_separator"),t.replace(s,i)},SHTHelper.defaultTo=function(e,t){return null==e||e!=e?t:e},SHTHelper.formatWithDelimiters=function(e,t,s,i){return t=SHTHelper.defaultTo(t,2),s=SHTHelper.defaultTo(s,","),i=SHTHelper.defaultTo(i,"."),isNaN(e)||null==e?0:(t=(e=(e/100).toFixed(t)).split("."))[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+s)+(t[1]?i+t[1]:"")},SHTHelper.loadScript=function(e,t,s){var i;SHTHelper.qs("#"+e)?s():((i=document.createElement("script")).setAttribute("src",""+t),i.setAttribute("id",""+e),i.onload=function(){s()},i.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||s()},i.onerror=function(e){console.log("Failed to load script file "+t,e),s()},document.body.appendChild(i))},SHTHelper.forceUpdateCartStatus=function(e){let t=[{section:"cart-drawer",selector:".js-cart-drawer-wrapper",space_selector:".js-cart-drawer-wrapper"},{section:"header-cart-status",space_selector:".shopify-section",selector:"#headerCartStatus",cart_notification:!1},{section:"main-cart",space_selector:"#mainCartContainer",selector:"#mainCartContainer",cart_notification:!1},{section:"cart-notification-panel-product",space_selector:".js-cart-notification-panel-item-count",selector:".js-cart-notification-panel-item-count-content",cart_notification:!1},{section:"cart-notification-panel-product",space_selector:".js-cart-notification-panel-product-"+e?.id,selector:".js-cart-notification-panel-content",cart_notification:!0}
1],r=SHTHelper.qs("sht-cart-noti");SHTHelper.qs("sht-sticky-header");e=t.map(e=>e.section).join(",");fetch(window.location.pathname+"?sections="+e).then(e=>e.json()).then(i=>{t.forEach(e=>{var t=i[e.section],s=SHTHelper.qs(e.selector);t&&s&&((t=(new DOMParser).parseFromString(t,"text/html").querySelector(e.space_selector))&&(s.innerHTML=t.innerHTML),e.cart_notification)&&r&&r.open()})}).catch(e=>{console.log("Cannot force Update Cart Status")})};class SHTElementLazyLoad{constructor(){this.elements=SHTHelper.qsa(".js-main-body .js-animate"),this.sequential_elements=SHTHelper.qsa(".js-main-body .js-seq-animate"),this.setupEventListeners()}setupEventListeners(){var s=new IntersectionObserver((s,i)=>{for(let e=0,t=s.length;e<t;e++)s[e].isIntersecting&&(s[e].target.classList.add("animated"),i.unobserve(s[e].target))});for(let e=0,t=this.elements.length;e<t;e++)s.observe(this.elements[e]);var i=new IntersectionObserver((s,i)=>{for(let e=0,t=s.length;e<t;e++){var r=100*e;s[e].isIntersecting&&(setTimeout(()=>{s[e].target.classList.add("animated")},r),i.unobserve(s[e].target))}},{threshold:.2});for(let e=0,t=this.sequential_elements.length;e<t;e++)i.observe(this.sequential_elements[e])}}setTimeout(()=>{void 0!==SHTElementLazyLoad&&new SHTElementLazyLoad}),Shopify.designMode&&document.addEventListener("shopify:section:load",function(e){void 0!==SHTElementLazyLoad&&new SHTElementLazyLoad});class SHTCustomComponent extends HTMLElement{constructor(){super(),this.$=this.querySelector.bind(this),this.$$=this.querySelectorAll.bind(this)}}class SHTCountDown extends SHTCustomComponent{constructor(){super()}init(){if(JSON.parse(this.dataset.isExpired))return!0;var{timeZoneName:e,timeZoneOffset:t,endTime:s,endDate:i,hideOnEnd:r}=this.dataset;this.timeZoneName=e,this.timeZoneOffset=t,this.hideOnEnd=JSON.parse(r),this.endDate=this.validateDateValue(i)?i:this.getCurrentDateTime(!0),this.endTime=this.validateTimeValue(s)?s:"23:59:59",this.expiredAt=new Date(this.convertDateStringToISOString(this.endDate+":"+this.endTime)).getTime(),this.currentTime=this.convertDateTimeToSpecificTimeZone(this.getCurrentDateTime()),this.daysElement=this.$(".js-counter-days"),this.hoursElement=this.$(".js-counter-hours"),this.minutesElement=this.$(".js-counter-minutes"),this.secondsElement=this.$(".js-counter-seconds"),this.messageElement=this.$(".js-counter-message"),this.counterElement=this.$(".js-counter"),this.startCountdown()}startCountdown(){let r=setInterval(()=>{var e,t,s,i=this.expiredAt-this.currentTime;i<=0?(clearInterval(r),this.handleExpiration()):(e=Math.floor(i/864e5),t=Math.floor(i%864e5/36e5),s=Math.floor(i%36e5/6e4),i=Math.floor(i%6e4/1e3),this.setCounter({days:e,hours:t,minutes:s,seconds:i}),this.currentTime+=1e3)},1e3)}handleExpiration(){this.setCounter({days:0,hours:0,minutes:0,seconds:0}),this.messageElement.innerHTML.trim()&&this.messageElement.classList.remove("d-none"),this.hideOnEnd&&this.counterElement.classList.add("d-none-important")}connectedCallback(){this.init()}getCurrentDateTime(e=!1){var t=new Date,s=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return e?s+`-${i}-`+r:s+`-${i}-${r} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:`+String(t.getSeconds()).padStart(2,"0")}convertDateTimeToSpecificTimeZone(e,t=!0){var e=new Date(e),s="-"===this.timeZoneOffset[0],s=60*(60*parseInt(this.timeZoneOffset.substring(1,3))+parseInt(this.timeZoneOffset.substring(3,5)))*1e3*(s?-1:1),e=new Date(e.getTime()+s);return t?e.getTime():e.toISOString()}setCounter({days:e,hours:t,minutes:s,seconds:i}){this.daysElement.textContent=e.toString().padStart(2,"0"),this.hoursElement.textContent=t.toString().padStart(2,"0"),this.minutesElement.textContent=s.toString().padStart(2,"0"),this.secondsElement.textContent=i.toString().padStart(2,"0")}convertDateStringToISOString(e){return e.replace(/:/,"T")+".000Z"}validateDateValue(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)}validateTimeValue(e){return/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/.test(e)}}customElements.define("sht-countdown",SHTCountDown);class SHTCarousel extends SHTCustomComponent{constructor(){super(),this.carousels=this.$$(".js-carousel-item"),this.container=this.$(".js-carousel-items"),this.totalItems=this.carousels.length,this.prevBtnElement=this.$(".js-carousel-prev-btn"),this.nextBtnElement=this.$(".js-carousel-next-btn"),this.currentElement=this.$(".js-carousel-counter-current"),this.totalElement=this.$(".js-carousel-counter-total"),this.paginationElement=this.$(".js-carousel-pagination"),this.pagination=this.$(".js-carousel-pagination-dots"),this.pagination_items=this.pagination?.querySelectorAll(".js-carousel-pagination-dot"),this.init(),this.bindEventHandlers()}init(){"false"!=this.dataset.enable&&(this.itemsToShow=Array.from(this.carousels).filter(e=>0<e.clientWidth),this.itemsToShow.length<2?this.togglePagination(!1):(this.gutter=parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-left"))+parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-right")),this.itemOffset=this.itemsToShow[1].offsetLeft-this.itemsToShow[0].offsetLeft,this.itemsPerPage=Math.floor((this.container.clientWidth-this.itemsToShow[0].offsetLeft)/this.itemOffset),this.totalPages=this.itemsToShow.length-this.itemsPerPage+1,this.updateCarousel()))}
1pauseAllVideo(){SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='youtube']").forEach(e=>{e.player?.pauseVideo()}),SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='vimeo'])").forEach(e=>{e.playerVimeo?.pause()}),SHTHelper.qsa(".js-media-item-video").forEach(e=>{e.pause()})}updateCarousel(){var e=this.currentPage;this.currentPage=Math.round(this.container.scrollLeft/this.itemOffset)+1,0<this.currentPage&&0<this.totalPages&&(this.totalElement&&(this.totalElement.textContent=this.totalPages),this.currentElement)&&(this.currentElement.innerHTML=this.currentPage),this.currentPage!=e&&this.dispatchEvent(new CustomEvent("itemChanged",{detail:{currentPage:this.currentPage,currentElement:this.itemsToShow[this.currentPage-1],container:this}})),this.isItemVisible(this.itemsToShow[0])&&0===this.container.scrollLeft?this.prevBtnElement.setAttribute("disabled","disabled"):this.prevBtnElement.removeAttribute("disabled"),this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])?this.nextBtnElement.setAttribute("disabled","disabled"):this.nextBtnElement.removeAttribute("disabled"),1<this.totalPages&&this.togglePagination(!0),this.totalPages<=1&&this.togglePagination(!1),this.updatePagination(),this.pauseAllVideo()}updatePagination(){var e;this.pagination&&(e=this.pagination.querySelector(`li[data-dot-index="${this.currentPage}"]`))&&(this.pagination_items.forEach(e=>e.classList.remove("is-active")),e.classList.add("is-active"))}togglePagination(e){e?this.paginationElement?.classList.remove("d-none-important"):this.paginationElement?.classList.add("d-none-important")}isItemVisible(e,t=0){var s;return void 0!==e&&(t=this.container.clientWidth+this.container.scrollLeft-t,s=parseInt(getComputedStyle(this.container).paddingRight),Math.floor(e.getBoundingClientRect().width+s+e.offsetLeft)<=Math.round(t))&&Math.round(e.offsetLeft)>=this.container.scrollLeft}onButtonClick(e){e.preventDefault();let t=1,s=0;window.matchMedia("(min-width: 459px)").matches&&(t=e.currentTarget.dataset.step),0!=this.container.scrollLeft&&!this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])||(s=this.gutter),this.itemScrollPosition="next"===e.currentTarget.name?this.container.scrollLeft-s+t*this.itemOffset:this.container.scrollLeft+s-t*this.itemOffset,window.requestAnimationFrame(()=>this.container.scrollTo({left:this.itemScrollPosition,behavior:"smooth"}))}bindEventHandlers(){"false"!=this.dataset.enable&&(new ResizeObserver(e=>this.init()).observe(this.container),new IntersectionObserver(((e,t)=>{e[0].isIntersecting&&(this.init(),t.unobserve(this))}).bind(this)).observe(this),this.prevBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.nextBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.container.addEventListener("scroll",SHTHelper.debounce(this.updateCarousel.bind(this),100)))}}customElements.define("sht-carousel",SHTCarousel);class SHTFeaturedVariantSelector extends SHTCustomComponent{constructor(){super()}connectedCallback(){this.init()}init(){this.elms={radio_elms:this.$$(".js-featured-variant-radio-item"),form:SHTHelper.qs("#featuredProductForm-"+this.dataset.section),price:SHTHelper.qs("#featuredProductPrice-"+this.dataset.section),product_form:SHTHelper.qs(`sht-featured-prd-frm[data-section="${this.dataset.section}"]`),inventory_tracking:SHTHelper.qs("#featuredInventoryTracking-"+this.dataset.section),variant_picker:SHTHelper.qs("#featuredVariantPicker-"+this.dataset.section),quantity_input:SHTHelper.qs("#featuredProductQuantity-"+this.dataset.section),slideshow:SHTHelper.qs(`sht-prd-slideshow[data-section="${this.dataset.section}"]`),thumb_carousel:SHTHelper.qs(`sht-vert-carousel[data-section="${this.dataset.section}"]`),carousel:SHTHelper.qs(`sht-carousel[data-section-id="${this.dataset.section}"]`),variant_options:this.$$(".js-variant-option-value"),sku:SHTHelper.qs("#featuredSku-"+this.dataset.section)},this.price_selector="#featuredProductPrice-"+this.dataset.section,this.inventory_tracking_selector="#featuredInventoryTracking-"+this.dataset.section,this.variant_picker_selector="#featuredVariantPicker-"+this.dataset.section,this.quantity_input_selector="#featuredProductQuantity-"+this.dataset.section,this.slideshow_selector=`sht-prd-slideshow[data-section="${this.dataset.section}"]`,this.sku_selector="#featuredSku-"+this.dataset.section;var e=this.setSelectedVariants(this);this.variant_data=e,this.elms.form&&(this.bindEventHandlers(),"dropdown"==this.select_type?this.updateSelectedVariantsOnOptionNameByDropDown(e):this.updateSelectedVariantsOnOptionName(e))}bindEventHandlers(){this.addEventListener("change",this.onVariantChangeHandle.bind(this))}onVariantChangeHandle(){this.toggleAddButton(!0),this.removeErrorMessage(),this.renderProductInfo()}escapeValueForSelector(e){return e.replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g,"\\$&")}updateSelectedVariantsOnOptionNameByDropDown(e){e?.options&&e.options.forEach((e,t)=>{var t=this.$(`.js-variant-select-item .js-variant-item[data-variant-value="${this.escapeValueForSelector(e+"-"+t)}"]`);t&&(t=t.getAttribute("data-variant-name"))&&(t=this.$(`.js-variant-select-option-name[data-option-name="${this.escapeValueForSelector(t)}"]`))&&(t.innerHTML=e)})}updateSelectedVariantsOnOptionName(e){e?.options&&e.options.forEach((e,t)=>{var t=this.$(`.js-variant-item[data-variant-value="${this.escapeValueForSelector(e+"-"+t)}"]`);t&&(t=t.getAttribute("name"))&&(t=this.$(`.js-variant-radio-option-name[data-option-name="${this.escapeValueForSelector(t)}"]`))&&(t.innerHTML=e)})}removeErrorMessage(){this.elms.product_form&&this.elms.product_form.handleErrorMessage()}updatePickupAvailability(){var e=SHTHelper.qs(`.section-featured-product[id="${this.dataset.section}"] sht-pickup-avail-for-featured-product`);e&&(this.currentVariant&&this.currentVariant.available?e.fetchAvailability(this.currentVariant.id):(e.removeAttribute("available"),e.classList.remove("d-block"),e.classList.add("d-none"),e.innerHTML=""))}getSelectedVariantValue(){return Array.from(this.querySelectorAll(".js-variant-item:checked")).map(({dataset:e})=>e.optionValueId)}setSelectedVariants(e){return JSON.parse(e.querySelector('[type="application/json"]').textContent)}buildRequestUrlWithParams(e,t){var s=[];return s.push("section_id="+this.dataset.section),t.length&&s.push("option_values="+t.join(",")),e+"?"+s.join("&")}updateOptionValues(e){var e=e.querySelector(".js-variant-picker"),t=this.elms.variant_picker;e&&t&&(t.innerHTML=e.innerHTML)}renderProductInfo(){var e=this.dataset.url,t=this.getSelectedVariantValue(),e=this.buildRequestUrlWithParams(e,t);fetch(e).then(e=>{if(e.ok)return e.text();throw new Error("Network response was not ok")}).then(e=>{var t,s,e=(new DOMParser).parseFromString(e,"text/html"),i=this.setSelectedVariants(e);(this.disabledSubmitBtn=i)?(this.updatePickupAvailability(i),this.checkOutStock(),this.updateV
1ariantInput(i),this.updateOptionValues(e),this.setActiveMedia(i),t=this.elms.sku,s=e.querySelector(this.sku_selector),t&&(t.innerHTML="",s)&&(t.innerHTML=s.innerHTML),t=this.elms.inventory_tracking,s=e.querySelector(this.inventory_tracking_selector),t&&(t.innerHTML="",s)&&(t.innerHTML=s.innerHTML),t=this.elms.price,(s=e.querySelector(this.price_selector))&&t&&(t.innerHTML=s.innerHTML),this.elms.price&&this.elms.price.classList.remove("visibility-hidden"),t=this.elms.quantity_input,s=e.querySelector(this.quantity_input_selector),t&&s&&(t.innerHTML=s.innerHTML),"false"==this.elms.slideshow.hide_variant&&(t=this.elms.slideshow,s=e.querySelector(this.slideshow_selector),t)&&s&&(t.innerHTML=s.innerHTML),this.toggleAddButton(!i.available,SHTLanguage.product.PRODUCT_SOLD_OUT),"dropdown"==this.select_type?this.updateSelectedVariantsOnOptionNameByDropDown(i):this.updateSelectedVariantsOnOptionName(i)):this.setUnavailable()}).finally(()=>{this.disabledSubmitBtn&&this.toggleAddButton(!this.disabledSubmitBtn.available,SHTLanguage.product.PRODUCT_SOLD_OUT)})}updateVariantInput(t){t&&[this.elms.form,this.elms.installment_form].forEach(e=>{e&&(e=e.querySelector('input[name="id"]'))&&(e.value=t.id,e.dispatchEvent(new Event("change",{bubbles:!0})))})}setActiveMedia(e){var t;e.featured_media&&(e=e.featured_media.id,t=this.elms.slideshow.querySelector(`sht-carousel-itm[data-media-id="${this.dataset.section}-${e}"]`),e=this.elms.slideshow.querySelector(`sht-vert-carousel-itm[data-media-target-id="${this.dataset.section}-${e}"]`),window.matchMedia("(max-width: 1024px)").matches?(this.elms.carousel.querySelector(".js-carousel-items").scrollTo({left:t.offsetLeft,behavior:"smooth"}),e&&(this.elms.slideshow.querySelectorAll("sht-vert-carousel-itm").forEach(e=>{e.classList.remove("is-active-item")}),e.classList.add("is-active-item"),this.elms.thumb_carousel.querySelector(".js-carousel-items").scrollTo({left:e.offsetLeft,behavior:"auto"}))):(this.elms.slideshow.querySelectorAll(".js-product-slideshow-item").forEach(e=>{e.classList.remove("d-block"),"true"==this.elms.slideshow.hide_variant&&e.classList.add("d-none")}),this.elms.slideshow.querySelectorAll(".js-product-slideshow-thumb").forEach(e=>{e.classList.remove("is-active-item")}),t.classList.add("d-block"),"true"==this.elms.slideshow.hide_variant&&t.classList.remove("d-none"),"carousel"==this.elms.thumb_carousel.getAttribute("data-layout")&&this.elms.carousel.querySelector(".js-carousel-items").scrollTo({left:t.offsetLeft,behavior:"smooth"}),e&&(this.elms.slideshow.querySelectorAll("sht-vert-carousel-itm").forEach(e=>{e.classList.remove("is-active-item")}),e.classList.add("is-active-item"),"carousel-vertical"==this.elms.thumb_carousel.getAttribute("data-layout")?this.elms.thumb_carousel.querySelector(".js-carousel-items").scrollTo({top:e.offsetTop,behavior:"auto"}):this.elms.thumb_carousel.querySelector(".js-carousel-items").scrollTo({left:e.offsetLeft,behavior:"auto"}))),this.pauseAllVideo())}pauseAllVideo(){SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='youtube']").forEach(e=>{e.player?.pauseVideo()}),SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='vimeo'])").forEach(e=>{e.playerVimeo?.pause()}),SHTHelper.qsa(".js-media-item-video").forEach(e=>{e.pause()})}setUnavailable(){var e,t=this.elms.form;t&&(e=(t=t.querySelector(".js-featured-product-form-submit-btn")).querySelector(".js-featured-product-form-submit-btn-text"),t)&&(e.textContent=SHTLanguage.product.PRODUCT_UNAVAILABLE,this.elms.price)&&this.elms.price.classList.add("visibility-hidden")}checkOutStock(){var e=this.elms.inventory_tracking;e&&(e.innerHTML=`<span class="d-flex gap-8 subtext middle-xs">
2        <span class="btn-icon btn--small icon icon--error">
3          <svg width="16" height="16" viewBox="0 0 25 24" fill="none" aria-hidden="true" focusable="false">
4            <path d="M11.9731 12.5273L5.45312 19.0473" stroke="currentColor" stroke-linejoin="round" />
5            <path d="M19.5492 4.94922L13.0292 11.4692" stroke="currentColor" stroke-linejoin="round" />
6            <path d="M19.5511 19.0511L13.0273 12.5273" stroke="currentColor" stroke-linejoin="round" />
7            <path d="M11.9731 11.4692L5.45312 4.94922" stroke="currentColor" stroke-linejoin="round" />
8          </svg>
9        </span>
10        ${SHTLanguage.product.OUT_OF_STOCK}
11      </span>`)}toggleAddButton(e=!0,t,s){var i,r,a=this.elms.form;a&&(i=this.elms.inventory_tracking,r=(a=a.querySelector(".js-featured-product-form-submit-btn")).querySelector(".js-featured-product-form-submit-btn-text"),a)&&(i.removeAttribute("hidden"),e?(a.setAttribute("disabled","disabled"),t&&(r.textContent=t)):(a.removeAttribute("disabled"),r.textContent=SHTLanguage.product.PRODUCT_ADD_TO_CART))}toggleUnavailableOptions(t=!1){this.elms.variant_options.forEach(e
11=>{e.classList.toggle("product-option--unavailable",t)})}}class SHTFeaturedVariantRadios extends SHTFeaturedVariantSelector{constructor(){super(),this.select_type="button"}}customElements.define("sht-featured-variant-radios",SHTFeaturedVariantRadios);class SHTFeaturedVariantSelects extends SHTFeaturedVariantSelector{constructor(){super(),this.select_type="dropdown"}}customElements.define("sht-featured-variant-selects",SHTFeaturedVariantSelects);class SHTFeaturedVariantSwatchSelect extends HTMLElement{constructor(){super(),this.$=this.querySelector.bind(this),this.$$=this.querySelectorAll.bind(this)}init(){this.radios=this.$$(".js-variant-radio-item"),this.select_id=this.dataset.selectId,this.select_element=document.querySelector("#"+this.select_id),this.bindEventHandlers()}bindEventHandlers(){this.radios.forEach(e=>{e.addEventListener("click",e=>{e.preventDefault(),Array.from(this.radios,e=>{e.checked=!1}),setTimeout(()=>{e.target.checked=!0}),this.select_element&&(this.select_element.querySelector(`option[value="${e.target.value.replace(/"/g,'\\"')}"]`).selected=!0,this.select_element.dispatchEvent(new Event("change",{bubbles:!0})))})})}connectedCallback(){this.init()}}customElements.define("sht-featured-variant-swatch-select",SHTFeaturedVariantSwatchSelect);class SHTFeaturedProductForm extends SHTCustomComponent{constructor(){super()}connectedCallback(){this.init()}init(){this.elms={form:this.$("form"),submit_btn:this.$('[type="submit"]'),error_wrapper:this.$(".js-featured-product-form-error-wrapper"),error_message:this.$(".js-featured-product-form-error-message"),spinner:this.$(".js-featured-product-form-spinner"),quantity_input_container:SHTHelper.qs("#featuredProductQuantity-"+this.dataset.section),sticky_header:SHTHelper.qs("sht-sticky-header"),header:SHTHelper.qs("sht-header"),announcement_bar:SHTHelper.qs("sht-ann-bar"),header_cart_status:SHTHelper.qs("#headerCartStatus")},this.cart_noti_style=SHTHelper.qs("body").getAttribute("data-cart-noti-type"),this.cartNotification=SHTHelper.qs("sht-cart-noti"),this.cartDrawer=SHTHelper.qs("sht-cart-drwr"),this.cartDrawerForm=SHTHelper.qs("sht-cart-drwr-frm"),this.cardRecipientForm=SHTHelper.qs("sht-gift-card-recipient-form"),this.mainCartForm=SHTHelper.qs("sht-cart-frm"),this.elms.form&&(this.elms.form.querySelector("[name=id]").disabled=!1,this.bindEventHandlers())}bindEventHandlers(){this.elms.form.addEventListener("submit",this.onSubmitHandler.bind(this))}onSubmitHandler(e){if(e.preventDefault(),!this.elms.submit_btn.classList.contains("loading")){this.handleErrorMessage(),this.elms.submit_btn.setAttribute("aria-disabled",!0),this.elms.submit_btn.setAttribute("disabled",!0),this.elms.submit_btn.classList.add("loading"),this.elms.spinner.classList.remove("hidden"),this.elms.header_cart_status&&this.elms.header_cart_status.classList.remove("header-cart-status--animate");let e=[],t=(this.cartNotification&&(e=this.cartNotification.getSectionsToRender()),this.cartDrawer&&(e=[...e,...this.cartDrawer.getSectionsToRender()]),this.mainCartForm&&(e=[...e,...this.mainCartForm.getSectionsToRender(!1)]),new FormData(this.elms.form));e.length&&t.append("sections",e.map(e=>e.id)),t.append("sections_url",window.location.pathname),SHTHelper.fetchConfigHTTP.body=t,fetch(""+routes.cart_add_url,SHTHelper.fetchConfigHTTP).then(e=>e.json()).then(e=>{if(e.status)this.handleErrorMessage(e.description,e?.message);else{switch(e.id||(e.id=t.get("id")),this.elms.sticky_header&&this.elms.sticky_header.dataset.isEnabled&&this.elms.sticky_header.reveal(),this.cart_noti_style){case"popover_notification":this.cartNotification&&this.cartNotification.renderContents(e,!0,this.elms.submit_btn),this.cartDrawerForm&&this.cartDrawerForm.renderContents(e);break;case"show_the_cart_drawer":this.cartNotification&&this.cartNotification.renderContents(e,!1,this.elms.submit_btn),this.cartDrawerForm&&this.cartDrawerForm.renderContents(e),this.cartDrawer.querySelector(".js-drawer-message")?.setActiveMessage(),this.cartDrawer.openDrawer();break;case"direct_to_cart_page":this.cartNotification&&this.cartNotification.renderContents(e,!1,this.elms.submit_btn),window.location.assign(window.routes.cart_url);break;case"do_nothing":this.cartDrawerForm&&(this.cartNotification&&this.cartNotification.renderContents(e,!1,this.elms.submit_btn),this.cartDrawerForm.renderContents(e))}this.mainCartForm&&this.mainCartForm.renderContents(e),this.elms.quantity_input_container&&"add-to-cart"==this.elms.quantity_input_container.dataset.show&&(this.elms.quantity_input_container.classList.remove("d-none"),this.elms.quantity_input_container.querySelector("input").value=1),this.cardRecipientForm&&this.cardRecipientForm.resetRecipientForm()}}).catch(e=>{console.error(e)}).finally(()=>{this.elms.submit_btn.classList.remove("loading"),this.elms.submit_btn.removeAttribute("aria-disabled"),this.elms.submit_btn.removeAttribute("disabled"),this.elms.spinner.classList.add("hidden"),new SHTCartDrawerToggle})}}handleErrorMessage(e=!1,t=""){"string"==typeof e&&this.elms.error_wrapper.toggleAttribute("hidden",!e),e&&(this.elms.error_message.textContent=e,this.cardRecipientForm)&&"object"==typeof e&&this.cardRecipientForm.handleErrorMessage(e,t)}}customElements.define("sht-featured-prd-frm",SHTFeaturedProductForm);class SHTColorSwatch extends SHTCustomComponent{constructor(){super(),this.json=null,this.jsonDataElement=SHTHelper.qs('#colorSwatchData[type="application/json"]')||null,this.variantSwatchItems=this.$$(".js-variant-swatch-item")||[],this.jsonDataElement&&0!=this.variantSwatchItems.length&&this.bindEventHandlers()}onObserverHandler(){new IntersectionObserver((e,t)=>
11{e.forEach(e=>{e.isIntersecting&&(this.init(),t.unobserve(this))})}).observe(this)}init(){this.json=JSON.parse(this.jsonDataElement.textContent),this.processJsonData();for(let e=0,t=this.variantSwatchItems.length;e<t;e++){let i=this.variantSwatchItems[e];var s,a,n,o,l=this.json[""+i.dataset.optionValue];let r="";"variant_image"!==i.dataset.swatchSource&&(s=i.dataset.optionValue,a=i.dataset.swatchOptionValue,n=(e,t="",s="")=>{r=e,i.style.backgroundColor=t,i.style.backgroundImage=s?`url("${s}")`:"",i.style.backgroundSize=s?"cover":"",i.style.backgroundRepeat=s?"no-repeat":""},void 0!==l?(o=SHTHelper.isHexColor(l),SHTHelper.isImage(l)?n("image","",l):o&&n("color",l)):SHTHelper.isColor(s)&&n("color",s),a&&(o=SHTHelper.isHexColor(a),SHTHelper.isImage(a)?n("image","",a):o&&n("color",a)),i.style.backgroundImage||i.style.backgroundColor?(r&&i.classList.add("clr-swh__type--"+r),i.classList.add("clr-swh__has-value")):i.querySelector(".js-variant-option-label")?.classList.remove("opacity-0"))}}processJsonData(){this.json&&(this.json=Object.assign.apply({},this.json.color_swatch_name.map((e,t)=>({[e]:this.json.color_swatch_value[t]}))))}bindEventHandlers(){this.onObserverHandler()}}class SHTMainProductVariantSwatch extends SHTColorSwatch{}customElements.define("sht-prd-variant-swtch",SHTMainProductVariantSwatch);class SHTMainProductVariantSwatchWSelect extends SHTColorSwatch{}customElements.define("sht-prd-variant-swtch-w-select",SHTMainProductVariantSwatchWSelect);class SHTProductQuickViewVariantSwatch extends SHTColorSwatch{}customElements.define("sht-prd-qck-vw-variant-swtch",SHTProductQuickViewVariantSwatch);class SHTMainCollectionProductVariantSwatch extends SHTColorSwatch{}customElements.define("sht-coll-prd-variant-swtch",SHTMainCollectionProductVariantSwatch);class SHTFeaturedProductVariantSwatch extends SHTColorSwatch{}customElements.define("sht-featured-prd-variant-swtch",SHTFeaturedProductVariantSwatch);class SHTMainSearchVariantSwatch extends SHTColorSwatch{}customElements.define("sht-srch-variant-swtch",SHTMainSearchVariantSwatch);class SHTVariantSwatch extends SHTColorSwatch{constructor(){super(),this.preloadedImages=new Map,this.imageLoadPromises=new Map,this.intersectionObserver=null}bindEventHandlers(){this.onObserverHandler(),this.setupIntersectionObserver(),this.variantSwatchItems.forEach(e=>{e.addEventListener("click",e=>{this.changeVariantImage(e.currentTarget)}),e.addEventListener("mouseenter",()=>{this.preloadVariantImage(e)})})}setupIntersectionObserver(){window.IntersectionObserver?(this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(this.startSmartPreloading(),this.intersectionObserver.unobserve(e.target))})},{rootMargin:"50px"}),this.intersectionObserver.observe(this)):this.preloadAllVariantImages()}startSmartPreloading(){Array.from(this.variantSwatchItems).slice(0,2).forEach(e=>{this.preloadVariantImage(e)})}preloadAllVariantImages(){this.variantSwatchItems.forEach(e=>{this.preloadVariantImage(e)})}preloadVariantImage(e){var t,e=e.querySelector("template");e&&(t=(e=e.content.firstElementChild.cloneNode(!0)).src,e=e.srcset||e.src,t)&&!this.preloadedImages.has(t)&&this.preloadImage(t,e)}preloadImage(s,i){var e;return this.imageLoadPromises.has(s)?this.imageLoadPromises.get(s):(e=new Promise(e=>{var t=new Image;t.onload=()=>{this.preloadedImages.set(s,!0),e(!0)},t.onerror=()=>{this.preloadedImages.set(s,!1),e(!1)},i&&(t.srcset=i),t.src=s}),this.imageLoadPromises.set(s,e),e)}changeVariantImage(e){var t,s,i=SHTHelper.qs("#"+e.dataset.productImageId),r=SHTHelper.qsa("."+e.dataset.productLinkClass),a=e.querySelector("template");i&&a&&(this.resetButtonStates(),t=(a=a.content.firstElementChild.cloneNode(!0)).src,s=a.srcset||a.src,a=a.getAttribute("data_url"),this.preloadedImages.has(t)?this.updateImageImmediately(i,t,s,r,a):this.updateImageWithFallback(i,t,s,r,a),e.setAttribute("aria-current","true"),e.classList.add("btn-active"),e.focus())}resetButtonStates(){this.variantSwatchItems.forEach(e=>{e.removeAttribute("aria-current"),e.classList.remove("btn-active")})}isImageCached(e){return this.preloadedImages.has(e)&&this.preloadedImages.get(e)}updateImageImmediately(e,t,s,i,r){requestAnimationFrame(()=>
11{e.src&&(e.src=t),e.srcset&&s&&(e.srcset=s),i&&r&&i.forEach(e=>{e.href=r})})}updateImageWithFallback(e,t,s,i,r){var a=this.preloadImage(t,s);let n=setTimeout(()=>{this.updateImageImmediately(e,t,s,i,r)},50);a.then(()=>{clearTimeout(n),this.updateImageImmediately(e,t,s,i,r)})}preloadAndUpdateImage(e,t,s,i,r){this.updateImageImmediately(e,t,s,i,r)}setButtonVisibility(t){this.variantSwatchItems&&this.variantSwatchItems.forEach(e=>{t?(e.setAttribute("aria-current","true"),e.classList.add("btn-active")):(e.removeAttribute("aria-current"),e.classList.remove("btn-active"))})}disconnectedCallback(){this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null),this.preloadedImages.clear(),this.imageLoadPromises.clear()}}customElements.define("sht-variant-swtch",SHTVariantSwatch);class SHTDialogCore extends SHTCustomComponent{constructor(){super(),this.dialog=this.$(".dialog"),this.closeBtn=this.$$(".js-dialog-close-btn"),this.body=this.$(".js-dialog-body"),this.closeModalOnOverlayClick=this.dataset.closeModalOnOverlay||"true",this.opener=null,this.bodyElement=document.body,this.bindEventHandlers()}bindEventHandlers(){this.closeBtn.forEach(e=>{e.addEventListener("click",e=>{this.closeModal()})}),this.addEventListener("click",e=>{e.target.nodeName===this.tagName&&"true"===this.closeModalOnOverlayClick&&this.closeModal()}),this.addEventListener("keyup",e=>"ESCAPE"===e.code.toUpperCase()&&this.closeModal()),this.dialogAttrObserve()}dialogAttrObserve(){new MutationObserver((e,t)=>{e.forEach(async e=>{"hidden"==e.attributeName&&(!this.hasAttribute("hidden")?(this.dispatchEvent(new CustomEvent("opening",{detail:{opener:this.opener,dialog:this}})),await this.animationsComplete(),this.dispatchEvent(new CustomEvent("opened",{detail:{opener:this.opener,dialog:this}})),document.querySelector("sht-predictive-srch[open]")||SHTHelper.trapFocus(this),this.bodyElement.classList.add("o-hidden")):(SHTHelper.removeTrapFocus(this.opener),this.dispatchEvent(new CustomEvent("closing",{detail:{opener:this.opener,dialog:this}})),await this.animationsComplete(),this.dispatchEvent(new CustomEvent("closed",{detail:{opener:this.opener,dialog:this}})),this.bodyElement.classList.remove("o-hidden")))})}).observe(this,{attributes:!0})}animationsComplete(){return Promise.allSettled(this.dialog.getAnimations({subtree:!0}).map(e=>e.finished))}processBodyContent(){var e;this.template=this.$("template"),this.template&&(e=this.template.content,this.body.appendChild(e))}showModal(e,t=!1){SHTHelper.preventStickyHeaderReveal(),t&&this.processBodyContent(),this.opener=e,this.toggleAttribute("hidden",!1)}closeModal(){this.setAttribute("hidden",!0)}}class SHTDialog extends SHTDialogCore{constructor(){super()}}customElements.define("sht-dialog",SHTDialog);class SHTDialogQuickShop extends SHTDialogCore{constructor(){super()}showModal(e,t){SHTHelper.preventStickyHeaderReveal(),this.opener=e,this.opener?.setAttribute("disabled","disabled"),this.processData(e,t)}processData(e,t){this.productElement=null,fetch(e.getAttribute("data-product-url")).then(e=>e.text()).then(e=>{e=(new DOMParser).parseFromString(e,"text/html");this.productElement=e.querySelector(".section-product-quick-view"),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),this.body.innerHTML=this.productElement.innerHTML,this.executeScriptElements(this.body)}).finally(()=>{this.toggleAttribute("hidden",!1),this.opener?.removeAttribute("disabled")})}closeModal(){this.setAttribute("hidden",!0),setTimeout(()=>{this.body.innerHTML=""},300)}executeScriptElements(e){e=e.querySelectorAll("script");Array.from(e).forEach(e=>{let t=document.createElement("script");Array.from(e.attributes).forEach(e=>{t.setAttribute(e.name,e.value)}),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode.replaceChild(t,e)})}}customElements.define("sht-dialog-quickshop",SHTDialogQuickShop);class SHTDialogQuickAdd extends SHTDialogCore{constructor(){super()}showModal(e,t){SHTHelper.preventStickyHeaderReveal(),this.opener=e,this.opener?.setAttribute("disabled","disabled"),this.processData(e,t)}processData(e,t){this.productElement=null,fetch(e.getAttribute("data-product-url")).then(e=>e.text()).then(e=>{e=(new DOMParser).parseFromString(e,"text/html");this.productElement=e.querySelector(".section-product-quick-add"),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),this.body.innerHTML=this.productElement.innerHTML,this.executeScriptElements(this.body)}).finally(()=>{this.toggleAttribute("hidden",!1),this.opener?.removeAttribute("disabled")})}closeModal(){this.setAttribute("hidden",!0),setTimeout(()=>{this.body.innerHTML=""},300)}executeScriptElements(e){e=e.querySelectorAll("script");
11Array.from(e).forEach(e=>{let t=document.createElement("script");Array.from(e.attributes).forEach(e=>{t.setAttribute(e.name,e.value)}),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode.replaceChild(t,e)})}}customElements.define("sht-dialog-quickadd",SHTDialogQuickAdd);class SHTHeader extends SHTCustomComponent{constructor(){super(),this.searchHeaderOpenBtn=this.$$(".js-search-open-trigger"),this.predictiveSearchElm=this.closest("sht-sticky-header").querySelector(".js-predictive-search"),this.predictiveSearchInputElm=this.closest("sht-sticky-header").querySelector(".js-predictive-search-input"),this.headerNavigation=this.$(".js-header-navigation"),this.bodyElement=document.body,this.toggleNavItemBtn=this.$$(".js-toggle-nav-item"),this.headerBounds={},this.searchHeaderOpenBtn.forEach(e=>{e.addEventListener("click",this.openPredictiveSearch.bind(this))})}connectedCallback(){this.initHeaderProperties()}initHeaderProperties(){var e=SHTHelper.qs("sht-sticky-header"),e=(this.headerWrapper=e.parentElement,this.body=SHTHelper.qs(".js-main-body"),window.getComputedStyle(this.headerWrapper)),e=this.headerWrapper.offsetHeight+parseFloat(e.marginTop)+parseFloat(e.marginBottom)||0;this.body.style.setProperty("--header-height",e+"px")}openPredictiveSearch(e){SHTHelper.loadScript(e.currentTarget.dataset.jsFileId,e.currentTarget.dataset.jsFile,function(){this.closest("sht-sticky-header").classList.add("header--predictive-search-open"),this.bodyElement.classList.add("o-hidden"),setTimeout(()=>{SHTHelper.trapFocus(this.predictiveSearchElm,this.predictiveSearchInputElm)},650)}.bind(this))}}customElements.define("sht-header",SHTHeader);class SHTMenuHeader extends SHTCustomComponent{constructor(){super()}connectedCallback(){this.init()}init(){this.header=SHTHelper.qs("sht-header"),this.details=this.$("details"),this.summaries=this.$$("summary"),this.summary=this.details.querySelector("summary"),this.content=this.summary.nextElementSibling,this.menu_body_drawer=SHTHelper.qs(".js-menu-drawer-body-container"),this.level_one_btn=this.$$('.js-menu-header-back-btn[data-level="1"]'),this.level_two_btn=this.$$('.js-menu-header-back-btn[data-level="2"]'),this.menuOpenTrigger=this.header.dataset.menuOpenTrigger||"click",this.isTouchDevice=this.checkTouchDevice(),this.isMobile=window.innerWidth<1025,this.isInDrawer=this.checkIfInDrawer(),this.effectiveMenuTrigger=this.isMobile||this.isTouchDevice||this.isInDrawer?"click":this.menuOpenTrigger,window.addEventListener("resize",this.handleResize.bind(this)),this.setupSummaryClickEvents(),this.bindEventHandlers()}setupSummaryClickEvents(){this.summaries.forEach(e=>{e.addEventListener("click",e=>{let s=e.currentTarget.closest("details");var t="1"===s.dataset.level,i="2"===s.dataset.level;t&&"click"!==this.effectiveMenuTrigger||(e.preventDefault(),e.currentTarget.setAttribute("aria-expanded",!s.open),t&&(this.header.classList.remove("header-menu--open-megamenu"),s.hasAttribute("data-megamenu-item")&&this.header.classList.add("header-menu--open-megamenu"),s.open||(this.open(),document.querySelectorAll("sht-menu-header").forEach(e=>{e!==this&&e.querySelectorAll('details[data-level="1"][open]').forEach(e=>{e.querySelectorAll('details[data-level="2"][open]').forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1}),e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1})}),this.querySelectorAll('details[data-level="1"][open]').forEach(e=>{var t;e!==s&&(e.querySelectorAll('details[data-level="2"][open]').forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1}),e.classList.remove("is-open"),(t=e.querySelector("summary"))&&t.setAttribute("aria-expanded","false"),e.open=!1)}))),i&&!s.open&&(e=s.closest('details[data-level="1"]'))&&e.querySelectorAll('details[data-level="2"][open]').forEach(e=>{var t;e!==s&&(e.classList.remove("is-open"),setTimeout(()=>{e.open=!1},300),t=e.querySelector("summary"))&&t.setAttribute("aria-expanded","fal
11se")}),s.open?(s.classList.remove("is-open"),setTimeout(()=>{s.open=!1},300)):(s.open=!0,setTimeout(()=>{s.classList.add("is-open")},10)),t&&(s.open?(this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open"),this.header.classList.remove("header-menu--open-megamenu")):(this.header.classList.add("header-menu--open"),this.menu_body_drawer?.classList.add("menu--is-open"))))}),e.addEventListener("keyup",this.onKeyUpEscEvent.bind(this))})}toggleMenuState(e,t){var s="1"===e.dataset.level;t?(s&&this.open(),e.open=!0,setTimeout(()=>{e.classList.add("is-open")},10),s&&(this.header.classList.add("header-menu--open"),this.menu_body_drawer?.classList.add("menu--is-open"))):(e.classList.remove("is-open"),s&&this.header.classList.remove("header-menu--open-megamenu"),setTimeout(()=>{e.open=!1},300),s&&(this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open"),this.header.classList.remove("header-menu--open-megamenu")))}bindHoverEvents(){"hover"===this.effectiveMenuTrigger&&(this.hoverHandlers=[],this.summaries.forEach(s=>{let i=s.closest("details");var e,t;"1"===i.dataset.level&&(t=e=>{var t=i.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&this.closeMenuOnMouseLeave(i,s)},s.addEventListener("mouseenter",e=()=>{i.open||(this.header.classList.remove("header-menu--open-megamenu"),i.hasAttribute("data-megamenu-item")&&this.header.classList.add("header-menu--open-megamenu"),document.querySelectorAll("sht-menu-header").forEach(e=>{e!==this&&e.querySelectorAll('details[data-level="1"][open]').forEach(e=>{e.querySelectorAll('details[data-level="2"][open]').forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1}),e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1})}),this.querySelectorAll('details[data-level="1"][open]').forEach(e=>{var t;e!==i&&(e.querySelectorAll('details[data-level="2"][open]').forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded","false"),e.open=!1}),e.classList.remove("is-open"),(t=e.querySelector("summary"))&&t.setAttribute("aria-expanded","false"),e.open=!1)}),this.open(),i.open=!0,setTimeout(()=>{i.classList.add("is-open")},10),this.header.classList.add("header-menu--open"),this.menu_body_drawer?.classList.add("menu--is-open"),s.setAttribute("aria-expanded","true"))}),i.addEventListener("mouseleave",t),this.hoverHandlers.push({element:s,type:"mouseenter",handler:e},{element:i,type:"mouseleave",handler:t}))}))}closeMenuOnMouseLeave(e,t){e.classList.remove("is-open"),this.header.classList.remove("header-menu--open-megamenu");var s=e.querySelectorAll("details");0<s.length&&s.forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded",!1),setTimeout(()=>{e.removeAttribute("open")},300)}),setTimeout(()=>{e.open=!1},300),this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open"),this.header.classList.remove("header-menu--open-megamenu"),t.setAttribute("aria-expanded",!1)}checkIfInDrawer(){return!!this.closest("sht-menu-drwer")}checkTouchDevice(){return"ontouchstart"in window||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints}handleResize(){var e=this.isMobile;this.isMobile=window.innerWidth<1025,e!==this.isMobile&&(this.effectiveMenuTrigger=this.isMobile||this.isTouchDevice||this.isInDrawer?"click":this.menuOpenTrigger,"click"===this.effectiveMenuTrigger&&this.close(),this.removeHoverEvents(),this.bindHoverEvents())}bindEventHandlers(){this.onBodyClick=this.handleBodyClick.bind(this),this.level_one_btn.forEach(e=>{e.addEventListener("click",e=>{let t=e.currentTarget.closest("details");e=t.querySelector("summary:first-child");e.setAttribute("aria-expanded",!t.open),t.hasAttribute("open")&&(t.classList.toggle("is-open",!t.open),setTimeout(()=>{t.open=!1},300),"1"==t.dataset.level&&(this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open")),e.focus())})}
11),this.level_two_btn.forEach(e=>{e.addEventListener("click",e=>{let t=e.currentTarget.closest("details");e=t.querySelector("summary:first-child");e.setAttribute("aria-expanded",!t.open),t.hasAttribute("open")&&(t.classList.toggle("is-open",!t.open),setTimeout(()=>{t.open=!1},300),"1"==t.dataset.level&&(this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open")),e.focus())})}),this.bindHoverEvents()}removeHoverEvents(){this.hoverHandlers&&this.hoverHandlers.length&&(this.hoverHandlers.forEach(e=>{e.element.removeEventListener(e.type,e.handler)}),this.hoverHandlers=[])}onKeyUpEscEvent(e){if("ESCAPE"===e.code.toUpperCase()){let t=e.target.closest("details[open]");if(t){document.body.removeEventListener("click",this.onBodyClick),this.header.classList.remove("header-menu--open-megamenu");let e=t.querySelector("summary");"1"==t.dataset.level&&(t.hasAttribute("open")?(this.header.classList.remove("header-menu--open"),this.menu_body_drawer?.classList.remove("menu--is-open")):(this.header.classList.add("header-menu--open"),this.menu_body_drawer?.classList.add("menu--is-open"))),t.classList.remove("is-open"),this.menu_body_drawer?.classList.remove("menu--is-open"),setTimeout(()=>{t.removeAttribute("open"),e.setAttribute("aria-expanded",!1)},300),e.focus()}}}close(){"1"==this.details.dataset.level&&this.details.hasAttribute("open")&&(this.header.classList.remove("header-menu--open"),this.header.classList.remove("header-menu--open-megamenu"),this.menu_body_drawer?.classList.remove("menu--is-open"));var e=this.querySelectorAll("details[open]");0<e.length&&e.forEach(e=>{e.classList.remove("is-open");var t=e.querySelector("summary");t&&t.setAttribute("aria-expanded",!1),setTimeout(()=>{e.removeAttribute("open")},300)});for(let s=0,e=this.summaries.length;s<e;s++){let e=this.summaries[s],t=e.closest("details");t.classList.remove("is-open"),setTimeout(()=>{t.removeAttribute("open"),e.setAttribute("aria-expanded",!1)},300)}document.body.removeEventListener("click",this.onBodyClick)}open(){document.body.addEventListener("click",this.onBodyClick)}handleBodyClick(e){let t=e.target;setTimeout(()=>{this.contains(t)||this.close()})}disconnectedCallback(){window.removeEventListener("resize",this.handleResize.bind(this)),this.removeHoverEvents(),document.body.removeEventListener("click",this.onBodyClick)}}customElements.define("sht-menu-header",SHTMenuHeader);class SHTStickyHeader extends SHTCustomComponent{constructor(){super(),this.sticky_state=this.dataset.stickyState}connectedCallback(){this.prevent_reveal=!1,this.css_ary=["top-0","zi-8","header--sticky","is-header-hide"],this.header=SHTHelper.qs(".js-section-header"),this.currentScrollTop=0,this.headerBounds={},this.bindEventHandlers(),this.createObserver()}bindEventHandlers(){if("false"==this.sticky_state)return!1;this.preventStickyHeaderReveal=()=>this.prevent_reveal=!0,this.addEventListener("preventStickyHeaderReveal",this.preventStickyHeaderReveal),window.addEventListener("scroll",this.onScrollHandle.bind(this),!1)}createObserver(){new IntersectionObserver((e,t)=>{this.header_bounds=e[0].intersectionRect}).observe(this.header)}onScrollHandle(){var e=window.pageYOffset||SHTHelper.qde.scrollTop;"always_reveal"==this.sticky_state?e>this.parentNode.offsetTop-1&&0<e?requestAnimationFrame(this.reveal.bind(this)):requestAnimationFrame(this.reset.bind(this)):this.header_bounds&&(this.getBoundingClientRect().bottom<0?this.header.classList.add("header--sticky","is-header-sticky"):this.header.classList.remove("header--sticky","is-header-sticky"),e<this.currentScrollTop&&this.getBoundingClientRect().bottom<0?this.header.classList.add("is-header-show"):(this.header.classList.remove("is-header-show"),this.closeMenu()),this.currentScrollTop=e)}hide(){this.header.classList.add("is-header-hide","p-sticky","top-0","zi-8","header--sticky"),this.closeMenu()}reveal(){this.header.classList.add("top-0","animate","zi-8","p-sticky","header--sticky"),this.header.classList.add("is-header-show")}reset(){this.header.classList.remove("is-header-show","top-0","animate","header--sticky","p-sticky")}closeMenu(){this.menus=this.header.querySelectorAll("sht-menu-header");for(let e=0,t=this.menus.length;e<t;e++)this.menus[e].close()}disconnectedCallback(){this.removeEventListener("preventStickyHeaderReveal",this.preventStickyHeaderReveal),window.removeEventListener("scroll",this.onScrollHandle.bind(this))}}customElements.define("sht-sticky-header",SHTStickyHeader);var VAR_LOCALIZATION_CACHE=new Map;class SHTLocalization extends SHTCustomComponent{constructor(){super()}
11async init(){Shopify.designMode?await this.getSearchResults():new IntersectionObserver((async(e,t)=>{e[0].isIntersecting&&(await this.getSearchResults(),t.unobserve(this))}).bind(this),{threshold:.25}).observe(this)}async getSearchResults(){SHTHelper.loadScript(this.dataset.jsFileId,this.dataset.jsFile,async function(){var e=this.dataset.url.replace(/\s/g,"-").toLowerCase(),t=VAR_LOCALIZATION_CACHE.get(e);t?this.innerHTML=t:(t=await this.fetchResults(),VAR_LOCALIZATION_CACHE.set(e,t),this.innerHTML=t)}.bind(this))}async fetchResults(){return fetch(this.dataset.url).then(e=>e.text()).then(e=>{var t=document.createElement("div"),e=(t.innerHTML=e,t.querySelector("#"+this.dataset.sectionId));return e&&e.innerHTML.trim().length?e.innerHTML:""}).catch(e=>(console.error(e),""))}connectedCallback(){this.init()}}customElements.define("sht-localization",SHTLocalization);class SHTCoreDrawer extends SHTCustomComponent{constructor(){super(),this.drawerWrapperElement=this.$(".js-drawer-wrapper"),this.drawerOverlayElement=this.$(".js-drawer-overlay"),this.closeBtnElement=this.$(".js-drawer-btn-close"),this.opener=null,this.bodyElement=document.body,this.bindEventHandlers()}bindEventHandlers(){this.drawerOverlayElement.addEventListener("click",this.closeDrawer.bind(this)),this.closeBtnElement.addEventListener("click",this.closeDrawer.bind(this)),window.addEventListener("load",()=>{this.removeAttribute("hidden")}),this.addEventListener("keyup",e=>"ESCAPE"===e.code.toUpperCase()&&this.closeDrawer()),this.drawerAttrObserve()}drawerAttrObserve(){new MutationObserver((e,t)=>{e.forEach(async e=>{"open"==e.attributeName&&(this.hasAttribute("open")?(this.opener?.removeAttribute("disabled"),this.opener?.setAttribute("aria-expanded","true"),this.setAttribute("aria-hidden","false"),this.dispatchEvent(new Event("opening")),this.bodyElement.classList.add("o-hidden"),this.classList.add("active"),await this.animationsComplete(),this.dispatchEvent(new Event("opened")),SHTHelper.trapFocus(this)):(SHTHelper.removeTrapFocus(this.opener),this.setAttribute("aria-hidden","true"),this.opener?.setAttribute("aria-expanded","false"),this.opener?.removeAttribute("disabled"),this.dispatchEvent(new Event("closing")),this.bodyElement.classList.remove("o-hidden"),this.classList.remove("active"),await this.animationsComplete(),this.dispatchEvent(new Event("closed"))))})}).observe(this,{attributes:!0})}animationsComplete(){return Promise.allSettled(this.drawerWrapperElement.getAnimations().map(e=>e.finished))}openDrawer(e){SHTHelper.preventStickyHeaderReveal(),this.opener=e,this.removeAttribute("hidden"),this.toggleAttribute("open",!0)}closeDrawer(){this.toggleAttribute("open",!1),this.querySelector(".js-drawer-message")?.setActiveMessage(!1)}}class SHTDrawer extends SHTCoreDrawer{}customElements.define("sht-drwr",SHTDrawer);class SHTDrawerTrigger extends SHTCustomComponent{constructor(){super()}init(){this.triggerBtnElement=this.$(".js-drawer-trigger"),this.drawerElement=SHTHelper.qs("sht-drwr#"+this.dataset.drawerId),this.triggerBtnElement&&this.drawerElement&&(this.mediaElement=this.$(".js-drawer-trigger-media"),this.contentElements=this.$$(".js-drawer-trigger-content"),this.bindEventHandlers())}bindDataToDrawer(){let t="";this.drawerElement.querySelector(".js-drawer-media").innerHTML=this.mediaElement.innerHTML,this.contentElements.forEach(e=>{t+=e.innerHTML}),this.drawerElement.querySelector(".js-drawer-content").innerHTML=t,this.footerElement&&(this.drawerElement.querySelector(".js-drawer-footer").innerHTML=this.footerElement.innerHTML,this.drawerElement.querySelector(".js-drawer-footer").querySelectorAll(".js-drawer-trigger-footer-btn").forEach(e=>{e.classList.add("btn-drawer")}))}bindEventHandlers(){this.triggerBtnElement.addEventListener("click",e=>{setTimeout(()=>{this.bindDataToDrawer(),this.drawerElement.openDrawer(e.target)},100)})}connectedCallback(){Shopify.designMode?setTimeout(()=>{this.init()},1e3):this.init()}}customElements.define("sht-drwr-trg",SHTDrawerTrigger);class SHTCartDrawer extends SHTCoreDrawer{getSectionsToRender(){return[{id:"cart-drawer",section:"cart-drawer",space_selector:"#cartDrawer"}]}}customElements.define("sht-cart-drwr",SHTCartDrawer);
11class SHTCartDrawerCartNote extends SHTCustomComponent{constructor(){super(),this.addEventListener("change",SHTHelper.debounce(e=>{e=JSON.stringify({note:e.target.value});fetch(""+window.routes.cart_update_url,{...SHTHelper.fetchConfigJSON,body:e})},300))}}customElements.define("sht-cart-drwr-note",SHTCartDrawerCartNote);class SHTCartDrawerQuantityInput extends SHTCustomComponent{constructor(){super(),this.input=this.$(".js-cart-drawer-quantity-input"),this.changeEvent=new Event("change",{bubbles:!0}),this.button=this.$$(".js-cart-drawer-quantity-btn");for(let e=0,t=this.button.length;e<t;e++)this.button[e].addEventListener("click",this.onButtonClickHandler.bind(this))}onButtonClickHandler(e){e.preventDefault();var t=this.input.value;"plus"===e.currentTarget.dataset.name?this.input.stepUp():this.input.stepDown(),t!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}customElements.define("sht-cart-drwr-qty-inp",SHTCartDrawerQuantityInput);class SHTCartDrawerRemoveButton extends SHTCustomComponent{constructor(){super(),this.addEventListener("click",e=>{e.preventDefault(),this.closest("sht-cart-drwr-frm").updateQuantity(this.dataset.index,0)})}}customElements.define("sht-cart-drwr-rmv-btn",SHTCartDrawerRemoveButton);class SHTCartDrawerForm extends SHTCustomComponent{constructor(){super(),this.totalItems=Array.from(this.$$(".js-cart-drawer-quantity-input")).reduce((e,t)=>e+parseInt(t.value),0),this.drawerCartElement=SHTHelper.qs("sht-cart-drwr"),this.wrapperElement=this.drawerCartElement.querySelector(".js-cart-drawer-wrapper"),this.cartNotification=SHTHelper.qs("sht-cart-noti"),this.addEventListener("change",SHTHelper.debounce(e=>{this.onChange(e)},300)),document.addEventListener("cart:update",this.handleCartUpdate.bind(this))}handleCartUpdate(e){if(!this.isProcessingCartUpdate){this.isProcessingCartUpdate=!0;let i=this.getSectionsToRender();this.cartNotification&&(i=[...i,...this.cartNotification.getSectionsToRender()]),fetch(""+window.routes.cart_url,{...SHTHelper.fetchConfig,headers:{Accept:"application/json"}}).then(e=>e.json()).then(e=>{var t,s;0===e.item_count?(e=SHTHelper.qs(".js-drawer-empty"),t=SHTHelper.qs(".js-cart-drawer-wrapper"),s=SHTHelper.qs(".js-cart-count-number"),t.innerHTML=e.innerHTML,s.innerHTML=0):fetch("?sections="+i.map(e=>e.section).join(",")).then(e=>e.text()).then(e=>{e=JSON.parse(e);this.renderContentsDiscount({sections:e})}).catch(e=>{console.error("Error fetching cart sections:",e)})}).catch(e=>{console.error("Error fetching cart:",e)}).finally(()=>{setTimeout(()=>{this.isProcessingCartUpdate=!1},500)})}}disconnectedCallback(){this.cartUpdateHandler&&(document.removeEventListener("cart:update",this.cartUpdateHandler),window.cartUpdateListenerRegistered=!1)}onChange(e){this.updateQuantity(e.target.dataset.index,e.target.value,document.activeElement.dataset.name)}renderContents(i){this.wrapperElement.classList.contains("is-empty")&&this.wrapperElement.classList.remove("is-empty"),this.getSectionsToRender().forEach(s=>{s.selectors?.forEach(e=>{var t=SHTHelper.qid(s.id);t&&i.sections[s.section]&&((t.querySelector(e)||t).innerHTML=this.getSectionInnerHTML(i.sections[s.section],e))})})}renderContentsDiscount(i){this.wrapperElement.classList.contains("is-empty")&&this.wrapperElement.classList.remove("is-empty"),this.getSectionsToRenderDiscount().forEach(s=>{s.selectors?.forEach(e=>{var t=SHTHelper.qid(s.id);t&&i.sections[s.section]&&(t.querySelector(e).innerHTML=this.getSectionInnerHTML(i.sections[s.section],e))})})}getSectionsToRenderDiscount(){return[{id:"cartDrawer",section:"cart-drawer",selectors:[".js-cart-items",".js-discount-pills",".js-cart-total",".js-free-shipping-notification-message",".js-cart-level-discount-applications"]},{id:"mainCart",section:"main-cart",selectors:[".js-cart-items",".js-discount-pills",".js-cart-total",".js-free-shipping-notification-message",".js-cart-level-discount-applications"]}]}getSectionsToRender(){return[{id:"cartDrawer",section:"cart-drawer",selectors:[".js-cart-drawer-wrapper"]},{id:"mainCart",section:"main-cart",selectors:["#mainCartContainer"]}]}updateQuantity(t,e,s){let i=this.getSectionsToRender(),r;this.cartNotification&&(i=[...i,...this.cartNotification.getSectionsToRender()]);e=JSON.stringify({line:t,quantity:e,sections:i.map(e=>e.section),sections_url:window.location.pathname});
11this.updateButtonState(!0),fetch(""+window.routes.cart_change_url,{...SHTHelper.fetchConfigJSON,body:e}).then(e=>e.text()).then(e=>{(r=JSON.parse(e)).errors?setTimeout(()=>{this.updateErrorRegions(t,r.errors)},100):(this.closest(".js-cart-drawer-wrapper").classList.toggle("is-empty",0===r.item_count),this.getSectionsToRender().forEach(s=>{s.selectors.forEach(e=>{var t=SHTHelper.qid(s.id);t&&((t.querySelector(e)||t).innerHTML=this.getSectionInnerHTML(r.sections[s.section],e))})}),(e=SHTHelper.qid("cartDrawerItem-"+t))&&(e=e.querySelector(".js-cart-drawer-quantity-btn-"+s))&&e.focus(),this.cartNotification&&this.cartNotification.getSectionsToRender().forEach(e=>{"header-cart-status"==e.id&&(SHTHelper.qs(e.space_selector).innerHTML=this.cartNotification.getSectionInnerHTML(r.sections[e.id],e.selector))}))}).catch(e=>{this.$(".js-cart-drawer-errors").textContent=SHTLanguage.cart.ERROR,console.log(e.message,e.stack)}).finally(()=>{this.updateButtonState(!1),new SHTCartDrawerToggle})}updateErrorRegions(e,t){e=SHTHelper.qs("#cart-drawer-line-item-error-"+e);e.querySelector(".js-cart-drawer-form-item-error-message").innerHTML=t,e.classList.remove("d-none-important")}getSectionInnerHTML(e,t){return(new DOMParser).parseFromString(e,"text/html").querySelector(t).innerHTML}updateButtonState(e){var s=this.$$(".js-cart-drawer-btn"),t=this.drawerCartElement.querySelector(".js-cart-drawer-submit-btn");if(e){for(let e=0,t=s.length;e<t;e++)s[e].setAttribute("disabled","disabled");t&&t.setAttribute("disabled","disabled")}else{for(let e=0,t=s.length;e<t;e++)s[e].removeAttribute("disabled","disabled");t&&t.removeAttribute("disabled")}}}customElements.define("sht-cart-drwr-frm",SHTCartDrawerForm);class SHTMenuDrawer extends SHTCoreDrawer{}customElements.define("sht-menu-drwer",SHTMenuDrawer);class SHTMenuDrawerOpener extends SHTCustomComponent{constructor(){super()}connectedCallback(){this.init()}init(){this.triggerBtnElement=this.$(".js-menu-drawer-trigger"),this.menuDrawerElement=SHTHelper.qs("sht-menu-drwer"),this.menuDrawerBodyElement=this.menuDrawerElement.querySelector(".js-menu-drawer-body"),this.menuDrawerContentElement=SHTHelper.qs(".js-menu-drawer-content"),this.triggerBtnElement.addEventListener("click",e=>{this.menuDrawerBodyElement.innerHTML=this.menuDrawerContentElement.innerHTML,setTimeout(()=>{this.menuDrawerElement.openDrawer(e.target),SHTHelper.trapFocus(this.triggerBtnElement)},0)})}}customElements.define("sht-menu-drwer-opner",SHTMenuDrawerOpener);class SHTAnnouncementBar extends SHTCustomComponent{constructor(){super()}init(){this.items=this.$$(".js-anmb-item"),this.container=this.$(".js-anmb-items"),this.linkItems=this.$$(".js-anmb-link-items"),this.totalItems=this.items.length,this.previousButton=this.$(".jjs-anmb-control-prev"),this.nextButton=this.$(".jjs-anmb-control-next"),this.props=JSON.parse(this.dataset.props),this.delayTime=this.props.duration,this.interval=null,this.currentItemIndex=1,this.lastScrollTimeout=null,this.messages=this.container.children,this.isScrolling=!1,this.bindEventHandlers(),this.autoPlay()}connectedCallback(){this.init()}updateSort(){var e,t,s,i;this.totalItems<=1||(this.isScrolling=!0,e=this.container.scrollLeft,t=Math.round(e),s=this.container.offsetWidth,i=this.container.scrollWidth,t<s&&(this.container.prepend(this.messages[this.totalItems-1]),this.container.scrollLeft=t+s),Math.floor(i-e)<=s&&(this.container.append(this.messages[0]),this.container.scrollLeft=t-s),this.isScrolling=!1)}onScrollEventHandle(e){this.lastScrollTimeout&&clearTimeout(this.lastScrollTimeout),this.lastScrollTimeout=setTimeout(function(){this.updateSort()}.bind(this),100)}bindEventHandlers(){this.previousButton.addEventListener("click",SHTHelper.debounce(this.onPrevButtonClickHandler.bind(this),300)),this.nextButton.addEventListener("click",SHTHelper.debounce(this.onNextButtonClickHandler.bind(this),300)),this.onObserverHandler(),this.container.addEventListener("scroll",SHTHelper.debounce(this.onScrollEventHandle.bind(this),100)),this.container.addEventListener("wheel",function(e){SHTHelper.debounce(this.resetAutoPlay.bind(this),0)}.bind(this),{passive:!0})}onPrevButtonClickHandler(){if(!this.isScrolling){this.isScrolling=!0,this.resetAutoPlay();let e=this.currentItemIndex-1;1==this.currentItemIndex&&(e=this.totalItems);var t=this.$(`div[data-item-index="${e}"]`);this.container.scrollTo({left:t.offsetLeft,behavior:"smooth"})}}onNextButtonClickHandler(){if(!this.isScrolling){this.isScrolling=!0,this.resetAutoPlay();let e=this.currentItemIndex+1;this.currentItemIndex==this.totalItems&&(e=1);var t=this.$(`div[data-item-index="${e}"]`);this.container.scrollTo({left:t.offsetLeft,behavior:"smooth"})}}onMouseOverHandle(e){this.clearDismissInterval()}onMouseOutHandle(e){this.setDismissInterval()}clearDismissInterval(){this.interval&&clearInterval(this.interval)}setDismissInterval(){this.interval=setInterval(function(){this.onNextButtonClickHandler()}.bind(this),this.delayTime)}resetAutoPlay(){!this.props.autoPlay||this.totalItems<2||(this.clearDismissInterval(),setTimeout(()=>{this.setDismissInterval()}))}autoPlay(){!this.props.autoPlay||this.totalItems<2?(this.clearDismissInterval(),this.container.setAttribute("aria-live","polite")):(this.container.addEventListener("mouseover",this.onMouseOverHandle.bind(this)),this.container.addEventListener("mouseout",this.onMouseOutHandle.bind(this)),this.container.setAttribute("aria-live","off"),this.setDismissInterval())}onObserverHandler(){let t=new IntersectionObserver((e,t)=>
11{e.forEach(t=>{if(t.isIntersecting){let e=t.target;this.linkItems.forEach(e=>{e.setAttribute("tabindex","-1")}),window.requestAnimationFrame(()=>{var e=this.$(".anmb-item--active");e&&(e.classList.remove("anmb-item--active"),e.setAttribute("aria-hidden","true"))}),this.currentItemIndex=parseInt(e.dataset.itemIndex),e.setAttribute("aria-hidden","false"),window.requestAnimationFrame(()=>e.classList.add("anmb-item--active")),e.querySelectorAll(".js-anmb-link-items").forEach(e=>{e.removeAttribute("tabindex")})}})},{root:this.container,rootMargin:"0px",threshold:.5});this.items.forEach(e=>{t.observe(e)})}}customElements.define("sht-ann-bar",SHTAnnouncementBar);class SHTCartNotificationPanel extends SHTCustomComponent{constructor(){super(),this.elms={notification_wrapper:this.$(".js-cart-notification-panel-wrapper"),notification_container:this.$(".js-cart-notification-panel-container"),close_buttons:this.$$(".js-cart-notification-panel-close-btn")},this.dismiss_timeout=null,this.element_to_focus=null;for(let e=0,t=this.elms.close_buttons.length;e<t;e++)this.elms.close_buttons[e].addEventListener("click",this.close.bind(this))}open(){this.togglePanel(!0),this.elms.notification_container.focus(),this.addEventListener("mouseover",this.onMouseOverHandle.bind(this)),this.addEventListener("mouseout",this.onMouseOutHandle.bind(this)),this.setDismissTimeout(),setTimeout(()=>{SHTHelper.trapFocus(this)})}close(){this.clearDismissTimeout(),this.togglePanel(!1),this.dispatchEvent(new Event("closed")),this.element_to_focus?(SHTHelper.removeTrapFocus(this.element_to_focus),this.element_to_focus=null):SHTHelper.removeTrapFocus()}clearDismissTimeout(){clearTimeout(this.dismiss_timeout)}renderContents(s,e=!0,t=null){this.productId=s.id,this.element_to_focus=t;var i=this.getSectionsToRender();for(let e=0,t=i.length;e<t;e++){var r=SHTHelper.qs(i[e].space_selector);r&&("#headerCartStatus"==i[e].space_selector&&r.classList.add("header-cart-status--animate"),r.innerHTML=this.getSectionInnerHTML(s.sections[i[e].id],i[e].selector))}e&&this.open()}getSectionsToRender(){return[{id:"cart-notification-panel-product",selector:".js-cart-notification-panel-product-"+this.productId,space_selector:".js-cart-notification-panel-content"},{id:"free-shipping-notification",selector:".js-free-shipping-notification",space_selector:".js-cart-notification-free-shipping"},{id:"header-cart-status",section:"header-cart-status",space_selector:"#headerCartStatus"},{id:"cart-notification-panel-product",selector:".js-cart-notification-panel-item-count",space_selector:".js-cart-notification-panel-item-count-content"}]}getSectionInnerHTML(e,t=".shopify-section"){return(new DOMParser).parseFromString(e,"text/html").querySelector(t).innerHTML}onMouseOverHandle(e){this.clearDismissTimeout()}onMouseOutHandle(e){this.setDismissTimeout()}togglePanel(e){e?this.toggleAttribute("hidden",!1):this.setAttribute("hidden",!0)}setDismissTimeout(){this.dismiss_timeout=setTimeout(function(){this.close()}.bind(this),5e3)}}customElements.define("sht-cart-noti",SHTCartNotificationPanel);class SHTProductSlideShowItem extends SHTCustomComponent{constructor(){super(),this.openGalleryButton=this.$(".js-product-media-open-gallery-btn"),this.openGalleryButton&&this.openGalleryButton.addEventListener("click",e=>{this.openDialogGallery(e)}),this.slideshow=this.closest("sht-prd-slideshow"),this.parent=this.closest("sht-carousel-itm"),this.prepare()}openDialogGallery(e){var t=SHTHelper.qs("#"+e.currentTarget.dataset.galleryDialogId);t&&(t.showModal(e.currentTarget,!0),this.slideshow.pauseAllVideo())}prepare(){window.matchMedia("(max-width: 459px)").matches?"true"==this.slideshow.hide_variant&&this.parent.classList.remove("d-none"):this.parent.classList.contains("d-block")||"true"==this.slideshow.hide_variant&&this.parent.classList.add("d-none"),new ResizeObserver(e=>{window.matchMedia("(max-width: 459px)").matches?"true"==this.slideshow.hide_variant&&this.parent.classList.remove("d-none"):this.parent.classList.contains("d-block")||"true"==this.slideshow.hide_variant&&this.parent.classList.add("d-none")}).observe(document.body)}}customElements.define("sht-prd-slideshow-itm",SHTProductSlideShowItem);class SHTProductSlideShow extends SHTCustomComponent{constructor(){super(),this.carousel=SHTHelper.qs(`sht-carou
11sel[data-section-id="${this.dataset.section}"]`),this.thumb_carousel=SHTHelper.qs(`sht-vert-carousel[data-section="${this.dataset.section}"]`),this.hide_variant=this.dataset.hideVariantImage,this.dataLayout=this.dataset.layout,this.bindEventHandlers()}bindEventHandlers(){this.$$(".js-slideshow-btn-thumb").forEach((e,t)=>{0===t&&e.closest(".js-product-slideshow-thumb").classList.add("is-active-item"),e.addEventListener("click",this.setActiveMedia.bind(this,e))})}setActiveMedia(e){var t=this.$(`[data-media-id="${e.dataset.target}"]`),e=e.closest("sht-vert-carousel-itm");window.matchMedia("(max-width: 1025px)").matches?(this.pauseAllVideo(),this.$$(".js-product-slideshow-thumb").forEach(e=>{e.classList.remove("is-active-item")}),e.classList.add("is-active-item"),this.carousel.querySelector(".js-carousel-items").scrollTo({left:t.offsetLeft,behavior:"smooth"})):(this.$$(".js-product-slideshow-item").forEach(e=>{e.classList.remove("d-block"),"true"==this.hide_variant&&e.classList.add("d-none")}),this.$$(".js-product-slideshow-thumb").forEach(e=>{e.classList.remove("is-active-item")}),t.classList.add("d-block"),"true"==this.hide_variant&&t.classList.remove("d-none"),e.classList.add("is-active-item"),this.playActiveVideo(t),this.playActiveModel(t))}pauseAllModel(){SHTHelper.qsa("sht-prd-media-itm-model").forEach(e=>{e.modelViewerUI&&e.modelViewerUI.pause()})}pauseAllVideo(){SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='youtube']").forEach(e=>{e.player&&e.player?.pauseVideo()}),SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='vimeo'])").forEach(e=>{e.playerVimeo&&"function"==typeof e.playerVimeo.pause&&e.playerVimeo.pause()}),SHTHelper.qsa(".js-media-item-video").forEach(e=>{"function"==typeof e.pause&&e.pause()})}playActiveVideo(e){this.pauseAllVideo();e=e.querySelector(".js-product-media-deferred-video");e&&e.loadContent()}playActiveModel(e){e=e.querySelector(".js-product-media-deferred-model");e&&e.loadContent()}}customElements.define("sht-prd-slideshow",SHTProductSlideShow);class SHTProductMediaItemDeferredVideo extends SHTCustomComponent{constructor(){super(),this.sectionID=this.dataset.sectionId,this.itemDeferredVideoImageElem=this.$(".js-product-media-item-deferred-video-image"),this.idVideo=this.dataset.idVideo,this.eleVideo=`shtVideo-${this.sectionID}-`+this.idVideo,this.typeVideo=this.$(".js-media-item")?.dataset.type,this.onPlayerStateYTChange=this.onPlayerStateYTChange.bind(this),this.onPlayerPlay=this.onPlayerPlay.bind(this),this.itemDeferredVideoImageElem&&this.itemDeferredVideoImageElem.addEventListener("click",this.handlePlayVideo.bind(this))}handlePlayVideo(){this.loadContent();let e=this.querySelector(".js-media-item-video");e&&e.addEventListener("play",()=>{this.pauseAllVideo(e),e.play()})}onYouTubeIframeAPIReady(e){var t,s;if(this.youtubeId=this.eleVideo,1==e&&(this.youtubeId=this.eleVideo+"-videoInZoomModal"),"undefined"==typeof YT||void 0===YT.Player||this.player)this.player||((t=document.createElement("script")).src="https://www.youtube.com/iframe_api",t.id="sht-iframe-api",t.onload=()=>{this.onYouTubeIframeAPIReady(e)},(s=document.getElementsByTagName("script")[0]).parentNode.insertBefore(t,s));else try{this.player=new YT.Player(this.youtubeId,{videoId:this.idVideo,playerVars:{playsinline:1},events:{onReady:this.onPlayerYTReady,onStateChange:this.onPlayerStateYTChange}})}catch(e){console.error("Lỗi khi tạo trình phát YouTube:",e)}}onVimeoIframeAPIReady(e){if(this.vimeoId=this.eleVideo,1==e&&(this.vimeoId=this.eleVideo+"-videoInZoomModal"),"undefined"!=typeof Vimeo&&void 0!==Vimeo.Player)try{var t={id:this.idVideo,autoplay:1};this.playerVimeo=new Vimeo.Player(this.vimeoId,t),this.playerVimeo.on("play",()=>{this.pauseAllVideo(this.playerVimeo)})}catch(e){console.error("Lỗi khi tạo trình phát Vimeo:",e)}else{var t=document.createElement("script"),s=(t.src="https://player.vimeo.com/api/player.js",t.onload=()=>{this.onVimeoIframeAPIReady(e)},document.getElementsByTagName("script")[0]);s.parentNode.insertBefore(t,s)}}onPlayerYTReady=()=>{this.player.playVideo()};onPlayerStateYTChange=e=>{1==e.data&&this.onPlayerPlay()};onPlayerPlay=()=>{this.pauseAllVideo(this.player)};loadContent(e){var t;if(!this.getAttribute("loaded"))return this.$("template")?(t=this.$("template").content.firstElementChild.cloneNode(!0),this.appendChild(t),this.isLoaded(!0),this.itemDeferredVideoImageElem&&this.itemDeferredVideoImageElem.remove()):(this.itemDeferredVideoImageElem?.classList.add("d-none"),this.$(".js-media-item").
11classList.add("d-flex"),"youtube"==this.typeVideo?this.onYouTubeIframeAPIReady(e):this.onVimeoIframeAPIReady(e)),!0}pauseAllVideo(t){SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='youtube']").forEach(e=>{e.player&&t!==e.player&&e.player?.pauseVideo()}),SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='vimeo'])").forEach(e=>{e.playerVimeo!==t&&e.playerVimeo?.pause()}),SHTHelper.qsa(".js-media-item-video").forEach(e=>{e!==t&&e.pause()})}isLoaded(e){e?this.setAttribute("loaded",!0):this.removeAttribute("loaded")}}customElements.define("sht-prd-media-itm-deferred-video",SHTProductMediaItemDeferredVideo);class SHTProductMediaItemModel extends SHTCustomComponent{constructor(){super(),this.itemModelImageElem=this.$(".js-product-media-item-model-image"),this.itemModelImageElem&&this.itemModelImageElem.addEventListener("click",e=>{this.loadContent()})}loadModelViewerUICss(){var e;SHTHelper.qs("#model-viewer-ui")||((e=document.createElement("link")).setAttribute("href","https://cdn.shopify.com/shopifycloud/model-viewer-ui/assets/v1.0/model-viewer-ui.css"),e.setAttribute("rel","stylesheet"),e.setAttribute("media","all"),e.setAttribute("id","model-viewer-ui"),document.getElementsByTagName("head")[0].appendChild(e))}loadContent(){var e;this.getAttribute("loaded")||((e=document.createElement("div")).appendChild(this.$("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0),this.itemModelImageElem&&this.itemModelImageElem.remove(),this.appendChild(e.querySelector("model-viewer")).focus(),this.loadModelViewerUICss(),Shopify.loadFeatures([{name:"model-viewer-ui",version:"1.0",onLoad:this.setupModelViewerUI.bind(this)}]))}setupModelViewerUI(e){e||(this.modelViewerUI=new Shopify.ModelViewerUI(this.$("model-viewer")))}}
11customElements.define("sht-prd-media-itm-model",SHTProductMediaItemModel),window.SHTProductMediaItemModel={isMouseenter:!1,loadShopifyXR(){Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:this.setupShopifyXR.bind(this)}])},setupShopifyXR(e){e||(window.ShopifyXR?(SHTHelper.qsa('[id^="ProductJSON-"]').forEach(e=>{window.ShopifyXR.addModels(JSON.parse(e.textContent)),e.remove()}),window.ShopifyXR.setupXRElements()):document.addEventListener("shopify_xr_initialized",()=>this.setupShopifyXR()))}};class SHTMarquee extends SHTCustomComponent{constructor(){super()}connectedCallback(){this.init()}calculationPaddingSection(){this.heightSection=this.offsetHeight,this.heightSection=this.heightSection<18?18:96<this.heightSection?96:this.heightSection,this.closest(".js-running-content").style.setProperty("--spacing-padding-block",this.heightSection+"px")}init(){this.distance=this.$(".js-marquee-item").offsetWidth,this.speed=this.dataset.speed,this.style.setProperty("--marquee-duration",this.distance/this.speed+"s")}}customElements.define("sht-marquee",SHTMarquee);class SHTCustomerReview extends SHTCustomComponent{constructor(){super(),this.playNPauseBtn=this.$(".js-marquee-pause-n-play-btn"),this.pauseIcon=this.$(".js-marqueen-pause-btn"),this.playIcon=this.$(".js-marqueen-play-btn"),this.bindEventHandlers()}connectedCallback(){this.init()}bindEventHandlers(){this.playNPauseBtn?.addEventListener("click",e=>{var t="false"===e.currentTarget.getAttribute("aria-pressed");this.classList.toggle("animation-pause",t),this.playIcon.classList.toggle("d-none",!t),this.pauseIcon.classList.toggle("d-none",t),e.currentTarget.setAttribute("aria-pressed",t.toString())})}init(){this.distance=this.$(".js-marquee-item").offsetWidth,this.speed=this.dataset.speed,this.style.setProperty("--marquee-duration",this.distance/this.speed+"s")}}customElements.define("sht-review",SHTCustomerReview);class SHTFreeShippingBar extends SHTCustomComponent{constructor(){super(),this.total_price=this.dataset.totalPrice,this.threshold=0,this.original_free_shipping_price=this.dataset.freeShippingOriginalPrice,this.free_shipping_price=this.dataset.freeShippingPrice,this.free_shipping_progress=this.$(".js-free-shipping-progress"),this.free_shipping_progress_content=this.$(".js-free-shipping-progress-content"),this.free_shipping_progress_message=this.$(".js-free-shipping-message"),this.init()}calculateCurrencyRate(){this.threshold=Math.round(this.free_shipping_price*(Shopify.currency.rate||1))}init(){this.calculateCurrencyRate(),this.free_shipping_progress.max=this.threshold,this.free_shipping_progress.value=this.total_price,this.free_shipping_progress_content.innerHTML=SHTHelper.formatMoney(this.threshold,window.theme_variables.settings.money_with_currency_format);var e=this.threshold-this.total_price;this.free_shipping_progress_message.innerHTML=e<=0?SHTLanguage.free_shipping_bar.FULFILLED:SHTLanguage.free_shipping_bar.UNFULFILLED.replace("[remaining_amount]",SHTHelper.formatMoney(e,window.theme_variables.settings.money_with_currency_format))}}customElements.define("sht-free-shipping-bar",SHTFreeShippingBar);class SHTTabs extends SHTCustomComponent{constructor(){super(),this.tabLinks=this.$$(".js-tab-link"),this.tabPanels=this.$$(".js-tab-panel"),this.bindEventHandlers()}bindEventHandlers(){this.tabLinks.forEach(function(e,t,s){e.addEventListener("click",function(e){e.preventDefault(),this.tabLinkEventHandler(e.target)}.bind(this))}.bind(this))}tabLinkEventHandler(e){var t=e.getAttribute("href").replace("#",""),t=(this.tabPanels.forEach(function(e){e.classList.remove("d-block","tab__panel--active"),e.classList.add("d-none")}.bind(this)),this.tabLinks.forEach(function(e){e.classList.remove("tab__link--active")}.bind(this)),this.$(`[data-tab-content-id=${t}]`));t.classList.remove("d-none"),t.classList.add("d-block","tab__panel--active"),e.classList.add("tab__link--active")}connectedCallback(){}disconnectedCallback(){}}customElements.define("sht-tabs",SHTTabs);class SHTHorizontalCarousel extends SHTCustomComponent{constructor(){super(),this.sectionID=this.dataset.sectionId,this.carousels=this.$$(".js-carousel-item"),this.container=this.$(".js-carousel-items"),this.totalItems=this.carousels.length,this.prevBtnElement=this.$(".js-carousel-prev-btn"),this.nextBtnElement=this.$(".js-carousel-next-btn"),this.currentElement=this.$(".js-carousel-counter-current"),this.totalElement=this.$(".js-carousel-counter-total"),this.paginationElement=this.$(".js-carousel-pagination"),this.init(),this.bindEventHandlers()}init(){this.itemsToShow=Array.from(this.carousels).filter(e=>0<e.clientWidth),this.itemsToShow.length<2?this.horizontalTogglePagination(!1):(this.gutter=parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-left"))+parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-right")),this.itemOffset=this.itemsToShow[1].offsetLeft-this.itemsToShow[0].offsetLeft,this.itemsPerPage=Math.floor((this.container.clientWidth-this.itemsToShow[0].offsetLeft)/this.itemOffset),this.totalPages=this.itemsToShow.length-this.itemsPerPage+1,this.updateCarousel())}updateCarousel(){var e=this.currentPage;this.currentPage=Math.round(this.container.scrollLeft/this.itemOffset)+1,
110<this.currentPage&&0<this.totalPages&&(this.totalElement&&(this.totalElement.textContent=this.totalPages),this.currentElement)&&(this.currentElement.innerHTML=this.currentPage+`<span class="visually-hidden">${this.currentElement.dataset.accessibilityMessage}</span>`),this.currentPage!=e&&this.dispatchEvent(new CustomEvent("itemChanged",{detail:{currentPage:this.currentPage,currentElement:this.itemsToShow[this.currentPage-1],container:this}})),this.isItemVisible(this.itemsToShow[0])&&0===this.container.scrollLeft?this.prevBtnElement.setAttribute("disabled","disabled"):this.prevBtnElement.removeAttribute("disabled"),this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])?this.nextBtnElement.setAttribute("disabled","disabled"):this.nextBtnElement.removeAttribute("disabled"),1<this.totalPages&&this.horizontalTogglePagination(!0),this.totalPages<=1&&this.horizontalTogglePagination(!1)}isItemVisible(e,t=0){t=this.container.clientWidth+this.container.scrollLeft-t+1;return e.offsetLeft+e.clientWidth<=t&&e.offsetLeft>=this.container.scrollLeft}horizontalTogglePagination(e){e?(this.paginationElement?.classList.remove("d-none-important"),this.paginationElement?.classList.add("d-flex")):(this.paginationElement?.classList.remove("d-flex"),this.paginationElement?.classList.add("d-none-important"))}onButtonClick(e){e.preventDefault();let t=1,s=0;window.matchMedia("(min-width: 769px)").matches&&(t=e.currentTarget.dataset.step),0!=this.container.scrollLeft&&!this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])||(s=this.gutter),this.itemScrollPosition="next"===e.currentTarget.name?this.container.scrollLeft-s+t*this.itemOffset:this.container.scrollLeft+s-t*this.itemOffset,window.requestAnimationFrame(()=>this.container.scrollTo({left:this.itemScrollPosition,behavior:"smooth"}))}bindEventHandlers(){new ResizeObserver(e=>this.init()).observe(this.container);new IntersectionObserver(((e,t)=>{e[0].isIntersecting&&(this.init(),t.unobserve(this))}).bind(this)).observe(this),this.prevBtnElement&&this.prevBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.nextBtnElement&&this.nextBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.container.addEventListener("scroll",SHTHelper.debounce(this.updateCarousel.bind(this),100))}}customElements.define("sht-horiz-carousel",SHTHorizontalCarousel);class SHTVerticalCarousel extends SHTCustomComponent{constructor(){super(),this.sectionID=this.dataset.sectionId,this.carousels=this.$$(".js-carousel-item"),this.container=this.$(".js-carousel-items"),this.totalItems=this.carousels.length,this.prevBtnElement=this.$(".js-carousel-prev-btn"),this.nextBtnElement=this.$(".js-carousel-next-btn"),this.currentElement=this.$(".js-carousel-counter-current"),this.totalElement=this.$(".js-carousel-counter-total"),this.paginationElement=this.$(".js-carousel-pagination"),this.slideshow=SHTHelper.qs(`sht-prd-slideshow[data-section="${this.dataset.section}"]`),this.carousel=SHTHelper.qs(`sht-carousel[data-section-id="${this.dataset.section}"]`),this.carouselLayout=this.getAttribute("data-layout"),this.window_width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,this.transform(),window.addEventListener("resize",e=>{var t=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;this.window_width!=t&&(this.transform(e),this.window_width=t)})}transform(e){window.matchMedia("(min-width: 769px)").matches&&"carousel-horizontal"!=this.carouselLayout?setTimeout(()=>{this.init(),this.bindEventHandlers(),void 0!==e&&this.setActiveMedia()},200):setTimeout(()=>{this.horizontalInit(),this.horizontalBindEventHandlers(),void 0!==e&&this.horizontalSetActiveMedia()},200)}horizontalInit(){this.itemsToShow=Array.from(this.carousels).filter(e=>0<e.clientWidth),this.itemsToShow.length<2?this.horizontalTogglePagination(!1):(this.gutter=parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-left"))+parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-right")),this.itemOffset=this.itemsToShow[1].offsetLeft-this.itemsToShow[0].offsetLeft,this.itemsPerPage=Math.floor((this.container.clientWidth-this.itemsToShow[0].offsetLeft)/this.itemOffset),this.totalPages=this.itemsToShow.length-this.itemsPerPage+1,this.horizontalUpdateCarousel())}horizontalUpdateCarousel(){var e=this.currentPage;this.currentPage=Math.round(this.container.scrollLeft/this.itemOffset)+1,
110<this.currentPage&&0<this.totalPages&&(this.totalElement&&(this.totalElement.textContent=this.totalPages),this.currentElement)&&(this.currentElement.innerHTML=this.currentPage+`<span class="visually-hidden">${this.currentElement.dataset.accessibilityMessage}</span>`),this.currentPage!=e&&this.dispatchEvent(new CustomEvent("itemChanged",{detail:{currentPage:this.currentPage,currentElement:this.itemsToShow[this.currentPage-1],container:this}})),this.horizontalIsItemVisible(this.itemsToShow[0])&&0===this.container.scrollLeft?this.prevBtnElement.setAttribute("disabled","disabled"):this.prevBtnElement.removeAttribute("disabled"),this.horizontalIsItemVisible(this.itemsToShow[this.itemsToShow.length-1])?this.nextBtnElement.setAttribute("disabled","disabled"):this.nextBtnElement.removeAttribute("disabled"),1<this.totalPages&&this.horizontalTogglePagination(!0),this.totalPages<=1&&this.horizontalTogglePagination(!1)}horizontalIsItemVisible(e,t=0){t=this.container.clientWidth+this.container.scrollLeft-t;return e.offsetLeft+e.clientWidth<=t&&e.offsetLeft>=this.container.scrollLeft}horizontalOnButtonClick(e){e.preventDefault();let t=1,s=0;window.matchMedia("(min-width: 769px)").matches&&(t=e.currentTarget.dataset.step),0!=this.container.scrollLeft&&!this.horizontalIsItemVisible(this.itemsToShow[this.itemsToShow.length-1])||(s=this.gutter),this.itemScrollPosition="next"===e.currentTarget.name?this.container.scrollLeft-s+t*this.itemOffset:this.container.scrollLeft+s-t*this.itemOffset,window.requestAnimationFrame(()=>this.container.scrollTo({left:this.itemScrollPosition,behavior:"smooth"}))}horizontalBindEventHandlers(){this.prevBtnElement&&this.prevBtnElement.addEventListener("click",this.horizontalOnButtonClick.bind(this)),this.nextBtnElement&&this.nextBtnElement.addEventListener("click",this.horizontalOnButtonClick.bind(this)),this.container.addEventListener("scroll",SHTHelper.debounce(this.horizontalUpdateCarousel.bind(this),100))}horizontalTogglePagination(e){e?(this.paginationElement?.classList.remove("d-none-important"),this.paginationElement?.classList.add("d-flex")):(this.paginationElement?.classList.remove("d-flex"),this.paginationElement?.classList.add("d-none-important"))}horizontalSetActiveMedia(){var e=this.$("sht-vert-carousel-itm.is-active-item");e&&(this.container.scrollTo({left:e.offsetLeft,behavior:"auto"}),e=this.slideshow.$(`sht-carousel-itm[data-media-id="${e.dataset.mediaTargetId}"]`),this.carousel.querySelector(".js-carousel-items").scrollTo({left:e.offsetLeft,behavior:"auto"}))}init(){this.itemsToShow=Array.from(this.carousels).filter(e=>0<e.clientWidth),this.itemsToShow.length<2?this.togglePagination(!1):(this.gutter=parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-top"))+parseFloat(window.getComputedStyle(this.itemsToShow[1],null).getPropertyValue("padding-bottom")),this.itemOffset=this.itemsToShow[1].offsetTop-this.itemsToShow[0].offsetTop,this.itemsPerPage=Math.floor((this.container.clientHeight-this.itemsToShow[0].offsetTop)/this.itemOffset),this.totalPages=this.itemsToShow.length-this.itemsPerPage+1,this.updateCarousel())}updateCarousel(){var e=this.currentPage;this.currentPage=Math.round(this.container.scrollTop/this.itemOffset)+1,0<this.currentPage&&0<this.totalPages&&(this.totalElement&&(this.totalElement.textContent=this.totalPages),this.currentElement)&&(this.currentElement.innerHTML=this.currentPage+`<span class="visually-hidden">${this.currentElement.dataset.accessibilityMessage}</span>`),this.currentPage!=e&&this.dispatchEvent(new CustomEvent("itemChanged",{detail:{currentPage:this.currentPage,currentElement:this.itemsToShow[this.currentPage-1],container:this}})),this.isItemVisible(this.itemsToShow[0])&&0===this.container.scrollTop?this.prevBtnElement.setAttribute("disabled","disabled"):this.prevBtnElement.removeAttribute("disabled"),this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])?this.nextBtnElement.setAttribute("disabled","disabled"):this.nextBtnElement.removeAttribute("disabled"),1<this.totalPages&&this.togglePagination(!0),this.totalPages<=1&&this.togglePagination(!1)}togglePagination(e){e?(this.paginationElement?.classList.remove("d-none-important"),this.paginationElement?.classList.add("d-flex")):(this.paginationElement?.classList.remove("d-flex"),this.paginationElement?.classList.add("d-none-important"))}isItemVisible(e,t=0){t=this.container.clientHeight+this.container.scrollTop-t;return e.offsetTop+e.clientHeight-1<=Math.ceil(t)&&e.offsetTop>=this.container.scrollTop}onButtonClick(e){e.preventDefault();let t=1,s=0;window.matchMedia("(min-width: 769px)").matches&&(t=e.currentTarget.dataset.step),0!=this.container.scrollTop&&!this.isItemVisible(this.itemsToShow[this.itemsToShow.length-1])||(s=this.gutter),this.itemScrollPosition="next"===e.currentTarget.name?this.container.scrollTop-s+t*this.itemOffset:this.container.scrollTop+s-t*this.itemOffset,window.requestAnimationFrame(()=>this.container.scrollTo({top:this.itemScrollPosition,behavior:"smooth"}))}bindEventHandlers(){this.prevBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.nextBtnElement.addEventListener("click",this.onButtonClick.bind(this)),this.container.addEventListener("scroll",SHTHelper.debounce(this.updateCarousel.bind(this),100))}setActiveMedia(){var e=this.$("sht-vert-carousel-itm.is-active-item");e&&(this.container.scrollTo({top:e.offsetTop,behavior:"auto"}
11),e=this.slideshow.$(`sht-carousel-itm[data-media-id="${e.dataset.mediaTargetId}"]`),this.slideshow.$$(".js-product-slideshow-item").forEach(e=>{e.classList.remove("d-block"),"true"==this.slideshow.hide_variant&&e.classList.add("d-none")}),e.classList.add("d-block"),"true"==this.slideshow.hide_variant)&&e.classList.remove("d-none")}}customElements.define("sht-vert-carousel",SHTVerticalCarousel);class SHTMessageAddToCartSuccess extends HTMLElement{constructor(){super()}setActiveMessage(e=!0){e?this.classList.add("d-flex"):this.classList.remove("d-flex")}}customElements.define("sht-message-success",SHTMessageAddToCartSuccess);class SHTLazyLoadingVideo extends SHTCustomComponent{constructor(){super(),this.video=this.$("iframe"),this.isLoaded=!1,this.isPlaying=!1,this.addObserver()}loadVideo(){var e;this.video&&!this.isLoaded&&(this.video.setAttribute("src",this.video.getAttribute("data-src")),this.isLoaded=!0,this.video.addEventListener("load",()=>{this.dispatchEvent(new CustomEvent("loadingEnd",{detail:{ele:this.video,parent:this}}))})),"local_video"!=this.dataVideoType||this.isLoaded||(this.local_video=this.$("video"),e=this.local_video.querySelector("source").getAttribute("data-src"),this.local_video.src=e,this.isLoaded=!0)}async playVideo(){if(!this.isPlaying&&this.isLoaded)try{"youtube"==this.dataVideoType?this.video.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):"vimeo"==this.dataVideoType?this.video.contentWindow.postMessage('{"method":"play"}',"*"):"local_video"==this.dataVideoType&&await this.local_video?.play(),this.isPlaying=!0}catch(e){console.warn("Video play interrupted:",e)}}execute(){this.addObserver()}addObserver(){new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?(this.loadVideo(),setTimeout(()=>this.playVideo(),100)):(this.pauseVideo(),this.isPlaying=!1)})},{rootMargin:"0px 0px 200px 0px"}).observe(this)}async pauseVideo(){if(this.isPlaying)try{this.$(".js-media-item-youtube")?.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"),this.$(".js-media-item-vimeo")?.contentWindow.postMessage('{"method":"pause"}',"*"),await this.$(".js-item-video-banner")?.pause(),this.isPlaying=!1}catch(e){console.warn("Video pause interrupted:",e)}}static get observedAttributes(){return["data-video-type","data-video-id"]}set dataVideoType(e){this.setAttribute("data-video-type",e)}get dataVideoType(){return this.getAttribute("data-video-type")}set dataVideoId(e){this.setAttribute("data-video-id",e)}get dataVideoId(){return this.getAttribute("data-video-id")}attributeChangedCallback(e,t,s){t!==s&&this.execute()}connectedCallback(){this.execute()}disconnectedCallback(){}}customElements.define("sht-load-video",SHTLazyLoadingVideo);class SHTLoadMedia extends SHTCustomComponent{constructor(){super(),this.sectionID=this.dataset.sectionId,this.idVideo=this.dataset.idVideo,this.typeVideo=this.dataset.type,this.eleVideo=`shtVideo-${this.sectionID}-`+this.idVideo,this.onPlayerStateYTChange=this.onPlayerStateYTChange.bind(this),this.onPlayerPlay=this.onPlayerPlay.bind(this),this.trigger=this.$(".js-load-media-trigger"),this.autoplay="true"===this.dataset.autoplay,this.muted=this.autoplay||"true"===this.dataset.muted,this.loop="true"===this.dataset.loop,this.isVideoReady=!1,this.isVideoLoaded=!1,this.shouldAutoPlay=!1,this.trigger&&this.trigger.addEventListener("click",this.handlePlayVideo.bind(this)),this.autoplay&&(this.shouldAutoPlay=!0,document.addEventListener("DOMContentLoaded",this.loadContent.bind(this)),document.addEventListener("DOMContentLoaded",this.handlePlayVideo.bind(this)))}handlePlayVideo(){this.shouldAutoPlay=!0,this.isVideoLoaded||this.loadContent();let e=this.querySelector(".js-media-item-video");var t;e?(this.pauseAllVideo(e),e.muted=this.autoplay,e.volume=this.muted?0:1,e.loop=this.loop,t=()=>{e.play().catch(e=>{console.error("Error playing video:",e)}),this.hideVideoThumbnail()},3<=e.readyState?t():e.addEventListener("canplay",t,{once:!0}),e.addEventListener("play",()=>{this.pauseAllVideo(e),this.hideVideoThumbnail()})):"youtube"===this.typeVideo&&this.player&&this.isVideoReady?(this.pauseAllVideo(this.player),this.player.playVideo(),this.hideVideoThumbnail()):"vimeo"===this.typeVideo&&this.playerVimeo&&this.isVideoReady&&(this.pauseAllVideo(this.playerVimeo),this.playerVimeo.play(),this.hideVideoThumbnail())}hideVideoThumbnail(){this.trigger&&!this.trigger.classList.contains("d-none-important")&&(this.trigger.classList.add("opacity-0"),setTimeout(()=>{this.trigger.classList.add("d-none-important"),this.trigger.classList.remove("opacity-0"),this.$(".js-media-item")?.classList.remove("p-absolute","
11inset"),this.$(".js-media-item-video")?.classList.remove("p-absolute","inset")},300))}onYouTubeIframeAPIReady(){if("undefined"!=typeof YT&&void 0!==YT.Player)try{this.player=new YT.Player(this.eleVideo,{videoId:this.idVideo,playerVars:{playsinline:1,autoplay:this.shouldAutoPlay?1:0,mute:this.muted?1:0,loop:this.loop?1:0,playlist:this.loop?this.idVideo:void 0},events:{onReady:this.onPlayerYTReady,onStateChange:this.onPlayerStateYTChange}})}catch(e){console.error("Error initializing YouTube player:",e)}else{var e=document.createElement("script"),t=(e.src="https://www.youtube.com/iframe_api",e.onload=()=>{this.onYouTubeIframeAPIReady()},document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}}onVimeoIframeAPIReady(){if("undefined"!=typeof Vimeo&&void 0!==Vimeo.Player)try{var e={id:this.idVideo,autoplay:this.shouldAutoPlay?1:0,muted:this.muted?1:0,loop:this.loop};this.playerVimeo=new Vimeo.Player(this.eleVideo,e),this.playerVimeo.on("play",()=>{this.pauseAllVideo(this.playerVimeo),this.hideVideoThumbnail()}),this.playerVimeo.on("loaded",()=>{this.isVideoReady=!0,this.shouldAutoPlay&&(this.pauseAllVideo(this.playerVimeo),this.playerVimeo.play(),this.hideVideoThumbnail())})}catch(e){console.error("Error initializing Vimeo player:",e)}else{var e=document.createElement("script"),t=(e.src="https://player.vimeo.com/api/player.js",e.onload=()=>{this.onVimeoIframeAPIReady()},document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}}onPlayerYTReady=()=>{this.isVideoReady=!0,this.shouldAutoPlay&&(this.pauseAllVideo(this.player),this.player.playVideo(),this.hideVideoThumbnail())};onPlayerStateYTChange=e=>{1==e.data&&this.onPlayerPlay()};onPlayerPlay=()=>{this.pauseAllVideo(this.player),this.hideVideoThumbnail()};loadContent(){if(!this.getAttribute("loaded")){if(this.isVideoLoaded=!0,this.$("template")){var e=this.$("template").content.firstElementChild.cloneNode(!0);this.appendChild(e),this.isLoaded(!0),this.$(".js-media-item-video")?.classList.add("p-absolute","inset")}else{if("youtube"==this.typeVideo)this.onYouTubeIframeAPIReady();else{if("vimeo"!=this.typeVideo)return!0;this.onVimeoIframeAPIReady()}this.$(".js-media-item")?.classList.add("d-flex","p-absolute","inset")}return!0}}pauseAllVideo(t){var e=SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='youtube'])"),s=SHTHelper.qsa(".js-product-media-deferred-video:has([data-type='vimeo'])"),i=SHTHelper.qsa(".js-media-item-video");e.forEach(e=>{e.player&&e.player!==t&&e.player.pauseVideo()}),s.forEach(e=>{e.playerVimeo&&e.playerVimeo!==t&&e.playerVimeo.pause()}
11),i.forEach(e=>{e!==t&&e.pause()})}isLoaded(e){e?this.setAttribute("loaded",!0):this.removeAttribute("loaded")}}customElements.define("sht-load-media",SHTLoadMedia);class SHTLoadDynamicCheckoutButtonDynamicCheckoutButton extends SHTCustomComponent{constructor(){super(),this.template=this.$("template"),this.onLoadDynamicCheckoutButton=this.onHandleLoadDynamicCheckoutButton.bind(this),this.bindEventHandlers(),this.isMouseenter=!1,this.json=JSON.parse(SHTHelper.qs('#shopify-features[type="application/json"]').textContent),Shopify.designMode?this.loadDynamicCheckoutButton():(window.addEventListener("scroll",this.onLoadDynamicCheckoutButton,!1),window.addEventListener("load",function(e){let t=setTimeout(function(){this.isMouseenter||(this.loadDynamicCheckoutButton(),clearTimeout(t)),this.isMouseenter=!0}.bind(this),3e3)}.bind(this)),["mouseover"].forEach(function(e){SHTHelper.qs("body").addEventListener(e,this.onLoadDynamicCheckoutButton)}.bind(this)))}onHandleLoadDynamicCheckoutButton(e){this.isMouseenter||this.loadDynamicCheckoutButton(),e.currentTarget.removeEventListener(e.type,this.onLoadDynamicCheckoutButton),this.isMouseenter=!0}loadDynamicCheckoutButton(){new IntersectionObserver((e,s)=>{e.forEach(e=>{var t;1!==e.intersectionRatio||this.getAttribute("loaded")||(e=this.template.content.firstElementChild.cloneNode(!0),(t=document.createElement("script")).src=this.json.smart_payment_buttons_url,t.setAttribute("data-source-attribute","shopify.dynamic_checkout.product.init"),this.parentNode.insertBefore(e,this.nextSibling),this.parentNode.insertBefore(t,this.nextSibling),this.setAttribute("loaded",!0),s.unobserve(this))})},{root:null,rootMargin:"50px 0px",threshold:0}).observe(this)}bindEventHandlers(){}}customElements.define("sht-load-dyn-co-btn",SHTLoadDynamicCheckoutButtonDynamicCheckoutButton);class SHTQuantityInput extends SHTCustomComponent{constructor(){super(),this.input=this.$(".js-quantity-input"),this.changeEvent=ne
11w Event("change",{bubbles:!0}),this.$$(".js-quantity-btn").forEach(e=>e.addEventListener("click",this.onButtonClickHandler.bind(this)))}onButtonClickHandler(e){e.preventDefault();var t=this.input.value;"plus"===e.currentTarget.dataset.name?this.input.stepUp():this.input.stepDown(),t!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}customElements.define("sht-qty-inp",SHTQuantityInput);class SHTAccordion extends SHTCustomComponent{constructor(){super(),this.properties=this.dataset.properties?JSON.parse(this.dataset.properties):{},this.accordionItems=this.$$(".js-accordion-item"),this.accordionTriggers=this.$$(".js-accordion-trigger"),this.accordionContents=this.$$(".js-accordion-content")}connectedCallback(){this.bindEventHandlers()}bindEventHandlers(){this.accordionTriggers.forEach(e=>{e.addEventListener("click",e=>{e.preventDefault(),this.onTriggerClick(e.currentTarget)})}),this.onResize()}onResize(){this.resizeObserver=new ResizeObserver(e=>{this.accordionItems.forEach(e=>{e.querySelector(".js-accordion-trigger").classList.contains("open")&&(e.querySelector(".js-accordion-content").style.maxHeight=this.calculateMaxHeightContent(e.querySelector(".js-accordion-content"))+"px",Array.from(e.querySelector(".js-accordion-content").children).forEach(e=>{e.style.transform="translateY(0)"}))})}),this.resizeObserver.observe(this)}onTriggerClick(e){var t="true"===e.getAttribute("aria-expanded");!0===this.properties.multiple&&this.toggleAll(),this.toggle(!t,e)}toggle(e,t){t.setAttribute("aria-expanded",e);var s=this.$("#"+t.getAttribute("aria-controls")),i=this.calculateMaxHeightContent(s);t.classList.toggle("open",e),s.classList.toggle("open",e),s.style.maxHeight=`${e?i:0}px`;let r=`translateY(${e?0:-i}px)`;s.children.forEach(e=>{e.style.transform=r})}open(){this.toggle(!0)}close(){this.toggle(!1)}toggleAll(){this.accordionTriggers.forEach(e=>{e.setAttribute("aria-expanded","false"),e.classList.remove("open")}),this.accordionContents.forEach(e=>{e.classList.remove("open"),e.style.maxHeight="0px"})}calculateMaxHeightContent(e){return e.scrollHeight}}customElements.define("sht-accordion",SHTAccordion);class SHTReadMore extends SHTCustomComponent{constructor(){super()}init(){this.content=this.$(".js-expandable-content"),this.btn=this.$(".js-expandable-content-btn"),this.content.scrollHeight>this.content.clientHeight?(this.content.classList.add("expandable-content--expandable"),this.btn.parentElement.classList.add("d-block")):this.content.setAttribute("data-expanded","true"),this.bindEventHandlers()}bindEventHandlers(){let t=this.content.clientHeight;this.btn.addEventListener("click",e=>{"true"===this.content.getAttribute("data-expanded")?(this.content.setAttribute("data-expanded","false"),this.btn.parentElement.classList.add("d-block"),this.content.style.maxHeight=t+"px",this.btn.innerHTML=this.btn.getAttribute("data-view-more")):(this.content.setAttribute("data-expanded","true"),this.btn.parentElement.classList.remove("d-block"),this.content.style.maxHeight=this.content.scrollHeight+"px",this.btn.innerHTML=this.btn.getAttribute("data-view-less"))})}connectedCallback(){this.init()}}customElements.define("sht-read-more",SHTReadMore);class SHTShareProductButton extends SHTCustomComponent{constructor(){super(),this.webShareApiContainer=this.$(".js-web-share-api-container"),this.webShareApiButton=this.$(".js-web-share-api-btn"),this.noneWebShareApiContainer=this.$(".js-none-web-share-api-container"),this.noneWebShareApiButton=this.$(".js-none-web-share-api-btn"),this.copyLinkButton=this.$(".js-social-share-copy-link"),this.init()}init(){navigator.share?(this.webShareApiContainer.removeAttribute("hidden"),this.webShareApiButton.addEventListener("click",()=>{navigator.share({url:this.dataset.productUrl,title:document.title}).then(()=>{console.log("Thanks for sharing!")}).catch(console.error)})):(this.noneWebShareApiContainer.removeAttribute("hidden"),this.copyLinkButton.addEventListener("click",e=>{this.copyToClipboard(e.currentTarget)}))}copyToClipboard(e){navigator.clipboard.writeText(this.dataset.productUrl).then(()=>{e.querySelector(".js-social-share-copy-link-label").textContent=e.dataset.linkCopiedToClipboard})}}customElements.define("sht-share-prd-btn",SHTShareProductButton);class SHTBeforeAfterImages extends SHTCustomComponent{constructor(){super(),this.$=this.querySelector.bind(this),this.$$=this.querySelectorAll.bind(this),this.posSplitCursor=20,this.isClicked=!1,this.init()}connectedCallback(){this.observeResize(),this.firstLoadAnimation()}observeResize(){this.resizeObserver=new ResizeObserver(this.init.bind(this)),this.resizeObserver.observe(this.afterImage)}init(){this.afterImage=this.$(".js-after-image"),this.splitCursor=this.$(".js-s
11plit-cursor"),this.imageWith=this.afterImage.offsetWidth,this.imageHeight=this.afterImage.offsetHeight,this.elements=[this.afterImage,this.splitCursor],this.handleEvent(),this.updateSplitPosition(this.posSplitCursor)}firstLoadAnimation(){let t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(this.updateSplitPosition(50),this.elements.forEach(e=>{e.classList.add("animation-init"),e.addEventListener("transitionend",this.handleTransitionEnd.bind(this),{once:!0})}),t.disconnect())})},{threshold:.1});t.observe(this)}handleTransitionEnd(e){["left"].includes(e.propertyName)&&(e.target.classList.remove("animation-init"),this.elements.every(e=>!e.classList.contains("animation-init"))||this.elements.forEach(e=>e.classList.remove("animation-init")))}updateSplitPosition(e){this.style.setProperty("--before-after-initial-drag-position",e+"%")}handleEvent(){this.splitCursor.addEventListener("mousedown",this.slideReady.bind(this),{passive:!0}),this.splitCursor.addEventListener("touchstart",this.slideReady.bind(this),{passive:!0}),this.splitCursor.addEventListener("mouseup",this.slideFinish.bind(this),{passive:!0}),this.splitCursor.addEventListener("touchend",this.slideFinish.bind(this),{passive:!0})}slideReady(e){this.isClicked=!0,document.addEventListener("mousemove",this.slideMove.bind(this)),document.addEventListener("touchmove",this.slideMove.bind(this))}slideFinish(e){this.isClicked=!1,document.removeEventListener("mousemove",this.slideMove.bind(this)),document.removeEventListener("touchmove",this.slideMove.bind(this))}slideMove(e){var t;this.isClicked&&(t=this.offsetLeft,e=(e=e.changedTouches?e.changedTouches[0]:e).clientX-t,this.posSplitCursor=e/this.imageWith*100,this.posSplitCursor=Math.min(100,Math.max(0,this.posSplitCursor)),requestAnimationFrame(()=>{this.updateSplitPosition(this.posSplitCursor)}))}}customElements.define("sht-before-after-images",SHTBeforeAfterImages);class SHTSlideShow extends SHTCustomComponent{constructor(){super(),this.slideshow=this.$(".js-slideshow"),this.slideshowItems=this.$(".js-slideshow-items"),this.totalElm=this.$(".js-slideshow-total"),this.currentElm=this.$(".js-slideshow-current"),this.separatorElm=this.$(".js-slideshow-separator"),this.prevBtn=this.$(".js-slideshow-prev-btn"),this.nextBtn=this.$(".js-slideshow-next-btn"),this.startNStopBtn=this.$(".js-slideshow-start-n-stop-btn"),this.imageItems=this.$$(".js-slideshow-image"),this.pauseIcon=this.startNStopBtn.querySelector(".js-slideshow-pause-icon"),this.playIcon=this.startNStopBtn.querySelector(".js-slideshow-play-icon"),this.properties=JSON.parse(this.dataset.slideshowProperties),this.autoplay=this.properties.autoplay||!1,this.image=null,this.template=null,this.current=1,this.anchors=[],this.lastScrollTimeout=null,this.autoplayInterval=null,this.images=this.slideshowItems.children,this.total=this.images.length,this.slideshowItems.scrollLeft=0,this.observer=null,this.isPaused=!1,this.pagination=this.$(".js-slideshow-pagination"),this.pagination_items=this.pagination?.querySelectorAll(".js-slideshow-pagination-item")}cloneSlideItem(){var e,t;2==this.total&&(e=this.slideshowItems.querySelector(".js-slideshow-item:first-of-type"),(t=this.slideshowItems.querySelector(".js-slideshow-item:last-of-type"))&&((t=t.cloneNode(!0)).classList.add("slider-slide--clone"),this.slideshowItems.append(t)),e)&&((t=e.cloneNode(!0)).classList.add("slider-slide--clone"),this.slideshowItems.append(t))}execute(){this.cloneSlideItem(),this.prepare(),this.bindEventHandlers(),this.init()}connectedCallback(){this.execute()}init(){this.autoplay&&(this.resumeAutoPlay(),this.isPaused=!0),this.updateSort()}updateSort(){var e,t,s,i;this.total<=1||(e=this.slideshowItems.scrollLeft,t=Math.round(e),s=this.slideshowItems.offsetWidth,i=this.slideshowItems.scrollWidth,t<s&&(this.slideshowItems.prepend(this.images[this.total-1]),this.slideshowItems.scrollLeft=t+s),Math.floor(i-e)<=s&&(this.slideshowItems.append(this.images[0]),this.slideshowItems.scrollLeft=t-s))}startAutoPlay(){this.autoplay&&(this.autoplayInterval=setInterval(function(){this.nextSlide()}.bind(this),this.properties.duration))}bindEventHandlers(){this.slideshowItems.addEventListener("wheel",function(e){5==Math.abs(e.deltaX)&&this.stopAutoPlay()}.bind(this),{passive:!0}),this.slideshowItems.addEventListener("scroll",SHTHelper.debounce(this.onScrollEventHandle.bind(this),100)),this.nextBtn.addEventListener("click",function(){this.nextSlide(),this.stopAutoPlay()}.bind(this)),this.prevBtn.addEventListener("click",function(){this.prevSlide(),this.stopAutoPlay()}.bind(this)),this.startNStopBtn.addEventListener("click",this.onStartNStopEventHandle.bind(this)),this.handleSlideshowActionInAdmin()}handleSlideshowActionInAdmin(){if("undefined"!=typeof Shopify&&Shopify.designMode){let t=!0;document.addEventListener("shopify:section:load",e=>{"slideshow"===JSON.parse(e.target.dataset.shopifyEditorSection).type&&this.querySelectorAll(".js-slideshow-item").forEach(e
11=>{e.classList.add("section-miw-100")})}),document.addEventListener("shopify:section:select",e=>{e.target.id.includes("slideshow")&&this.querySelectorAll(".js-slideshow-item").forEach(e=>{e.classList.remove("section-miw-100")})}),document.addEventListener("shopify:block:select",e=>{e.target.classList.contains("slider-slide")&&(t=!0,e.target.closest(".js-slideshow-items").scrollTo({left:e.target.offsetLeft}),this.stopAutoPlay())}),document.addEventListener("shopify:block:deselect",e=>{e.target.classList.contains("slider-slide")&&(t=!1,setTimeout(()=>{!t&&JSON.parse(this.dataset.slideshowProperties).autoplay&&this.resumeAutoPlay()},500))})}}onStartNStopEventHandle(e){e.preventDefault(),this.autoplay?this.stopAutoPlay():this.resumeAutoPlay()}stopAutoPlay(){clearInterval(this.autoplayInterval),this.pauseIcon?.classList.add("d-none"),this.playIcon?.classList.remove("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[0]),this.slideshowItems.setAttribute("aria-live","polite"),this.autoplay=!1}resumeAutoPlay(){this.autoplay=!0,this.pauseIcon.classList.remove("d-none"),this.playIcon.classList.add("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[1]),this.slideshowItems.setAttribute("aria-live","off"),this.startAutoPlay()}onScrollEventHandle(e){e.preventDefault(),this.lastScrollTimeout&&clearTimeout(this.lastScrollTimeout),this.lastScrollTimeout=setTimeout(function(){this.updateSort()}.bind(this),100),this.updateCurrent(),this.updatePagination()}updatePagination(){var e;this.pagination&&(e=this.pagination.querySelector(`li[data-slideshow-index="${this.current}"]`))&&(this.pagination_items.forEach(e=>e.classList.remove("is-active")),e.classList.add("is-active"))}prepare(){this.totalElm.textContent=this.total,this.currentElm.textContent=this.current,this.separatorElm.textContent=this.properties.separatorText,this.autoplay&&(this.startNStopBtn.toggleAttribute("hidden",!1),this.startNStopBtn.querySelector(".js-slideshow-pause-icon").classList.remove("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[0]),this.slideshowItems.setAttribute("aria-live","off"))}updateCurrent(){var e=this.$(".js-slideshow-image--current");e&&(this.current=e.dataset.slideshowIndex),this.currentElm.textContent=this.current}prevSlide(){if(Shopify.designMode)this.slideshowItems.scrollLeft=this.slideshowItems.scrollLeft-this.slideshow.scrollWidth;else{let e=this.$(".js-slideshow-image--current").closest(".slider-slide--active");e&&e.classList.add("slider-slide--active-blur"),setTimeout(()=>{this.slideshowItems.scrollLeft=this.slideshowItems.scrollLeft-this.slideshow.scrollWidth,e.classList.remove("slider-slide--active-blur")},400)}}nextSlide(){if(Shopify.designMode)this.slideshowItems.scrollLeft=this.slideshowItems.scrollLeft+this.slideshow.scrollWidth;else{let e=this.$(".js-slideshow-image--current").closest(".slider-slide--active");e&&e.classList.add("slider-slide--active-blur"),setTimeout(()=>{this.slideshowItems.scrollLeft=this.slideshowItems.scrollLeft+this.slideshow.scrollWidth,e.classList.remove("slider-slide--active-blur")},400)}}observerSlideShow(){this.observer=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(this.dataset.viewport=1),this.observer.unobserve(this)})},{threshold:.15}),this.observer.observe(this)}}customElements.define("sht-slideshow",SHTSlideShow);class SHTSlideshowLazyLoadingImage extends SHTCustomComponent{constructor(){super(),this.image=this.$(".js-image-lazy"),this.imageMobile=this.$(".js-image-lazy-mobile"),this.spinner=this.$(".js-image-lazy-spinner"),this.container=this.closest(".js-slideshow-items"),this.currentItemClass="js-slideshow-image--current",this.slideItem=this.closest(".js-slideshow-item"),this.sectionId=this.dataset.sectionId,this.section=SHTHelper.qs("#shopify-section-"+this.sectionId),this.bindEventHandlers()}setSlideItemVisibility(e){e?(this.slideItem.setAttribute("aria-hidden","false"),this.slideItem.removeAttribute("tabindex"),this.slideItem.classList.add("slider-slide--active")):(this.slideItem.setAttribute("aria-hidden","true"),this.slideItem.setAttribute("tabindex","-1"),this.slideItem.classList.remove("slider-slide--active"))}observeImage(s,i){var e=new IntersectionObserver((e,t)=>
11{e.forEach(e=>{e.target;var t=this.parentNode;e.isIntersecting&&!this.getAttribute("loaded")?(s&&s.removeAttribute("loading"),i&&i.removeAttribute("loading"),this.setAttribute("loaded",!0),t.classList.add(this.currentItemClass),this.setSlideItemVisibility(!0)):0==e.intersectionRatio?(t.classList.remove(this.currentItemClass),this.setSlideItemVisibility(!1)):this.getAttribute("loaded")&&(t.classList.add(this.currentItemClass),this.setSlideItemVisibility(!0))})},{root:this.container,rootMargin:"100px -2px 100px -2px",threshold:0});s&&e.observe(s)}loadImage(){new ResizeObserver(e=>{window.matchMedia("(max-width: 1024px)").matches&&this.imageMobile?this.observeImage(this.imageMobile,this.image):this.image&&this.observeImage(this.image,this.imageMobile)}).observe(document.body),window.matchMedia("(max-width: 1024px)").matches&&this.imageMobile?this.observeImage(this.imageMobile,this.image):this.image&&this.observeImage(this.image,this.imageMobile)}bindEventHandlers(){}execute(){this.loadImage()}connectedCallback(){this.execute()}disconnectedCallback(){}}customElements.define("sht-slideshow-load-img",SHTSlideshowLazyLoadingImage);class SHTSlideshowCTA extends SHTCustomComponent{constructor(){super(),this.ctaButton=this.$$(".js-slideshow-cta"),this.container=this.closest(".js-slideshow-items"),this.bindEventHandlers()}bindEventHandlers(){this.observeItem()}observeItem(){new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting?this.setCTAVisibility(!0):this.setCTAVisibility(!1)})},{threshold:.25}).observe(this)}setCTAVisibility(s){this.ctaButton.forEach((e,t)=>{s?(e.removeAttribute("tabindex"),e.setAttribute("aria-hidden","false")):(e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"))})}}customElements.define("sht-slideshow-cta",SHTSlideshowCTA);class SHTHotsPot extends SHTCustomComponent{constructor(){super()}connectedCallback(){Shopify.designMode?setTimeout(()=>{this.init(),this.addResizeObserver()},1e3):(this.init(),this.addResizeObserver())}init(){this.trigger=this.$$(".js-carousel-trigger"),this.hotspotItems=this.$$(".js-hotspot-item"),this.hotspotContents=this.$$(".js-hotspot-content"),this.closeBtn=this.$$(".js-hotspot-close-btn"),this.carouselWebElement=SHTHelper.qs("#"+this.dataset.carouselTarget),this.carousel=this.carouselWebElement.querySelector(".js-carousel-items"),this.dialogElement=document.querySelector("#"+this.dataset.dialogId),this.bindEventHandlers()}bindEventHandlers(){document.addEventListener("click",e=>{e.target.closest(".js-hotspot-content")||e.target.closest(".js-hotspot-item")||(this.hideAllContent(),this.setButtonVisibility(!1))});for(let e=0,t=this.trigger.length;e<t;e++)this.trigger[e].addEventListener("click",e=>{this.prepare(e),this.setActiveCarouselElement(e.currentTarget)});this.carouselWebElement.addEventListener("itemChanged",e=>{e.detail.currentElement&&(this.setButtonVisibility(!1),e=this.$(`[aria-describedby="${e.detail.currentElement.id}"]`),this.setButtonCurrentVisibility(e))})}prepare(e){window.matchMedia("(max-width: 1024px)").matches?(this.dialogElement.showModal(e.target,!0),this.setButtonVisibility(!1),this.setButtonCurrentVisibility(e.target)):this.toggleContent(e)}addResizeObserver(){new ResizeObserver(e=>{window.matchMedia("(max-width: 1024px)").matches?this.hideAllContent():this.dialogElement.closeModal()}).observe(document.body)}toggleContent(e){var t=e.target.parentElement.querySelector(".js-hotspot-content");this.setButtonVisibility(!1),this.setButtonCurrentVisibility(e.target),this.closeContent(),this.hideAllContent(),this.calculateContentPosition(e,t),t.classList.add("active")}hideAllContent(){this.hotspotContents.forEach(e=>{e.classList.remove("active")})}closeContent(){this.closeBtn.forEach(e=>{e.addEventListener("click",()=>{this.hideAllContent(),this.setButtonVisibility(!1)})})}calculateContentPosition(e,t){this.buttonPosX=parseFloat(e.target.dataset.axisX)*this.offsetWidth/100,this.buttonPosY=parseFloat(e.target.dataset.axisY)*this.offsetHeight/100,this.axisXPointCenter=this.offsetWidth/2,this.axisYPointCenter=this.offsetHeight/2,this.buttonPosX<=this.axisXPointCenter&&this.buttonPosY<=this.axisYPointCenter?t.classList.add("hotspot-content--bottom","hotspot-content--right"):this.buttonPosX>this.axisXPointCenter&&this.buttonPosY<=this.axisYPointCenter?t.classList.add("hotspot-content--bottom","hotspot-content--left"):this.buttonPosX<=this.axisXPointCenter&&this.buttonPosY>this.axisYPointCenter?t.classList.add("hotspot-content--top","hotspot-content--right"):t.classList.add("hotspot-content--top","hotspot-content--left")}setActiveCarouselElement(e){e=this.carousel.querySelector("#"+e.getAttribute("aria-describedby",""));e&&this.carousel.scrollTo({left:e.offsetLeft,behavior:"smooth"})}setButtonVisibility(s){if(this.trigger)for(let e=0,t=this.trigger.length;e<t;e++)s?(this.trigger[e].setAttribute("aria-current","true"),this.trigger[e].classList.add("hotspot-item--active")):(this.trigger[e].removeAttribute("aria-current"),this.trigger[e].classList.remove("hotspot-item--active"))}setButtonCurrentVisibility(e){e.setAttribute("aria-current","true"),e.classList.add("hotspot-item--active")}}
11customElements.define("sht-text-hotspot",SHTHotsPot);class SHTSpotlightQuote extends SHTCustomComponent{constructor(){super(),this.spotlightItems=this.$(".js-spotlight-items"),this.totalElm=this.$(".js-spotlight-total"),this.currentElm=this.$(".js-spotlight-current"),this.separatorElm=this.$(".js-spotlight-separator"),this.prevBtn=this.$(".js-spotlight-prev-btn"),this.nextBtn=this.$(".js-spotlight-next-btn"),this.startNStopBtn=this.$(".js-spotlight-start-n-stop-btn"),this.imageItems=this.$$(".js-spotlight-content"),this.pauseIcon=this.startNStopBtn?.querySelector(".js-spotlight-pause-icon"),this.playIcon=this.startNStopBtn?.querySelector(".js-spotlight-play-icon"),this.properties=JSON.parse(this.dataset.spotlightProperties),this.autoplay=this.properties.autoplay||!1,this.image=null,this.template=null,this.current=1,this.anchors=[],this.lastScrollTimeout=null,this.autoplayInterval=null,this.content=this.spotlightItems.children,this.total=this.content.length,this.spotlightItems.scrollLeft=0,this.observer=null,this.isPaused=!1,this.pagination=this.$(".js-spotlight-pagination"),this.pagination_items=this.pagination?.querySelectorAll(".js-spotlight-pagination-item")}cloneSlideItem(){var e,t;2==this.total&&(e=this.spotlightItems.querySelector(".js-spotlight-item:first-of-type"),(t=this.spotlightItems.querySelector(".js-spotlight-item:last-of-type"))&&((t=t.cloneNode(!0)).classList.add("slider-slide--clone"),this.spotlightItems.append(t)),e)&&((t=e.cloneNode(!0)).classList.add("slider-slide--clone"),this.spotlightItems.append(t))}execute(){this.total<=1||(this.cloneSlideItem(),this.observerSlideShow(),this.prepare(),this.bindEventHandlers(),this.init())}connectedCallback(){this.execute()}init(){this.slideItems=this.$$(".js-spotlight-item"),this.currentItemClass="js-spotlight-content--current",this.slideContainer=this.$(".js-spotlight-items"),this.containerObserver=this.$(".js-spotlight"),this.slideContent=this.$$(".js-spotlight-content"),this.autoplay&&(this.resumeAutoPlay(),this.isPaused=!0),this.updateSort()}updateSort(){var e,t,s,i;this.total<=1||(e=this.spotlightItems.scrollLeft,t=Math.round(e),s=this.spotlightItems.offsetWidth,i=this.spotlightItems.scrollWidth,t<s&&(this.spotlightItems.prepend(this.content[this.total-1]),this.spotlightItems.scrollLeft=t+s),Math.floor(i-e)<=s&&(this.spotlightItems.append(this.content[0]),this.spotlightItems.scrollLeft=t-s))}startAutoPlay(){this.autoplay&&(this.autoplayInterval=setInterval(function(){this.nextSlide()}.bind(this),this.properties.duration))}bindEventHandlers(){this.spotlightItems.addEventListener("wheel",function(e){5==Math.abs(e.deltaX)&&this.stopAutoPlay()}.bind(this),{passive:!0}),this.spotlightItems.addEventListener("scroll",SHTHelper.debounce(this.onScrollEventHandle.bind(this),100)),this.nextBtn.addEventListener("click",SHTHelper.debounce(function(){this.nextSlide(),this.stopAutoPlay()}.bind(this),300)),this.prevBtn.addEventListener("click",SHTHelper.debounce(function(){this.prevSlide(),this.stopAutoPlay()}.bind(this),300)),this.startNStopBtn.addEventListener("click",this.onStartNStopEventHandle.bind(this)),"undefined"!=typeof Shopify&&Shopify.designMode&&this.handleScrollToItemInAdmin()}onStartNStopEventHandle(e){e.preventDefault(),this.autoplay?this.stopAutoPlay():this.resumeAutoPlay()}stopAutoPlay(){clearInterval(this.autoplayInterval),this.pauseIcon.classList.add("d-none"),this.playIcon.classList.remove("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[0]),this.spotlightItems.setAttribute("aria-live","polite"),this.autoplay=!1}resumeAutoPlay(){this.autoplay=!0,this.pauseIcon.classList.remove("d-none"),this.playIcon.classList.add("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[1]),this.spotlightItems.setAttribute("aria-live","off"),this.startAutoPlay()}onScrollEventHandle(e){e.preventDefault(),this.lastScrollTimeout&&clearTimeout(this.lastScrollTimeout),this.lastScrollTimeout=setTimeout(function(){this.updateSort()}.bind(this),100),this.updateCurrent(),this.updatePagination()}updatePagination(){var e;this.pagination&&(e=this.pagination.querySelector(`li[data-spotlight-index="${this.current}
11"]`))&&(this.pagination_items.forEach(e=>e.classList.remove("is-active")),e.classList.add("is-active"))}prepare(){this.totalElm.textContent=this.total,this.currentElm.textContent=this.current,this.separatorElm.textContent=this.properties.separatorText,this.autoplay&&(this.startNStopBtn.toggleAttribute("hidden",!1),this.startNStopBtn.querySelector(".js-spotlight-pause-icon").classList.remove("d-none"),this.startNStopBtn.setAttribute("aria-label",this.properties.autoplayAccessibilityText[0]),this.spotlightItems.setAttribute("aria-live","off"))}updateCurrent(){var e=this.$(".js-spotlight-content--current");e&&(this.current=e.dataset.spotlightIndex),this.currentElm.textContent=this.current}prevSlide(){if(2<this.total){let e=+this.current-1;1==this.current&&(e=this.total);var t=this.$(`div[data-item-index="${e}"]`);t&&this.spotlightItems.scrollTo({left:this.spotlightItems.scrollLeft-t.offsetWidth,behavior:"smooth"})}else{t=2==this.$(".slider-slide--active").dataset.itemIndex?1:2,t=this.$(`div[data-item-index="${t}"]`);t&&this.spotlightItems.scrollTo({left:this.spotlightItems.scrollLeft-t.offsetWidth,behavior:"smooth"})}}nextSlide(){if(2<this.total){let e=+this.current+1;this.current==this.total&&(e=1);var t=this.$(`div[data-item-index="${e}"]`);t&&this.spotlightItems.scrollTo({left:this.spotlightItems.scrollLeft+t.offsetWidth,behavior:"smooth"})}else{t=this.$(".slider-slide--active + .js-spotlight-item");t&&this.spotlightItems.scrollTo({left:this.spotlightItems.scrollLeft+t.offsetWidth,behavior:"smooth"})}}observerSlideShow(){this.observer=new IntersectionObserver((e,t)=>{e.forEach(e=>{var t=e.target.querySelector(".js-spotlight-content"),s=t.closest(".js-spotlight-item");e.isIntersecting?t&&(this.clearAllCurrentItemClass(),this.clearAllActiveItemClass(),t.classList.add(this.currentItemClass),this.setSlideItemVisibility(!0,s)):this.setSlideItemVisibility(!1,s)})},{root:this.containerObserver,rootMargin:"100px -2px 100px -2px",threshold:.5}),this.slideItems=this.$$(".js-spotlight-item"),this.slideItems.forEach(e=>{e&&this.observer.observe(e)})}clearAllCurrentItemClass(){this.slideContent.forEach(e=>{e.classList.remove(this.currentItemClass),e.closest(".js-spotlight-item").classList.remove(this.currentItemClass)})}clearAllActiveItemClass(){this.slideItems.forEach(e=>{e.classList.remove(this.currentItemClass)})}setSlideItemVisibility(e,t){e?(t.setAttribute("aria-hidden","false"),t.removeAttribute("tabindex"),t.classList.add("slider-slide--active")):(t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex","-1"),t.classList.remove("slider-slide--active"))}handleScrollToItemInAdmin(){let t=!0;document.addEventListener("shopify:block:select",e=>{e.target.classList.contains("slider-slide")&&(t=!0,e.target.closest(".js-spotlight-items").scrollTo({left:e.target.offsetLeft}),this.stopAutoPlay())}),document.addEventListener("shopify:block:deselect",e=>{e.target.classList.contains("slider-slide")&&(t=!1,setTimeout(()=>{!t&&JSON.parse(this.dataset.spotlightProperties).autoplay&&this.resumeAutoPlay()},500))})}}customElements.define("sht-spotlight-quote",SHTSpotlightQuote);class SHTInfoTab extends SHTCustomComponent{constructor(){super(),this.accordionTriggers=this.$$(".js-accordion-trigger"),this.accordionContents=this.$$(".js-accordion-content"),this.tabMediaPanel=this.$$(".js-tab-panel-media"),this.tabBtns=this.$$(".js-tab-btn"),this.keyActive=this.$(".js-accordion-trigger.active").getAttribute("aria-controls"),this.checkInit=!1,this.enableAutoplay="true"===this.getAttribute("data-autoplay"),this.autoPlayTime=1e3*parseInt(this.getAttribute("data-auto-play-time"))||5e3,this.autoplayInterval=null,this.currentIndex=0,this.isInViewport=!1,this.bindEventHandlers()}connectedCallback(){Shopify.designMode?setTimeout(()=>{this.addResizeObserver(),this.enableAutoplay&&this.setupIntersectionObserver()},1e3):(this.addResizeObserver(),this.enableAutoplay&&this.setupIntersectionObserver())}setupIntersectionObserver(){new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?(this.isInViewport=!0,this.startAutoplay(),this.$$(".progress-active").forEach(e
11=>{e.classList.add("progress")})):(this.isInViewport=!1,this.stopAutoplay(),this.$$(".progress-active").forEach(e=>{e.classList.remove("progress")}))})},{root:null,rootMargin:"0px",threshold:.1}).observe(this)}startAutoplay(){this.isInViewport&&this.enableAutoplay&&!this.autoplayInterval&&(this.autoplayInterval=setInterval(()=>{var e;this.currentIndex++,this.currentIndex>=this.accordionTriggers.length&&(this.currentIndex=0),window.matchMedia("(max-width: 1024px)").matches?(e=this.tabBtns[this.currentIndex],this.onTriggerClickMobile(e)):(e=this.accordionTriggers[this.currentIndex],this.onTriggerClick(e))},this.autoPlayTime))}stopAutoplay(){this.autoplayInterval&&(clearInterval(this.autoplayInterval),this.autoplayInterval=null)}addResizeObserver(){new ResizeObserver(e=>{window.matchMedia("(max-width: 1024px)").matches?this.bindEventHandlersMobile():(this.checkInit&&this.initTabDesktop(),this.bindEventHandlers())}).observe(document.body)}bindEventHandlers(){this.accordionTriggers.forEach((e,t)=>{e.addEventListener("click",e=>{this.enableAutoplay&&(this.stopAutoplay(),this.currentIndex=t,this.isInViewport)&&this.startAutoplay(),this.onTriggerClick(e.currentTarget)})})}bindEventHandlersMobile(){this.tabBtns.forEach((e,t)=>{e.addEventListener("click",e=>{this.enableAutoplay&&(this.stopAutoplay(),this.currentIndex=t,this.isInViewport)&&this.startAutoplay(),this.onTriggerClickMobile(e.currentTarget)})})}initTabDesktop(){this.setSatusAll(),this.activeElement(!0,!1)}activeElement(e=!1,t=!1){var s=this.$(`.js-accordion-trigger[aria-controls='${this.keyActive}']`),i=(s.setAttribute("aria-expanded","true"),s.classList.add("active"),this.$(`.js-tab-btn[aria-controls='${this.keyActive}']`)),i=(i.setAttribute("aria-expanded","true"),i.classList.add("active"),t&&s.parentElement.classList.remove("d-none-important"),this.$("#"+this.keyActive)),t=(i.style.maxHeight=this.calculateMaxHeightContent(i)+"px",this.$(`#${this.keyActive}-media`));t.classList.add("info-tab__media--active"),t.classList.remove("hidden-xs"),e&&this.accordionTriggers.forEach(e=>{e.parentElement.classList.remove("d-none-important")})}onTriggerClick(e){e.classList.contains("active")||(this.checkInit=!0,this.keyActive=e.getAttribute("aria-controls"),this.setSatusAll(),this.activeElement())}onTriggerClickMobile(e){this.checkInit=!0,this.keyActive=e.getAttribute("aria-controls"),this.setSatusAll(!0),this.activeElement(!1,!0)}setSatusAll(t=!1){this.accordionTriggers.forEach(e=>{e.setAttribute("aria-expanded","false"),e.classList.remove("active"),t&&e.parentElement.classList.add("d-none-important")}),this.tabBtns.forEach(e=>{e.classList.remove("active")}),this.accordionContents.forEach(e=>{e.style.maxHeight=t?"initial":"0px"}),this.tabMediaPanel.forEach(e=>{e.classList.remove("info-tab__media--active"),e.classList.add("hidden-xs")})}calculateMaxHeightContent(e){return e.scrollHeight}disconnectedCallback(){this.stopAutoplay()}}customElements.define("sht-info-tabs",SHTInfoTab);class SHTLoadMore extends HTMLElement{constructor(){super()}connectedCallback(){this.init()}init(){this.loadMoreBtn=this.querySelector(".js-load-more"),this.renderContainer=SHTHelper.qid("collectionProductGrid"),this.bindEventHandlers()}bindEventHandlers(){this.addEventListener("click",this.loadMoreItems)}loadMoreItems(){this.loadMoreBtn.setAttribute("disabled",!0);let{pageSize:e,nextUrl:t,totalItems:s}=this.dataset,i=parseInt(this.dataset.currentPage)+1;fetch(t.replace(/page=[0-9]+/,"page="+i)).then(e=>e.text()).then(e=>{var t=document.createElement("div"),e=(t.innerHTML=e,t.querySelector("#collectionProductGrid").innerHTML);this.renderContainer.insertAdjacentHTML("beforeend",e)}).catch(e=>{console.error(e)}).finally(()=>{this.loadMoreBtn.removeAttribute("disabled"),this.dataset.currentPage=parseInt(this.dataset.currentPage)+1,parseInt(s)-i*parseInt(e)<0&&this.loadMoreBtn.setAttribute("disabled",!0)})}}customElements.define("sht-load-more",SHTLoadMore);class SHTInfinityScroll extends HTMLElement{constructor(){super()}connectedCallback(){this.init()}init(){this.renderContainer=SHTHelper.qid("collectionProductGrid"),this.loadingIndicator=this.querySelector(".js-loading-overlay-wrapper"),this.bindEventHandlers()}bindEventHandlers(){this.observer=this.registerObserver(this.loadNextPage.bind(this)),this.observer.observe(this)}registerObserver(t){let s=!1;return new IntersectionObserver(function(e){e[0].isIntersecting&&!s&&(s=!0,t().then(()=>s=!1).catch(()=>s=!1))})}loadNextPage(){var{nextUrl:e,totalPages:t}=this.dataset,s=parseInt(this.dataset.currentPage)+1;return t<s?(this.observer.disconnect(),Promise.resolve()):(this.loadingIndicator.classList.remove("hidden"),fetch(e.replace(/page=[0-9]+/,"page="+s)).then(e=>(this.loadingIndicator.classList.add("hidden"),e.text())).then(e=>{var t=document.createElement("div"),e=(t.innerHTML=e,t.querySelector("#collectionProductGrid").innerHTML);this.renderContainer.insertAdjacentHTML("beforeend",e)}).catch(e=>{console.error(e)}).finally(()=>{this.dataset.currentPage=parseInt(this.dataset.currentPage)+1}))}}customElements.define("sht-infinity-scroll",SHTInfinityScroll);class SHTPopup extends SHTCustomComponent{constructor(){super(),this.properties=JSON.parse(this.dataset.props),this.myStorage=window.sessionStorage,this.sessionStorageName=Shopify.theme.name.toLowerCase()+"-popup-display",this.cartNotification=SHTHelper.qs("sht-cart-noti"),this.timeOnPage=1e3*parseInt(this.dataset.popupShowAfter),this.isOpen=!1,this.buffer=100,this.myScrollHeight=document.body.scrollHeight||SHTHelper.qde.scrollHeight||0,this.myWindowHeight=window.innerHeight||SHTHelper.qde.clientHeight||0,this.elms={close_btn:this.$(".js-popup-close-btn"),body:SHTHelper.qs("body")},this.triggerOn=this.properties.triggerOn,this.scrollEventHandle=this.onScrollEventHandle.bind(this),this.onLoadUserAction=this.onUserAction.bind(this),this.activeElement=null,this.bindEventHandlers()}bindEventHandlers(){this.elms.close_btn.addEventListener("click",this.onCloseBtnClickHandle.bind(this)),window.addEventListener("scroll",this.scrollEventHandle),this.cartNotification&&"after-closing-cart-notification"===this.triggerOn?this.cartNotification.addEventListener("closed",e=>{this.getPopupStatus()||this.togglePopup(!0)}):"time_on_page"===this.triggerOn&&document.addEventListener("DOMContentLoaded",()=>{this.getPopupStatus()||setTimeout(()=>this.togglePopup(!0),this.timeOnPage)}),this.onLoadUserAction(),document.addEventListener("search:closed",()=>{this.hasAttribute("open")&&!document.querySelector("sht-predictive-srch[open]")&&setTimeout(()=>{SHTHelper.trapFocus(this)},100)}
11),this.popupAttrObserve()}onUserAction(e){this.classList.contains("d-none")&&this.classList.remove("d-none")}onScrollEventHandle(e){var t,s;"reaching-to-footer"!==this.triggerOn?window.removeEventListener("scroll",this.scrollEventHandle):(this.myScrollHeight=document.body.scrollHeight||SHTHelper.qde.scrollHeight||0,t=(window.pageYOffset||SHTHelper.qde.scrollTop||document.body.scrollTop||0)+this.buffer+this.myWindowHeight>=this.myScrollHeight,s=this.getPopupStatus(),"reaching-to-footer"!==this.triggerOn||!t||null!==this.getAttribute("open")&&""!==this.getAttribute("open")||s||this.togglePopup(!0))}togglePopup(e){var t=this.$(".js-success");e&&!t?(this.activeElement=document.activeElement,this.toggleOpen(!0)):(this.toggleOpen(!1),this.setPopupStatus())}toggleOpen(e){e?(this.elms.body.classList.add("is-popup-show"),this.setAttribute("open",!0),this.classList.add("popup-show")):(this.elms.body.classList.remove("is-popup-show"),this.removeAttribute("open"),this.classList.remove("popup-show"),this.activeElement?SHTHelper.removeTrapFocus(this.activeElement):SHTHelper.removeTrapFocus())}onCloseBtnClickHandle(e){e.preventDefault(),this.togglePopup(!1)}setPopupStatus(){this.myStorage.setItem(this.sessionStorageName,!1)}getPopupStatus(){return Shopify.designMode?"":this.myStorage.getItem(this.sessionStorageName)}popupAttrObserve(){new MutationObserver((e,t)=>{e.forEach(async e=>{"open"===e.attributeName&&(this.hasAttribute("open")?(await this.animationsComplete(),this.dispatchEvent(new Event("opened")),document.querySelector("sht-predictive-srch[open]")||SHTHelper.trapFocus(this)):(SHTHelper.removeTrapFocus(),await this.animationsComplete(),this.dispatchEvent(new Event("closed")),document.dispatchEvent(new CustomEvent("popup:closed",{detail:{popup:this}}))))})}).observe(this,{attributes:!0})}animationsComplete(){return Promise.allSettled(this.getAnimations().map(e=>e.finished))}}customElements.define("sht-popup",SHTPopup);class SHTMediaWithText extends SHTCarousel{constructor(){super()}pauseAllVideo(){}}customElements.define("sht-media-with-text",SHTMediaWithText);class SHTCarouselItem extends SHTCustomComponent{constructor(){super()}init(){new IntersectionObserver((e,s)=>{e.forEach(e=>{var t=e.target;e.isIntersecting&&("1"===t.dataset.attributePlaceholder&&(t.setAttribute("aria-hidden",!1),t.setAttribute("aria-disabled",!1)),s.unobserve(t))})},{root:this.closest("sht-carousel")}).observe(this)}connectedCallback(){this.init()}}function detectSectionGroupHeaderLast(){var e=document.querySelectorAll(".shopify-section-group-header-group");e[e.length-1]?.classList.add("section-header-last")}customElements.define("sht-carousel-itm",SHTCarouselItem),customElements.get("sht-pickup-avail-for-featured-product")||customElements.define("sht-pickup-avail-for-featured-product",class extends HTMLElement{constructor(){super(),this.$=this.querySelector.bind(this),this.hasAttribute("available")&&(this.errorHtml=this.$("template").content.firstElementChild.cloneNode(!0),this.onClickRefreshListHandleEvent=this.onClickRefreshListHandleEvent.bind(this),this.fetchAvailability(this.dataset.variantId),this.drawerID="drawerPickupAvailability-"+this.dataset.sectionId)}fetchAvailability(e){let t=routes.root_url;t.endsWith("/")||(t+="/");e=t+`variants/${e}/?section_id=pickup-availability`;fetch(e).then(e=>e.text()).then(e=>{e=e.replace("drawerPickupAvailability",this.drawerID),e=(new DOMParser).parseFromString(e,"text/html").querySelector(".shopify-section");this.renderPreview(e)}).catch(e=>{console.log(e);e=this.$("button");e&&e.removeEventListener("click",this.onClickRefreshListHandleEvent),this.renderError()})}onClickRefreshListHandleEvent(e){this.fetchAvailability(this.dataset.variantId)}renderError(){this.innerHTML="",this.appendChild(this.errorHtml),this.$("button").addEventListener("click",this.onClickRefreshListHandleEvent)}renderPreview(e){var t=SHTHelper.qs("#"+this.drawerID),s=e.querySelector("sht-pickup-avail-prwv");t&&t.remove(),s?(this.innerHTML=s.outerHTML,this.setAttribute("available",""),this.classList.add("d-block"),this.classList.remove("d-none"),"true"==this.dataset.showExpectedPickupTime&&e.querySelector("#"+this.drawerID).classList.add("pickup_availability--show-pickup-time"),document.body.appendChild(e.querySelector("#"+this.drawerID)),(t=this.$("button"))&&t.addEventListener("click",e=>{document.querySelector("#"+this.drawerID).openDrawer(e.target)})):(this.innerHTML="",this.removeAttribute("available"),this.classList.remove("d-block"),this.classList.add("d-none"))}}),detectSectionGroupHeaderLast(),document.addEventListener("shopify:section:load",()=>{detectSectionGroupHeaderLast()}),Shopify.designMode&&document.addEventListener("shopify:section:reorder",()=>{var e=document.querySelectorAll(".shopify-section-group-header-group"),t=(e.forEach(e
11=>e.classList.remove("section-header-last")),e.length-1);e[t]?.classList.add("section-header-last")});class SHTSplitLine extends HTMLElement{constructor(){super(),this.svgWaveTemplate=this.createWaveSVGTemplate(),this.svgLineTemplate=this.createLineSVGTemplate(),this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML="<slot></slot>",this.throttle=(t,s=100)=>{let i;return function(...e){i||(t.apply(this,e),i=!0,setTimeout(()=>i=!1,s))}},this.initObservers()}createWaveSVGTemplate(){var e="bold"===this.getAttribute("data-highlighted-underline-thickness")?6:4;return`<svg class="p-absolute left-0 w-100" xmlns="http://www.w3.org/2000/svg" width="100%" height="12" viewBox="0 0 231 12" preserveAspectRatio="none" fill="none">
12      <path d="M2 2C10.7298 2 10.7298 10 19.4595 10C28.1893 10 28.1893 2 36.919 2C45.6488 2 45.6488 10 54.3785 10C63.1083 10 63.1083 2 71.838 2C80.5678 2 80.5678 10 89.2976 10C98.0273 10 98.0273 2 106.766 2C115.504 2 115.496 10 124.225 10C132.955 10 132.955 2 141.685 2C150.415 2 150.415 10 159.144 10C167.874 10 167.874 2 176.604 2C185.334 2 185.334 10 194.072 10C202.811 10 202.802 2 211.532 2C220.261 2 220.261 10 229 10" stroke="${this.getAttribute("data-highlighted-underline-color")}" stroke-width="${e}" stroke-miterlimit="10" stroke-linecap="round"/>
13    </svg>`}createLineSVGTemplate(){var e="bold"===this.getAttribute("data-highlighted-underline-thickness")?6:4;return`<svg class="p-absolute left-0 w-100" xmlns="http://www.w3.org/2000/svg" width="100%" height="10" viewBox="0 0 231 10" preserveAspectRatio="none" fill="none">
14      <path d="M2 8C57.2517 4.79802 181.352 1.27584 229 2.1297" stroke="${this.getAttribute("data-highlighted-underline-color")}" stroke-width="${e}" stroke-linecap="round"/>
15    </svg>`}initObservers(){this._observer=new MutationObserver(this.handleMutation.bind(this)),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0}),this._resizeObserver=new ResizeObserver(this.throttle(this.handleResize.bind(this))),window.addEventListener("resize",this.throttle(this.handleResize.bind(this)))}connectedCallback(){this.update(),this._resizeObserver.observe(this),requestAnimationFrame(()=>this.handleResize())}disconnectedCallback(){this._observer.disconnect(),this._resizeObserver.unobserve(this),window.removeEventListener("resize",this.handleResize.bind(this))}update(e=!1){!this._requireUpdate&&!e||"wave"!==(e=this.getAttribute("data-highlighted-underline-style"))&&"line"!==e||(this._observer.disconnect(),this.updateUnderlines(),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0}),this._requireUpdate=!1,this.classList.add("is-updated"))}updateUnderlines(){this.shadowRoot.innerHTML="<slot></slot>",this.querySelectorAll(".highlighted-word").forEach(e=>{e.querySelector(".js-highlighted-underline")?.remove(),this.addUnderline(e)})}addUnderline(e){var t=document.createElement("span"),s=(t.classList.add("js-highlighted-underline"),this.getAttribute("data-highlighted-underline-style"));t.innerHTML="wave"===s?this.svgWaveTemplate:this.svgLineTemplate,e.appendChild(t)}handleMutation(){requestAnimationFrame(()=>this.handleResize())}handleResize(){var e=this.getAttribute("data-highlighted-underline-style");"wave"!==e&&"line"!==e||(this._observer.disconnect(),this.querySelectorAll(".highlighted-word").forEach(e=>{this.handleWordResize(e)}),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0}))}handleWordResize(n){n.querySelectorAll(".js-highlighted-underline").forEach(e=>e.remove());var e=n.textContent.trim();let o=e.split(/\s+/);if(1===o.length)n.innerHTML=e,this.addUnderline(n);else{n.innerHTML="",o.forEach((e,t)=>{var s=document.createElement("span");s.classList.add("word-wrapper"),s.style.cssText="display: inline-block; position: relative;",s.textContent=e,n.appendChild(s),t<o.length-1&&n.appendChild(document.createTextNode(" "))});var t=n.querySelectorAll(".word-wrapper");let s=Array.from(t).map(e=>({text:e.textContent,offsetTop:Math.round(e.offsetTop)})),i=[],r=[],a=s[0]?.offsetTop;s.forEach((e,t)=>{e.offsetTop===a?r.push(e.text):(i.push(r.join(" ")),r=[e.text],a=e.offsetTop),t===s.length-1&&i.push(r.join(" "))}),n.innerHTML="",1===i.length?(n.textContent=e,this.addUnderline(n)):i.forEach((e,t)=>{var s=document.createElement("span");s.classList.add("line-wrapper"),s.style.cssText="display: inline-block; position: relative;",s.textContent=e,this.addUnderline(s),n.appendChild(s),t<i.length-1&&n.appendChild(document.createTextNode(" "))})}}}customElements.define("sht-split-line",SHTSplitLine);class SHTHighlightHeader extends HTMLElement{constructor(){super(),this.svgUnderlineTemplate=this.createUnderlineSVGTemplate(),this.svgCircleTemplate=this.createCircleSvgTemplate(),this.svgGlowingStarsTemplate=this.createGlowingStarsSVGTemplate(),this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML="<slot></slot>",this.throttle=(t,s=100)=>{let i;return function(...e){i||(t.apply(this,e),i=!0,setTimeout(()=>i=!1,s))}},this.initObservers()}createUnderlineSVGTemplate(){return`
16      <svg xmlns="http://www.w3.org/2000/svg" class="p-absolute left-0 bottom-0 w-100" viewB
16ox="0 0 86 45" preserveAspectRatio="none" fill="none">
17        <path d="M8.34952 44C25.2173 40.798 63.1041 37.2758 77.6505 38.1297" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
18      </svg>
19    `}createCircleSvgTemplate(){return`
20      <svg xmlns="http://www.w3.org/2000/svg" class="p-absolute left-0 bottom-0 w-100" part="shape circle-shape" preserveAspectRatio="none" viewBox="0 0 100 47" fill="none">
21        <path part="path" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M48.8293 6.35275C29.44 7.31145 -7.23365 15.5152 2.66416 32.4431C15.0364 53.6029 87.9596 47.1492 96.6564 32.4431C107.641 13.8687 79.4829 -3.91904 23.3461 2.24403"/>
22      </svg>
23    `}createGlowingStarsSVGTemplate(){return`
24      <svg xmlns="http://www.w3.org/2000/svg" class="p-absolute left-0" width="9" height="9" viewBox="0 0 9 9" fill="none">
25        <path d="M4.5 0L4.59839 0.265902C5.30739 2.18194 6.81806 3.69261 8.7341 4.40161L9 4.5L8.7341 4.59839C6.81806 5.30739 5.30739 6.81806 4.59839 8.7341L4.5 9L4.40161 8.7341C3.69261 6.81806 2.18194 5.30739 0.265902 4.59839L0 4.5L0.265901 4.40161C2.18194 3.69261 3.69261 2.18194 4.40161 0.265901L4.5 0Z" fill="currentColor"/>
26      </svg>
27      <svg xmlns="http://www.w3.org/2000/svg" class="p-absolute star-right" width="17" height="18" viewBox="0 0 17 18" fill="none">
28        <path d="M6.5 0L7.13857 1.72572C7.84757 3.64175 9.35825 5.15243 11.2743 5.86143L13 6.5L11.2743 7.13857C9.35825 7.84757 7.84757 9.35825 7.13857 11.2743L6.5 13L5.86143 11.2743C5.15243 9.35824 3.64175 7.84757 1.72572 7.13857L0 6.5L1.72572 5.86143C3.64175 5.15243 5.15243 3.64175 5.86143 1.72572L6.5 0Z" fill="currentColor"/>
29        <path d="M13.5 11L13.5765 11.2068C14.128 12.6971 15.3029 13.872 16.7932 14.4235L17 14.5L16.7932 14.5765C15.3029 15.128 14.128 16.3029 13.5765 17.7932L13.5 18L13.4235 17.7932C12.872 16.3029 11.6971 15.128 10.2068 14.5765L10 14.5L10.2068 14.4235C11.6971 13.872 12.872 12.6971 13.4235 11.2068L13.5 11Z" fill="currentColor"/>
30      </svg>
31    `}initObservers(){this._observer=new MutationObserver(this.handleMutation.bind(this)),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0}),this._resizeObserver=new ResizeObserver(this.throttle(this.handleResize.bind(this))),window.addEventListener("resize",this.throttle(this.handleResize.bind(this)))}connectedCallback(){this.update(),this._resizeObserver.observe(this),requestAnimationFrame(()=>{this.handleResize()})}disconnectedCallback(){this._observer.disconnect(),this._resizeObserver.unobserve(this),window.removeEventListener("resize",this.handleResize.bind(this))}initIntersectionObserver(){let t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("visible"),setTimeout(()=>{e.target.querySelectorAll("svg").forEach(e=>{e.classList.add("visible")})},500))})},{threshold:.1});this.querySelectorAll(".highlighted-word").forEach(e=>t.observe(e))}update(e=!1){(this._requireUpdate||e)&&(this._observer.disconnect(),this.updateHeaderHighlight(),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0}),this._requireUpdate=!1,this.classList.add("is-updated"))}updateHeaderHighlight(){this.shadowRoot.innerHTML="<slot></slot>",this.querySelectorAll(".highlighted-word").forEach(e=>{e.querySelector(".js-highlighted-underline")?.remove(),this.addUnderline(e)})}addUnderline(e){var t=document.createElement("span"),s=(t.classList.add("js-highlighted-underline"),this.getAttribute("effect"));switch(s){case"underline":t.innerHTML=this.svgUnderlineTemplate;break;case"circle":t.innerHTML=this.svgCircleTemplate;break;case"glowing_stars":t.innerHTML=this.svgGlowingStarsTemplate;break;default:t.innerHTML=""}e.appendChild(t)}handleMutation(){requestAnimationFrame(()=>this.handleResize())}handleResize(){this.initIntersectionObserver(),this._observer.disconnect(),this.querySelectorAll(".highlighted-word").forEach(e=>{this.handleWordResize(e)}),this._observer.observe(this,{characterData:!0,childList:!0,subtree:!0})}handleWordResize(n){n.querySelectorAll(".js-highlighted-underline").forEach(e=>e.remove());var e=n.textContent.trim();let o=e.split(/\s+/);if(1===o.length)n.innerHTML=e,this.addUnderline(n);else{n.innerHTML="",o.forEach((e,t)=>{var s=document.createElement("span");s.classList.add("word-wrapper"),s.style.cssText="display: inline-block; position: relative;",s.textContent=e,n.appendChild(s),t<o.length-1&&n.appendChild(document.createTextNode(" "))});var t=n.querySelectorAll(".word-wrapper");let s=Array.from(t).map(e=>({text:e.textContent,offsetTop:Math.round(e.offsetTop)})),i=[],r=[],a=s[0]?.offsetTop;
31s.forEach((e,t)=>{e.offsetTop===a?r.push(e.text):(i.push(r.join(" ")),r=[e.text],a=e.offsetTop),t===s.length-1&&i.push(r.join(" "))}),n.innerHTML="",1===i.length?(n.textContent=e,this.addUnderline(n)):i.forEach((e,t)=>{var s=document.createElement("span");s.classList.add("line-wrapper"),s.style.cssText="display: inline-block; position: relative;",s.textContent=e,this.addUnderline(s),n.appendChild(s),t<i.length-1&&n.appendChild(document.createTextNode(" "))})}}}customElements.define("sht-highlight-header",SHTHighlightHeader);class SHTCartDiscount extends SHTCustomComponent{static ENTER_KEY="Enter";static CART_UPDATE_DELAY=500;static BIND_BUTTONS_DELAY=600;static ENDPOINTS={DISCOUNT:"/cart/update.js"};constructor(){super(),this.initializeProperties(),this.cacheElements(),this.initializeState()}initializeProperties(){this.sectionId=this.dataset.sectionId,this.isUpdating=!1,this.eventListeners=new Map,this.debounceTimers=new Map}cacheElements(){this.elements={formDiv:this.querySelector("[data-discount-form]"),input:null,errorContainer:this.querySelector("#cartDiscountError"),successContainer:this.querySelector("#cartDiscountSuccess"),errorShipping:null,errorDiscount:null,submitBtn:null,pillsContainer:this.querySelector(".js-discount-pills")},this.elements.formDiv&&(this.elements.input=this.elements.formDiv.querySelector(".js-discount-input"),this.elements.submitBtn=this.elements.formDiv.querySelector(".js-discount-submit")),this.elements.errorContainer&&(this.elements.errorShipping=this.elements.errorContainer.querySelector(".js-error-shipping"),this.elements.errorDiscount=this.elements.errorContainer.querySelector(".js-error-discount"))}initializeState(){this.boundHandlers={handleDiscountSubmit:this.handleDiscountSubmit.bind(this),handleKeydown:this.handleKeydown.bind(this),handleFormSubmit:this.handleFormSubmit.bind(this),handleCartUpdate:this.handleCartUpdate.bind(this),handleDOMReady:this.handleDOMReady.bind(this),handleRemoveClick:this.handleRemoveClick.bind(this)}}connectedCallback(){this.setupEventListeners(),this.bindRemoveButtons()}disconnectedCallback(){this.cleanup()}setupEventListeners(){this.setupFormEvents(),this.setupCartUpdateListener(),this.setupRemoveButtonsDelegation()}setupFormEvents(){var e;this.elements.formDiv&&!this.elements.formDiv.dataset.eventBound&&(this.elements.formDiv.dataset.eventBound="true",this.elements.submitBtn&&this.addEventListener(this.elements.submitBtn,"click",this.boundHandlers.handleDiscountSubmit),this.elements.input&&this.addEventListener(this.elements.input,"keydown",this.boundHandlers.handleKeydown),e=document.getElementById("cartForm"))&&this.addEventListener(e,"submit",this.boundHandlers.handleFormSubmit)}setupCartUpdateListener(){this.addEventListener(document,"cart:update",this.boundHandlers.handleCartUpdate),"loading"===document.readyState?this.addEventListener(document,"DOMContentLoaded",this.boundHandlers.handleDOMReady):this.boundHandlers.handleDOMReady()}setupRemoveButtonsDelegation(){this.elements.pillsContainer&&!this.elements.pillsContainer.dataset.delegationBound&&(this.elements.pillsContainer.dataset.delegationBound="true",this.addEventListener(this.elements.pillsContainer,"click",this.boundHandlers.handleRemoveClick))}addEventListener(e,t,s){e.addEventListener(t,s);var i=e.tagName+"-"+t;this.eventListeners.has(i)||this.eventListeners.set(i,[]),this.eventListeners.get(i).push({element:e,event:t,handler:s})}removeEventListener(t,e,s){t.removeEventListener(e,s);var i,e=t.tagName+"-"+e,e=this.eventListeners.get(e);e&&-1<(i=e.findIndex(e=>e.element===t&&e.handler===s))&&e.splice(i,1)}handleKeydown(e){e.key===SHTCartDiscount.ENTER_KEY&&(e.preventDefault(),this.handleDiscountSubmit(e))}handleFormSubmit(e){var t=document.activeElement;if(this.isDiscountInputActive(t))return e.preventDefault(),this.handleDiscountSubmit(e),!1}handleCartUpdate(e){"discount"===e.detail?.source&&this.debounceBindRemoveButtons()}handleDOMReady(){this.debounce("dom-ready",()=>this.bindRemoveButtons(),100)}handleRemoveClick(e){var t=e.target.closest(".js-remove-discount");t&&(e.preventDefault(),e.stopPropagation(),this.hideMessages(),e=t.dataset.removeDiscount)&&this.processDiscountRemoval(e)}debounce(e,t,s){this.debounceTimers.has(e)&&clearTimeout(this.debounceTimers.get(e));s=setTimeout(()=>{t(),this.debounceTimers.delete(e)},s);this.debounceTimers.set(e,s)}debounceBindRemoveButtons(){this.debounce("bind-buttons",()=>this.bindRemoveButtons(),SHTCartDiscount.BIND_BUTTONS_DELAY)}isDiscountInputActive(e){return"discount"===e?.name&&e.closest("[data-discount-form]")}bindRemoveButtons(){var e=document.querySelectorAll(".js-remove-discount:not([data-event-bound-remove])");
310!==e.length&&e.forEach(e=>{this.addEventListener(e,"click",e=>this.handleDiscountRemove(e)),e.dataset.eventBoundRemove="true"})}async handleDiscountSubmit(e){e.preventDefault(),e.stopPropagation();e=this.getDiscountCodeFromInput();e&&await this.processDiscountApplication(e)}async handleDiscountRemove(e){e.preventDefault(),e.stopPropagation(),this.hideMessages();e=e.currentTarget.dataset.removeDiscount;e&&await this.processDiscountRemoval(e)}getDiscountCodeFromInput(){return this.elements.input?.value.trim()||""}async processDiscountApplication(e){this.setLoading(!0),this.hideMessages();try{var t,s,i,r=this.getExistingDiscountCodes(),a=await this.applyDiscount(e);a.ok?(s=await a.json(),(i=this.validateDiscountResponse(s,r,e)).isValid?this.handleSuccessfulDiscount():(this.clearInput(),this.showError(i.errorType))):(t=await a.json(),this.showError(t.description||"discount_code"))}catch(e){console.error("Error applying discount:",e),this.showError("general")}finally{this.setLoading(!1)}}async processDiscountRemoval(t){this.setLoading(!0),this.hideMessages();try{var e=this.getExistingDiscountCodes().filter(e=>e!==t);(await this.sendDiscountUpdateRequest(e)).ok&&this.updateCartDrawer()}catch(e){console.error("Error removing discount:",e)}finally{this.setLoading(!1)}}validateDiscountResponse(e,t,s){return this.isDiscountNotApplicable(e,s)?{isValid:!1,errorType:"discount_code"}:this.isShippingOnlyDiscount(e,t,s)?{isValid:!1,errorType:"shipping"}:{isValid:!0}}isDiscountNotApplicable(e,t){return e.discount_codes?.some(e=>e.code===t&&!1===e.applicable)}isShippingOnlyDiscount(e,t,s){var i;return!!e.sections?.[this.sectionId]&&(i=this.extractDiscountCodesFromHTML(e.sections[this.sectionId]),this.isDiscountAlreadyAppliedButNotVisible(i,t,e.discount_codes,s))}extractDiscountCodesFromHTML(e){e=(new DOMParser).parseFromString(e,"text/html").getElementById("shopify-section-"+this.sectionId);return e?Array.from(e.querySelectorAll("[data-discount-code]")).map(e=>
31e.dataset.discountCode).filter(Boolean):[]}isDiscountAlreadyAppliedButNotVisible(e,t,s,i){e=e.length===t.length&&e.every(e=>t.includes(e)),s=s?.some(e=>e.code===i&&!0===e.applicable);return e&&s}async applyDiscount(e){e=[...this.getExistingDiscountCodes(),e];return this.sendDiscountUpdateRequest(e)}async sendDiscountUpdateRequest(e){return fetch(SHTCartDiscount.ENDPOINTS.DISCOUNT,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({discount:e.join(","),sections:this.sectionId})})}getExistingDiscountCodes(){return Array.from(this.querySelectorAll("[data-discount-code]")).map(e=>e.dataset.discountCode).filter(Boolean)}handleSuccessfulDiscount(){this.clearInput(),this.showSuccess(),this.updateCartDrawer()}clearInput(){this.elements.input&&(this.elements.input.value="")}updateCartDrawer(){this.isUpdating||(this.isUpdating=!0,this.dispatchCartUpdateEvent(),this.debounce("cart-update",()=>{this.bindRemoveButtons(),this.isUpdating=!1},SHTCartDiscount.CART_UPDATE_DELAY))}dispatchCartUpdateEvent(){document.dispatchEvent(new CustomEvent("cart:update",{detail:{source:"discount",timestamp:Date.now()}}))}hideMessages(){this.hideError(),this.hideSuccess()}showSuccess(){this.elements.successContainer&&(this.hideError(),this.elements.successContainer.classList.remove("d-none-important"))}hideSuccess(){this.elements.successContainer?.classList.add("d-none-important")}showError(e){this.elements.errorContainer&&(this.hideSuccess(),this.elements.errorContainer.classList.remove("d-none-important"),this.toggleErrorTypes(e))}toggleErrorTypes(e){e="shipping"===e;this.elements.errorShipping?.classList.toggle("d-none-important",!e),this.elements.errorDiscount?.classList.toggle("d-none-important",e)}hideError(){this.elements.errorContainer?.classList.add("d-none-important")}setLoading(e){this.toggleAttribute("loading",e),this.elements.formDiv?.classList.toggle("loading",e),this.elements.submitBtn?.toggleAttribute("disabled",e)}cleanup(){this.debounceTimers.forEach(e=>clearTimeout(e)),this.debounceTimers.clear(),this.eventListeners.forEach(e=>{e.forEach(({element:e,event:t,handler:s})=>{e.removeEventListener(t,s)})}),this.eventListeners.clear()}}customElements.define("sht-cart-discount",SHTCartDiscount);class SHTCartDrawerToggle{constructor(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>this.init()):this.init()}init(){var e=document.getElementById("shtCartDrawer");if(e){let t=e.querySelector(".js-cart-order-notes-details"),s=e.querySelector(".js-cart-discount-details");t&&s&&e.addEventListener("click",e=>{e=e.target;e.closest(".js-cart-discount-details summary")?t.open&&(t.open=!1):e.closest(".js-cart-order-notes-details summary")&&s.open&&(s.open=!1)})}}}
31new SHTCartDrawerToggle;

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.