PageSourceSearch

https://www.alpinestars.com/cdn/shop/t/196/assets/announcement-bar.js?v=83426495439765442311784987614

js alpinestars.com collected 2026-10-02 05:46:59 UTC 4,164 bytes, 2 lines download raw bytes

1import{Component}from"@theme/component";import{prefersReducedMotion}from"@theme/utilities";export class AnnouncementBar extends Component{#current=0;#interval;#resizeObserver;#scrollEndTimeout;#scrollRaf;#slidesCache=null;#userInteracting=!1;#scroller(){return this.querySelector(":scope .announcement-bar__slides")}#slides(){if(this.#slidesCache)return this.#slidesCache;const scroller=this.#scroller();return scroller instanceof Element?(this.#slidesCache=[...scroller.querySelectorAll(".announcement-bar__slide")].filter(slide=>slide instanceof HTMLElement),this.#slidesCache):[]}#invalidateSlidesCache(){this.#slidesCache=null}#syncSlideAccessibility(slides,activeSlideIndex){for(const[slideIndex,slide]of slides.entries()){const hidden=slideIndex!==activeSlideIndex;slide.setAttribute("aria-hidden",hidden?"true":"false"),slide.toggleAttribute("inert",hidden)}}#syncFromScroll(){const scroller=this.#scroller(),slides=this.#slides();if(!(scroller instanceof HTMLElement)||slides.length===0)return;const slideWidth=scroller.clientWidth;if(slideWidth===0)return;const maxIndex=slides.length-1,activeSlideIndex=Math.max(0,Math.min(Math.round(scroller.scrollLeft/slideWidth),maxIndex));this.#current=activeSlideIndex,this.#syncSlideAccessibility(slides,activeSlideIndex)}#goToSlide(unboundedSlideIndex,options={}){const scroller=this.#scroller(),slides=this.#slides();if(!(scroller instanceof HTMLElement)||slides.length===0)return;const slideCount=slides.length;let activeSlideIndex=unboundedSlideIndex%slideCount;activeSlideIndex<0&&(activeSlideIndex+=slideCount),this.#current=activeSlideIndex;const behavior=prefersReducedMotion()?"instant":options.behavior??"smooth";scroller.scrollTo({left:activeSlideIndex*scroller.clientWidth,behavior}),this.#syncFromScroll()}connectedCallback(){super.connectedCallback();const scroller=this.#scroller();scroller instanceof HTMLElement&&(scroller.addEventListener("scroll",this.#onScroll,{passive:!0}),this.#resizeObserver=new ResizeObserver(()=>this.#syncFromScroll()),this.#resizeObserver.observe(scroller)),this.autoplay&&(this.addEventListener("mouseenter",this.suspend),this.addEventListener("mouseleave",this.resume),document.addEventListener("visibilitychange",this.#onVisibility)),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.#syncFromScroll(),this.#startAutoplay()})})}disconnectedCallback(){const scroller=this.#scroller();scroller instanceof HTMLElement&&scroller.removeEventListener("scroll",this.#onScroll),document.removeEventListener("visibilitychange",this.#onVisibility),this.removeEventListener("mouseenter",this.suspend),this.removeEventListener("mouseleave",this.resume),this.#resizeObserver?.disconnect(),this.#resizeObserver=void 0,clearTimeout(this.#scrollEndTimeout),this.#scrollEndTimeout=void 0,this.#scrollRaf&&(cancelAnimationFrame(this.#scrollRaf),this.#scrollRaf=void 0),this.#invalidateSlidesCache(),this.suspend(),super.disconnectedCallback()}updatedCallback(){super.updatedCallback(),this.#invalidateSlidesCache(),this.#syncFromScroll()}suspend(){clearInterval(this.#interval),this.#interval=void 0}resume(){!this.autoplay||this.#userInteracting||(this.suspend(),this.#startAutoplay())}#startAutoplay(){const intervalMs=this.autoplayInterval;!intervalMs||prefersReducedMotion()||this.#slides().length<2||(this.#interval=setInterval(()=>{this.matches(":hover")||document.hidden||this.#userInteracting||this.#goToSlide(this.#current+1)},intervalMs))}get autoplayInterval(){const value=parseInt(`${this.getAttribute("autoplay")}`,10);if(!Number.isNaN(value))return value*1e3}get autoplay(){return!!this.autoplayInterval}#onScroll=()=>{this.#userInteracting=!0,clearTimeout(this.#scrollEndTimeout),!this.#scrollRaf&&(this.#scrollRaf=requestAnimationFrame(()=>{this.#scrollRaf=void 0,this.#syncFromScroll()}),this.#scrollEndTimeout=setTimeout(()=>{this.#userInteracting=!1,this.resume()},150))};#onVisibility=()=>{document.hidden?this.suspend():this.resume()}}customElements.get("announcement-bar-component")||customElements.define("announcement-bar-component",AnnouncementBar);
2//# sourceMappingURL=/cdn/shop/t/196/assets/announcement-bar.js.map?v=83426495439765442311784987614

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.