PageSourceSearch

https://hyperice.com/cdn/shop/t/117/assets/core-carousel.fwvLGj-6.min.js

js hyperice.com collected 2026-10-01 11:43:56 UTC 13,319 bytes, 1 lines download raw bytes

1import{B as f}from"./BaseElement.DUV4NqCX.min.js";import{n as o}from"./property.C7OeqhA5.min.js";import{r as m}from"./state.Cmay8SOG.min.js";import{e as h}from"./query.CpiO8Lcb.min.js";import{r as v}from"./query-all.D646pH-D.min.js";import"./lit-element.mvcqtviJ.min.js";import"./base.CShCMygk.min.js";function u(i,t){let e;return function(...s){e||(i.apply(this,s),e=!0,setTimeout(()=>e=!1,t))}}var b=Object.defineProperty,n=(i,t,e,s)=>{for(var l=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(l=d(t,e,l)||l);return l&&b(t,e,l),l};class r extends f{constructor(){super(),this.n_slides=0,this.n_slidesCloned=0,this.n_pages=0,this.slideWidth=0,this.pageWidth=0,this.spaceBtwSlides=0,this.resizeObserver=null,this.intersectionObserver=null,this.isDesktop=!1,this.itemsToShow=1,this.slideInterval=parseInt(this.dataset.slideInterval||"0",10),this.isMobileOnly=this.dataset.isMobileOnly==="true",this.isDesktopOnly=this.dataset.isDesktopOnly==="true",this.itemsToScroll=parseInt(this.dataset.itemsToScroll||"1",10),this.isPlaying=!1,this.connectedCarousels=null,this.currentSlide=0,this.scrollTimer=null,this.intervalId=null,this.eventListenersHaveBeenAdded=!1,this._slidesMutationWatcher=null,this._isCloningSlides=!1,this.pauseAutoplay=()=>{this.isPlaying=!1},this.resumeAutoplay=()=>{this.isPlaying=!0},this.pauseAutoplayOnFocus=()=>{this.isPlaying=!1},this.resumeAutoplayOnBlur=()=>{this.matches(":hover")||(this.isPlaying=!0)},this.pauseAutoplayOnTouch=()=>{this.isPlaying=!1},this.handlePrevClick=()=>{const t=this.index_slideCurrent;t>=0?this.goto(t-1):this.resetScroll(!1)},this.handleNextClick=()=>{const t=this.index_slideCurrent;t<=this.n_slides?this.goto(t+1):this.resetScroll(!0)},this.handleFocusIn=t=>{const s=t.target.closest("[data-carousel-slide]");if(!s||s.hasAttribute("aria-hidden"))return;const l=s.getBoundingClientRect(),a=this.slidesWrapper.getBoundingClientRect();if(l.left<a.left||l.right>a.right){const c=Array.from(this.slides).filter(p=>!p.hasAttribute("aria-hidden")).indexOf(s);if(c>=0){const p=Math.floor(c/this.itemsToScroll);this.goto(p)}}},this.handleScroll=()=>{requestAnimationFrame(()=>{this.currentSlide=this.index_slideCurrent,this.scrollTimer&&clearTimeout(this.scrollTimer),this._updateScrollProgress(),this.scrollTimer=window.setTimeout(()=>{this.prevBtn&&(this.prevBtn.disabled=!1),this.nextBtn&&(this.nextBtn.disabled=!1),this.pageCounter&&this.setupPageCounter(),this.loop&&this.slidesWrapper.scrollLeft<this.pageWidth*(this.n_slidesCloned-1/2)&&this.resetScroll(!0),this.loop&&this.slidesWrapper.scrollLeft>this.pageWidth*(this.n_slides-1+this.n_slidesCloned+1/2)&&this.resetScroll(!1)},200)})},this.handleResize=()=>{requestAnimationFrame(()=>{this.isDesktop=window.matchMedia("(min-width: 768px)").matches,!(this.isDesktop&&this.isMobileOnly||!this.isDesktop&&this.isDesktopOnly)&&(this.initializeCarousel(),this.isPlaying=!1,this.slideInterval>0&&(this.isPlaying=!0),(this.isDesktop&&this.isMobileOnly||!this.isDesktop&&this.isDesktopOnly)&&!this.eventListenersHaveBeenAdded&&this.addEventListeners(),this.navDotsWrapper&&this.setupNavDots(),this.loop&&this.setupLoop(),this.pageCounter&&this.setupPageCounter(),this.updateButtonVisibility())})},this.isDesktop=window.matchMedia("(min-width: 768px)").matches,this.play=this.play.bind(this),this.stop=this.stop.bind(this),this.goto=this.goto.bind(this),this.resetScroll=this.resetScroll.bind(this),this.markNavdot=this.markNavdot.bind(this),this.updateNavdot=this.updateNavdot.bind(this),this.setUpIntersectionObserver=this.setUpIntersectionObserver.bind(this),this.prevBtn=this.querySelector("[data-carousel-prev]")||document.querySelector(`.core-carousel-button-prev-${this.id}`),this.nextBtn=this.querySelector("[data-carousel-next]")||document.querySelector(`.core-carousel-button-next-${this.id}`),this.throttledPrevClick=u(this.handlePrevClick,400),this.throttledNextClick=u(this.handleNextClick,400)}connectedCallback(){if(super.connectedCallback(),this.slides.length===0){console.warn("No slides found in the carousel");return}this.init(),this._setupSlidesMutationObserver()}_setupSlidesMutationObserver(){this._slidesMutationWatcher||this.loop||(this._slidesMutationWatcher=new MutationObserver(()=>{this._isCloningSlides||this.init()}),this._slidesMutationWatcher.observe(this.slidesWrapper,{childList:!0}))}init(){this.initializeCarousel(),this.addEventListeners(),this.slideInterval>0&&this.setupAutoplay(),this.navDotsWrapper&&this.setupNavDots(),this.loop&&this.setupLoop(),this.pageCounter&&this.setupPageCounter(),requestAnimationFrame(()=>{this.updateButtonVisibility()})}disconnectedCallback(){var t,e,s;super.disconnectedCallback(),(t=this._slidesMutationWatcher)==null||t.disconnect(),this._slidesMutationWatcher=null,(e=this.intersectionObserver)==null||e.disconnect(),this.intersectionObserver=null,this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.slidesWrapper&&(this.slidesWrapper.removeEventListener("scroll",this.handleScroll),this.slidesWrapper.removeEventListener("focusin",this.handleFocusIn)),this.removeEventListener("pointerenter",this.pauseAutoplay),this.removeEventListener("pointerleave",this.resumeAutoplay),this.removeEventListener("focus",this.pauseAutoplayOnFocus,!0),this.removeEventListener("blur",this.resumeAutoplayOnBlur,!0),this.removeEventListener("touchstart",this.pauseAutoplayOnTouch),(s=this.resizeObserver)==null||s.disconnect(),this.resizeObserver=null,this.prevBtn&&this.prevBtn.removeEventListener("click",this.handlePrevClick),this.nextBtn&&this.nextBtn.removeEventListener("click",this.handleNextClick),this.scrollTimer&&clearTimeout(this.scrollTimer)}updated(t){super.updated(t),!(this.isDesktop&&this.isMobileOnly||!this.isDesktop&&this.isDesktopOnly)&&
1(t.has("currentSlide")&&((this.prevBtn||this.nextBtn)&&!this.loop&&this.handlePrevNextBtn(),this.navDotsWrapper&&(this.navDots.forEach(e=>{e.setAttribute("aria-disabled","false")}),this.updateNavdot()),this.connectedCarousels&&this._syncConnectedCarousels()),t.has("isPlaying")&&(this.isPlaying?this.play():this.stop()))}initializeCarousel(){this.itemsToShow=this.isDesktop?parseInt(this.dataset.itemsToShow||"1",10):parseInt(this.dataset.itemsToShowMobile||"1",10),this.itemsToScroll=this.isDesktop?parseInt(this.dataset.itemsToScroll||"1",10):1,this.n_slides=Array.from(this.slides).filter(t=>!t.hasAttribute("aria-hidden")).length,this.n_slidesCloned=this.dataset.loop==="true"?1:0,this.slideWidth=this.slides[0].offsetWidth,this.spaceBtwSlides=this.getSpaceBetweenSlides(),this.slidesWrapper.style.scrollBehavior="smooth",this.n_pages=this.itemsToShow===1?this.n_slides:Math.ceil((this.n_slides-this.itemsToShow)/this.itemsToScroll+1),this.pageWidth=this.itemsToShow===1?this.slideWidth:this.slideWidth*this.itemsToShow+this.spaceBtwSlides*(this.itemsToShow-1),this.n_pages>1?this.slidesWrapper.setAttribute("tabindex","0"):this.slidesWrapper.removeAttribute("tabindex")}setupPageCounter(){this.pageCounter&&(this.pageCounter.innerHTML=`${this.currentSlide+1} / ${this.n_pages}`,this.pageCounter.setAttribute("aria-label",`Page ${this.currentSlide+1} of ${this.n_pages}`))}generateNavDots(){this.navDotsWrapper?(this.navDotsWrapper.innerHTML="",this.navDotsWrapper.innerHTML=Array.from({length:this.n_pages},(t,e)=>`<button data-nav-dot="${e}" type="button" tabindex="-1" aria-label="${e+1} of ${this.n_pages}" aria-disabled="${e===0?"true":"false"}"></button>`).join("")):console.warn("No nav dots wrapper found in the carousel")}addEventListeners(){this.eventListenersHaveBeenAdded=!0,this.setUpResizeObserver(),this.slidesWrapper.addEventListener("scroll",this.handleScroll,{passive:!0}),this.slidesWrapper.addEventListener("focusin",this.handleFocusIn),this.prevBtn&&this.prevBtn.addEventListener("click",this.handlePrevClick),this.nextBtn&&this.nextBtn.addEventListener("click",this.handleNextClick)}setupAutoplay(){this.setUpIntersectionObserver(),this.addEventListener("pointerenter",this.pauseAutoplay),this.addEventListener("pointerleave",this.resumeAutoplay),this.addEventListener("focus",this.pauseAutoplayOnFocus,!0),this.addEventListener("blur",this.resumeAutoplayOnBlur,!0),this.addEventListener("touchstart",this.pauseAutoplayOnTouch,{passive:!0})}setupNavDots(){this.generateNavDots(),this.navDotsWrapper.addEventListener("click",t=>{const e=t.target,s=e.dataset.navDot?parseInt(e.dataset.navDot):-1;s>=0&&(this.goto(s),this.markNavdot(s))})}setupLoop(){this.slides.length!==0&&(this._isCloningSlides=!0,this.cloneSlide(this.slides[0],"end"),this.cloneSlide(this.slides[this.n_slides-1],"start"),this.handleAriaHiddenSlides(),this._isCloningSlides=!1,requestAnimationFrame(()=>{const t=this.itemsToScroll===1?this.slideWidth+this.spaceBtwSlides:this.pageWidth;this.slidesWrapper.style.scrollBehavior="auto",this.slidesWrapper.scrollTo(t*this.n_slidesCloned,0),this.slidesWrapper.style.scrollBehavior="smooth"}))}cloneSlide(t,e){const s=t.cloneNode(!0);s.setAttribute("aria-hidden","true"),s.removeAttribute("tabindex"),e==="start"?this.slidesWrapper.prepend(s):this.slidesWrapper.append(s)}getSpaceBetweenSlides(){return Number(window.getComputedStyle(this.slidesWrapper).getPropertyValue("grid-column-gap").slice(0,-2))||0}get index_slideCurrent(){const t=this.itemsToScroll===1?this.slideWidth+this.spaceBtwSlides:this.pageWidth,e=Math.round(this.slidesWrapper.scrollLeft/t)-this.n_slidesCloned;return this.currentSlide=e,e}setUpIntersectionObserver(){var e;const t=s=>{s.forEach(l=>{l.isIntersecting?this.isPlaying=!0:this.isPlaying=!1})};(e=this.intersectionObserver)==null||e.disconnect(),this.intersectionObserver=new IntersectionObserver(t,{threshold:.99}),this.intersectionObserver.observe(this)}handleAriaHiddenSlides(){this.slidesWrapper.querySelectorAll("[aria-hidden]").forEach(t=>{t.querySelectorAll("[tabindex], button, a").forEach(e=>{e.setAttribute("tabindex","-1")})})}_syncConnectedCarousels(){try{if(!this.connectedCarousels)return;
1this.connectedCarousels.forEach(t=>{const e=document.getElementById(t);e&&e!==this&&e.goto(this.currentSlide)})}catch(t){console.error("Error syncing connected carousels:",t)}}resetScroll(t){this.slidesWrapper.style.scrollBehavior="auto",requestAnimationFrame(()=>{this.slidesWrapper.scrollTo(this.pageWidth*(t?this.n_pages:this.n_slidesCloned),0),this.slidesWrapper.style.scrollBehavior="smooth"})}goto(t){this.prevBtn&&(this.prevBtn.disabled=!0),this.nextBtn&&(this.nextBtn.disabled=!0),this.currentSlide=t;const e=this.itemsToScroll===1?this.slideWidth+this.spaceBtwSlides:this.pageWidth;this.slidesWrapper.scrollTo(e*(t+this.n_slidesCloned),0)}play(){var t;window.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.intervalId&&window.clearInterval(this.intervalId),(t=this.slidesWrapper)==null||t.setAttribute("aria-live","off"),this.intervalId=window.setInterval(this.handleNextClick,this.slideInterval))}stop(){var t;this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),(t=this.slidesWrapper)==null||t.setAttribute("aria-live","polite")}_updateScrollProgress(){const t=this.progressBar;if(!t)return;const e=this.slidesWrapper,s=e.scrollWidth-e.offsetWidth,l=s>0?e.scrollLeft/s*100:0;t.style.setProperty("--scroll",`${Math.ceil(l)}%`)}setUpResizeObserver(){this.resizeObserver=new ResizeObserver(this.handleResize),this.resizeObserver.observe(this.slidesWrapper)}markNavdot(t){t<0||t>=this.navDots.length||!this.navDots[t]||this.navDots[t].setAttribute("aria-disabled","true")}
1updateNavdot(){const t=this.index_slideCurrent;t<0||t>=this.n_pages||this.markNavdot(t)}updateButtonVisibility(){const e=this.n_slides*(this.slideWidth+this.spaceBtwSlides)-this.spaceBtwSlides>this.slidesWrapper.clientWidth;this.prevBtn&&(this.prevBtn.hidden=!e),this.nextBtn&&(this.nextBtn.hidden=!e)}handlePrevNextBtn(){this.currentSlide<=0&&this.prevBtn?(this.prevBtn.classList.add("disabled"),this.prevBtn.disabled=!0):this.prevBtn&&(this.prevBtn.classList.remove("disabled"),this.prevBtn.disabled=!1),this.currentSlide>=this.n_pages-1&&this.nextBtn?(this.nextBtn.classList.add("disabled"),this.nextBtn.disabled=!0):this.nextBtn&&(this.nextBtn.classList.remove("disabled"),this.nextBtn.disabled=!1)}}n([h("[data-carousel-slides]")],r.prototype,"slidesWrapper");n([v("[data-carousel-slide]")],r.prototype,"slides");n([h("[data-nav-dots-wrapper]")],r.prototype,"navDotsWrapper");n([v("[data-nav-dot]")],r.prototype,"navDots");n([h("[data-page-counter]")],r.prototype,"pageCounter");n([h("[data-progress]")],r.prototype,"progressBar");n([o({type:Number,attribute:"data-slide-interval",converter:{fromAttribute:i=>i?parseInt(i,10):0}})],r.prototype,"slideInterval");n([o({type:Boolean,attribute:"data-is-mobile-only",converter:i=>i==="true"})],r.prototype,"isMobileOnly");n([o({type:Boolean,attribute:"data-is-desktop-only",converter:i=>i==="true"})],r.prototype,"isDesktopOnly");n([o({type:Number,attribute:"data-items-to-scroll",converter:{fromAttribute:i=>i?parseInt(i,10):1}})],r.prototype,"itemsToScroll");n([o({type:Boolean,attribute:"data-loop",converter(i){return i==="true"}})],r.prototype,"loop");n([o({type:Boolean,reflect:!0})],r.prototype,"isPlaying");n([o({type:String,attribute:"connected-carousels",converter:i=>i==null?void 0:i.split(",")})],r.prototype,"connectedCarousels");n([m()],r.prototype,"currentSlide");customElements.get("core-carousel")||customElements.define("core-carousel",r);

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.