1String.prototype.parse=function(t){const e=(new DOMParser).parseFromString(this,"text/html");return t?e.querySelector(t):e.body.firstElementChild},Element.prototype.trigger=window.trigger=function(t,e=null){const i=null==e?new Event(t):new CustomEvent(t,{detail:e});this.dispatchEvent(i)},Element.prototype.on=document.on=window.on=function(t,e,i){return this.namespaces||(this.namespaces=new Map),t.split(" ").forEach(t=>{this.namespaces.set(t,e),this.addEventListener(t.split(".")[0],e,i)}),this},Element.prototype.off=document.off=window.off=function(t){if(this.namespaces)return t.split(" ").forEach(t=>{this.removeEventListener(t.split(".")[0],this.namespaces.get(t)),this.namespaces.delete(t)}),this},Element.prototype.index=function(){return[...this.parentNode.children].indexOf(this)},Element.prototype.offset=function(){const t=this.getBoundingClientRect();return{top:t.top+window.scrollY,left:t.left+window.pageXOffset}},Element.prototype.setStyles=function(t={}){for(const e in t)this.style[e]=t[e];return this},Element.prototype.remove=function(){return this.parentNode&&this.parentNode.removeChild(this)},NodeList.prototype.on=Array.prototype.on=function(t,e,i){this.forEach(s=>{s.namespaces||(s.namespaces=new Map),t.split(" ").forEach(t=>{s.namespaces.set(t,e),s.addEventListener(t.split(".")[0],e,i)})})},NodeList.prototype.off=Array.prototype.off=function(t){this.forEach(e=>{e.namespaces&&t.split(" ").forEach(t=>{e.removeEventListener(t.split(".")[0],e.namespaces.get(t)),e.namespaces.delete(t)})})},NodeList.prototype.not=Array.prototype.not=function(t){const e=[];t instanceof HTMLElement&&(t=[t]);const i=new Set([...t]);return this.forEach(t=>{i.has(t)||e.push(t)}),e};class SizeQueries{static medium_screen=document.querySelector(".layout--sidebar")?640:768;static large_screen=1024;constructor(t,e){this.element=e,this.id=t,this.size="small",this.loaded=!1,this.init()}init(){new ResizeObserver(()=>this.updateScreenSize()).observe("window"===this.id?document.body:this.element)}updateScreenSize(){const t=this.size,e="window"===this.id?window.innerWidth:this.element.clientWidth;e>=SizeQueries.large_screen?this.size="large":e>=SizeQueries.medium_screen?this.size="medium":this.size="small",this.loaded?this.size!==t&&this.element.trigger("theme:mqs:updated"):this.loaded=!0}static init(){[window,HTMLElement.prototype].forEach(t=>{Object.defineProperty(t,"sizeQuery",{get(){return this._sizeQuery?this._sizeQuery.size:"small"},set(t){this._sizeQuery||(this._sizeQuery=new SizeQueries(t,this))}})}),window.sizeQuery="window"}}SizeQueries.init();export class Utils{static disable_prevent_scroll=!1;static disable_swipe_listener=!1;static scripts=new Map;static links=new Map;static areNumericStrings(...t){return t.every(t=>/^[0-9]+$/.test(t))}static isValidEmail(t){return/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(t)}static loadScript(t,e,i,s){if(this.scripts.has(t))i&&"requested"===this.scripts.get(t)?window.on(`theme:${t}:loaded`,i):i&&"loaded"===this.scripts.get(t)&&i();else{this.scripts.set(t,"requested");const o=document.createElement("script");o.src=e,s&&(o.type=s),o.setAttribute("data-name",t),o.onload=()=>{this.scripts.set(t,"loaded"),i&&i(),window.trigger(`theme:${t}:loaded`)},document.body?document.body.appendChild(o):document.head.appendChild(o)}}static removeScript(t){const e=document.querySelector(`script[data-name="${t}"]`);e?.remove(),this.scripts.delete(t)}static loadLink(t,e,i,s){if(this.links.has(t))return;const o=document.createElement("link");o.rel=e,o.href=t,s&&(o.as=s),i&&(o.fetchPriority=i),document.head.appendChild(o),this.links.set(t,o)}static getStickyOffset(){let t=getComputedStyle(document.documentElement).getPropertyValue("--sticky-offset").trim();return t=t.replace(/^calc\(|\)$/g,"").replace(/px/g,"").trim().split(/\s*[\+\-\*]\s*/),parseFloat(t[0])*parseInt(t[1],10)+parseFloat(t[2])*parseInt(t[3],10)}static getQuantity(t,{id:e,management:i,policy:s,quantity:o},a){if("shopify"!==i||"continue"===s)return a;const r=Cart.basket.get(e)||0;let n=parseInt(o)-r;if(n<=0)n=0,window.trigger(`theme:product:${t}:updateQuantity`,1);else{if(!(a>n))return a;window.trigger(`theme:product:${t}:updateQuantity`,n)}return window.trigger("theme:feedback:trigger",{type:"quantity",value:n}),!1}static loadAllTransitions(){[...document.querySelectorAll("[data-transition-container]")].map(t=>new Transition(t))}static updateRecentProducts(t){const e=`${Shopify.theme.name}:recent_products`,i=document.querySelector(".layout--viewport"),s=parseInt(i?.getAttribute("data-product-storage")||"4");let o=JSON.parse(localStorage.getItem(e)||"[]"),a=new Set(o);if(!a.has(t)){if(a.size>=s){const t=o.shift();a.delete(t)}a.add(t),o.push(t),localStorage.setItem(e,JSON.stringify(o))}}static arraysEqual(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==e[i])return!1;return!0}}class Transition{static observers=new Map;static items=new WeakMap;constructor(t){this.container=t,this.observed_items=new Set,this.name=this.container.getAttribute("data-transition-container"),""!==this.name&&(this.initItems(),this.addListeners())}initItems(){this.cascade=this.container.getAttribute("data-transition-cascade"),"horizontal"===this.cascade&&(this.column_counter=0),this.interval=parseInt(this.container.getAttribute("data-transition-cascade-interval")),this.reset=null!==this.container.getAttribute("data-transition-reset"),this.trigger=this.container.getAttribute("data-transition-trigger"),this.items=this.findItems(),this.items.forEac
1h((t,e)=>this.configureItem(t,e))}findItems(){return[...document.querySelectorAll(`[data-transition-item="${this.name}"]`)].filter(t=>!("small"===window.sizeQuery&&"medium-large"===t.dataset.mq||"small"!==window.sizeQuery&&"small"===t.dataset.mq))}configureItem(t,e){const i=t.getAttribute("data-transition-cascade")||this.cascade,s=t.getAttribute("data-transition-cascade-interval"),o=s?parseInt(s):this.interval,a=t.getAttribute("data-transition-trigger")||this.trigger;if(i&&this.addItemCascade(e,i,o),null!==a&&isNaN(parseInt(a)))return;const r=null!==this.items[e].getAttribute("data-transition-reset")||this.reset;this.addItemObserver(e,r,null===a?.4:parseInt(a)/100)}addItemCascade(t,e,i){const s=null!==this.items[t].getAttribute("data-transition-cropper")?this.items[t].children[0]:this.items[t];if("horizontal"===e){const e=this.items[t].offsetTop,o=t>0?this.items[t-1].offsetTop:e;this.column_counter=t>0&&e===o?this.column_counter+1:0,s.style.setProperty("--transition--delay",this.column_counter*i+"ms")}else"vertical"===e&&s.style.setProperty("--transition--delay",t*i+"ms")}addItemObserver(t,e,i){const s=this.items[t],o={threshold:i,reset:e,cascade:this.cascade};Transition.observe(s,o,this),this.observed_items.add(s)}setItemState(t,e){t.setAttribute("data-transition-active",e),t.off("transitionend"),t.on("transitionend",()=>t.setAttribute("data-transition-finished",e),{once:!0})}addListeners(){window.off(`theme:transition:reload:${this.name}`),window.on(`theme:transition:reload:${this.name}`,()=>{this.destroy(),requestAnimationFrame(()=>{const t=document.querySelector(`[data-transition-container="${this.name}"]`);t&&new Transition(t)})}),window.off(`theme:transition:reset:${this.name}`),window.on(`theme:transition:reset:${this.name}`,()=>this.resetItems()),window.off(`theme:transition:remove:${this.name}`),window.on(`theme:transition:remove:${this.name}`,()=>{this.destroy()}),window.off(`theme:mqs:updated.Transition${this.name}`),window.on(`theme:mqs:updated.Transition${this.name}`,()=>{this.destroy(),this.initItems()})}resetItems(){this.items.forEach(t=>{t.setAttribute("data-transition-active",!1),t.setAttribute("data-transition-finished",!1)})}destroy(){this.observed_items.forEach(t=>Transition.unobserve(t)),this.observed_items.clear(),this.resetItems()}static observe(t,e,i){const s=`${e.threshold}-${e.reset}-${!!e.cascade}`;Transition.observers.has(s)||Transition.observers.set(s,{observer:Transition.createObserver(e),elements:new Set});const o=Transition.observers.get(s);Transition.items.set(t,{transition:i,config:e}),o.elements.add(t),o.observer.observe(t)}static unobserve(t){const e=Transition.items.get(t);if(!e)return;const{config:i}=e,s=`${i.threshold}-${i.reset}-${!!i.cascade}`,o=Transition.observers.get(s);o&&(o.observer.unobserve(t),o.elements.delete(t),0===o.elements.size&&(o.observer.disconnect(),Transition.observers.delete(s))),Transition.items.delete(t)}static createObserver(t){return new IntersectionObserver(e=>{e.forEach(({target:e,isIntersecting:i})=>{const s=Transition.items.get(e);if(!s)return;const{transition:o}=s;i?t.cascade?o.items.forEach(t=>o.setItemState(t,!0)):o.setItemState(e,!0):t.reset&&o.setItemState(e,!1)})},{threshold:t.threshold})}}export class Drawer extends HTMLElement{static status="closed";static disable_swipe_listener=!1;constructor(){super()}connectedCallback(){this.close_button=document.querySelector(".layout--navigation > .layout--close"),this.focus_start=this.querySelector(".drawer--focus-start"),this.focus_triggers=this.querySelectorAll(".drawer--focus-trigger"),this.overlay=this.querySelector(".drawer--overlay"),this.viewport=this.parentElement,this.state={},this.load(),this.addListeners()}load(){this.loadTriggers(),this.touchListener(),Shopify.designMode&&this.addEditorListener()}addListeners(){window.on("theme:drawer:close",()=>this.close()),window.on("theme:drawer:open",({detail:{side:t,view:e,trigger:i}})=>{this.open(t,e,i)}),window.on("theme:drawer:loadTriggers",()=>this.loadTriggers())}loadTriggers(){this.close_triggers=document.querySelectorAll("[data-drawer-close]"),this.open_triggers=document.querySelectorAll("[data-drawer-open]"),this.closeListeners(),this.toggleListeners()}closeListeners(){this.focus_triggers.off("focus"),this.focus_triggers.on("focus",()=>this.close()),window.off("keydown.Drawer"),window.on("keydown.Drawer",t=>{"Escape"===t.key&&"closed"!==Drawer.status&&this.close()}),[...this.close_triggers,this.overlay].off("click.Drawer keydown.Drawer"),[...this.close_triggers,this.overlay].on("click.Drawer keydown.Drawer",({key:t,type:e})=>{"keydown"===e&&"Enter"!==t||this.close()})}toggleListeners(){this.open_triggers.off("click.Drawer keydown.Drawer"),this.open_triggers.on("click.Drawer keydown.Drawer",t=>{if("keydown"===t.type&&"Enter"!==t.key)return;const e=t.target.getAttribute("data-drawer-open"),i=t.target.getAttribute("data-drawer-view");this.open(e,i,t.target),t.preventDefault(),t.stopPropagation()})}toggle(t){Drawer.status=t,this.viewport.setAttribute("data-drawer-status",t),"opening"===t?this.opening():"closing"===t?this.closing():"opened"===t?this.opened():"closed"===t&&this.closed(),window.trigger(`theme:drawer:${this.state.side}:${t}`)}open(t,e,i){if(Drawer.status.includes("open")&&t!=this.state.side)return this.pending_open=[t,e,i],void this.close();this.pending_open=null,this.state={active:this.querySelector(`.drawer--side[data-side=${t}]`),side:t,trigger:i,view:e},this.viewport.setAttribute("data-drawer-view",e),this.viewport.setAttribute("data-drawer-side",t),"opened"!=Drawer.status&&this.toggle("opening")}opening(){requestAnimationFrame(()=>{this.state.active.setAttribute("aria-expanded",!0),this.overlay.setAttribute("aria-hidden",!1),this.scrollToTop(),"top"!==this.state.side&&this.toggleCloseButton(!0),this.state.active.on("transitionend",()=>this.toggle("opened"),{once:!0})})}opened(){const t=document.getElementById(this.state.active.getAttribute("data-focus-id"));
1t?t.focus():this.focus_start.focus()}close(){Drawer.status.includes("clos")||this.toggle("closing")}closing(){this.overlay.setAttribute("aria-hidden",!0),"top"!=this.state.side&&this.toggleCloseButton(!1),this.state.active.setAttribute("aria-expanded",!1),this.state.active.on("transitionend",()=>this.toggle("closed"),{once:!0}),this.state.trigger&&this.state.trigger.focus(),window.trigger(`theme:transition:reset:${this.state.view}`)}closed(){this.viewport.removeAttribute("data-drawer-view"),this.viewport.removeAttribute("data-drawer-side"),this.pending_open&&this.open(...this.pending_open)}scrollToTop(){const t=this.state.active.querySelector("[data-drawer-scroll-container]");t?t.scrollTo(0,0):this.state.active.scrollTo(0,0)}toggleCloseButton(t){this.close_button.setAttribute("aria-hidden",!t),t?this.close_button.on("click.Drawer keydown.Drawer",({key:t,type:e})=>{"keydown"===e&&"Enter"!==t||this.close()}):this.close_button.off("click.Drawer keydown.Drawer")}touchListener(){window.matchMedia("(pointer: coarse)").matches&&(window.on("theme:swipe:left",()=>{Drawer.disable_swipe_listener||"left"!==this.state.side||"opened"!=Drawer.status||this.close()}),window.on("theme:swipe:right",()=>{Drawer.disable_swipe_listener||"right"!==this.state.side||"opened"!=Drawer.status||this.close()}))}addEditorListener(){window.on("shopify:section:load",()=>this.loadTriggers())}static open(t,e,i){window.trigger("theme:drawer:open",{side:t,view:e,trigger:i})}static close(){window.trigger("theme:drawer:close")}}customElements.define("drawer-element",Drawer);export class Cart extends HTMLElement{static basket=new Map;static sections=window.location.pathname===Shopify.routes.cart?["cart-drawer","cart-desktop","cart-mobile"]:["cart-drawer"];constructor(){super()}connectedCallback(){this.abort_controllers=new Map,this.checkout_button=this.querySelector(".cart--button"),this.note=this.querySelector(".cart--notes--textarea"),this.view=this.dataset.view,this.toggleLoadingOnSubmit(),this.addUpdateHtmlListener(),this.addRefreshListener(),this.note&&this.addNoteListeners(),"drawer"===this.view&&(this.summary=this.querySelector(".cart--summary"),new ResizeObserver(()=>{requestAnimationFrame(()=>this.updateSummaryHeight())}).observe(this))}toggleLoadingOnSubmit(){this.checkout_button.on("click",()=>this.checkout_button.setAttribute("aria-busy",!0)),window.on("pagehide",t=>{t.persisted&&this.checkout_button.setAttribute("aria-busy",!1)})}addUpdateHtmlListener(){window.on(`theme:cart:${this.view}:updateHtml`,({detail:{section:t,load_transitions:e}})=>{t&&(this.swapInNewContent(t.parse(".cart--form")),"drawer"===this.view&&this.updateSummaryHeight(),this.toggleLoadingDisplay(!0),e&&window.trigger(`theme:transition:reload:cart-${this.view}`),window.trigger("theme:cart:updated",this))})}addRefreshListener(){window.on("theme:cart:refresh",async()=>{const t={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sections:[`cart-${this.view}`]})},e=await fetch(`${Shopify.routes.cart_update}.js`,t);if(!e.ok)throw new Error(e.statusText);{const{sections:t}=await e.json();Cart.updateAllHtml(t,!1)}})}addNoteListeners(){this.note.on("input",()=>{this.updateNote(this.note.value),window.trigger("theme:cart:noteUpdated",{source:this.view,note:this.note.value})}
1),window.on("theme:cart:noteUpdated",({detail:{source:t,note:e}})=>{t!==this.view&&(this.note.value=e)})}async updateNote(t){const e=this.abort_controllers.get("note");e&&e.abort();const i=new AbortController;this.abort_controllers.set("note",i);try{await fetch(`${Shopify.routes.cart_update}.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({note:t}),signal:i.signal})}catch{}}toggleLoadingDisplay(t,e){if(!t&&e){const t=this.querySelector(`.cart--item[data-line-num='${e}'] input`);t&&t.setAttribute("aria-busy",!0)}t?this.checkout_button.removeAttribute("disabled"):this.checkout_button.setAttribute("disabled","disabled")}async tryToUpdateQuantity(t,e){this.toggleLoadingDisplay(!1,t);try{!(await this.updateQuantity(t,e))&&0!==e&&this.showQuantityError(t)}catch{}}showQuantityError(t){const e=this.querySelector(`.cart--item[data-line-num='${t}']`);e&&e.querySelector(".cart--error").setAttribute("aria-hidden",!1)}async updateQuantity(t,e){const i=this.abort_controllers.get("line_num");i&&i.abort();const s=new AbortController;this.abort_controllers.set("line_num",s);const o=this.querySelector(`.cart--item[data-line-num='${t}']`),{management:a,policy:r,quantity:n}=o.dataset,l=parseInt(n),h=o.getAttribute("data-variant-id"),d=this.getOtherVariantQuantities(o,h);let c=e+d>l&&"shopify"===a&&"continue"!==r;c&&(e=l-d);try{const i=await fetch(`${Shopify.routes.cart_change}.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({line:t,quantity:e,sections:Cart.sections}),signal:s.signal});if(i.ok){const{items:t,item_count:e,sections:s}=await i.json();return Cart.fillBasket(t),Cart.updateTotals(e),Cart.updateAllHtml(s),!c}throw new Error(i.statusText)}catch{throw new Error("aborted")}}getOtherVariantQuantities(t,e){const i=this.querySelectorAll(`.cart--item[data-variant-id='${e}']`);let s=0;return i.not(t).forEach(t=>{const e=t.querySelector(".quantity-selector--input");s+=parseInt(e.value)}),s}updateSummaryHeight(){this.style.setProperty("--summary-height",`${this.summary.offsetHeight}px`)}swapInNewContent(t){const e=this.querySelector(".cart--body");let i=t.querySelector(".cart--body");const s=this.querySelector(".cart--shipping"),o=t.querySelector(".cart--shipping");s&&o&&this.updateShipping(s,o),i=this.swapInImages(e,i),e&&i&&e.replaceWith(i);const a=this.querySelector(".cart--totals"),r=t.querySelector(".cart--totals");a&&r&&a.replaceWith(r)}updateShipping(t,e){const i=e.querySelector(".cart--shipping-bar").style.getPropertyValue("--progress-percent");t.querySelector(".cart--shipping-bar").style.setProperty("--progress-percent",i);const s=e.querySelector(".cart--shipping-message");t.querySelector(".cart--shipping-message").textContent=s.textContent}swapInImages(t,e){const i=e.querySelectorAll(".cart--item");return 0!==i.length&&(i.forEach(e=>{const i=e.getAttribute("data-variant-id"),s=e.querySelector(".cart--item--image"),o=t.querySelector(`[data-variant-id='${i}'] .cart--item--image`);o&&s&&s.replaceWith(o)}),e)}static updateAllHtml(t,e){Object.entries(t).forEach(([t,i])=>{window.trigger(`theme:cart:${t.replace(/^cart-/,"")}:updateHtml`,{section:i,load_transitions:e})})}static async addItems(t={},e=!1){const i=await fetch(`${Shopify.routes.cart_add}.js`,t);if(!i.ok)throw new Error(i.statusText);{const{id:t,items:s,quantity:o,sections:a}=await i.json();s?s.forEach(({id:t,quantity:e})=>Cart.updateBasket(t,e)):t&&o&&Cart.updateBasket(t,o),e&&Cart.openDrawer(e),Cart.updateTotals([...Cart.basket.values()].reduce((t,e)=>t+e,0)),Cart.updateAllHtml(a,!0)}}static openDrawer(t){window.on("theme:cart:updated",()=>{requestAnimationFrame(()=>{window.trigger("theme:transition:reset:cart-drawer"),Drawer.open("right","cart-drawer",t)})},{once:!0})}static async fetchBasket(){const t=await fetch(`${Shopify.routes.cart}.js`);if(!t.ok)throw new Error(t.statusText);{const{items:e}=await t.json();Cart.fillBasket(e)}}static updateBasket(t,e){Cart.basket.set(t,e),window.trigger("theme:cart:productAdded",t)}static fillBasket(t){Cart.basket.clear(),t.forEach(({id:t,quantity:e})=>Cart.basket.set(t,e))}static updateTotals(t){document.querySelectorAll("[data-cart-count]").forEach(e
1=>{e.setAttribute("data-cart-count",t)});const e=document.querySelector(".layout--viewport");e?.setAttribute("data-cart-empty",0===t)}}customElements.define("cart-element",Cart);class Modal extends HTMLElement{static status="closed";static viewport=document.querySelector(".layout--viewport");static close_button=document.querySelector(".layout--navigation > .layout--close");static next_button=document.querySelector(".layout--next");static previous_button=document.querySelector(".layout--previous");constructor(){super(),this.blocking=null!==this.dataset.blocking&&this.dataset.blocking,this.blocking?this.local_storage_name=`${Shopify.theme.name}:${this.blocking}`:Modal.viewport.appendChild(this),this.close_buttons=this.querySelectorAll("[data-modal-close]"),this.focus_triggers=this.querySelectorAll(".modal--focus-trigger"),this.next_buttons=this.querySelectorAll('[data-modal-button="next"]'),this.previous_buttons=this.querySelectorAll('[data-modal-button="previous"]'),this.views=this.querySelectorAll(".modal--view"),this.trigger=document.querySelector("#a11y_skip"),this.state={active_index:0,previous_index:this.views.length-1,active_view:this.views[0],previous_view:this.views[this.views.length-1],disabled_click:!1}}connectedCallback(){this.blocking&&!Shopify.designMode&&(!window.localStorage||void 0===localStorage[this.local_storage_name])&&this.open(),this.triggerListeners()}disconnectedCallback(){this.close()}triggerListeners(){window.on(`theme:modal:open:${this.dataset.id}`,({detail:t})=>{const{delay:e,index:i}=t;isNaN(i)||this.toggleView(i,!1),"closed"!==Drawer.status&&Drawer.close(),isNaN(e)?this.open(this):setTimeout(()=>this.open(this),e)})}updateStatus(t){Modal.status=t,Modal.viewport.setAttribute("data-modal-status",t)}open(t){"opened"!==Modal.status&&(t&&(this.trigger=t),Modal.viewport.setAttribute("data-modal-view",this.dataset.id),this.setAttribute("aria-hidden",!1),this.updateStatus("opened"),requestAnimationFrame(()=>{this.on("transitionend",()=>this.opened(),{once:!0}),this.setAttribute("data-transition-active",!0),!this.blocking&&Modal.toggleButtons(!0,this.views.length>1)}),this.addListeners())}opened(){const t=document.getElementById(this.getAttribute("data-focus-id"));t?t.focus():Modal.close_button.focus()}addListeners(){(this.next_buttons.length?this.next_buttons:Modal.next_button).on(`click.${this.dataset.id}-modal`,()=>{this.state.disabled_click||this.toggleView("next")}),(this.close_buttons.length?this.close_buttons:Modal.close_button).on(`click.${this.dataset.id}-modal`,()=>{this.state.disabled_click||this.close()}),(this.previous_buttons.length?this.previous_buttons:Modal.previous_button).on(`click.${this.dataset.id}-modal`,()=>{this.state.disabled_click||this.toggleView("previous")}),this.blocking||(window.on(`keydown.${this.dataset.id}-modal`,({key:t})=>{if(this.state.disabled_click)return;const e=this.views.length>1&&!this.blocking;"Escape"===t?this.close():"ArrowLeft"===t?e&&this.toggleView("previous"):"ArrowRight"===t&&e&&this.toggleView("next")}),this.on(`click.${this.dataset.id}-modal`,({target:t})=>{this.state.disabled_click||t===this&&this.close()}),this.focus_triggers.length&&this.focus_triggers.on(`focus.${this.dataset.id}-modal`,()=>{this.state.disabled_click||this.close()}))}close(){"closed"===Modal.status||this.state.disabled_click||(this.on("transitionend",()=>this.closed(),{once:!0}),!Shopify.designMode&&this.trigger&&this.trigger.focus(),this.setAttribute("data-transition-type","fade-out"),this.updateStatus("closed"),this.blocking?localStorage[this.local_storage_name]="true":Modal.toggleButtons(!1),this.removeListeners())}closed(){this.setAttribute("data-transition-type","fade-in"),this.setAttribute("data-transition-active",!1),this.setAttribute("aria-hidden",!0)}removeListeners(){const t=this.next_buttons.length?this.next_buttons:Modal.next_button,e=this.close_buttons.length?this.close_buttons:Modal.close_button;[t,this.previous_buttons.length?this.previous_buttons:Modal.previous_button,e].off(`click.${this.dataset.id}-modal`),this.blocking||(window.off(`keydown.${this.dataset.id}-modal`),this.off(`click.${this.dataset.id}-modal`),this.focus_triggers.length&&this.focus_triggers.off(`focus.${this.dataset.id}-modal`))}toggleView(t){if(this.state.disabled_click)return;let e=!0;"next"===t?this.updateView(this.state.active_index+1,!0):"previous"===t?this.updateView(this.state.active_index-1):isNaN(t)||(this.updateView(t,!0),e=!1),e?(this.state.previous_view.on("transitionend",()=>{this.state.active_view.setAttribute("data-transition-active",!0),this.state.previous_view.setAttribute("data-transition-type","scale-in"),this.state.previous_view.setAttribute("data-transition-active",!1)},{once:!0}),this.state.active_view.on("transitionend",()=>{this.state.active_view.setAttribute("data-transition-active",!1),this.state.active_view.setAttribute("data-transition-type","scale-out"),this.state.disabled_click=!1},{once:!0}),this.state.disabled_click=!0,this.state.previous_view.setAttribute("data-transition-active",!0)):this.views.forEach(t=>{const e=t===this.state.active_view;t.setAttribute("data-transition-type",e?"scale-out":"scale-in"),t.setAttribute("data-transition-active",!1)})}updateView(t,e){t>this.views.length-1?(this.state.active_index=0,this.state.previous_index=this.views.length-1):t<0?(this.state.previous_index=0,this.state.active_index=this.views.length-1):0===t?(this.state.previous_index=e?this.views.length-1:1,this.state.active_index=t):(this.state.previous_index=this.state.active_index,this.state.active_index=t),this.state.active_view=this.views[this.state.active_index],this.state.previous_view=this.views[this.state.previous_index]}static toggleButtons(t,e=!1){Modal.close_button.setAttribute("aria-hidden",!t),[Modal.previous_button,Modal.next_button].forEac
1h(t=>t.setAttribute("aria-hidden",!e))}}customElements.define("modal-element",Modal);class ModalTrigger extends HTMLElement{constructor(){super()}connectedCallback(){const t=parseInt(this.getAttribute("data-delay")),e=parseInt(this.getAttribute("data-index")),i=this.dataset.id;this.on(`click.${i}-modal-trigger keydown.${i}-modal-trigger`,({type:s,key:o})=>{"keydown"===s&&"Enter"!==o||window.trigger(`theme:modal:open:${i}`,{delay:t,index:e})})}}customElements.define("modal-trigger",ModalTrigger);class General{constructor(){const t=Shopify.routes.libraries;console.info("%cBlockshop theme v13.0.1 by Troop Themes - Learn about our JS API here:\nhttps://support.troopthemes.com/guide/api-for-custom-code?utm_source=console&utm_medium=console",["background: green","color: white","font-weight: bold","padding: 2px"].join(";")),Utils.loadAllTransitions(),Utils.loadScript("theme_async",t.theme_async,null,"module"),Utils.loadScript("swipe_listener",t.swipe_listener,this.configureSwipeConfig),window.on("load",()=>{this.configureLinks(),this.addPrefetchListeners(),Cart.fetchBasket(),document.body.setAttribute("data-theme-loaded",!0)})}configureSwipeConfig(){if(!window.SwipeListener)return;Utils.disable_prevent_scroll=!1,Utils.disable_swipe_listener=!1;const t=document.querySelectorAll("input, textarea");t.on("focus",()=>Utils.disable_prevent_scroll=!0),t.on("blur",()=>Utils.disable_prevent_scroll=!1),SwipeListener(document,{preventScroll:({detail:t})=>{if(!Utils.disable_prevent_scroll)return Math.abs(t.x[0]-t.x[1])>2*Math.abs(t.y[0]-t.y[1])}}),document.on("swipe",t=>{if(Utils.disable_swipe_listener)return;const{left:e,right:i,top:s,bottom:o}=t.detail.directions;e&&window.trigger("theme:swipe:left"),i&&window.trigger("theme:swipe:right"),s&&window.trigger("theme:swipe:top"),o&&window.trigger("theme:swipe:bottom")})}configureLinks(){document.querySelectorAll('[data-item="hidden-text"] a').forEach(t=>t.setAttribute("tabindex","-1")),document.querySelectorAll(`a[href^="http"]:not([href*="${window.location.hostname}"])`).forEach(t=>t.setAttribute("target","_blank"))}addPrefetchListeners(){const t=':not([href="/"]):not([href*="logout"])',e=document.querySelectorAll(`a:is([href*="${window.location.hostname}"}${t}, [href^="/"]${t})`);if(!e?.length)return;const i=new IntersectionObserver(t=>{t.forEach(({target:t,isIntersecting:e})=>{e&&(Utils.loadLink(t.href,"prefetch","high","document"),i.unobserve(t))})},{rootMargin:"25% 0px",threshold:.01});e.forEach(t=>i.observe(t))}}new General;class Header extends HTMLElement{constructor(){super()}connectedCallback(){this.primary_nav=this.querySelector(".header--primary-nav"),this.container=this.primary_nav.parentNode,this.split_announcement=document.querySelector(".split-announcements--root"),this.x_gap_and_padding=160,this.layout=this.getAttribute("data-layout"),this.logo=this.querySelector(".header--logo"),this.scroll_hide="true"===this.getAttribute("data-scroll-hide"),this.secondary_nav=this.querySelector(".header--secondary-nav"),this.sticky_enabled="true"===this.getAttribute("data-sticky-enabled"),this.transparent_enabled="true"===this.getAttribute("data-transparent-enabled"),this.overlap_behavior=this.getAttribute("data-overlap-behavior"),this.prev_scroll_pos=window.scrollY,this.x_menu=this.primary_nav.querySelector(".x-menu"),this.viewport=document.querySelector(".layout--viewport"),this.ticking=!1,this.addResizeObserver(),this.sticky_enabled&&this.addScrollListener(),Shopify.designMode&&this.addShopifyListeners(),this.setAttribute("data-loaded",!0)}disconnectedCallback(){window.off("scroll.Header")}addResizeObserver(){new ResizeObserver(()=>{requestAnimationFrame(()=>{this.updatePosition(),this.measureHeight(),"drawer"!=this.layout&&this.checkHorizontalOverflow(),this.sticky_enabled&&this.scrollCallback()})}).observe(this)}updatePosition(){const t=[...this.parentNode.parentElement?.children].slice(0,this.parentNode.index()).reduce((t,e)=>t+e.offsetHeight,0),e=parseInt(getComputedStyle(this.parentNode).top)||0;this.top=t-e}checkHorizontalOverflow(){this.enableOverlap(!1);const t=this.checkOverlap();this.primary_nav.setAttribute("aria-hidden",!1),this.enableOverlap(t)}checkOverlap(){switch(this.layout){case"center-left":const{right:t}=this.primary_nav.getBoundingClientRect(),{left:e}=this.logo.getBoundingClientRect();return t+16>e;case"left-center":case"left-left":return this.x_menu.offsetWidth+this.secondary_nav.offsetWidth+this.logo.offsetWidth+this.x_gap_and_padding>this.container.offsetWidth;case"center-below":return this.container.offsetWidth<this.primary_nav.offsetWidth+96}}enableOverlap(t){this.setAttribute("aria-expanded",t),t?this.setAttribute("data-layout",this.overlap_behavior):this.setAttribute("data-layout",this.layout)}measureHeight(){const t=this.offsetHeight;this.hide_offset=(this.top+window.scrollY+t).toFixed(2);const e="sidebar"==this.layout?"var(--header--sidebar-height)":`${t.toFixed(2)}px`;document.documentElement.style.setProperty("--header--height",e),this.split_announcement&&document.documentElement.style.setProperty("--split-announcement--height",`${this.split_announcement.offsetHeight.toFixed(2)}px`)}addScrollListener(){window.on("scroll.Header",()=>{this.ticking||(this.ticking=!0,requestAnimationFrame(()=>{this.scrollCallback(),this.ticking=!1}))},{passive:!0})}scrollCallback(){if(!Drawer.status.includes("clos")||"opened"===Modal.status)return;const t=window.scrollY;this.setAttribute("data-sticky",this.top<t),this.scroll_hide&&(t<=this.hide_offset?(this.setAttribute("aria-hidden",!1),document.documentElement.style.setProperty("--header--sticky",1)):(this.setAttribute("aria-hidden",t>this.prev_scroll_pos),document.documentElement.style.setProperty("--header--sticky",t>this.prev_scroll_pos?0:1)),this.prev_scroll_pos=t)}addShopifyListeners(){document.on("shopify:inspector:activate.Header",()=>{this.setAttribute("data-sticky-enabled",!1)}),document.on("shopify:inspector:deactivate.Header",()=>{requestAnimationFrame(()=>this.setAttribute("data-sticky-enabled",this.sticky_enabled))}),document.on("shopify:section:load shopify:section:unload",()=>{requestAnimationFrame(()=>this.updatePosition())}),this.on("shopify:block:deselect",()=>{this.setAttribute("data-sticky",!1)}),this.on("shopify:block:select",()=>{this.setAttribute("data-sticky",!0)}),this.on("theme:section:load",()=>{window.trigger("theme:drawer:loadTriggers"),this.measureHeight(),this.viewport.setAttribute("data-header-layout",this.layout)})}}customElements.define("header-element",Header);class Navigation extends HTMLElement{constructor(){super()}connectedCallback(){"loading"===document.readyState?window.on("DOMContentLoaded",()=>this.load()):this.load()}load(){this.initGrid(),this.initNavigation(),this.initFilter(),this.navigationListener(),Shopify.designMode&&window.trigger("theme:drawer:loadTriggers")}initGrid(){this.body=document.querySelector("[data-body-wrapper]"),this.grid_container=this.body.querySelector("[data-body-grid]"),this.max_columns=parseInt(this.body.getAttribute("data-max-columns")),this.num_c
1olumns=parseInt(this.grid_container.getAttribute("data-columns")),this.pagination=this.body.querySelector("[data-body-pagination]"),this.pagination_link=this.body.querySelector("[data-body-pagination-link]"),this.section_id=this.body.parentNode.getAttribute("data-section-id"),this.spinner=this.body.querySelector("[data-body-spinner]")}initNavigation(){this.active_price_tag=this.querySelector('.navigation--active-tag[data-type="price"]'),this.active_min=this.active_price_tag.querySelector("[data-min-price]"),this.active_max=this.active_price_tag.querySelector("[data-max-price]"),this.active_refine_tag=this.querySelector('.navigation--active-tag[data-type="refine"]'),this.active_sort_tag=this.querySelector('.navigation--active-tag[data-type="sort"]'),this.active_tags_container=this.querySelector(".navigation--tags-container"),this.active_tags_wrapper=this.querySelector(".navigation--active-tags"),this.clear_tags_button=this.querySelector(".navigation--active-clear"),this.layout_buttons=this.querySelectorAll(".navigation--layout-button"),this.local_storage_name=`${Shopify.theme.name}:${this.getAttribute("data-storage-name")}`,this.navigation_buttons=this.querySelectorAll(".navigation--button, .navigation--mobile-button"),this.small_layout_button=this.layout_buttons[1],this.url=this.getAttribute("data-url"),this.layout_buttons.length&&this.max_columns>2?(this.initLayout(),this.setLayout(),this.layoutListener()):this.layout_buttons.forEach(t=>t.setAttribute("aria-hidden",!0))}initFilter(){this.filter=document.querySelector(".filter--root"),this.filter&&(this.browse_links=this.filter.querySelectorAll('[data-type="browse"] .filter--label'),this.current_sort_input=this.filter.querySelector('[data-type="sort"] .filter--input:checked'),this.filter_form=this.filter.querySelector(".filter--form"),this.menu_toggles=this.filter.querySelectorAll(".filter--toggle"),this.price_range=this.filter.querySelector(".price-range--wrapper"),this.refine_links=this.filter.querySelectorAll('[data-type="refine"] .filter--label'),this.reset_button=this.filter.querySelector('.filter--button[data-type="reset"]'),this.sort_links=this.filter.querySelectorAll('[data-type="sort"] .filter--label'),this.menu_toggles.length&&(this.menuToggleListeners(),this.clearAllListener()),this.browse_links.length&&this.browseListener(),this.sort_links.length&&(this.current_sort_input&&(this.current_sort_link=this.current_sort_input.nextElementSibling,this.current_sort_value=this.current_sort_input.value,this.current_sort_label=this.current_sort_input.getAttribute("data-label")),this.sortListener(),this.renderActiveSort(),this.activeSortListener()),this.refine_links.length&&(this.refineListener(),this.renderActiveRefines()),this.price_range&&(this.renderActivePriceListener(),this.getNewProductsListener(),this.activePriceListener()),this.toggleActiveTags())}navigationListener(){this.navigation_buttons.on("click",({target:t})=>{this.toggleFilterMenu(t.getAttribute("data-toggle-menu"))})}toggleFilterMenu(t){document.querySelectorAll(".filter--toggle").forEach(e=>{e.setAttribute("aria-expanded",!1),e.nextElementSibling.setAttribute("data-transition-active",!1),e.getAttribute("aria-controls").includes(t)&&e.click()})}initLayout(){this.layout_buttons.forEach(t=>t.setAttribute("aria-hidden",!1)),this.small_layout_button.setAttribute("data-column-size",this.max_columns)}setLayout(){let t=parseInt(localStorage.getItem(this.local_storage_name));(!t||2!==t&&t!==this.num_columns)&&(t=this.num_columns,localStorage.setItem(this.local_storage_name,t)),this.grid_container.setAttribute("data-columns",t),this.layout_buttons.forEach(e=>{e.setAttribute("aria-pressed",parseInt(e.getAttribute("data-column-size"))===t)})}layoutListener(){this.layout_buttons.off("click keydown"),this.layout_buttons.on("click",t=>{const e=parseInt(t.target.getAttribute("data-column-size"));localStorage.setItem(this.local_storage_name,e),this.setLayout()})}menuToggleListeners(){this.menu_toggles.on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key)return;const e=t.target,i="true"!==e.getAttribute("aria-expanded");e.setAttribute("aria-expanded",i);const s=e.nextElementSibling;requestAnimationFrame(()=>{s.setAttribute("data-transition-active",i)})})}clearAllListener(){[this.clear_tags_button,this.reset_button].on("click keydown",t=>{"keydown"===t.type&&"Enter"!==t.key||(this.current_sort_link&&this.current_sort_link.click(),window.trigger("theme:priceRange:clear"),this.active_refine_tags.length&&this.active_refine_tags.forEac
1h(t=>t.trigger("click")),t.target.focus())})}browseListener(){this.browse_links.on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key)return;const e=t.target.previousElementSibling;let i,s=!1;e.checked&&(s=!0),requestAnimationFrame(()=>{s?(e.checked=!1,i=Shopify.routes.all_products_collection):i=e.value,location.href=`${location.origin}${i}`,setTimeout(()=>Drawer.close(),350)})})}sortListener(){this.sort_links.on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key)return;const e=t.target,i=e.previousElementSibling;let s=!1;i.checked&&(s=!0),requestAnimationFrame(()=>{s?(i.checked=!1,this.current_sort_link=!1,this.current_sort_label=!1,this.current_sort_value=!1):(i.checked=!0,this.current_sort_link=e,this.current_sort_label=i.dataset.label,this.current_sort_value=i.value),this.showLoadingView(),this.renderActiveSort(),this.getAjaxUrl()})})}refineListener(){this.refine_links.on("click keydown",t=>{if("keydown"!==t.type||"Enter"===t.key){if("Enter"===t.key){const e=t.target.previousElementSibling;e.checked=!e.checked}requestAnimationFrame(()=>{this.clearRefineTags(),this.showLoadingView(),this.renderActiveRefines(),this.getAjaxUrl(
1)})}})}clearRefineTags(){const t=this.active_tags_wrapper.querySelectorAll('.navigation--active-tag[data-type="refine"]');t.length&&t.forEach(t=>t.remove())}getNewProductsListener(){window.on("theme:navigation:loadNewProducts",()=>{this.showLoadingView(),this.getAjaxUrl()})}getAjaxUrl(){const t=new FormData(this.filter_form),e=new URLSearchParams(t);this.ajax_url=`${this.url}${e.toString()}`,history.replaceState({},"",this.ajax_url),this.getGridHtml(),this.toggleActiveTags()}showLoadingView(){this.grid_container.innerHTML="",[this.grid_container,this.pagination].forEach(t=>t.style.display="none"),this.spinner.setAttribute("aria-hidden",!1)}async getGridHtml(){this.abort_controller&&this.abort_controller.abort(),this.abort_controller=new AbortController;try{if(this.response=await fetch(this.ajax_url,{signal:this.abort_controller.signal}),!this.response.ok)throw new Error(response.statusText);{const t=(await this.response.text()).parse("[data-body-wrapper]");this.renderGridHtml(t),this.spinner.setAttribute("aria-hidden",!0),this.grid_container.removeAttribute("style"),requestAnimationFrame(()=>this.loadTransitions()),window.trigger("theme:navigation:reloaded")}}catch{}}renderGridHtml(t){const e=t.querySelector("[data-body-grid]").innerHTML;this.grid_container.innerHTML=e;const i=t.querySelector("[data-body-pagination]");i?(this.pagination.innerHTML=i.innerHTML,this.pagination.removeAttribute("style"),this.pagination_link&&(this.pagination_link.style.display="block")):this.pagination_link&&(this.pagination_link.style.display="none")}loadTransitions(){[...this.grid_container.querySelectorAll("[data-transition-container]")].map(t=>{const e=t.getAttribute("data-transition-container");window.trigger(`theme:transition:reload:${e}`)}),window.trigger(`theme:transition:reload:${this.section_id}`)}renderActiveSort(){this.current_sort_value?(this.render_active_sort=!0,this.active_sort_tag.querySelector("span").textContent=this.current_sort_label,this.active_sort_tag.setAttribute("data-value",this.current_sort_value),this.active_sort_tag.removeAttribute("style")):(this.render_active_sort=!1,this.active_sort_tag.style.display="none")}renderActivePriceListener(){window.on("theme:priceRange:renderActive",({detail:t})=>{0===t.current_min&&t.current_max===t.max?(this.active_price_tag.style.display="none",this.render_active_price=!1):(this.render_active_price=!0,this.active_min.textContent=`${t.current_min}`,this.active_max.textContent=`${t.current_max}`,this.active_price_tag.removeAttribute("style")),this.toggleActiveTags()})}renderActiveRefines(){this.active_refine_tags=[],this.render_active_refine=!1;const t={labels:[],names:[],swatches:[],values:[]};if(this.filter.querySelectorAll('[data-type="refine"] input:checked').forEach(e=>{t.labels.push(e.getAttribute("data-label")),t.names.push(e.name),t.values.push(e.value);const i=e.nextElementSibling;"swatch"===i.getAttribute("data-item")?t.swatches.push(i.getAttribute("style")):t.swatches.push(!1)}),t.values.length>0){const e=new DocumentFragment;for(let i=0;i<t.values.length;i++){const s=this.active_refine_tag.cloneNode(!0);s.removeAttribute("style"),s.setAttribute("data-value",t.values[i]),s.setAttribute("data-name",t.names[i]),s.querySelector("span").textContent=t.labels[i];const o=s.querySelectorAll('[class*="swatch"]');t.swatches[i]&&o.length?o.forEach(e=>e.setAttribute("style",t.swatches[i])):o.length&&o.forEach(t=>t.remove()),e.prepend(s),this.active_refine_tags.push(s)}this.active_tags_wrapper.prepend(e),this.render_active_refine=!0,this.activeRefineListeners()}}toggleActiveTags(){const t=this.render_active_refine||this.render_active_sort||this.render_active_price;this.active_tags_container.style.display=t?"block":"none"}activeSortListener(){this.active_sort_tag.on("click keydown",t=>{"keydown"===t.type&&"Enter"!==t.key||this.current_sort_link&&this.current_sort_link.click()})}activePriceListener(){this.active_price_tag.on("click keydown",t=>{"keydown"===t.type&&"Enter"!==t.key||window.trigger("theme:priceRange:clear")})}activeRefineListeners(){this.active_refine_tags.on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key)return;const e=t.target;this.refine_links.forEach(t=>{const i=t.previousElementSibling,s=e.getAttribute("data-value"),o=e.getAttribute("data-name");if(i.value===s&&i.name===o)return t.click(),void(i.checked=!1)})})}}customElements.define("navigation-element",Navigation);class Announcement extends HTMLElement{constructor(){super()}connectedCallback(){this.blocks=this.querySelectorAll(".announcement--block"),this.next_arrow=this.querySelector(".announcement--next"),this.previous_arrow=this.querySelector(".announcement--previous"),this.rotate_frequency=parseInt(this.getAttribute("data-rotate-frequency")),new IntersectionObserver(([{isIntersecting:t}],e)=>{t&&(this.getActiveBlocks(),this.startTimer(),this.addUpdateListeners(),this.pageHideListener(),e.disconnect(),Shopify.designMode&&this.blocks.length>1&&this.editorListeners())}).observe(this)}getActiveBlocks(){this.active_blocks=[],this.blocks.forEach(t=>{t.removeAttribute("data-index"),this.isBlockActive(t)&&this.active_blocks.push(t)}),this.active_blocks.forEach((t,e)=>{0===e&&t.setAttribute("data-transition-type","slide-out"),t.setAttribute("data-index",e)}),this.previous_index=0,this.next_index=0,this.next_arrow&&this.previous_arrow&&this.toggleArrows(this.active_blocks.length>1)}isBlockActive(t){return"small"===window.sizeQuery&&"small"===t.dataset.mq||"medium"===window.sizeQuery&&"medium-large"===t.dataset.mq||"large"===window.sizeQuery&&"medium-large"===t.dataset.mq||""===t.dataset.mq}toggleArrows(t){this.next_arrow.setAttribute("aria-hidden",!t),this.previous_arrow.setAttribute("aria-hidden",!t),t?this.addArrowListeners():[this.next_arrow,this.previous_arrow].off("click")}addArrowListeners(){this.next_arrow.on("click",()=>{this.disabled_click||(this.updateIndices(!1),this.updateBlocks(),this.timer&&clearInterval(this.timer))}),this.previous_arrow.on("click",()=>{this.disabled_click||(this.updateIndices(!0),this.updateBlocks(),this.timer&&clearInterval(this.timer))})}startTimer(){this.active_blocks.length<2||(this.timer&&clearInterval(this.timer),this.timer=setInterval(()=>{this.updateIndices(!1),this.updateBlocks()},1e3*this.rotate_frequency))}resetBlocks(){this.active_blocks.forEach((t,e)=>{const i=e===this.previous_index;t.off("transitionend"),t.setAttribute("aria-hidden",!i),t.setAttribute("data-transition-active",!1),t.setAttribute("data-transition-type",i?"slide-out":"slide-in")})}updateBlocks(){const t=this.active_blocks[this.next_index],e=this.active_blocks[this.previous_index];this.pending_transition&&this.resetBlocks(),e.on("transitionend",({target:i})=>{i==e&&(this.pending_transition=!1,t.setAttribute("aria-hidden",!1),t.setAttribute("data-transition-active",!0),e.setAttribute("aria-hidden",!0),e.setAttribute("data-transition-type","slide-in"),e.setAttribute("data-transition-active",!1),e.off("transitionend"))}),t.on("transitionend",({target:e})=>{e==t&&(this.disabled_click=!1,t.setAttribute("data-transition-type","slide-out"),t.setAttribute("data-transition-active",!1),t.off("transitionend"))}),this.disabled_click=!0,this.pending_transition=!0,e.setAttribute("data-transition-active",!0)}updateIndices(t){this.previous_index=this.next_index,this.next_index=t?this.previous_index-1<0?this.active_blocks.length-1:this.previous_index-1:this.previous_index+1===this.active_blocks.length?0:this.previous_index+1}addUpdateListeners(){window.on("theme:mqs:updated",()=>{this.getActiveBlocks(),this.resetBlocks()}),new ResizeObserver(()=>this.measureHeight()).observe(this)}pageHideListener(){document.on("visibilitychange",()=>{this.getActiveBlocks(),this.resetBlocks(),this.startTimer()})}measureHeight(){document.documentElement.style.setProperty("--announcement--height",`${this.offsetHeight}px`)}editorListeners(){this.blocks.on("theme:block:deselect",()=>{this.startTimer()}),this.blocks.on("theme:block:select",({target:t})=>
1{this.isBlockActive(t)&&(this.next_index=parseInt(t.getAttribute("data-index")),this.previous_index=this.next_index-1<0?this.active_blocks.length-1:this.next_index-1,this.pending_transition=!0,this.updateBlocks(),this.timer&&clearInterval(this.timer))}),this.on("theme:section:reorder",()=>{this.timer&&clearInterval(this.timer)}),document.on("shopify:inspector:activate.Announcement",()=>{this.parentNode.style.position="relative",this.parentNode.style.top="unset"}),document.on("shopify:inspector:deactivate.Announcement",()=>{requestAnimationFrame(()=>this.parentNode.removeAttribute("style"))})}}customElements.define("announcement-bar-element",Announcement);class XMenu extends HTMLElement{constructor(){super()}connectedCallback(){this.open_menu=null,this.window_width=0,this.menu_links=this.querySelectorAll(".x-menu--level-1--link > a:has(+ .x-menu--level-2--container)"),this.menu_containers=this.querySelectorAll(".x-menu--level-1--link:has(> .x-menu--level-2--container)"),this.menus=this.querySelectorAll(".x-menu--level-2--container"),this.addMouseListeners(),this.addFocusListeners(),this.addTouchListeners(),new ResizeObserver(()=>{requestAnimationFrame(()=>{"small"!=window.sizeQuery&&this.window_width!==window.innerWidth&&(this.window_width=window.innerWidth,this.setNaturalHeights())})}).observe(document.body),Shopify.designMode&&this.addEditorListeners()}addMouseListeners(){this.menu_links.on("mouseenter.XMenu",({target:t})=>{this.close_timer?this.pending_open=t:this.openMenu(t)},{passive:!0}),this.menu_links.on("mouseleave.XMenu",({target:t,relatedTarget:e})=>{if(this.contains(e)){if(this.close_timer)return;{const i=!!e.closest('[data-megamenu="true"]')&&!!t.closest('[data-megamenu="true"]');this.close_timer=setTimeout(()=>{this.pending_open?this.openMenu(this.pending_open,i):this.closeMenu(),this.resetTimer()},80)}}else this.closeMenu(),this.resetTimer()},{passive:!0}),this.menus.on("mouseenter.XMenu",()=>this.resetTimer(),{passive:!0}),this.menus.on("mouseleave.XMenu",()=>this.closeMenu(),{passive:!0})}resetTimer(){this.close_timer&&clearTimeout(this.close_timer),this.close_timer=!1,this.pending_open=!1}addFocusListeners(){this.menu_links.on("focusin.XMenu",({target:t})=>this.openMenu(t)),this.menu_links.on("focusout.XMenu",({target:t,relatedTarget:e})=>{!t.parentNode.contains(e)&&this.closeMenu()}),this.menu_containers.on("focusout.XMenu",({target:t,relatedTarget:e})=>{t.closest(".x-menu--level-1--link")!==e.closest(".x-menu--level-1--link")&&(e?!e.closest(".x-menu--level-2--container")&&this.closeMenu(!0):this.closeMenu(!0))})}addTouchListeners(){this.menu_links.on("touchstart.XMenu",t=>{t.preventDefault(),"true"===t.target.getAttribute("aria-expanded")?this.closeMenu():this.openMenu(t.target)},{passive:!0})}addEditorListeners(){this.on("shopify:block:deselect",()=>this.closeMenu()),this.on("shopify:block:select",({target:t})=>{const e=t.closest(".x-menu--level-2--container");this.openMenu(e.previousElementSibling)})}setNaturalHeights(){this.menus.forEach(t=>{t.style.setProperty("--height","auto"),t.setAttribute("aria-hidden",!1),t.style.setProperty("--natural-height",`${t.offsetHeight}px`),t.setAttribute("aria-hidden",!0)})}openMenu(t,e=!1){const i=t.nextElementSibling;if(e){const t=getComputedStyle(this.open_menu).getPropertyValue("--natural-height");i.style.setProperty("--height",t),this.closeMenu(!0)}else this.open_menu&&this.open_menu!==i?(this.closeMenu(!0),i.style.setProperty("--height","0px")):this.open_menu&&this.open_menu===i?this.open_menu.off("transitionend"):i.style.setProperty("--height","0px");this.open_menu=i,t.setAttribute("aria-expanded",!0),this.open_menu.setAttribute("aria-hidden",!1),requestAnimationFrame(()=>{this.open_menu.style.setProperty("--height","var(--natural-height)")})}closeMenu(t){null!==this.open_menu&&(this.open_menu.previousElementSibling.setAttribute("aria-expanded",!1),this.open_menu.style.setProperty("--height","0px"),t?(this.findAndResetTransition(this.open_menu),this.open_menu.off("transitionend"),this.open_menu.setAttribute("aria-hidden",!0),this.open_menu=null):this.open_menu.on("transitionend",()=>{null!==this.open_menu&&(this.findAndResetTransition(this.open_menu),this.open_menu.setAttribute("aria-hidden",!0),this.open_menu=null)},{once:!0}))}findAndResetTransition(t){if(!t)return;const e=t.hasAttribute("data-transition-container")?t:t.querySelector("[data-transition-container]");if(e){const t=e.getAttribute("data-transition-container");
1t&&window.trigger(`theme:transition:reset:${t}`)}}}customElements.define("x-menu-element",XMenu);class yMenu extends HTMLElement{constructor(){super()}connectedCallback(){this.back_links=this.querySelectorAll(".y-menu--back-link button"),this.id=this.getAttribute("data-id"),this.inside_drawer="true"===this.getAttribute("data-inside-drawer"),this.sub_menu_links=this.querySelectorAll('li > button[aria-haspopup="true"]'),this.regular_links=this.querySelectorAll("li > a").not(this.sub_menu_links),this.current_level=0,this.last_opened_id=this.id,this.addButtonListeners(),this.inside_drawer&&this.addDrawerListeners(),Shopify.designMode&&this.addEditorListeners()}disconnectedCallback(){[...this.regular_links,...this.sub_menu_links,...this.back_links].off(`click.${this.id}`)}addButtonListeners(){this.inside_drawer&&this.regular_links.on(`click.${this.id}`,({target:t})=>{const e=t.getAttribute("href");-1!==e.indexOf("#")&&(Drawer.close(),setTimeout(()=>window.location.href=e,450))}),this.sub_menu_links.on(`click.${this.id}`,({target:t})=>{this.goToMenu(t,!0),t.setAttribute("aria-expanded",!0)}),this.back_links.on(`click.${this.id}`,({target:t})=>{this.goToMenu(t,!1);const e=t.closest("ul")?.previousElementSibling;e.setAttribute("aria-expanded",!1)})}addDrawerListeners(){window.on("theme:drawer:left:opening",()=>this.style.setProperty("--height",`${this.offsetHeight+1}px`),{once:!0}),window.on("theme:drawer:left:closed",()=>{window.trigger(`theme:transition:reset:${this.last_opened_id}`)})}goToMenu(t,e){const i=this.querySelector(`#${t.getAttribute("aria-controls")}`);i?.setAttribute("aria-current",!0),this.last_opened_id=i.id;const s=this.querySelector(`#${t.closest("ul")?.id}`);s?.setAttribute("aria-current",!1),requestAnimationFrame(()=>{this.current_level+=e?1:-1,this.style.setProperty("--current-level",this.current_level),this.style.setProperty("--height",`${i.offsetHeight+1}px`),window.trigger(`theme:transition:reset:${s?.id}`)})}addEditorListeners(){document.querySelector(".header--root").on("shopify:block:select",({target:t})=>{const e=t.parentElement?.id?.replace("x-menu","y-menu"),i=this.querySelector(`button[aria-controls="${e}"]`);this.goToMenu(i,!0)})}}customElements.define("y-menu-element",yMenu);class VideoComponent extends HTMLElement{constructor(){super()}connectedCallback(){this.api=this.getAttribute("data-api"),this.autoplay="true"===this.getAttribute("data-autoplay"),this.display_type=this.getAttribute("data-display-type"),this.id=this.getAttribute("data-id"),this.video_id=this.getAttribute("data-video-id"),this.video_wrapper=this.querySelector(".video--wrapper"),this.width=null,this.loadWhenVisible(),"fill-available"===this.display_type&&this.initResizeObserver()}loadWhenVisible(){new IntersectionObserver(([{isIntersecting:t}],e)=>{t&&(this.load(),e.disconnect())},{rootMargin:2*window.innerHeight+"px 0px"}).observe(this)}load(){this.autoplay?(this.loadLibraries(),this.pauseObserver()):(this.setThumbnail(),this.playButtonListeners())}initResizeObserver(){new ResizeObserver(()=>{requestAnimationFrame(()=>{if(this.width!==this.offsetWidth){this.width=this.offsetWidth;const t=(this.offsetWidth/this.offsetHeight).toFixed(4);this.style.setProperty("--video-aspect-ratio",t),this.style.setProperty("--video-mobile-aspect-ratio",t)}})}).observe(this.video_wrapper)}loadLibraries(){switch(this.api){case"youtube":window.onYouTubeIframeAPIReady=()=>window.trigger("theme:youtube:apiReady"),window.on("theme:youtube:apiReady",()=>this.loadYoutube()),"loaded"===Utils.scripts.get("youtube")?this.loadYoutube():Utils.loadScript("youtube",Shopify.routes.youtube);break;case"vimeo":Utils.loadScript("vimeo",Shopify.routes.libraries.vimeo,()=>this.loadVimeo());break;case"plyr":Utils.loadLink("/cdn/shopifycloud/plyr/v2.0/shopify-plyr.css","stylesheet"),Utils.loadScript("plyr",Shopify.routes.libraries.plyr,()=>this.loadPlyr())}}pauseObserver(){new IntersectionObserver(([{isIntersecting:t}])=>{this.player&&("youtube"===this.api?t?this.player.playVideo&&this.player.playVideo():this.player.pauseVideo&&this.player.pauseVideo():t?this.player.play&&this.player.play():this.player.pause&&this.player.pause())},{threshold:.1}).observe(this)}loadPlyr(){this.player=this.video_wrapper.querySelector("video"),void 0===Shopify.Video||this.autoplay||(this.player.on("ready",()=>this.showPlayer()),new Shopify.Video(this.player,{autoplay:!0,hideControls:!0,muted:!1,loop:{active:!1},controls:this.autoplay?[]:["play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"]}))}loadVimeo(){void 0!==Vimeo.Player&&(this.player=new Vimeo.Player(`${this.id}-player`,{id:this.video_id,autopause:0,playsinline:this.autoplay?1:0,muted:this.autoplay?1:0,background:this.autoplay?1:0,loop:this.autoplay?1:0,title:0}),this.player.ready().then(()=>{this.showPlayer(),!this.autoplay&&this.vimeoEvents(),this.trigger("theme:video:loaded")}),Promise.all([this.player.getVideoWidth(),this.player.getVideoHeight()]).then(([t,e])=>this.setAspectRatio(e,t)),this.player.play())}vimeoEvents(){this.player.getDuration().then(t=>{this.player.addCuePoint(t-.3,{})}),this.player.on("cuepoint",()=>{this.player.setCurrentTime(0),this.player.pause()})}loadYoutube(){if(void 0===YT.Player)return;this.player=new YT.Player(`${this.id}-player`,{videoId:this.video_id,playerVars:{enablejsapi:1,host:"https://www.youtube.com",origin:location.origin,loop:this.autoplay?1:0,playlist:this.autoplay?this.video_id:null},events:{onReady:({target:t})=>this.youtubeReady(t),onStateChange:t=>this.youtubeEvents(t)}});const{height:t,width:e}=this.player.getIframe();this.setAspectRatio(t,e)}youtubeReady(t){this.autoplay&&t.mute(),this.showPlayer(),t.playVideo()}youtubeEvents({target:t,data:e}){this.autoplay||e!==YT.PlayerState.ENDED||(t.seekTo(0),t.pauseVideo())}showPlayer(){setTimeout(()=>{!this.autoplay&&this.setAttribute("data-overlay-style","none"),this.video_wrapper.setAttribute("data-transition-active",!0),this.trigger("theme:video:loaded")},50)}setAspectRatio(t,e){this.style.setProperty("--natural-aspect-ratio",(e/t).toFixed(4))}async setThumbnail(){const t=this.querySelector(".video--thumbnail img");if(!t||""!=t?.src)return;const e=await this.getAutoThumbnail();e&&(t.src=e)}async getAutoThumbnail(){switch(this.api){case"youtube":return`https://img.youtube.com/vi/${this.video_id}/maxresdefault.jpg`;case"vimeo":try{const t=await fetch(`https://vimeo.com/api/oembed.json?url=https://vimeo.com/${this.video_id}`),{thumbnail_url:e}=await t.json();return e}catch(t){return console.error("Error fetching Vimeo thumbnail:",t),null}case"plyr":const e=this.querySelector("video");return e&&e.poster?e.poster:null}}playButtonListeners(){Shopify.designMode&&window.off(`theme:${this.id}:play`),window.on(`theme:${this.id}:play`,()=>{this.loadLibraries(),setTimeout(()=>this.setAttribute("data-loaded",!0),500)})}}customElements.define("video-component",VideoComponent);class Carousel extends HTMLElement{static block_selected=null;constructor(){super()}connectedCallback(){this.blocks=this.querySelectorAll(".carousel--block"),this.container=this.querySelector(".carousel--container"),this.links=this.container?.querySelectorAll("a"),this.next_desktop=this.querySelector(".carousel--next"),this.prev_desktop=this.querySelector(".carousel--prev"),this.nav=document.querySelector(`.carousel-nav-arrow[data-id=${this.dataset.id}]`),this.nav&&(this.nav_current=this.nav.querySelector(".carousel-nav-arrow--current"),this.next_mobile=this.nav.querySelector(".carousel-nav-arrow--next"),this.prev_mobile=this.nav.querySelector(".carousel-nav-arrow--prev")),this.blocks_per_slide_desktop=parseInt(this.getAttribute("data-columns")),this.blocks_per_slide_mobile=parseInt(this.getAttribute("data-mobile-columns")),this.mobile_only="true"===this.getAttribute("data-mobile-only"),this.section_id=this.closest("[data-section-id]").getAttribute("data-section-id"),this.transition_type=this.getAttribute("data-transition-type"),this.slide_count=parseInt(this.style.getPropertyValue("--total-slides")),this.mobile_slide_count=parseInt(this.style.getPropertyValue("--total-slides-mobile")),this.active_slide=1,this.slide_pause=!1,this.container_destination="0px",this.auto_rotate="true"===this.getAttribute("data-auto-rotate"),this.pause_button=this.querySelector(".carousel--pause"),this.rotate_frequency=1e3*parseInt(getComputedStyle(this).getPropertyValue("--rotate-frequency")),this.auto_rotate&&(this.timer_state={start_time:null,running_time:0,remaining_time:0,status:"stopped"}),this.active_blocks=null,this.blocks_per_slide=null,this.old_active_blocks=null,this.loaded_size=null,this.active_slide_count=null,this.sizeQuery=this.dataset.id,this.swipe_state=null,this.width=null,this.ticking=!1,Shopify.designMode&&this.blockListeners(),new IntersectionObserver(([{isIntersecting:t}],e)=>{t&&(this.addResizeObserver(),e.disconnect())}).observe(this)}disconnectedCallback(){this.auto_rotate&&this.clearTimer()}addResizeObserver(){new ResizeObserver(()=>{requestAnimationFrame(()=>{0===this.offsetWidth?this.width=this.offsetWidth:this.width!==this.offsetWidth&&(this.width=this.offsetWidth,this.load())})}).observe(this)}load(){this.initNewScreenSize(),requestAnimationFrame(()=>{this.getHeights(),this.updateActive(),this.goToActiveSlide(),this.setSliderHeight(),"small"!==window.sizeQuery&&this.mobile_only||1===this.active_slide_count?this.removeListeners():(this.arrowNavListeners(),this.mouseDownListener(),this.swipeListener())})}blockListeners(){this.blocks.off(`shopify:block:select.${this.section_id}`),this.blocks.on(`shopify:block:select.${this.section_id}`,({target:t})=>{this.blockSelectedCallback(t)}),this.blocks.off(`shopify:block:deselect.${this.section_id}`),this.blocks.on(`shopify:block:deselect.${this.section_id}`,()=>{this.blockDeselectedCallback()})}blockSelectedCallback(t){Carousel.block_selected=t,this.initNewScreenSize();const e=t.classList.contains("carousel--block")?t:t.closest(".carousel--block"),i=Math.ceil((e.index()+1)/this.blocks_per_slide);this.auto_rotate&&(this.setAttribute("data-auto-rotate",!1),(this.auto_slide_interval||this.auto_slide_timeout)&&(this.clearTimer(),this.timer_state.status="stopped",this.setPauseButtonState(!0,!0))),this.updateThe
1nGoToActiveSlide(i)}blockDeselectedCallback(){Carousel.block_selected=!1,this.auto_rotate&&(this.setAttribute("data-auto-rotate",this.auto_rotate),this.auto_rotate&&(this.startAutoRotate(),this.setPauseButtonState(!1)))}initNewScreenSize(){if("small"===this.sizeQuery){if("small"===this.loaded_size)return;this.active_slide_count=this.mobile_slide_count,this.loaded_size="small",this.blocks_per_slide=this.blocks_per_slide_mobile,this.active_slide=Math.ceil((this.blocks_per_slide_desktop*(this.active_slide-1)+1)/this.blocks_per_slide_mobile)}else{if("medium-large"===this.loaded_size)return;this.active_slide_count=this.slide_count,this.loaded_size="medium-large",this.blocks_per_slide=this.blocks_per_slide_desktop,this.active_slide=Math.ceil((this.blocks_per_slide_mobile*(this.active_slide-1)+1)/this.blocks_per_slide_desktop)}this.auto_rotate&&this.pause_button&&this.addPauseButtonListener()}mouseDownListener(){this.container.off(`mousedown.${this.section_id} touchstart.${this.section_id}`),this.container.on(`mousedown.${this.section_id} touchstart.${this.section_id}`,t=>{if(t.touches?.length>1)return;const e=t.target.closest(".carousel--block");if(e&&this.checkForActiveModel&&this.checkForActiveModel(e))return!1;if(this.swipe_state="swipe-started",this.reenableClickAfterSwiping(),this.mouseUpListener(),this.slide_pause=!0,"slide"===this.transition_type){this.drag_start="touchstart"===t.type?t.targetTouches[0].pageX:t.pageX;const e=this.style.getPropertyValue("--slide-pos").replace(/[^0-9\-.,]/g,"")/100;this.current_transform_pixels=this.container.offsetWidth*parseFloat(e),this.container.setAttribute("data-transition-state",""),this.style.setProperty("--slide-pos",`${this.current_transform_pixels}px`),this.dragBegin()}},{passive:!0})}mouseUpListener(){window.on(`mouseup.${this.section_id} touchend.${this.section_id}`,t=>{t.touches?.length>1||(this.swipe_state="swipe-ended",this.dragEnd(),!0===this.slide_pause&&(this.container.setAttribute("data-transition-state","forwards"),this.style.setProperty("--slide-pos",this.container_destination)))},{passive:!0,once:!0})}dragBegin(){this.setAttribute("data-dragging",!0),Drawer.disable_swipe_listener=!0,this.ticking=!1,window.on(`mousemove.${this.section_id} touchmove.${this.section_id}`,t=>{t.touches?.length>1||this.ticking||!this.slide_pause||(this.ticking=!0,requestAnimationFrame(()=>{if(!this.slide_pause)return void(this.ticking=!1);const e="touchmove"===t.type?t.targetTouches[0].pageX:t.pageX;let i=this.current_transform_pixels-this.drag_start+e;const s=this.offsetWidth*(this.active_slide_count-1);i>0?this.style.setProperty("--slide-pos",i/4+"px"):i<-1*s?(i*=-1,i=s+(i-s)/4,this.style.setProperty("--slide-pos",`-${i}px`)):this.style.setProperty("--slide-pos",`${i}px`),this.ticking=!1}))},{passive:!0})}dragEnd(){this.setAttribute("data-dragging",!1),Drawer.disable_swipe_listener=!1,window.off(`mousemove.${this.section_id} touchmove.${this.section_id}`)}updateContainerDestination(){let t=(this.active_slide-1)/this.active_slide_count*-100;!this.is_first_slide&&this.is_last_slide&&this.extra_blocks>0&&(t+=(this.blocks_per_slide-this.extra_blocks)/this.blocks_per_slide*(100/this.active_slide_count)),this.container_destination=`${t}%`,this.style.setProperty("--slide-pos",this.container_destination)}slideToNext(t=!1,e=!1){let i="forwards";return this.active_slide!==this.active_slide_count?(this.active_slide+=1,this.updateActive(),e&&("small"===this.loaded_size&&this.is_last_slide?this.prev_mobile?.focus():"small"!=this.loaded_size&&(this.prev_desktop?.focus()||this.prev_mobile?.focus()))):t?(this.active_slide=1,this.updateActive()):i="backwards",this.updateSlideState(i),!0}slideToPrev(t=!1){const e=1!==this.active_slide?"forwards":"backwards";return"forwards"===e&&(this.active_slide-=1,this.updateActive(t),t&&("small"===this.loaded_size&&1===this.active_slide?this.next_mobile?.focus():"small"!=this.loaded_size&&(this.next_desktop?.focus()||this.next_mobile?.focus()))),this.updateSlideState(e),!0}updateSlideState(t){this.goToActiveSlide(!0,t),this.setSliderHeight(),this.updateArrowPos()}goToActiveSlide(t=!1,e="forwards"){t&&this.container.setAttribute("data-transition-state",e),this.updateContainerDestination()}resetPreviousTransitions(){this.old_active_blocks&&Utils.arraysEqual(this.old_active_blocks,this.active_blocks)||(this.old_active_blocks?this.old_active_blocks:this.blocks.not(this.active_blocks)).forEac
1h(t=>{window.trigger(`theme:transition:reset:${t.dataset.id}`)})}checkStartEnd(){this.setAttribute("data-first-slide",this.is_first_slide),this.setAttribute("data-last-slide",this.is_last_slide),[this.prev_desktop,this.prev_mobile].filter(Boolean).forEach(t=>{t.setAttribute("tabindex",this.is_first_slide?"-1":"0"),t.setAttribute("aria-disabled",this.is_first_slide)}),[this.next_desktop,this.next_mobile].filter(Boolean).forEach(t=>{t.setAttribute("tabindex",this.is_last_slide?"-1":"0"),t.setAttribute("aria-disabled",this.is_last_slide)})}updateActive(){this.active_blocks&&(this.old_active_blocks=this.active_blocks);let t=(this.active_slide-1)*this.blocks_per_slide,e=t+this.blocks_per_slide;this.is_first_slide=1===this.active_slide,this.is_last_slide=this.active_slide===this.active_slide_count,this.extra_blocks=this.blocks.length%this.blocks_per_slide,this.is_last_slide&&this.extra_blocks>0&&(e=this.blocks.length,e-t<this.blocks_per_slide&&(t=this.blocks.length-this.blocks_per_slide)),this.active_blocks=[...this.blocks].slice(t,e),this.nav&&this.nav_current?.setAttribute("data-value",this.active_slide),this.updateArrowPos(),this.disableBlocks(),setTimeout(()=>this.checkStartEnd(),0),this.auto_rotate&&(this.timer_state.start_time=Date.now(),this.timer_state.remaining_time=this.rotate_frequency,this.timer_state.running_time=0,Carousel.block_selected||"paused"===this.timer_state.status||this.startAutoRotate())}disableBlocks(){this.disabled_blocks?.forEach(t=>t.removeAttribute("inert")),this.disabled_blocks=this.blocks.not(this.active_blocks),this.disabled_blocks.forEach(t=>t.setAttribute("inert",""))}getHeights(){this.style.setProperty("--slide-height","unset");const t=[...this.blocks].map(t=>{const e=t.querySelector("img, .placeholder--root, svg, .product-video--root, .product-model--root, .video--root");return{block:t,media_height:e?.offsetHeight||0,block_height:t.offsetHeight}});this.heights=t.map(({block:t,media_height:e,block_height:i})=>(t.style.setProperty("--media-height",e),t.style.setProperty("--block-height",i),i))}setSliderHeight(){let t=!0;const e=[],i="small"===this.loaded_size?"mobile-display":"display";this.active_blocks.forEach(s=>{const o=parseInt(getComputedStyle(s).getPropertyValue("--block-height"));e.push(o);const a=s.querySelector(".image--root, .placeholder--root, .video--root"),r=a?.getAttribute(`data-${i}-type`);"fill-available"===r?s.style.setProperty("--media-height",Math.max(...this.heights)):t=!1});const s=t?this.heights:e;this.style.setProperty("--slide-height",`${Math.max(...s)}px`)}updateArrowPos(){if(this.prev_desktop&&this.next_desktop&&"small"!==this.loaded_size){if(1!=this.active_slide){const t=this.active_blocks[0],e=getComputedStyle(t).getPropertyValue("--media-height");this.style.setProperty("--left-image-height",`${e}px`)}if(this.active_slide!=this.active_slide_count){const t=this.active_blocks[this.active_blocks.length-1],e=getComputedStyle(t).getPropertyValue("--media-height");this.style.setProperty("--right-image-height",`${e}px`)}}}swipeListener(){window.off(`theme:swipe:left.${this.section_id}`),window.on(`theme:swipe:left.${this.section_id}`,()=>{"swipe-started"===this.swipe_state&&this.swipeTo(!0)}),window.off(`theme:swipe:right.${this.section_id}`),window.on(`theme:swipe:right.${this.section_id}`,()=>{"swipe-started"===this.swipe_state&&this.swipeTo(!1)})}swipeTo(t){this.slide_pause=!1,t?this.slideToNext():this.slideToPrev(),this.preventClickWhenSwiping()}arrowNavListeners(){[this.prev_desktop,this.prev_mobile].filter(Boolean).forEach(t=>{t.off(`click.${this.section_id}`),t.on(`click.${this.section_id}`,()=>this.slideToPrev(!0))}),[this.next_desktop,this.next_mobile].filter(Boolean).forEach(t=>{t.off(`click.${this.section_id}`),t.on(`click.${this.section_id}`,()=>this.slideToNext(!1,!0))})}reenableClickAfterSwiping(){this.links.off(`click.${this.section_id}`)}preventClickWhenSwiping(){this.links.on(`click.${this.section_id}`,t=>t.preventDefault())}updateThenGoToActiveSlide(t,e=!1){this.active_slide=t,this.updateActive(),this.goToActiveSlide(e),this.setSliderHeight()}resetHeight(){this.getHeights(),this.setSliderHeight()}removeListeners(){this.blocks.off(`shopify:block:select.${this.section_id}`),this.container.off(`mousedown.${this.section_id} touchstart.${this.section_id}`),window.off(`theme:swipe:left.${this.section_id} theme:swipe:right.${this.section_id}`)}startAutoRotate(){this.clearTimer(),this.active_slide_count>1&&(this.setTimerState("running"),this.auto_slide_interval=setInterval(()=>{this.slideAndUpdateTimer()},this.rotate_frequency))}pauseAutoRotate(){(this.auto_slide_interval||this.auto_slide_timeout)&&"running"===this.timer_state.status&&(this.setPauseButtonState(!0),this.setTimerState("paused"),this.timer_state.running_time+=Date.now()-this.timer_state.start_time,this.timer_state.remaining_time=this.rotate_frequency-this.timer_state.running_time,this.clearTimer())}resumeAutoRotate(){"paused"===this.timer_state.status&&this.active_slide_count>1&&(this.setPauseButtonState(!1),this.setTimerState("running"),this.timer_state.start_time=Date.now(),this.auto_slide_timeout=setTimeout(()=>{this.slideAndUpdateTimer(),this.startAutoRotate()},Math.max(0,this.timer_state.remaining_time)))}clearTimer(){this.auto_slide_interval&&(clearInterval(this.auto_slide_interval),this.auto_slide_interval=null),this.auto_slide_timeout&&(clearTimeout(this.auto_slide_timeout),this.auto_slide_timeout=null)}setTimerState(t){this.timer_state.status=t,this.style.setProperty("--animation-play-state",t)}setPauseButtonState(t,e=!1){this.pause_button&&(this.pause_button.setAttribute("aria-pressed",t),e?this.pause_button.setAttribute("disabled","disabled"):this.pause_button.removeAttribute("disabled"))}slideAndUpdateTimer(){this.slideToNext(!0),this.setSliderHeight(),this.timer_state.start_time=Date.now(),this.timer_state.running_time=0}
1addPauseButtonListener(){this.pause_button.off(`click.${this.section_id}`),this.pause_button.on(`click.${this.section_id}`,({target:t})=>{"true"===t.getAttribute("aria-pressed")?this.resumeAutoRotate():this.pauseAutoRotate()})}}customElements.define("carousel-element",Carousel);class SlideshowCarousel extends Carousel{constructor(){super(),Shopify.designMode&&this.shopifyListeners()}connectedCallback(){this.dot_nav=this.querySelector(".carousel-nav-dot"),this.dots=this.dot_nav?.querySelectorAll(".carousel-nav-dot--index"),this.dot_nav&&(this.dot_state={offset:0,trailing_index:0,leading_index:0,operation:null,width:0}),super.connectedCallback()}initNewScreenSize(){super.initNewScreenSize(),this.dots&&this.dot_state&&(this.dot_state.operation="init",this.getDotWidth(),this.dotNavListeners(),this.updateActiveDot())}goToActiveSlide(t=!1,e="forwards"){"slide"===this.transition_type?(t&&this.container.setAttribute("data-transition-state",e),this.updateContainerDestination(),this.resetPreviousTransitions(),this.reloadNextTransitions()):"fade"===this.transition_type?this.fadeSlides():"wipe"===this.transition_type&&this.wipeSlides()}updateThenGoToActiveSlide(t,e=!1){this.dots&&this.dot_state&&(this.dot_state.operation="init"),super.updateThe
1nGoToActiveSlide(t,e),this.dots.length>5&&this.initDotIndices(),this.updateActiveDot()}slideToNext(t=!1,e=!1){this.dots&&this.dot_state&&(this.dot_state.operation="iterate");const i=super.slideToNext(t,e);return this.updateActiveDot(),i}slideToPrev(){this.dots&&this.dot_state&&(this.dot_state.operation="iterate");const t=super.slideToPrev();return this.updateActiveDot(),t}fadeSlides(){this.old_active_blocks&&this.old_active_blocks.forEach(t=>{t.setAttribute("data-active",!1),t.setAttribute("data-mobile-active",!1)}),this.reloadNextTransitions(),setTimeout(()=>{!Carousel.block_selected&&this.resetPreviousTransitions(),this.active_blocks.forEach(t=>{t.setAttribute("data-active",!0),t.setAttribute("data-mobile-active",!0)})},400)}wipeSlides(){if(this.old_active_blocks){let t=0;this.old_active_blocks.forEach(e=>{e.on("transitionend",({target:i})=>{i===e&&(e.setAttribute("data-active",!1),e.setAttribute("data-mobile-active",!1),e.off("transitionend"),t++,t===this.old_active_blocks.length&&(this.removePreviousTransitions(),this.reloadNextTransitions()))}),e.setAttribute("data-active","pending"),e.setAttribute("data-mobile-active","pending")})}else this.resetPreviousTransitions();this.active_blocks.forEach(t=>{t.setAttribute("data-active",!0),t.setAttribute("data-mobile-active",!0)})}reloadNextTransitions(){this.old_active_blocks&&Utils.arraysEqual(this.old_active_blocks,this.active_blocks)||this.active_blocks?.forEach(t=>{window.trigger(`theme:transition:reload:${t.dataset.id}`)})}removePreviousTransitions(){this.old_active_blocks&&Utils.arraysEqual(this.old_active_blocks,this.active_blocks)||this.old_active_blocks?.forEach(t=>{window.trigger(`theme:transition:remove:${t.dataset.id}`)})}slideAndUpdateTimer(){super.slideAndUpdateTimer(),this.updateActiveDot()}getDotWidth(){const t=getComputedStyle(this.dot_nav),e=parseFloat(t.getPropertyValue("--dot-width")),i=parseFloat(t.getPropertyValue("--dot-gap"));this.dot_state.width=e+i||20}dotNavListeners(){this.dots?.length&&(this.dots.off(`click.${this.section_id}`),this.dots.on(`click.${this.section_id}`,({target:t})=>{this.active_slide!==t.index()+1&&this.updateThenGoToActiveSlide(t.index()+1,!0)}),this.dots.length>5&&"small"===this.sizeQuery&&(this.dots.off("transitionend"),this.dots.on("transitionend",({target:t})=>{t.parentNode===this.dots[this.active_slide-1]&&this.style.setProperty("--dot-pos",`${this.dot_state.offset}px`)})))}updateActiveDot(){this.dots?.length&&(this.dots&&this.dots.forEach(t=>t.setAttribute("aria-current",t===this.dots[this.active_slide-1])),this.dots[this.active_slide-1]&&this.dots.length>5&&this.updateTrailingLeadingDots())}updateTrailingLeadingDots(){const t=this.dots[this.active_slide-1].getAttribute("data-position"),e=""!==t;if(this.active_slide===this.dot_state.leading_index){this.dot_state.leading_index++,this.dot_state.trailing_index++,this.dots.forEach(t=>t.setAttribute("data-position",""));const t=[...this.dots].slice(this.active_slide-3,this.active_slide);this.active_slide>=4&&(this.dots[this.active_slide-4].setAttribute("data-position","trailing-1"),t.push(this.dots[this.active_slide-4])),this.active_slide>=5&&(this.dots[this.active_slide-5].setAttribute("data-position","trailing-2"),t.push(this.dots[this.active_slide-5])),this.dots.length>this.active_slide&&(this.dots[this.active_slide].setAttribute("data-position","leading-1"),t.push(this.dots[this.active_slide])),this.dots.length>this.active_slide+1&&(this.dots[this.active_slide+1].setAttribute("data-position","leading-2"),t.push(this.dots[this.active_slide+1])),this.dots.not(t).forEach(t=>t.setAttribute("data-position","hidden")),this.moveDots(e)}else if(this.active_slide===this.dot_state.trailing_index){this.dot_state.leading_index--,this.dot_state.trailing_index--,this.dots.forEach(t=>t.setAttribute("data-position",""));const t=[...this.dots].slice(this.active_slide-1,this.active_slide+2);this.active_slide>=2&&(this.dots[this.active_slide-2].setAttribute("data-position","trailing-1"),t.push(this.dots[this.active_slide-2])),this.active_slide>=3&&(this.dots[this.active_slide-3].setAttribute("data-position","trailing-2"),t.pu
1sh(this.dots[this.active_slide-3])),this.dots.length>this.active_slide+2&&(this.dots[this.active_slide+2].setAttribute("data-position","leading-1"),t.push(this.dots[this.active_slide+2])),this.dots.length>this.active_slide+3&&(this.dots[this.active_slide+3].setAttribute("data-position","leading-2"),t.push(this.dots[this.active_slide+3])),this.dots.not(t).forEach(t=>t.setAttribute("data-position","hidden")),this.moveDots(e)}else"init"===this.dot_state.operation||"hidden"===t?(this.initDotIndices(),this.updateTrailingLeadingDots()):this.moveDots(e)}initDotIndices(){this.dots?.forEach(t=>t.setAttribute("data-position","")),this.active_slide_count-this.active_slide<=2?(this.dot_state.leading_index=this.active_slide,this.dot_state.trailing_index=this.active_slide-3):this.active_slide_count-this.active_slide>2&&(this.dot_state.trailing_index=this.active_slide,this.dot_state.leading_index=this.active_slide+3)}moveDots(t){this.dots?.length&&(this.active_slide<=3?this.dot_state.offset=0:this.active_slide>=this.active_slide_count-2?this.dot_state.offset=(5-this.active_slide_count)*this.dot_state.width:this.dot_state.offset=(3-this.active_slide)*this.dot_state.width,"small"!==this.loaded_size?this.style.setProperty("--dot-pos","0px"):t||this.style.setProperty("--dot-pos",`${this.dot_state.offset}px`))}shopifyListeners(){this.on("theme:section:select",()=>{Carousel.block_selected&&this.load()})}}customElements.define("slideshow-carousel",SlideshowCarousel);class ProductCarousel extends Carousel{constructor(){super()}load(){super.load(),this.updateMediaListener(),this.onSlideFinishedListener();const t=this.querySelector('.product-media--root[data-active="true"]');this.goToSlide(t?t.dataset.id:0)}updateMediaListener(){window.on(`theme:product:${this.dataset.id}:variantChanged`,({detail:{variant:t}})=>{const e=t.featured_media?parseInt(t.featured_media.id):0;this.goToSlide(e)})}onSlideFinishedListener(){const t=this.querySelectorAll(".product-media--root");this.container.on("transitionend",()=>{const e=this.active_slide-1,i=t[e];t.not(i).forEach(t=>t.firstChild.trigger("pauseMedia"))})}goToSlide(t){if(0===t)return;const e=this.querySelector(`.product-media--root[data-id='${t}']`);if(!e)return;const i=e.closest(".carousel--block").index()+1;this.updateThenGoToActiveSlide(i)}checkForActiveModel(t){const e=t.querySelector("model-viewer");return!!e&&!e.classList.contains("shopify-model-viewer-ui__disabled")}}customElements.define("product-carousel",ProductCarousel);window.trigger("theme:loaded");
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.