UNPKG

react-multi-carousel-18

Version:

Production-ready, lightweight fully customizable React carousel component that rocks supports multiple items and SSR(Server-side rendering) with typescript.

1 lines 3.14 kB
"use strict";function getOriginalCounterPart(index,{slidesToShow,currentSlide},childrenArr){return childrenArr.length>2*slidesToShow?index+2*slidesToShow:currentSlide>=childrenArr.length?childrenArr.length+index:index}function getOriginalIndexLookupTableByClones(slidesToShow,childrenArr){if(childrenArr.length>2*slidesToShow){const table={};var firstBeginningOfClones=childrenArr.length-2*slidesToShow,firstEndOfClones=childrenArr.length-firstBeginningOfClones;let firstCount=firstBeginningOfClones;for(let i=0;i<firstEndOfClones;i++)table[i]=firstCount,firstCount++;var firstBeginningOfClones=childrenArr.length+firstEndOfClones,secondEndOfClones=firstBeginningOfClones+childrenArr.slice(0,2*slidesToShow).length;let secondCount=0;for(let i=firstBeginningOfClones;i<=secondEndOfClones;i++)table[i]=secondCount,secondCount++;var originalEnd=firstBeginningOfClones;let originalCounter=0;for(let i=firstEndOfClones;i<originalEnd;i++)table[i]=originalCounter,originalCounter++;return table}{const table={};var totalSlides=3*childrenArr.length;let count=0;for(let i=0;i<totalSlides;i++)table[i]=count,++count===childrenArr.length&&(count=0);return table}}function getClones(slidesToShow,childrenArr){return childrenArr.length<slidesToShow?childrenArr:childrenArr.length>2*slidesToShow?[...childrenArr.slice(childrenArr.length-2*slidesToShow,childrenArr.length),...childrenArr,...childrenArr.slice(0,2*slidesToShow)]:[...childrenArr,...childrenArr,...childrenArr]}function getInitialSlideInInfiniteMode(slidesToShow,childrenArr){return childrenArr.length>2*slidesToShow?2*slidesToShow:childrenArr.length}function checkClonesPosition({currentSlide,slidesToShow,itemWidth,totalItems},childrenArr,props){let nextSlide=0,nextPosition=0,isReachingTheEnd,isReachingTheStart=0===currentSlide;var originalFirstSlide=childrenArr.length-(childrenArr.length-2*slidesToShow);return childrenArr.length<slidesToShow?(nextSlide=0,nextPosition=0,isReachingTheEnd=!1,isReachingTheStart=!1):childrenArr.length>2*slidesToShow?((isReachingTheEnd=currentSlide>=originalFirstSlide+childrenArr.length)&&(nextSlide=currentSlide-childrenArr.length,nextPosition=-(itemWidth*nextSlide)),isReachingTheStart&&(nextSlide=originalFirstSlide+(childrenArr.length-2*slidesToShow),nextPosition=-(itemWidth*nextSlide))):((isReachingTheEnd=currentSlide>=2*childrenArr.length)&&(nextSlide=currentSlide-childrenArr.length,nextPosition=-(itemWidth*nextSlide)),isReachingTheStart&&(nextPosition=-(itemWidth*(nextSlide=props.showDots?childrenArr.length:totalItems/3)))),{isReachingTheEnd:isReachingTheEnd,isReachingTheStart:isReachingTheStart,nextSlide:nextSlide,nextPosition:nextPosition}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getInitialSlideInInfiniteMode=exports.checkClonesPosition=exports.getClones=exports.getOriginalIndexLookupTableByClones=exports.getOriginalCounterPart=void 0,exports.getOriginalCounterPart=getOriginalCounterPart,exports.getOriginalIndexLookupTableByClones=getOriginalIndexLookupTableByClones,exports.getClones=getClones,exports.getInitialSlideInInfiniteMode=getInitialSlideInInfiniteMode,exports.checkClonesPosition=checkClonesPosition;