1class ReferenceHeroSlider extends HTMLElement{connectedCallback(){this.abort?.abort(),this.abort=new AbortController;const signal=this.abort.signal;if(this.track=this.querySelector("[data-track]"),!this.track)return;this.track.querySelectorAll("[data-clone]").forEach(slide=>slide.remove()),this.slides=[...this.track.querySelectorAll("slideshow-slide")],this.current=0,this.motion=matchMedia("(prefers-reduced-motion: reduce)");const clone=source=>{const node=source.cloneNode(!0);return node.dataset.clone="true",node.setAttribute("aria-hidden","true"),node.removeAttribute("data-shopify-editor-block"),node.removeAttribute("data-block-id"),node.querySelectorAll("[id]").forEach(child=>child.removeAttribute("id")),node.querySelectorAll("a,button,input").forEach(child=>child.tabIndex=-1),node};this.slides.length>1&&(this.leftClone=clone(this.slides.at(-1)),this.rightClone=clone(this.slides[0]),this.track.prepend(this.leftClone),this.track.append(this.rightClone),this.slides.length>2&&(this.track.prepend(clone(this.slides.at(-2))),this.track.append(clone(this.slides[1])))),this.querySelector("[data-arrow-prev]")?.addEventListener("click",()=>this.select(this.current-1),{signal}),this.querySelector("[data-arrow-next]")?.addEventListener("click",()=>this.select(this.current+1),{signal}),this.track.addEventListener("scroll",()=>this.updateCenter(),{passive:!0,signal}),this.track.addEventListener("scrollend",()=>{this.wrapping&&(this.scrollToSlide(this.slides[this.current],!0),this.wrapping=!1),this.updateCenter();const index=this.slides.findIndex(slide=>slide.hasAttribute("data-center"));index>=0&&(this.current=index)},{signal}),this.addEventListener("pointerenter",()=>this.stop(),{signal}),this.addEventListener("pointerleave",()=>this.start(),{signal}),this.addEventListener("focusin",()=>this.stop(),{signal}),this.addEventListener("focusout",()=>this.start(),{signal}),this.addEventListener("keydown",e=>{(e.key==="ArrowRight"||e.key==="ArrowLeft")&&(e.preventDefault(),this.select(this.current+(e.key==="ArrowRight"?1:-1)))},{signal}),window.addEventListener("resize",()=>this.scrollToSlide(this.slides[this.current],!0),{passive:!0,signal}),this.closest(".shopify-section")?.addEventListener("shopify:block:select",event=>{const index=this.slides.findIndex(slide=>slide.dataset.blockId===event.detail.blockId);index>=0&&(this.stop(),this.select(index,!0))},{signal}),this.motion.addEventListener("change",()=>this.start(),{signal}),this.frame=requestAnimationFrame(()=>{this.isConnected&&(this.scrollToSlide(this.slides[0],!0),this.updateCenter(),this.start())})}disconnectedCallback(){this.stop(),this.abort?.abort(),cancelAnimationFrame(this.frame),clearTimeout(this.wrapTimer)}scrollToSlide(slide,instant=!1){slide&&(this.track.scrollTo({left:slide.offsetLeft-(this.track.clientWidth-slide.offsetWidth)/2,behavior:instant||this.motion.matches?"instant":"smooth"}),this.updateCenter())}select(index,instant=!1){if(this.wrapping||!this.slides.length)return;const count=this.slides.length;this.current=(index%count+count)%count;const target=index<0?this.leftClone:index>=count?this.rightClone:this.slides[this.current];!instant&&!this.motion.matches&&(index<0||index>=count)?(this.wrapping=!0,this.scrollToSlide(target),clearTimeout(this.wrapTimer),this.wrapTimer=setTimeout(()=>{this.wrapping&&this.isConnected&&(this.scrollToSlide(this.slides[this.current],!0),this.wrapping=!1)},800)):this.scrollToSlide(this.slides[this.current],instant)}updateCenter(){const center=this.track.getBoundingClientRect().left+this.track.clientWidth/2;let closest,distance=1/0;
1[...this.track.children].forEach(slide=>{const rect=slide.getBoundingClientRect(),delta=Math.abs(rect.left+rect.width/2-center);delta<distance&&(closest=slide,distance=delta)}),[...this.track.children].forEach(slide=>{const active=slide===closest;slide.toggleAttribute("data-center",active),slide.hasAttribute("data-clone")||(slide.setAttribute("aria-hidden",String(!active)),slide.querySelectorAll("a,button").forEach(el=>el.tabIndex=active?0:-1))})}stop(){clearInterval(this.timer)}start(){this.stop(),!(this.dataset.autoplayEnabled!=="true"||this.motion.matches||window.Shopify?.designMode||this.slides.length<2)&&(this.timer=setInterval(()=>this.select(this.current+1),Number(this.dataset.autoplayDelay)||8e3))}}customElements.get("caldera-hero-slider")||customElements.define("caldera-hero-slider",ReferenceHeroSlider); 2//# sourceMappingURL=/cdn/shop/t/45/assets/reference-hero.js.map?v=34095587348859181361789670201
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.