PageSourceSearch

https://crayyheads.com/cdn/shop/t/29/assets/slider-component.js?v=113390243926742901351770627843

js crayyheads.com collected 2026-10-08 13:04:15 UTC 3,991 bytes, 2 lines download raw bytes

1(()=>{if(customElements.get("slider-component"))return;class SliderComponent extends HTMLElement{constructor(){super(),this.slider=this.querySelector("[data-slider]"),this.actionClasses={mouseenterLeft:"has-mouseenter-left",mouseenterRight:"has-mouseenter-right",pagination:{active:"is-active",next:"is-next",prev:"is-prev"}},this.selectors={pagination:"[data-pagination]",arrowPrev:"[data-arrow-prev]",arrowNext:"[data-arrow-next]"},this.options={navigation:{prevEl:`${this.selectors.arrowPrev}`,nextEl:`${this.selectors.arrowNext}`},pagination:{el:`${this.selectors.pagination}`,type:"bullets",clickable:!0},on:{init:()=>{this.setPaginationState()},slideChange:swiper=>{this.setPaginationState(swiper)}}},this.initialLoad=!0,Shopify.designMode&&window.addEventListener("shopify:section:unload",e=>{e.target.contains(this)&&(this.toggleHandlers("remove"),this.slider.destroy(!0))})}connectedCallback(){const handleIntersection=(entries,observer)=>{entries[0].isIntersecting&&(observer.unobserve(this),this.initSlider(),this.toggleHandlers())};new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"0px 0px 200px 0px"}).observe(this)}disconnectedCallback(){Shopify.designMode||(this.toggleHandlers("remove"),this.slider.destroy(!0))}initSlider(){this.slider&&(this.slider=new Swiper(this.slider,this.options))}toggleHandlers(action){if(this.slider.$el!==void 0){const sliderElement=this.slider?.$el[0];["mousemove","mouseenter"].forEach(mouseEvent=>{[sliderElement,sliderElement?.querySelector(this.selectors.arrowPrev),sliderElement?.querySelector(this.selectors.arrowNext)].forEach(hoverElement=>{hoverElement&&hoverElement[action!=="remove"?"addEventListener":"removeEventListener"](mouseEvent,debounce(event=>this.onMouseEnter(event),50).bind(this),!1)})}),sliderElement&&sliderElement[action!=="remove"?"addEventListener":"removeEventListener"]("mouseleave",debounce(event=>this.onMouseLeave(event),50).bind(this),!1),this.addEventListener("shopify:block:select",this.onShopifyBlockSelect.bind(this))}}setPaginationState(swiper){const swiperInstance=swiper||this.slider.swiper;if(this.initialLoad){const firstElement=this.querySelector(`${this.selectors.pagination} > :first-child`);firstElement.classList.add(this.actionClasses.pagination.active),firstElement.nextSibling?.classList.add(this.actionClasses.pagination.next),this.initialLoad=!1;return}Object.values(this.actionClasses.pagination).map(paginationClass=>this.querySelector(`${this.selectors.pagination} > .${paginationClass}
1`)).forEach((paginationItem,index)=>{paginationItem?.classList.remove(Object.values(this.actionClasses.pagination)[index])});const paginationItems=swiperInstance?.pagination?.bullets;paginationItems&&paginationItems.forEach((paginationItem,index)=>{paginationItem.classList.contains("swiper-pagination-bullet-active")&&(paginationItem.classList.add(this.actionClasses.pagination.active),paginationItems[index-1]?.classList.add(this.actionClasses.pagination.prev),paginationItems[index+1]?.classList.add(this.actionClasses.pagination.next))})}onMouseEnter(event){if(this.slider.destroyed)return;const sliderElement=this.slider.$el[0],[sliderWidth,sliderLeft]=[sliderElement.getBoundingClientRect().width,sliderElement.getBoundingClientRect().left],dividedsliderWidth=sliderWidth/2,isMouseInLeft=event.clientX-sliderLeft<dividedsliderWidth;sliderElement.classList.toggle(this.actionClasses.mouseenterLeft,isMouseInLeft),sliderElement.classList.toggle(this.actionClasses.mouseenterRight,!isMouseInLeft)}onMouseLeave(){if(this.slider.destroyed)return;const sliderElement=this.slider.$el[0];sliderElement.classList.remove(this.actionClasses.mouseenterLeft),sliderElement.classList.remove(this.actionClasses.mouseenterRight)}onShopifyBlockSelect(event){const slideId=event.target.dataset.id;this.slider.slideTo(Number(slideId))}}customElements.define("slider-component",SliderComponent)})();
2//# sourceMappingURL=/cdn/shop/t/29/assets/slider-component.js.map?v=113390243926742901351770627843

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.