react-simply-carousel 9.0.0 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # react-simply-carousel
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/react-simply-carousel)](https://www.npmjs.com/package/react-simply-carousel)
4
- [![minified + gzip](https://img.shields.io/bundlephobia/minzip/react-simply-carousel/latest)](https://bundlephobia.com/package/react-simply-carousel)
4
+ [![minified + gzip](https://img.shields.io/bundlephobia/minzip/react-simply-carousel/latest)](https://bundlephobia.com/package/react-simply-carousel@latest)
5
5
  [![typescript](https://badgen.net/npm/types/react-simply-carousel)](https://unpkg.com/react-simply-carousel/dist/index.d.ts)
6
6
  [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/vadymshymko/react-simply-carousel/blob/master/LICENSE)
7
7
 
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import e,{memo as t,useState as n,useRef as i,Children as r,useCallback as o,useEffect as d}from"react";var l=function(){return l=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},l.apply(this,arguments)};function c(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),d=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)d.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return d}function a(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var u=t((function(t){var u=t.responsiveProps,v=void 0===u?[]:u,m=c(t,["responsiveProps"]),f=s(n(0),2),h=f[0],p=f[1],b=s(n(m.activeSlideIndex),2),w=b[0],y=b[1],x=i(null),S=i(null),g=i(null),E=i(!1),L=i(0),T=i(!1),I=i(""),k=i(null),C=i(null),M=i(0),W=i(w),P=v.reduce((function(e,t){void 0===t&&(t={});var n=t.minWidth,i=void 0===n?0:n,r=t.maxWidth,o=void 0===r?null:r,d=c(t,["minWidth","maxWidth"]);return h>i&&(!o||h<=o)?l(l({},e),d):e}),m),O=r.toArray(P.children),X=h?l(l({},P),{activeSlideIndex:Math.max(0,Math.min(P.activeSlideIndex,O.length-1)),itemsToShow:Math.min(O.length,P.itemsToShow||0),itemsToScroll:Math.min(O.length,P.itemsToScroll||1)}):m,A=X.containerProps,N=void 0===A?{}:A,F=N.style,V=void 0===F?{}:F,j=c(N,["style"]),z=X.innerProps,B=void 0===z?{}:z,R=B.style,D=void 0===R?{}:R,q=c(B,["style"]),H=X.itemsListProps,G=void 0===H?{}:H,J=G.style,K=void 0===J?{}:J,Q=G.onTransitionEnd,U=void 0===Q?void 0:Q,Y=c(G,["style","onTransitionEnd"]),Z=X.backwardBtnProps,$=void 0===Z?{}:Z,_=$.children,ee=void 0===_?null:_,te=$.show,ne=void 0===te||te,ie=c($,["children","show"]),re=X.forwardBtnProps,oe=void 0===re?{}:re,de=oe.children,le=void 0===de?null:de,ce=oe.show,se=void 0===ce||ce,ae=c(oe,["children","show"]),ue=X.activeSlideProps,ve=void 0===ue?{}:ue,me=ve.className,fe=void 0===me?"":me,he=ve.style,pe=void 0===he?{}:he,be=c(ve,["className","style"]),we=X.visibleSlideProps,ye=void 0===we?{}:we,xe=ye.className,Se=void 0===xe?"":xe,ge=ye.style,Ee=void 0===ge?{}:ge,Le=c(ye,["className","style"]),Te=X.updateOnItemClick,Ie=void 0!==Te&&Te,ke=X.activeSlideIndex,Ce=X.onRequestChange,Me=X.speed,We=void 0===Me?0:Me,Pe=X.delay,Oe=void 0===Pe?0:Pe,Xe=X.easing,Ae=void 0===Xe?"linear":Xe,Ne=X.itemsToShow,Fe=void 0===Ne?0:Ne,Ve=X.itemsToScroll,je=void 0===Ve?1:Ve,ze=X.children,Be=X.onAfterChange,Re=X.autoplay,De=void 0!==Re&&Re,qe=X.autoplayDirection,He=void 0===qe?"forward":qe,Ge=X.disableNavIfAllVisible,Je=void 0===Ge||Ge,Ke=X.hideNavIfAllVisible,Qe=void 0===Ke||Ke,Ue=X.centerMode,Ye=void 0!==Ue&&Ue,Ze=X.infinite,$e=void 0===Ze||Ze,_e=X.disableNavIfEdgeVisible,et=void 0===_e||_e,tt=X.disableNavIfEdgeActive,nt=void 0===tt||tt,it=X.dotsNav,rt=void 0===it?{}:it,ot=X.persistentChangeCallbacks,dt=void 0!==ot&&ot,lt=X.autoplayDelay,ct=void 0===lt?0:lt,st=X.preventScrollOnSwipe,at=void 0!==st&&st,ut=X.disableSwipeByMouse,vt=void 0!==ut&&ut,mt=X.disableSwipeByTouch,ft=void 0!==mt&&mt,ht=X.touchSwipeTreshold,pt=X.mouseSwipeTreshold,bt=X.swipeTreshold,wt=X.touchSwipeRatio,yt=X.mouseSwipeRatio,xt=X.swipeRatio,St=void 0===xt?1:xt,gt=rt||{},Et=gt.show,Lt=void 0!==Et&&Et,Tt=gt.containerProps,It=void 0===Tt?{}:Tt,kt=gt.itemBtnProps,Ct=void 0===kt?{}:kt,Mt=gt.activeItemBtnProps,Wt=void 0===Mt?{}:Mt,Pt=r.count(ze)-1,Ot=Fe===O.length,Xt=Qe&&Ot,At=Je&&Ot,Nt=ke-w==0||!We&&!Oe?"none":"transform ".concat(We,"ms ").concat(Ae," ").concat(Oe,"ms"),Ft=o((function(e){var t,n=e.correctionSlideIndex,i=e.prevCorrectionSlideIndex,r=e.curActiveSlideIndex,o=g.current.offsetWidth,d=g.current.children,l=d.length,c=$e?a([],s(d),!1).slice(l/3-i,l/3-i+l/3):a([],s(d),!1),u=null===(t=c[r])||void 0===t?void 0:t.offsetWidth,v=Fe?c.reduce((function(e,t,n){return n>=r&&n<r+Fe||n<r&&n<r+Fe-c.length?e+t.offsetWidth:e}),0):S.current.offsetWidth,m=Math.min(v,S.current.offsetWidth),f=o-m,h=Ye&&$e?-(m-u)/2:0,p=$e?o/3:0,b=n-r==0?0:"forward"===I.current&&r<n?p:"backward"===I.current&&r>n?-p:0,w=r-n!=0,y=function(e){var t=c.reduce((function(t,n,i){return i>=e?t:t+(n.offsetWidth||0)}),0);return $e?t:Math.min(f,t)},x=w&&$e?y(n):0,E=w||!$e?y(r):0,L=At?0:E-x+h+b+p,T="translateX(-".concat(L,"px)"),k=$e?p+h:Math.min(f,c.reduce((function(e,t,n){return n<r?e+t.offsetWidth:e}),0)),C=k+m,M=c.map((function(e,t){return{slideIndex:t,htmlElement:e}})),W=$e?a(a(a(a([],s(c.slice(r).map((function(e,t){return{slideIndex:t+r,htmlElement:e}}))),!1),s(M),!1),s(M),!1),s(c.slice(0,r).map((function(e,t){return{slideIndex:t,htmlElement:e}}))),!1):M,P=W.reduce((function(e,t){var n=t.slideIndex,i=t.htmlElement.offsetWidth;return(e.summ>=k&&e.summ<C||e.summ+i>k&&e.summ+i<=C)&&e.items.push({slideIndex:n,isFullyVisible:e.summ+i<=C&&e.summ>=k}),e.summ+=i,e}),{summ:0,items:[]}),O=!!P.items.find((function(e){return 0===e.slideIndex})),X=!!P.items.find((function(e){return e.slideIndex===c.length-1}));return{slidesHTMLElements:c,innerMaxWidth:v,itemsListMaxTranslateX:f,activeSlideWidth:u,offsetCorrectionForCenterMode:h,offsetCorrectionForInfiniteMode:p,itemsListTranslateX:L,itemsListTransform:T,visibleSlides:P.items,isFirstSlideVisible:O,isLastSlideVisible:X}}),[Ye,At,$e,Fe]),Vt=h?Ft({prevCorrectionSlideIndex:W.current,curActiveSlideIndex:ke,correctionSlideIndex:w}):{},jt=Vt.innerMaxWidth,zt=void 0===jt?0:jt,Bt=Vt.itemsListMaxTranslateX,Rt=void 0===Bt?0:Bt,Dt=Vt.activeSlideWidth,qt=void 0===Dt?0:Dt,Ht=Vt.offsetCorrectionForCenterMode,Gt=void 0===Ht?0:Ht,Jt=Vt.offsetCorrectionForInfiniteMode,Kt=void 0===Jt?0:Jt,Qt=Vt.itemsListTranslateX,Ut=void 0===Qt?0:Qt,Yt=Vt.itemsListTransform,Zt=void 0===Yt?"none":Yt,$t=Vt.visibleSlides,_t=void 0===$t?[]:$t,en=o((function(e){var t;return"forward"===e?(t=ke+je)>Pt?$e?t-Pt-1:Pt:t:"backward"===e?(t=ke-je)<0?$e?Pt+1+t:0:t:ke}),[ke,je,Pt,$e]),tn=o((function(e,t){var n;if(I.current=t,g.current.style.transition=We||Oe?"transform ".concat(We,"ms ").concat(Ae," ").concat(Oe,"ms"):"none",e!==ke||dt){clearTimeout(k.current);var i=Ft({correctionSlideIndex:w,prevCorrectionSlideIndex:w,curActiveSlideIndex:e}),r=i.visibleSlides,o=i.isFirstSlideVisible,d=i.isLastSlideVisible,l=i.itemsListTransform;e!==ke&&(null===(n=g.current)||void 0===n?void 0:n.style.transform)===l&&(E.current=!0),g.current.style.transform=l,Ce(e,{visibleSlides:r,isFirstSlideVisible:o,isLastSlideVisible:d})}else g.current.style.transform="translateX(-".concat(Gt+Kt+($e?0:Ut),"px)")}),[dt,ke,Gt,Oe,Ae,We,Ce,Kt,$e,Ut,w,Ft]),nn=o((function(){De&&(clearTimeout(k.current),k.current=setTimeout((function(){tn(en(He),He)}),ct||Oe))}),[De,He,ct,tn,en,Oe]),rn=o((function(){tn(en("backward"),"backward")}),[tn,en]),on=o((function(e){y(ke),U&&U(e)}),[ke,U]),dn=o((function(){tn(en("forward"),"forward")}),[tn,en]),ln=function(e,t,n){return e.map((function(e,i){var r=e.props,o=void 0===r?{}:r,d=o.className,s=void 0===d?"":d,a=o.onClick,u=void 0===a?null:a,v=o.style,m=void 0===v?{}:v,f=c(o,["className","onClick","style"]),h=c(e,["props"]),p=$e?M.current>=O.length?"forward":"backward":i>=ke?"forward":"backward",b=i+t===ke,w=_t.find((function(e){return e.slideIndex===i+t})),y="".concat(s," ").concat(b?fe:""," ").concat(w?Se:"").trim()||void 0,x=l(l(l(l({},m),w?Ee:{}),b?pe:{}),{boxSizing:"border-box",margin:0}),S=!n&&Ie?function(e){var t=e.direction,n=e.index,i=e.onClick;return function(e){tn(n,t||(ke<n?"forward":"")||(ke>n?"backward":"")),i&&i(e)}}({direction:p,index:i+t,onClick:u}):u,g=l(l(l({role:"tabpanel",className:y,style:x,onClick:S},f),w?Le:{}),b?be:{});return M.current+=1,l({props:g},h)}))};return d((function(){var e=g.current;function t(e){e.preventDefault(),e.stopPropagation()}function n(e){var t,n;T.current=!0;var i=!!(null===(t=e.touches)||void 0===t?void 0:t[0]),r=i?null===(n=e.touches)||void 0===n?void 0:n[0].clientX:e.clientX,o=(L.current-r)*((i?wt:yt)||St)+Gt+Kt+($e?0:Ut),d=g.current.offsetWidth,l=Math.max(-o,-d);g.current.style.transition="none",g.current.style.transform="translateX(".concat(l,"px)")}function i(e){var r,o,d;if(document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i),T.current){null===(r=e.target)||void 0===r||r.addEventListener("click",t);var l=!!(null===(o=e.changedTouches)||void 0===o?void 0:o[0]),c=l?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,s=(L.current-c)*((l?wt:yt)||St),a=(l?ht:pt)||bt||qt/2,u=s>a?{index:en("forward"),direction:"forward"}:s<-a?{index:en("backward"),direction:"backward"}:{index:ke,direction:"forward"};tn(u.index,u.direction)}else null===(d=e.target)||void 0===d||d.removeEventListener("click",t);L.current=0,T.current=!1}function r(e){var t,r;clearTimeout(k.current);var o=!!(null===(t=e.touches)||void 0===t?void 0:t[0]);L.current=o?null===(r=e.touches)||void 0===r?void 0:r[0].clientX:e.clientX,o?(document.addEventListener("touchmove",n),document.addEventListener("touchend",i)):(document.addEventListener("mousemove",n),document.addEventListener("mouseup",i))}return At||(vt||null==e||e.addEventListener("mousedown",r),ft||null==e||e.addEventListener("touchstart",r,{passive:!0}),vt&&ft||null==e||e.addEventListener("dragstart",i)),function(){T.current=!1,L.current=0,null==e||e.removeEventListener("mousedown",r),null==e||e.removeEventListener("touchstart",r),null==e||e.removeEventListener("dragstart",i),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i)}}),[$e,Ut,Zt,Gt,Kt,ke,qt,en,tn,At,vt,ft,ht,pt,bt,wt,yt,St]),d((function(){return ke!==w?(!We&&!Oe||E.current)&&(E.current=!1,y(ke)):(Be&&Be(ke,w),($e||"forward"===He&&ke!==Pt||"backward"===He&&0!==ke)&&nn()),function(){clearTimeout(k.current)}}),[w,ke,Be,We,Oe,nn,$e,Pt,He]),d((function(){return h&&nn(),function(){clearTimeout(k.current)}}),[h]),d((function(){function e(){clearTimeout(C.current),clearTimeout(k.current),C.current=setTimeout((function(){h!==window.innerWidth&&p(window.innerWidth)}),400)}return h!==window.innerWidth&&p(window.innerWidth),window.addEventListener("resize",e),function(){clearTimeout(C.current),window.removeEventListener("resize",e)}}),[h]),M.current=0,W.current=w,e.createElement("div",l({style:l({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},V)},j,{ref:x}),ne&&!Xt&&e.createElement("button",l({},ie,{type:"button",onClick:(0===Ut&&et||0===ke&&nt)&&!$e?void 0:rn,disabled:"boolean"==typeof ie.disabled?ie.disabled:!(!(0===Ut&&et||0===ke&&nt)||$e)}),ee),e.createElement("div",l({},q,{style:l(l({width:"100%"},D),{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:zt?"".concat(zt,"px"):void 0,flex:zt?void 0:"1 0"}),ref:S}),e.createElement("div",l({},Y,{style:l(l({},K),{display:"flex",boxSizing:"border-box",outline:"none",transition:Nt,transform:Zt,touchAction:at?"none":"auto"}),onTransitionEnd:We||Oe?on:U,tabIndex:-1,role:"presentation",ref:g}),$e&&ln(O.slice(w),w,At),ln(O,0,At),$e&&ln(O,0,At),$e&&ln(O.slice(0,w),0,At))),se&&!Xt&&e.createElement("button",l({},ae,{type:"button",onClick:(Ut===Rt&&et||ke===Pt&&nt)&&!$e?void 0:dn,disabled:"boolean"==typeof ae.disabled?ae.disabled:!(!(Ut===Rt&&et||ke===Pt&&nt)||$e)}),le),!!Lt&&e.createElement("div",l({style:{width:"100%",display:"flex",justifyContent:"center"}},It),Array.from({length:Math.ceil(O.length/je)}).map((function(t,n){return e.createElement("button",l({type:"button",key:n,title:"".concat(n)},Ct,ke>=n*je&&ke<Math.min(je*(n+1),Pt+1)?Wt:{},{onClick:function(){tn(Math.min(n*je,O.length-1),Math.min(n*je,O.length-1)>ke?"forward":"backward")}}))}))))}));export{u as default};
1
+ import e,{memo as t,useState as n,useRef as i,Children as r,useCallback as o,useEffect as d}from"react";var l=function(){return l=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},l.apply(this,arguments)};function c(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),d=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)d.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return d}function a(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var u=t((function(t){var u=t.responsiveProps,v=void 0===u?[]:u,m=c(t,["responsiveProps"]),f=s(n(0),2),h=f[0],p=f[1],b=s(n(m.activeSlideIndex),2),w=b[0],y=b[1],x=i(null),S=i(null),g=i(null),E=i(!1),L=i(0),T=i(!1),I=i(""),k=i(null),C=i(null),M=i(0),W=i(w),P=v.reduce((function(e,t){void 0===t&&(t={});var n=t.minWidth,i=void 0===n?0:n,r=t.maxWidth,o=void 0===r?null:r,d=c(t,["minWidth","maxWidth"]);return h>i&&(!o||h<=o)?l(l({},e),d):e}),m),O=r.toArray(P.children),X=h?l(l({},P),{activeSlideIndex:Math.max(0,Math.min(P.activeSlideIndex,O.length-1)),itemsToShow:Math.min(O.length,P.itemsToShow||0),itemsToScroll:Math.min(O.length,P.itemsToScroll||1)}):m,A=X.containerProps,N=void 0===A?{}:A,F=N.style,V=void 0===F?{}:F,j=c(N,["style"]),z=X.innerProps,B=void 0===z?{}:z,R=B.style,D=void 0===R?{}:R,q=c(B,["style"]),H=X.itemsListProps,G=void 0===H?{}:H,J=G.style,K=void 0===J?{}:J,Q=G.onTransitionEnd,U=void 0===Q?void 0:Q,Y=c(G,["style","onTransitionEnd"]),Z=X.backwardBtnProps,$=void 0===Z?{}:Z,_=$.children,ee=void 0===_?null:_,te=$.show,ne=void 0===te||te,ie=c($,["children","show"]),re=X.forwardBtnProps,oe=void 0===re?{}:re,de=oe.children,le=void 0===de?null:de,ce=oe.show,se=void 0===ce||ce,ae=c(oe,["children","show"]),ue=X.activeSlideProps,ve=void 0===ue?{}:ue,me=ve.className,fe=void 0===me?"":me,he=ve.style,pe=void 0===he?{}:he,be=c(ve,["className","style"]),we=X.visibleSlideProps,ye=void 0===we?{}:we,xe=ye.className,Se=void 0===xe?"":xe,ge=ye.style,Ee=void 0===ge?{}:ge,Le=c(ye,["className","style"]),Te=X.updateOnItemClick,Ie=void 0!==Te&&Te,ke=X.activeSlideIndex,Ce=X.onRequestChange,Me=X.speed,We=void 0===Me?0:Me,Pe=X.delay,Oe=void 0===Pe?0:Pe,Xe=X.easing,Ae=void 0===Xe?"linear":Xe,Ne=X.itemsToShow,Fe=void 0===Ne?0:Ne,Ve=X.itemsToScroll,je=void 0===Ve?1:Ve,ze=X.children,Be=X.onAfterChange,Re=X.autoplay,De=void 0!==Re&&Re,qe=X.autoplayDirection,He=void 0===qe?"forward":qe,Ge=X.disableNavIfAllVisible,Je=void 0===Ge||Ge,Ke=X.hideNavIfAllVisible,Qe=void 0===Ke||Ke,Ue=X.centerMode,Ye=void 0!==Ue&&Ue,Ze=X.infinite,$e=void 0===Ze||Ze,_e=X.disableNavIfEdgeVisible,et=void 0===_e||_e,tt=X.disableNavIfEdgeActive,nt=void 0===tt||tt,it=X.dotsNav,rt=void 0===it?{}:it,ot=X.persistentChangeCallbacks,dt=void 0!==ot&&ot,lt=X.autoplayDelay,ct=void 0===lt?0:lt,st=X.preventScrollOnSwipe,at=void 0!==st&&st,ut=X.disableSwipeByMouse,vt=void 0!==ut&&ut,mt=X.disableSwipeByTouch,ft=void 0!==mt&&mt,ht=X.touchSwipeTreshold,pt=X.mouseSwipeTreshold,bt=X.swipeTreshold,wt=X.touchSwipeRatio,yt=X.mouseSwipeRatio,xt=X.swipeRatio,St=void 0===xt?1:xt,gt=rt||{},Et=gt.show,Lt=void 0!==Et&&Et,Tt=gt.containerProps,It=void 0===Tt?{}:Tt,kt=gt.itemBtnProps,Ct=void 0===kt?{}:kt,Mt=gt.activeItemBtnProps,Wt=void 0===Mt?{}:Mt,Pt=r.count(ze)-1,Ot=Fe===O.length,Xt=Qe&&Ot,At=Je&&Ot,Nt=ke-w==0||!We&&!Oe?"none":"transform ".concat(We,"ms ").concat(Ae," ").concat(Oe,"ms"),Ft=o((function(e){var t,n=e.correctionSlideIndex,i=e.prevCorrectionSlideIndex,r=e.curActiveSlideIndex,o=g.current.offsetWidth,d=g.current.children,l=d.length,c=$e?a([],s(d),!1).slice(l/3-i,l/3-i+l/3):a([],s(d),!1),u=null===(t=c[r])||void 0===t?void 0:t.offsetWidth,v=Fe?c.reduce((function(e,t,n){return n>=r&&n<r+Fe||n<r&&n<r+Fe-c.length?e+t.offsetWidth:e}),0):S.current.offsetWidth,m=Math.min(v,S.current.offsetWidth),f=o-m,h=Ye&&$e?-(m-u)/2:0,p=$e?o/3:0,b=n-r==0?0:"forward"===I.current&&r<n?p:"backward"===I.current&&r>n?-p:0,w=r-n!=0,y=function(e){var t=c.reduce((function(t,n,i){return i>=e?t:t+(n.offsetWidth||0)}),0);return $e?t:Math.min(f,t)},x=w&&$e?y(n):0,E=w||!$e?y(r):0,L=At?0:E-x+h+b+p,T="translateX(-".concat(L,"px)"),k=$e?p+h:Math.min(f,c.reduce((function(e,t,n){return n<r?e+t.offsetWidth:e}),0)),C=k+m,M=c.map((function(e,t){return{slideIndex:t,htmlElement:e}})),W=$e?a(a(a(a([],s(c.slice(r).map((function(e,t){return{slideIndex:t+r,htmlElement:e}}))),!1),s(M),!1),s(M),!1),s(c.slice(0,r).map((function(e,t){return{slideIndex:t,htmlElement:e}}))),!1):M,P=W.reduce((function(e,t){var n=t.slideIndex,i=t.htmlElement.offsetWidth;return(e.summ>=k&&e.summ<C||e.summ+i>k&&e.summ+i<=C)&&e.items.push({slideIndex:n,isFullyVisible:e.summ+i<=C&&e.summ>=k}),e.summ+=i,e}),{summ:0,items:[]}),O=!!P.items.find((function(e){return 0===e.slideIndex})),X=!!P.items.find((function(e){return e.slideIndex===c.length-1}));return{slidesHTMLElements:c,innerMaxWidth:v,itemsListMaxTranslateX:f,activeSlideWidth:u,offsetCorrectionForCenterMode:h,offsetCorrectionForInfiniteMode:p,itemsListTranslateX:L,itemsListTransform:T,visibleSlides:P.items,isFirstSlideVisible:O,isLastSlideVisible:X}}),[Ye,At,$e,Fe]),Vt=h?Ft({prevCorrectionSlideIndex:W.current,curActiveSlideIndex:ke,correctionSlideIndex:w}):{},jt=Vt.innerMaxWidth,zt=void 0===jt?0:jt,Bt=Vt.itemsListMaxTranslateX,Rt=void 0===Bt?0:Bt,Dt=Vt.activeSlideWidth,qt=void 0===Dt?0:Dt,Ht=Vt.offsetCorrectionForCenterMode,Gt=void 0===Ht?0:Ht,Jt=Vt.offsetCorrectionForInfiniteMode,Kt=void 0===Jt?0:Jt,Qt=Vt.itemsListTranslateX,Ut=void 0===Qt?0:Qt,Yt=Vt.itemsListTransform,Zt=void 0===Yt?"none":Yt,$t=Vt.visibleSlides,_t=void 0===$t?[]:$t,en=o((function(e){var t;return"forward"===e?(t=ke+je)>Pt?$e?t-Pt-1:Pt:t:"backward"===e?(t=ke-je)<0?$e?Pt+1+t:0:t:ke}),[ke,je,Pt,$e]),tn=o((function(e,t){var n;if(I.current=t,g.current.style.transition=We||Oe?"transform ".concat(We,"ms ").concat(Ae," ").concat(Oe,"ms"):"none",e!==ke||dt){clearTimeout(k.current);var i=Ft({correctionSlideIndex:w,prevCorrectionSlideIndex:w,curActiveSlideIndex:e}),r=i.visibleSlides,o=i.isFirstSlideVisible,d=i.isLastSlideVisible,l=i.itemsListTransform;e!==ke&&(null===(n=g.current)||void 0===n?void 0:n.style.transform)===l&&(E.current=!0),g.current.style.transform=l,Ce(e,{visibleSlides:r,isFirstSlideVisible:o,isLastSlideVisible:d})}else g.current.style.transform="translateX(-".concat(Gt+Kt+($e?0:Ut),"px)")}),[dt,ke,Gt,Oe,Ae,We,Ce,Kt,$e,Ut,w,Ft]),nn=o((function(){De&&(clearTimeout(k.current),k.current=setTimeout((function(){tn(en(He),He)}),ct||Oe))}),[De,He,ct,tn,en,Oe]),rn=o((function(){tn(en("backward"),"backward")}),[tn,en]),on=o((function(e){y(ke),U&&U(e)}),[ke,U]),dn=o((function(){tn(en("forward"),"forward")}),[tn,en]),ln=function(e,t,n){return e.map((function(e,i){var r=e.props,o=void 0===r?{}:r,d=o.className,s=void 0===d?"":d,a=o.onClick,u=void 0===a?null:a,v=o.style,m=void 0===v?{}:v,f=c(o,["className","onClick","style"]),h=c(e,["props"]),p=$e?M.current>=O.length?"forward":"backward":i>=ke?"forward":"backward",b=i+t===ke,w=_t.find((function(e){return e.slideIndex===i+t})),y="".concat(s," ").concat(b?fe:""," ").concat(w?Se:"").trim()||void 0,x=l(l(l(l({},m),w?Ee:{}),b?pe:{}),{boxSizing:"border-box",margin:0}),S=!n&&Ie?function(e){var t=e.direction,n=e.index,i=e.onClick;return function(e){tn(n,t||(ke<n?"forward":"")||(ke>n?"backward":"")),i&&i(e)}}({direction:p,index:i+t,onClick:u}):u,g=l(l(l({role:"tabpanel",className:y,style:x,onClick:S},f),w?Le:{}),b?be:{});return M.current+=1,l({props:g},h)}))};return d((function(){var e=g.current;function t(e){e.preventDefault(),e.stopPropagation()}function n(e){var t,n;T.current=!0;var i=!!(null===(t=e.touches)||void 0===t?void 0:t[0]),r=i?null===(n=e.touches)||void 0===n?void 0:n[0].clientX:e.clientX,o=(L.current-r)*((i?wt:yt)||St)+Gt+Kt+($e?0:Ut),d=g.current.offsetWidth,l=Math.max(-o,-d);g.current.style.transition="none",g.current.style.transform="translateX(".concat(l,"px)")}function i(e){var r,o,d;if(document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i),T.current){null===(r=e.target)||void 0===r||r.addEventListener("click",t);var l=!!(null===(o=e.changedTouches)||void 0===o?void 0:o[0]),c=l?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,s=(L.current-c)*((l?wt:yt)||St),a=(l?ht:pt)||bt||qt/2,u=s>a?{index:en("forward"),direction:"forward"}:s<-a?{index:en("backward"),direction:"backward"}:{index:ke,direction:"forward"};tn(u.index,u.direction)}else null===(d=e.target)||void 0===d||d.removeEventListener("click",t);L.current=0,T.current=!1}function r(e){var t,r;clearTimeout(k.current);var o=!!(null===(t=e.touches)||void 0===t?void 0:t[0]);L.current=o?null===(r=e.touches)||void 0===r?void 0:r[0].clientX:e.clientX,o?(document.addEventListener("touchmove",n),document.addEventListener("touchend",i)):(document.addEventListener("mousemove",n),document.addEventListener("mouseup",i))}return At||(vt||null==e||e.addEventListener("mousedown",r),ft||null==e||e.addEventListener("touchstart",r,{passive:!0}),vt&&ft||null==e||e.addEventListener("dragstart",i)),function(){T.current=!1,L.current=0,null==e||e.removeEventListener("mousedown",r),null==e||e.removeEventListener("touchstart",r),null==e||e.removeEventListener("dragstart",i),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i)}}),[$e,Ut,Zt,Gt,Kt,ke,qt,en,tn,At,vt,ft,ht,pt,bt,wt,yt,St]),d((function(){return ke!==w?(!We&&!Oe||E.current)&&(E.current=!1,y(ke)):(Be&&Be(ke,w),($e||"forward"===He&&ke!==Pt||"backward"===He&&0!==ke)&&nn()),function(){clearTimeout(k.current)}}),[w,ke,Be,We,Oe,nn,$e,Pt,He]),d((function(){return h&&nn(),function(){clearTimeout(k.current)}}),[h]),d((function(){function e(){clearTimeout(C.current),clearTimeout(k.current),C.current=setTimeout((function(){h!==window.innerWidth&&p(window.innerWidth)}),400)}return h!==window.innerWidth&&p(window.innerWidth),window.addEventListener("resize",e),function(){clearTimeout(C.current),window.removeEventListener("resize",e)}}),[h]),M.current=0,W.current=w,e.createElement("div",l({style:l({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},V)},j,{ref:x}),ne&&!Xt&&e.createElement("button",l({},ie,{type:"button",onClick:(0===Ut&&et||0===ke&&nt)&&!$e?void 0:rn,disabled:"boolean"==typeof ie.disabled?ie.disabled:!(!(0===Ut&&et||0===ke&&nt)||$e)}),ee),e.createElement("div",l({},q,{style:l(l({width:"100%"},D),{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:zt?"".concat(zt,"px"):void 0,flex:zt?void 0:"1 0 auto"}),ref:S}),e.createElement("div",l({},Y,{style:l(l({},K),{display:"flex",boxSizing:"border-box",outline:"none",transition:Nt,transform:Zt,touchAction:at?"none":"auto"}),onTransitionEnd:We||Oe?on:U,tabIndex:-1,role:"presentation",ref:g}),$e&&ln(O.slice(w),w,At),ln(O,0,At),$e&&ln(O,0,At),$e&&ln(O.slice(0,w),0,At))),se&&!Xt&&e.createElement("button",l({},ae,{type:"button",onClick:(Ut===Rt&&et||ke===Pt&&nt)&&!$e?void 0:dn,disabled:"boolean"==typeof ae.disabled?ae.disabled:!(!(Ut===Rt&&et||ke===Pt&&nt)||$e)}),le),!!Lt&&e.createElement("div",l({style:{width:"100%",display:"flex",justifyContent:"center"}},It),Array.from({length:Math.ceil(O.length/je)}).map((function(t,n){return e.createElement("button",l({type:"button",key:n,title:"".concat(n)},Ct,ke>=n*je&&ke<Math.min(je*(n+1),Pt+1)?Wt:{},{onClick:function(){tn(Math.min(n*je,O.length-1),Math.min(n*je,O.length-1)>ke?"forward":"backward")}}))}))))}));export{u as default};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactSimplyCarousel=t(e.React)}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},t.apply(this,arguments)};function n(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function i(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),d=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)d.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return d}function r(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}return e.memo((function(o){var d=o.responsiveProps,l=void 0===d?[]:d,s=n(o,["responsiveProps"]),c=i(e.useState(0),2),a=c[0],u=c[1],v=i(e.useState(s.activeSlideIndex),2),f=v[0],m=v[1],h=e.useRef(null),p=e.useRef(null),b=e.useRef(null),y=e.useRef(!1),w=e.useRef(0),x=e.useRef(!1),S=e.useRef(""),E=e.useRef(null),g=e.useRef(null),T=e.useRef(0),C=e.useRef(f),L=l.reduce((function(e,i){void 0===i&&(i={});var r=i.minWidth,o=void 0===r?0:r,d=i.maxWidth,l=void 0===d?null:d,s=n(i,["minWidth","maxWidth"]);return a>o&&(!l||a<=l)?t(t({},e),s):e}),s),k=e.Children.toArray(L.children),I=a?t(t({},L),{activeSlideIndex:Math.max(0,Math.min(L.activeSlideIndex,k.length-1)),itemsToShow:Math.min(k.length,L.itemsToShow||0),itemsToScroll:Math.min(k.length,L.itemsToScroll||1)}):s,M=I.containerProps,W=void 0===M?{}:M,P=W.style,R=void 0===P?{}:P,O=n(W,["style"]),X=I.innerProps,A=void 0===X?{}:X,N=A.style,F=void 0===N?{}:N,V=n(A,["style"]),j=I.itemsListProps,z=void 0===j?{}:j,B=z.style,D=void 0===B?{}:B,q=z.onTransitionEnd,H=void 0===q?void 0:q,G=n(z,["style","onTransitionEnd"]),J=I.backwardBtnProps,K=void 0===J?{}:J,Q=K.children,U=void 0===Q?null:Q,Y=K.show,Z=void 0===Y||Y,$=n(K,["children","show"]),_=I.forwardBtnProps,ee=void 0===_?{}:_,te=ee.children,ne=void 0===te?null:te,ie=ee.show,re=void 0===ie||ie,oe=n(ee,["children","show"]),de=I.activeSlideProps,le=void 0===de?{}:de,se=le.className,ce=void 0===se?"":se,ae=le.style,ue=void 0===ae?{}:ae,ve=n(le,["className","style"]),fe=I.visibleSlideProps,me=void 0===fe?{}:fe,he=me.className,pe=void 0===he?"":he,be=me.style,ye=void 0===be?{}:be,we=n(me,["className","style"]),xe=I.updateOnItemClick,Se=void 0!==xe&&xe,Ee=I.activeSlideIndex,ge=I.onRequestChange,Te=I.speed,Ce=void 0===Te?0:Te,Le=I.delay,ke=void 0===Le?0:Le,Ie=I.easing,Me=void 0===Ie?"linear":Ie,We=I.itemsToShow,Pe=void 0===We?0:We,Re=I.itemsToScroll,Oe=void 0===Re?1:Re,Xe=I.children,Ae=I.onAfterChange,Ne=I.autoplay,Fe=void 0!==Ne&&Ne,Ve=I.autoplayDirection,je=void 0===Ve?"forward":Ve,ze=I.disableNavIfAllVisible,Be=void 0===ze||ze,De=I.hideNavIfAllVisible,qe=void 0===De||De,He=I.centerMode,Ge=void 0!==He&&He,Je=I.infinite,Ke=void 0===Je||Je,Qe=I.disableNavIfEdgeVisible,Ue=void 0===Qe||Qe,Ye=I.disableNavIfEdgeActive,Ze=void 0===Ye||Ye,$e=I.dotsNav,_e=void 0===$e?{}:$e,et=I.persistentChangeCallbacks,tt=void 0!==et&&et,nt=I.autoplayDelay,it=void 0===nt?0:nt,rt=I.preventScrollOnSwipe,ot=void 0!==rt&&rt,dt=I.disableSwipeByMouse,lt=void 0!==dt&&dt,st=I.disableSwipeByTouch,ct=void 0!==st&&st,at=I.touchSwipeTreshold,ut=I.mouseSwipeTreshold,vt=I.swipeTreshold,ft=I.touchSwipeRatio,mt=I.mouseSwipeRatio,ht=I.swipeRatio,pt=void 0===ht?1:ht,bt=_e||{},yt=bt.show,wt=void 0!==yt&&yt,xt=bt.containerProps,St=void 0===xt?{}:xt,Et=bt.itemBtnProps,gt=void 0===Et?{}:Et,Tt=bt.activeItemBtnProps,Ct=void 0===Tt?{}:Tt,Lt=e.Children.count(Xe)-1,kt=Pe===k.length,It=qe&&kt,Mt=Be&&kt,Wt=Ee-f==0||!Ce&&!ke?"none":"transform ".concat(Ce,"ms ").concat(Me," ").concat(ke,"ms"),Pt=e.useCallback((function(e){var t,n=e.correctionSlideIndex,o=e.prevCorrectionSlideIndex,d=e.curActiveSlideIndex,l=b.current.offsetWidth,s=b.current.children,c=s.length,a=Ke?r([],i(s),!1).slice(c/3-o,c/3-o+c/3):r([],i(s),!1),u=null===(t=a[d])||void 0===t?void 0:t.offsetWidth,v=Pe?a.reduce((function(e,t,n){return n>=d&&n<d+Pe||n<d&&n<d+Pe-a.length?e+t.offsetWidth:e}),0):p.current.offsetWidth,f=Math.min(v,p.current.offsetWidth),m=l-f,h=Ge&&Ke?-(f-u)/2:0,y=Ke?l/3:0,w=n-d==0?0:"forward"===S.current&&d<n?y:"backward"===S.current&&d>n?-y:0,x=d-n!=0,E=function(e){var t=a.reduce((function(t,n,i){return i>=e?t:t+(n.offsetWidth||0)}),0);return Ke?t:Math.min(m,t)},g=x&&Ke?E(n):0,T=x||!Ke?E(d):0,C=Mt?0:T-g+h+w+y,L="translateX(-".concat(C,"px)"),k=Ke?y+h:Math.min(m,a.reduce((function(e,t,n){return n<d?e+t.offsetWidth:e}),0)),I=k+f,M=a.map((function(e,t){return{slideIndex:t,htmlElement:e}})),W=Ke?r(r(r(r([],i(a.slice(d).map((function(e,t){return{slideIndex:t+d,htmlElement:e}}))),!1),i(M),!1),i(M),!1),i(a.slice(0,d).map((function(e,t){return{slideIndex:t,htmlElement:e}}))),!1):M,P=W.reduce((function(e,t){var n=t.slideIndex,i=t.htmlElement.offsetWidth;return(e.summ>=k&&e.summ<I||e.summ+i>k&&e.summ+i<=I)&&e.items.push({slideIndex:n,isFullyVisible:e.summ+i<=I&&e.summ>=k}),e.summ+=i,e}),{summ:0,items:[]}),R=!!P.items.find((function(e){return 0===e.slideIndex})),O=!!P.items.find((function(e){return e.slideIndex===a.length-1}));return{slidesHTMLElements:a,innerMaxWidth:v,itemsListMaxTranslateX:m,activeSlideWidth:u,offsetCorrectionForCenterMode:h,offsetCorrectionForInfiniteMode:y,itemsListTranslateX:C,itemsListTransform:L,visibleSlides:P.items,isFirstSlideVisible:R,isLastSlideVisible:O}}),[Ge,Mt,Ke,Pe]),Rt=a?Pt({prevCorrectionSlideIndex:C.current,curActiveSlideIndex:Ee,correctionSlideIndex:f}):{},Ot=Rt.innerMaxWidth,Xt=void 0===Ot?0:Ot,At=Rt.itemsListMaxTranslateX,Nt=void 0===At?0:At,Ft=Rt.activeSlideWidth,Vt=void 0===Ft?0:Ft,jt=Rt.offsetCorrectionForCenterMode,zt=void 0===jt?0:jt,Bt=Rt.offsetCorrectionForInfiniteMode,Dt=void 0===Bt?0:Bt,qt=Rt.itemsListTranslateX,Ht=void 0===qt?0:qt,Gt=Rt.itemsListTransform,Jt=void 0===Gt?"none":Gt,Kt=Rt.visibleSlides,Qt=void 0===Kt?[]:Kt,Ut=e.useCallback((function(e){var t;return"forward"===e?(t=Ee+Oe)>Lt?Ke?t-Lt-1:Lt:t:"backward"===e?(t=Ee-Oe)<0?Ke?Lt+1+t:0:t:Ee}),[Ee,Oe,Lt,Ke]),Yt=e.useCallback((function(e,t){var n;if(S.current=t,b.current.style.transition=Ce||ke?"transform ".concat(Ce,"ms ").concat(Me," ").concat(ke,"ms"):"none",e!==Ee||tt){clearTimeout(E.current);var i=Pt({correctionSlideIndex:f,prevCorrectionSlideIndex:f,curActiveSlideIndex:e}),r=i.visibleSlides,o=i.isFirstSlideVisible,d=i.isLastSlideVisible,l=i.itemsListTransform;e!==Ee&&(null===(n=b.current)||void 0===n?void 0:n.style.transform)===l&&(y.current=!0),b.current.style.transform=l,ge(e,{visibleSlides:r,isFirstSlideVisible:o,isLastSlideVisible:d})}else b.current.style.transform="translateX(-".concat(zt+Dt+(Ke?0:Ht),"px)")}),[tt,Ee,zt,ke,Me,Ce,ge,Dt,Ke,Ht,f,Pt]),Zt=e.useCallback((function(){Fe&&(clearTimeout(E.current),E.current=setTimeout((function(){Yt(Ut(je),je)}),it||ke))}),[Fe,je,it,Yt,Ut,ke]),$t=e.useCallback((function(){Yt(Ut("backward"),"backward")}),[Yt,Ut]),_t=e.useCallback((function(e){m(Ee),H&&H(e)}),[Ee,H]),en=e.useCallback((function(){Yt(Ut("forward"),"forward")}),[Yt,Ut]),tn=function(e,i,r){return e.map((function(e,o){var d=e.props,l=void 0===d?{}:d,s=l.className,c=void 0===s?"":s,a=l.onClick,u=void 0===a?null:a,v=l.style,f=void 0===v?{}:v,m=n(l,["className","onClick","style"]),h=n(e,["props"]),p=Ke?T.current>=k.length?"forward":"backward":o>=Ee?"forward":"backward",b=o+i===Ee,y=Qt.find((function(e){return e.slideIndex===o+i})),w="".concat(c," ").concat(b?ce:""," ").concat(y?pe:"").trim()||void 0,x=t(t(t(t({},f),y?ye:{}),b?ue:{}),{boxSizing:"border-box",margin:0}),S=!r&&Se?function(e){var t=e.direction,n=e.index,i=e.onClick;return function(e){Yt(n,t||(Ee<n?"forward":"")||(Ee>n?"backward":"")),i&&i(e)}}({direction:p,index:o+i,onClick:u}):u,E=t(t(t({role:"tabpanel",className:w,style:x,onClick:S},m),y?we:{}),b?ve:{});return T.current+=1,t({props:E},h)}))};return e.useEffect((function(){var e=b.current;function t(e){e.preventDefault(),e.stopPropagation()}function n(e){var t,n;x.current=!0;var i=!!(null===(t=e.touches)||void 0===t?void 0:t[0]),r=i?null===(n=e.touches)||void 0===n?void 0:n[0].clientX:e.clientX,o=(w.current-r)*((i?ft:mt)||pt)+zt+Dt+(Ke?0:Ht),d=b.current.offsetWidth,l=Math.max(-o,-d);b.current.style.transition="none",b.current.style.transform="translateX(".concat(l,"px)")}function i(e){var r,o,d;if(document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i),x.current){null===(r=e.target)||void 0===r||r.addEventListener("click",t);var l=!!(null===(o=e.changedTouches)||void 0===o?void 0:o[0]),s=l?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,c=(w.current-s)*((l?ft:mt)||pt),a=(l?at:ut)||vt||Vt/2,u=c>a?{index:Ut("forward"),direction:"forward"}:c<-a?{index:Ut("backward"),direction:"backward"}:{index:Ee,direction:"forward"};Yt(u.index,u.direction)}else null===(d=e.target)||void 0===d||d.removeEventListener("click",t);w.current=0,x.current=!1}function r(e){var t,r;clearTimeout(E.current);var o=!!(null===(t=e.touches)||void 0===t?void 0:t[0]);w.current=o?null===(r=e.touches)||void 0===r?void 0:r[0].clientX:e.clientX,o?(document.addEventListener("touchmove",n),document.addEventListener("touchend",i)):(document.addEventListener("mousemove",n),document.addEventListener("mouseup",i))}return Mt||(lt||null==e||e.addEventListener("mousedown",r),ct||null==e||e.addEventListener("touchstart",r,{passive:!0}),lt&&ct||null==e||e.addEventListener("dragstart",i)),function(){x.current=!1,w.current=0,null==e||e.removeEventListener("mousedown",r),null==e||e.removeEventListener("touchstart",r),null==e||e.removeEventListener("dragstart",i),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i)}}),[Ke,Ht,Jt,zt,Dt,Ee,Vt,Ut,Yt,Mt,lt,ct,at,ut,vt,ft,mt,pt]),e.useEffect((function(){return Ee!==f?(!Ce&&!ke||y.current)&&(y.current=!1,m(Ee)):(Ae&&Ae(Ee,f),(Ke||"forward"===je&&Ee!==Lt||"backward"===je&&0!==Ee)&&Zt()),function(){clearTimeout(E.current)}}),[f,Ee,Ae,Ce,ke,Zt,Ke,Lt,je]),e.useEffect((function(){return a&&Zt(),function(){clearTimeout(E.current)}}),[a]),e.useEffect((function(){function e(){clearTimeout(g.current),clearTimeout(E.current),g.current=setTimeout((function(){a!==window.innerWidth&&u(window.innerWidth)}),400)}return a!==window.innerWidth&&u(window.innerWidth),window.addEventListener("resize",e),function(){clearTimeout(g.current),window.removeEventListener("resize",e)}}),[a]),T.current=0,C.current=f,e.createElement("div",t({style:t({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},R)},O,{ref:h}),Z&&!It&&e.createElement("button",t({},$,{type:"button",onClick:(0===Ht&&Ue||0===Ee&&Ze)&&!Ke?void 0:$t,disabled:"boolean"==typeof $.disabled?$.disabled:!(!(0===Ht&&Ue||0===Ee&&Ze)||Ke)}),U),e.createElement("div",t({},V,{style:t(t({width:"100%"},F),{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:Xt?"".concat(Xt,"px"):void 0,flex:Xt?void 0:"1 0"}),ref:p}),e.createElement("div",t({},G,{style:t(t({},D),{display:"flex",boxSizing:"border-box",outline:"none",transition:Wt,transform:Jt,touchAction:ot?"none":"auto"}),onTransitionEnd:Ce||ke?_t:H,tabIndex:-1,role:"presentation",ref:b}),Ke&&tn(k.slice(f),f,Mt),tn(k,0,Mt),Ke&&tn(k,0,Mt),Ke&&tn(k.slice(0,f),0,Mt))),re&&!It&&e.createElement("button",t({},oe,{type:"button",onClick:(Ht===Nt&&Ue||Ee===Lt&&Ze)&&!Ke?void 0:en,disabled:"boolean"==typeof oe.disabled?oe.disabled:!(!(Ht===Nt&&Ue||Ee===Lt&&Ze)||Ke)}),ne),!!wt&&e.createElement("div",t({style:{width:"100%",display:"flex",justifyContent:"center"}},St),Array.from({length:Math.ceil(k.length/Oe)}).map((function(n,i){return e.createElement("button",t({type:"button",key:i,title:"".concat(i)},gt,Ee>=i*Oe&&Ee<Math.min(Oe*(i+1),Lt+1)?Ct:{},{onClick:function(){Yt(Math.min(i*Oe,k.length-1),Math.min(i*Oe,k.length-1)>Ee?"forward":"backward")}}))}))))}))}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ReactSimplyCarousel=t(e.React)}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},t.apply(this,arguments)};function n(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function i(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),d=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)d.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return d}function r(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}return e.memo((function(o){var d=o.responsiveProps,l=void 0===d?[]:d,s=n(o,["responsiveProps"]),c=i(e.useState(0),2),a=c[0],u=c[1],v=i(e.useState(s.activeSlideIndex),2),f=v[0],m=v[1],h=e.useRef(null),p=e.useRef(null),b=e.useRef(null),y=e.useRef(!1),w=e.useRef(0),x=e.useRef(!1),S=e.useRef(""),E=e.useRef(null),g=e.useRef(null),T=e.useRef(0),C=e.useRef(f),L=l.reduce((function(e,i){void 0===i&&(i={});var r=i.minWidth,o=void 0===r?0:r,d=i.maxWidth,l=void 0===d?null:d,s=n(i,["minWidth","maxWidth"]);return a>o&&(!l||a<=l)?t(t({},e),s):e}),s),k=e.Children.toArray(L.children),I=a?t(t({},L),{activeSlideIndex:Math.max(0,Math.min(L.activeSlideIndex,k.length-1)),itemsToShow:Math.min(k.length,L.itemsToShow||0),itemsToScroll:Math.min(k.length,L.itemsToScroll||1)}):s,M=I.containerProps,W=void 0===M?{}:M,P=W.style,R=void 0===P?{}:P,O=n(W,["style"]),X=I.innerProps,A=void 0===X?{}:X,N=A.style,F=void 0===N?{}:N,V=n(A,["style"]),j=I.itemsListProps,z=void 0===j?{}:j,B=z.style,D=void 0===B?{}:B,q=z.onTransitionEnd,H=void 0===q?void 0:q,G=n(z,["style","onTransitionEnd"]),J=I.backwardBtnProps,K=void 0===J?{}:J,Q=K.children,U=void 0===Q?null:Q,Y=K.show,Z=void 0===Y||Y,$=n(K,["children","show"]),_=I.forwardBtnProps,ee=void 0===_?{}:_,te=ee.children,ne=void 0===te?null:te,ie=ee.show,re=void 0===ie||ie,oe=n(ee,["children","show"]),de=I.activeSlideProps,le=void 0===de?{}:de,se=le.className,ce=void 0===se?"":se,ae=le.style,ue=void 0===ae?{}:ae,ve=n(le,["className","style"]),fe=I.visibleSlideProps,me=void 0===fe?{}:fe,he=me.className,pe=void 0===he?"":he,be=me.style,ye=void 0===be?{}:be,we=n(me,["className","style"]),xe=I.updateOnItemClick,Se=void 0!==xe&&xe,Ee=I.activeSlideIndex,ge=I.onRequestChange,Te=I.speed,Ce=void 0===Te?0:Te,Le=I.delay,ke=void 0===Le?0:Le,Ie=I.easing,Me=void 0===Ie?"linear":Ie,We=I.itemsToShow,Pe=void 0===We?0:We,Re=I.itemsToScroll,Oe=void 0===Re?1:Re,Xe=I.children,Ae=I.onAfterChange,Ne=I.autoplay,Fe=void 0!==Ne&&Ne,Ve=I.autoplayDirection,je=void 0===Ve?"forward":Ve,ze=I.disableNavIfAllVisible,Be=void 0===ze||ze,De=I.hideNavIfAllVisible,qe=void 0===De||De,He=I.centerMode,Ge=void 0!==He&&He,Je=I.infinite,Ke=void 0===Je||Je,Qe=I.disableNavIfEdgeVisible,Ue=void 0===Qe||Qe,Ye=I.disableNavIfEdgeActive,Ze=void 0===Ye||Ye,$e=I.dotsNav,_e=void 0===$e?{}:$e,et=I.persistentChangeCallbacks,tt=void 0!==et&&et,nt=I.autoplayDelay,it=void 0===nt?0:nt,rt=I.preventScrollOnSwipe,ot=void 0!==rt&&rt,dt=I.disableSwipeByMouse,lt=void 0!==dt&&dt,st=I.disableSwipeByTouch,ct=void 0!==st&&st,at=I.touchSwipeTreshold,ut=I.mouseSwipeTreshold,vt=I.swipeTreshold,ft=I.touchSwipeRatio,mt=I.mouseSwipeRatio,ht=I.swipeRatio,pt=void 0===ht?1:ht,bt=_e||{},yt=bt.show,wt=void 0!==yt&&yt,xt=bt.containerProps,St=void 0===xt?{}:xt,Et=bt.itemBtnProps,gt=void 0===Et?{}:Et,Tt=bt.activeItemBtnProps,Ct=void 0===Tt?{}:Tt,Lt=e.Children.count(Xe)-1,kt=Pe===k.length,It=qe&&kt,Mt=Be&&kt,Wt=Ee-f==0||!Ce&&!ke?"none":"transform ".concat(Ce,"ms ").concat(Me," ").concat(ke,"ms"),Pt=e.useCallback((function(e){var t,n=e.correctionSlideIndex,o=e.prevCorrectionSlideIndex,d=e.curActiveSlideIndex,l=b.current.offsetWidth,s=b.current.children,c=s.length,a=Ke?r([],i(s),!1).slice(c/3-o,c/3-o+c/3):r([],i(s),!1),u=null===(t=a[d])||void 0===t?void 0:t.offsetWidth,v=Pe?a.reduce((function(e,t,n){return n>=d&&n<d+Pe||n<d&&n<d+Pe-a.length?e+t.offsetWidth:e}),0):p.current.offsetWidth,f=Math.min(v,p.current.offsetWidth),m=l-f,h=Ge&&Ke?-(f-u)/2:0,y=Ke?l/3:0,w=n-d==0?0:"forward"===S.current&&d<n?y:"backward"===S.current&&d>n?-y:0,x=d-n!=0,E=function(e){var t=a.reduce((function(t,n,i){return i>=e?t:t+(n.offsetWidth||0)}),0);return Ke?t:Math.min(m,t)},g=x&&Ke?E(n):0,T=x||!Ke?E(d):0,C=Mt?0:T-g+h+w+y,L="translateX(-".concat(C,"px)"),k=Ke?y+h:Math.min(m,a.reduce((function(e,t,n){return n<d?e+t.offsetWidth:e}),0)),I=k+f,M=a.map((function(e,t){return{slideIndex:t,htmlElement:e}})),W=Ke?r(r(r(r([],i(a.slice(d).map((function(e,t){return{slideIndex:t+d,htmlElement:e}}))),!1),i(M),!1),i(M),!1),i(a.slice(0,d).map((function(e,t){return{slideIndex:t,htmlElement:e}}))),!1):M,P=W.reduce((function(e,t){var n=t.slideIndex,i=t.htmlElement.offsetWidth;return(e.summ>=k&&e.summ<I||e.summ+i>k&&e.summ+i<=I)&&e.items.push({slideIndex:n,isFullyVisible:e.summ+i<=I&&e.summ>=k}),e.summ+=i,e}),{summ:0,items:[]}),R=!!P.items.find((function(e){return 0===e.slideIndex})),O=!!P.items.find((function(e){return e.slideIndex===a.length-1}));return{slidesHTMLElements:a,innerMaxWidth:v,itemsListMaxTranslateX:m,activeSlideWidth:u,offsetCorrectionForCenterMode:h,offsetCorrectionForInfiniteMode:y,itemsListTranslateX:C,itemsListTransform:L,visibleSlides:P.items,isFirstSlideVisible:R,isLastSlideVisible:O}}),[Ge,Mt,Ke,Pe]),Rt=a?Pt({prevCorrectionSlideIndex:C.current,curActiveSlideIndex:Ee,correctionSlideIndex:f}):{},Ot=Rt.innerMaxWidth,Xt=void 0===Ot?0:Ot,At=Rt.itemsListMaxTranslateX,Nt=void 0===At?0:At,Ft=Rt.activeSlideWidth,Vt=void 0===Ft?0:Ft,jt=Rt.offsetCorrectionForCenterMode,zt=void 0===jt?0:jt,Bt=Rt.offsetCorrectionForInfiniteMode,Dt=void 0===Bt?0:Bt,qt=Rt.itemsListTranslateX,Ht=void 0===qt?0:qt,Gt=Rt.itemsListTransform,Jt=void 0===Gt?"none":Gt,Kt=Rt.visibleSlides,Qt=void 0===Kt?[]:Kt,Ut=e.useCallback((function(e){var t;return"forward"===e?(t=Ee+Oe)>Lt?Ke?t-Lt-1:Lt:t:"backward"===e?(t=Ee-Oe)<0?Ke?Lt+1+t:0:t:Ee}),[Ee,Oe,Lt,Ke]),Yt=e.useCallback((function(e,t){var n;if(S.current=t,b.current.style.transition=Ce||ke?"transform ".concat(Ce,"ms ").concat(Me," ").concat(ke,"ms"):"none",e!==Ee||tt){clearTimeout(E.current);var i=Pt({correctionSlideIndex:f,prevCorrectionSlideIndex:f,curActiveSlideIndex:e}),r=i.visibleSlides,o=i.isFirstSlideVisible,d=i.isLastSlideVisible,l=i.itemsListTransform;e!==Ee&&(null===(n=b.current)||void 0===n?void 0:n.style.transform)===l&&(y.current=!0),b.current.style.transform=l,ge(e,{visibleSlides:r,isFirstSlideVisible:o,isLastSlideVisible:d})}else b.current.style.transform="translateX(-".concat(zt+Dt+(Ke?0:Ht),"px)")}),[tt,Ee,zt,ke,Me,Ce,ge,Dt,Ke,Ht,f,Pt]),Zt=e.useCallback((function(){Fe&&(clearTimeout(E.current),E.current=setTimeout((function(){Yt(Ut(je),je)}),it||ke))}),[Fe,je,it,Yt,Ut,ke]),$t=e.useCallback((function(){Yt(Ut("backward"),"backward")}),[Yt,Ut]),_t=e.useCallback((function(e){m(Ee),H&&H(e)}),[Ee,H]),en=e.useCallback((function(){Yt(Ut("forward"),"forward")}),[Yt,Ut]),tn=function(e,i,r){return e.map((function(e,o){var d=e.props,l=void 0===d?{}:d,s=l.className,c=void 0===s?"":s,a=l.onClick,u=void 0===a?null:a,v=l.style,f=void 0===v?{}:v,m=n(l,["className","onClick","style"]),h=n(e,["props"]),p=Ke?T.current>=k.length?"forward":"backward":o>=Ee?"forward":"backward",b=o+i===Ee,y=Qt.find((function(e){return e.slideIndex===o+i})),w="".concat(c," ").concat(b?ce:""," ").concat(y?pe:"").trim()||void 0,x=t(t(t(t({},f),y?ye:{}),b?ue:{}),{boxSizing:"border-box",margin:0}),S=!r&&Se?function(e){var t=e.direction,n=e.index,i=e.onClick;return function(e){Yt(n,t||(Ee<n?"forward":"")||(Ee>n?"backward":"")),i&&i(e)}}({direction:p,index:o+i,onClick:u}):u,E=t(t(t({role:"tabpanel",className:w,style:x,onClick:S},m),y?we:{}),b?ve:{});return T.current+=1,t({props:E},h)}))};return e.useEffect((function(){var e=b.current;function t(e){e.preventDefault(),e.stopPropagation()}function n(e){var t,n;x.current=!0;var i=!!(null===(t=e.touches)||void 0===t?void 0:t[0]),r=i?null===(n=e.touches)||void 0===n?void 0:n[0].clientX:e.clientX,o=(w.current-r)*((i?ft:mt)||pt)+zt+Dt+(Ke?0:Ht),d=b.current.offsetWidth,l=Math.max(-o,-d);b.current.style.transition="none",b.current.style.transform="translateX(".concat(l,"px)")}function i(e){var r,o,d;if(document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i),x.current){null===(r=e.target)||void 0===r||r.addEventListener("click",t);var l=!!(null===(o=e.changedTouches)||void 0===o?void 0:o[0]),s=l?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,c=(w.current-s)*((l?ft:mt)||pt),a=(l?at:ut)||vt||Vt/2,u=c>a?{index:Ut("forward"),direction:"forward"}:c<-a?{index:Ut("backward"),direction:"backward"}:{index:Ee,direction:"forward"};Yt(u.index,u.direction)}else null===(d=e.target)||void 0===d||d.removeEventListener("click",t);w.current=0,x.current=!1}function r(e){var t,r;clearTimeout(E.current);var o=!!(null===(t=e.touches)||void 0===t?void 0:t[0]);w.current=o?null===(r=e.touches)||void 0===r?void 0:r[0].clientX:e.clientX,o?(document.addEventListener("touchmove",n),document.addEventListener("touchend",i)):(document.addEventListener("mousemove",n),document.addEventListener("mouseup",i))}return Mt||(lt||null==e||e.addEventListener("mousedown",r),ct||null==e||e.addEventListener("touchstart",r,{passive:!0}),lt&&ct||null==e||e.addEventListener("dragstart",i)),function(){x.current=!1,w.current=0,null==e||e.removeEventListener("mousedown",r),null==e||e.removeEventListener("touchstart",r),null==e||e.removeEventListener("dragstart",i),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",i)}}),[Ke,Ht,Jt,zt,Dt,Ee,Vt,Ut,Yt,Mt,lt,ct,at,ut,vt,ft,mt,pt]),e.useEffect((function(){return Ee!==f?(!Ce&&!ke||y.current)&&(y.current=!1,m(Ee)):(Ae&&Ae(Ee,f),(Ke||"forward"===je&&Ee!==Lt||"backward"===je&&0!==Ee)&&Zt()),function(){clearTimeout(E.current)}}),[f,Ee,Ae,Ce,ke,Zt,Ke,Lt,je]),e.useEffect((function(){return a&&Zt(),function(){clearTimeout(E.current)}}),[a]),e.useEffect((function(){function e(){clearTimeout(g.current),clearTimeout(E.current),g.current=setTimeout((function(){a!==window.innerWidth&&u(window.innerWidth)}),400)}return a!==window.innerWidth&&u(window.innerWidth),window.addEventListener("resize",e),function(){clearTimeout(g.current),window.removeEventListener("resize",e)}}),[a]),T.current=0,C.current=f,e.createElement("div",t({style:t({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},R)},O,{ref:h}),Z&&!It&&e.createElement("button",t({},$,{type:"button",onClick:(0===Ht&&Ue||0===Ee&&Ze)&&!Ke?void 0:$t,disabled:"boolean"==typeof $.disabled?$.disabled:!(!(0===Ht&&Ue||0===Ee&&Ze)||Ke)}),U),e.createElement("div",t({},V,{style:t(t({width:"100%"},F),{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:Xt?"".concat(Xt,"px"):void 0,flex:Xt?void 0:"1 0 auto"}),ref:p}),e.createElement("div",t({},G,{style:t(t({},D),{display:"flex",boxSizing:"border-box",outline:"none",transition:Wt,transform:Jt,touchAction:ot?"none":"auto"}),onTransitionEnd:Ce||ke?_t:H,tabIndex:-1,role:"presentation",ref:b}),Ke&&tn(k.slice(f),f,Mt),tn(k,0,Mt),Ke&&tn(k,0,Mt),Ke&&tn(k.slice(0,f),0,Mt))),re&&!It&&e.createElement("button",t({},oe,{type:"button",onClick:(Ht===Nt&&Ue||Ee===Lt&&Ze)&&!Ke?void 0:en,disabled:"boolean"==typeof oe.disabled?oe.disabled:!(!(Ht===Nt&&Ue||Ee===Lt&&Ze)||Ke)}),ne),!!wt&&e.createElement("div",t({style:{width:"100%",display:"flex",justifyContent:"center"}},St),Array.from({length:Math.ceil(k.length/Oe)}).map((function(n,i){return e.createElement("button",t({type:"button",key:i,title:"".concat(i)},gt,Ee>=i*Oe&&Ee<Math.min(Oe*(i+1),Lt+1)?Ct:{},{onClick:function(){Yt(Math.min(i*Oe,k.length-1),Math.min(i*Oe,k.length-1)>Ee?"forward":"backward")}}))}))))}))}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simply-carousel",
3
- "version": "9.0.0",
3
+ "version": "9.0.2",
4
4
  "description": "A simple, lightweight, fully controlled isomorphic (with SSR support) React.js carousel component. Touch enabled and responsive. With support for autoplay and infinity options. Fully customizable",
5
5
  "files": [
6
6
  "dist/"
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "homepage": "https://github.com/vadymshymko/react-simply-carousel#readme",
44
44
  "devDependencies": {
45
- "@rollup/plugin-commonjs": "^24.1.0",
45
+ "@rollup/plugin-commonjs": "^25.0.0",
46
46
  "@rollup/plugin-node-resolve": "^15.0.1",
47
47
  "@rollup/plugin-terser": "^0.4.1",
48
48
  "@rollup/plugin-typescript": "^11.1.0",