1import{a as _inherits,b as _createSuper,c as _createClass,d as _classCallCheck,h as _wrapNativeSuper}from"./_rollupPluginBabelHelpers-81f38430.js";import{e}from"./fluorescent-dom.es-0c4d37e6.js";var dispatchCustomEvent=function(eventName){var data=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},detail={detail:data},event=new CustomEvent(eventName,data?detail:null);document.dispatchEvent(event)},MOVE_DELTA_REQUIRED_TO_PREVENT_CLICK=2,ScrollSlider=(function(_HTMLElement){_inherits(ScrollSlider2,_HTMLElement);var _super=_createSuper(ScrollSlider2);function ScrollSlider2(){var _this;return _classCallCheck(this,ScrollSlider2),_this=_super.call(this),_this.strings=window.theme.strings,_this.selectors={slider:".scroll-slider__slider",slide:".scroll-slider__slider > *",pageDots:"[data-scroll-slider-page-dots]",dot:"[data-scroll-slider-page-dot]",prevButton:"[data-scroll-slider-prev-button]",nextButton:"[data-scroll-slider-next-button]",counterWrapper:".scroll-slider__counter",currentCounter:".scroll-slider__counter--current",totalCounter:".scroll-slider__counter--total"},_this.classes={dot:"scroll-slider-page-dot",dotVisible:"is-selected",hidden:"hidden",mouseDown:"mouse-down",freeScroll:"free-scroll-mode",dragging:"dragging"},_this}return _createClass(ScrollSlider2,[{key:"connectedCallback",value:function(){this.initSlider()}},{key:"initSlider",value:function(){var _this2=this;if(this.slider=this.querySelector(this.selectors.slider),!!this.slider&&(this.sliderItems=this.querySelectorAll(this.selectors.slide),!!this.sliderItems.length)){var sliderParent=this.parentElement,_this$dataset=this.dataset,id=_this$dataset.id,navigationContainer=_this$dataset.navigationContainer,autoplay=_this$dataset.autoplay,autoplayDelay=_this$dataset.autoplayDelay,autoplayPauseOnHover=_this$dataset.autoplayPauseOnHover,isSlideshow=_this$dataset.isSlideshow;this.initialized=!1,this.pageDotEvents=[],this.events=[],this.id=id,this.isSlideshow=isSlideshow==="true",this.autoplayDelay=parseInt(autoplayDelay,10),this.shouldAutoplay=autoplay==="true",this.shouldPauseOnHover=autoplayPauseOnHover==="true",this.hasBorderedGrid=sliderParent.dataset.gridStyle==="bordered_grid",this.slider.dataset.slideCount=this.sliderItems.length,this.userIsOnTouchScreen=function(){return window.matchMedia("(pointer: coarse)").matches};var navigationWrapper=navigationContainer?this.closest(navigationContainer):this;this.pageDotsElement=navigationWrapper.querySelector(this.selectors.pageDots),this.counterWrapper=navigationWrapper.querySelector(this.selectors.counterWrapper),this.currentPageElement=navigationWrapper.querySelector(this.selectors.currentCounter),this.pageTotalElement=navigationWrapper.querySelector(this.selectors.totalCounter),this.prevButton=navigationWrapper.querySelector(this.selectors.prevButton),this.nextButton=navigationWrapper.querySelector(this.selectors.nextButton),this.initEvents();var resizeObserver=new ResizeObserver(function(){return _this2.initScroller()});resizeObserver.observe(this.slider),this.userIsOnTouchScreen()||this.initDragScroll()}}},{key:"initEvents",value:function(){var _this3=this;this.events=[e(this.slider,"scroll",function(){return _this3.handleScrollPositionChange()}),e(document,"scroll-slider-".concat(this.id,":go-to-slide"),function(event){_this3.scrollTo(event.detail.slideIndex*_this3.sliderWidth+_this3.gapWidth*(event.detail.slideIndex-1),event.detail.behavior)})],this.prevButton&&this.events.push(e(this.prevButton,"click",function(e2){return _this3.onButtonClick(e2)})),this.nextButton&&this.events.push(e(this.nextButton,"click",function(e2){return _this3.onButtonClick(e2)}))}},{key:"setInitialSlide",value:function(){this.initialSlide=null;for(var i=0;i<this.sliderItems.length;i++){var slide=this.sliderItems[i];if(slide.getAttribute("data-initial-slide")!==null){this.initialSlide=slide;break}}this.initialSlide&&dispatchCustomEvent("scroll-slider-".concat(this.id,":go-to-slide"),{slideIndex:this.initialSlide.dataset.slideIndex,behavior:"instant"})}},{key:"disconnectedCallback",value:function(){var _this$events;(_this$events=this.events)===null||_this$events===void 0||_this$events.forEac
1h(function(unsubscribe){return unsubscribe()})}},{key:"initDragScroll",value:function(){this.mouseIsDown=!1,this.mouseStartPositionX=null,this.scrolledLeft=0,this.events.push(e(this.slider,"mousedown",this.handleDragScrollMouseDown.bind(this)),e(this.slider,"mouseleave",this.handleDragScrollMouseLeave.bind(this)),e(this.slider,"mouseup",this.handleDragScrollMouseUp.bind(this)),e(this.slider,"mousemove",this.handleDragScrollMouseMove.bind(this)))}},{key:"handleDragScrollMouseDown",value:function(event){this.contentsAreScrollable&&(this.mouseIsDown=!0,this.slider.classList.add(this.classes.mouseDown),this.mouseStartPositionX=event.pageX-this.slider.offsetLeft,this.scrolledLeft=this.slider.scrollLeft)}},{key:"handleDragScrollMouseLeave",value:function(){if(this.shouldPauseOnHover&&this.shouldAutoplay){var _this$autoplay;(_this$autoplay=this.autoplay)===null||_this$autoplay===void 0||_this$autoplay.resume(),this.handleDragMouseOut();return}this.mouseIsDown||this.handleDragMouseOut()}},{key:"handleDragScrollMouseUp",value:function(){this.slider.classList.remove(this.classes.dragging),this.mouseIsDown=!1,this.slider.classList.remove(this.classes.mouseDown)}},{key:"handleDragScrollMouseMove",value:function(event){if(this.mouseIsDown){event.preventDefault();var mouseCurrentPositionX=event.pageX-this.slider.offsetLeft,mouseDownToUpPositionDelta=Math.abs(mouseCurrentPositionX-this.mouseStartPositionX);mouseDownToUpPositionDelta>=MOVE_DELTA_REQUIRED_TO_PREVENT_CLICK&&this.slider.classList.add(this.classes.dragging),!this.isSlideshow&&this.handleDrag(mouseCurrentPositionX)}}},{key:"initScroller",value:function(){var previousTotalPageCount=this.totalPages;this.sliderItemsToShow=Array.from(this.sliderItems).filter(function(element){return element.clientWidth>0}),this.contentsAreScrollable=this.slider.scrollWidth>this.slider.offsetWidth,this.dataset.contentsAreScrollable=this.contentsAreScrollable,this.sliderItemsToShow.length&&(this.sliderStyles=getComputedStyle(this.slider),this.styles=getComputedStyle(this),this.gapWidth=parseFloat(this.sliderStyles.getPropertyValue("gap")),this.fullWidthPaddingOffset=parseFloat(this.sliderStyles.getPropertyValue("padding-left")),this.columns=this.styles.getPropertyValue("--scroll-columns"),this.visibleColumns=this.columns-1,this.sliderWidth=this.getBoundingClientRect().width-this.fullWidthPaddingOffset,this.slideWidth=this.sliderItemsToShow[0].getBoundingClientRect().width,this.slideWidthWithGap=this.slideWidth+this.gapWidth*this.visibleColumns/this.columns,this.slidesPerPage=Math.floor(this.sliderWidth/this.slideWidthWithGap),this.totalPages=Math.ceil(this.sliderItemsToShow.length/this.slidesPerPage),this.pageDotsElement&&previousTotalPageCount!==this.totalPages&&this.initPageDots(),this.initialized||(document.dispatchEvent(new CustomEvent("scroll-slider-".concat(this.id,":initialized"),{})),this.initialized=!0,this.setInitialSlide()),this.handleScrollPositionChange())}},{key:"initPageDots",value:function(){var _this4=this;this.pageDotEvents.forEach(function(unsubscribe){return unsubscribe()}),this.pageDotEvents=[],this.pageDotsElement.innerHTML="",this.dots=null;for(var index=0;index<this.totalPages;index++){var dot=document.createElement("button");dot.type="button",dot.setAttribute("class",this.classes.dot),dot.setAttribute("data-scroll-slider-page-dot",""),dot.setAttribute("data-go-to",index),dot.setAttribute("aria-label",this.strings.accessibility.carousel_select.replace("{{ number }}",index+1)),this.pageDotEvents.push(e(dot,"click",function(e2){return _this4.onDotClick(e2)})),this.pageDotsElement.appendChild(dot)}this.dots=this.pageDotsElement.querySelectorAll(this.selectors.dot)}},{key:"handleScrollPositionChange",value:function(){var _this5=this,previousPage=this.currentPage;this.currentPage=Math.floor(this.slider.scrollLeft/(this.slideWidthWithGap*this.slidesPerPage))+1,this.isSlideVisible(this.sliderItemsToShow[this.sliderItemsToShow.length-1],this.fullWidthPaddingOffset)&&this.currentPage!==this.totalPages&&!this.isSlideshow&&++this.currentPage,this.counterWrapper&&(this.totalPages===1?this.counterWrapper.classList.add(this.classes.hidden):(this.counterWrapper.classList.remove(this.classes.hidden),this.currentPageElement.textContent=this.currentPage,this.pageTotalElement.textContent=this.totalPages)),this.pageDotsElement&&(this.pageDotsElement.classList.remove(this.classes.hidden),this.dots.forEac
1h(function(dot){return dot.classList.remove(_this5.classes.dotVisible)}),this.dots[this.currentPage-1].classList.add(this.classes.dotVisible),this.totalPages===1&&this.pageDotsElement.classList.add(this.classes.hidden)),this.currentPage!=previousPage&&document.dispatchEvent(new CustomEvent("scroll-slider-".concat(this.id,":slide-changed"),{detail:{currentPage:this.currentPage,currentElement:this.sliderItemsToShow[this.currentPage-1]}})),!this.isSlideshow&&this.nextButton&&this.prevButton&&(this.totalPages===1?(this.prevButton.classList.add(this.classes.hidden),this.nextButton.classList.add(this.classes.hidden)):(this.prevButton.classList.remove(this.classes.hidden),this.nextButton.classList.remove(this.classes.hidden)),this.isSlideVisible(this.sliderItemsToShow[0])&&this.slider.scrollLeft<=0?this.prevButton.setAttribute("disabled","disabled"):this.prevButton.removeAttribute("disabled"),this.isSlideVisible(this.sliderItemsToShow[this.sliderItemsToShow.length-1])?this.nextButton.setAttribute("disabled","disabled"):this.nextButton.removeAttribute("disabled"))}},{key:"isSlideVisible",value:function(element){var offset=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,elOffsetLeft=element.offsetLeft,sliderScrollLeft=this.slider.scrollLeft;this.hasBorderedGrid&&(offset+=1);var lastVisibleSlidePosition=Math.floor(this.sliderWidth+sliderScrollLeft+offset),scrollPosition=Math.floor(elOffsetLeft+element.getBoundingClientRect().width);return scrollPosition<=lastVisibleSlidePosition||scrollPosition%lastVisibleSlidePosition===1&&elOffsetLeft>=sliderScrollLeft}},{key:"userIsTabbing",value:function(){return document.body.classList.contains("user-is-tabbing")}},{key:"onDotClick",value:function(event){event.preventDefault();var scrollBehavior=this.isSlideshow?"instant":"smooth",goTo=event.target.dataset.goTo;this.scrollTo(goTo*this.slideWidthWithGap*this.slidesPerPage,scrollBehavior)}},{key:"onButtonClick",value:function(event){event.preventDefault();var scrollBehavior=this.isSlideshow?"instant":"smooth",amountToScroll=this.slidesPerPage*this.slideWidthWithGap,destinationPosition=event.currentTarget.name==="next"?this.slider.scrollLeft+amountToScroll:this.slider.scrollLeft-amountToScroll;this.scrollTo(destinationPosition,scrollBehavior)}},{key:"handleDrag",value:function(mouseCurrentPositionX){this.slider.classList.add(this.classes.freeScroll);var dragSpeedMultiplier=1.5,drag=(mouseCurrentPositionX-this.mouseStartPositionX)*dragSpeedMultiplier;this.slider.scrollLeft=this.scrolledLeft-drag}},{key:"handleDragMouseOut",value:function(){this.slider.classList.remove(this.classes.dragging),this.mouseIsDown=!1,this.slider.classList.remove(this.classes.mouseDown)}},{key:"scrollTo",value:function(left){var behavior=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"smooth";this.slider.classList.remove(this.classes.freeScroll),this.slideScrollPosition=left,this.slider.scrollTo({left:left,behavior:behavior})}},{key:"updateSlideVisibility",value:function(){var _this6=this;this.sliderItems.forEach(function(slide,index){slide.toggleAttribute("inert",index!==_this6.currentPage-1)})}}]),ScrollSlider2})(_wrapNativeSuper(HTMLElement));customElements.get("scroll-slider-component")||customElements.define("scroll-slider-component",ScrollSlider);export{ScrollSlider as default}; 2//# sourceMappingURL=/cdn/shop/t/29/assets/scroll-slider.js.map?v=108784966430105711491788277922
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.