react-simply-carousel 8.0.0 → 8.1.0

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
@@ -159,6 +159,7 @@ export default ReactSimplyCarouselExample;
159
159
  | **disableNavIfEdgeVisible** (disabled if `infinite` prop enabled) | boolean | `true` | Disable carousel forward nav if last slide is visible / Disable carousel backward nav if first slide is visible |
160
160
  | **disableNavIfEdgeActive** | boolean | `true` | Disable carousel forward nav if activeSlideIndex === lastSlideIndex / Disable carousel backward nav if activeSlideIndex === 0 |
161
161
  | **dotsNav** (experimental) | object | `{}` | Props for carousel dots. Includes `show` (boolean) property for toggle dots nav visibility, `containerProps` (DOM Props for dots nav wrapper div) property, `itemBtnProps` (DOM props for all dots nav buttons) property and `activeItemBtnProps` (DOM props for active dots nav button) |
162
+ | **persistentChangeCallbacks** | boolean | `false` | Enable call `onRequestChange` prop even if activeSlideIndex equals new value |
162
163
 
163
164
  ## Demo
164
165
 
package/dist/index.d.ts CHANGED
@@ -35,6 +35,7 @@ declare type ReactSimplyCarouselStaticProps = {
35
35
  disableNavIfEdgeVisible?: boolean;
36
36
  disableNavIfEdgeActive?: boolean;
37
37
  dotsNav?: DotsNav;
38
+ persistentChangeCallbacks?: boolean;
38
39
  };
39
40
  declare type ReactSimplyCarouselResponsiveProps = (Omit<Omit<ReactSimplyCarouselStaticProps, 'activeSlideIndex'>, 'onRequestChange'> & {
40
41
  minWidth?: number;
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import e,{memo as t,useState as n,useRef as r,Children as o,useMemo as i,useCallback as c,useEffect as a}from"react";function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}function f(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){a=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||h(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var b=["responsiveProps"],y=["minWidth","maxWidth"],w=["style","onClickCapture"],g=["style"],E=["style","onTouchStart","onMouseDown","onTransitionEnd"],x=["children","show"],O=["children","show"],S=["className","style"],T=["className","onClick","style"],k=["props"];function j(t){var u=t.responsiveProps,d=void 0===u?[]:u,h=f(t,b),p=v(n(0),2),j=p[0],P=p[1],L=v(n(h.activeSlideIndex),2),C=L[0],I=L[1],M=r(null),W=r(null),A=r(null),N=r(0),D=r(!1),X=r(""),z=r(null),B=r(null),V=r(0),F=d.reduce((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.minWidth,r=void 0===n?0:n,o=t.maxWidth,i=void 0===o?null:o,c=f(t,y);return j>r&&(!i||j<=i)?l(l({},e),c):e}),h),q=o.toArray(F.children),R=j?l(l({},F),{},{activeSlideIndex:Math.max(0,Math.min(F.activeSlideIndex,q.length-1)),itemsToShow:Math.min(q.length,F.itemsToShow||0),itemsToScroll:Math.min(q.length,F.itemsToScroll||1)}):h,U=R.containerProps,$=(U=void 0===U?{}:U).style,G=void 0===$?{}:$,H=U.onClickCapture,J=void 0===H?null:H,K=f(U,w),Q=R.innerProps,Y=(Q=void 0===Q?{}:Q).style,Z=void 0===Y?{}:Y,_=f(Q,g),ee=R.itemsListProps,te=(ee=void 0===ee?{}:ee).style,ne=void 0===te?{}:te,re=ee.onTouchStart,oe=void 0===re?null:re,ie=ee.onMouseDown,ce=void 0===ie?null:ie,ae=ee.onTransitionEnd,ue=void 0===ae?null:ae,le=f(ee,E),de=R.backwardBtnProps,se=(de=void 0===de?{}:de).children,fe=void 0===se?null:se,ve=de.show,me=void 0===ve||ve,he=f(de,x),pe=R.forwardBtnProps,be=(pe=void 0===pe?{}:pe).children,ye=void 0===be?null:be,we=pe.show,ge=void 0===we||we,Ee=f(pe,O),xe=R.activeSlideProps,Oe=(xe=void 0===xe?{}:xe).className,Se=void 0===Oe?"":Oe,Te=xe.style,ke=void 0===Te?{}:Te,je=f(xe,S),Pe=R.updateOnItemClick,Le=void 0!==Pe&&Pe,Ce=R.activeSlideIndex,Ie=R.onRequestChange,Me=R.speed,We=void 0===Me?0:Me,Ae=R.delay,Ne=void 0===Ae?0:Ae,De=R.easing,Xe=void 0===De?"linear":De,ze=R.itemsToShow,Be=void 0===ze?0:ze,Ve=R.itemsToScroll,Fe=void 0===Ve?1:Ve,qe=R.children,Re=R.onAfterChange,Ue=R.autoplay,$e=void 0!==Ue&&Ue,Ge=R.autoplayDirection,He=void 0===Ge?"forward":Ge,Je=R.disableNavIfAllVisible,Ke=void 0===Je||Je,Qe=R.hideNavIfAllVisible,Ye=void 0===Qe||Qe,Ze=R.centerMode,_e=void 0!==Ze&&Ze,et=R.infinite,tt=void 0===et||et,nt=R.disableNavIfEdgeVisible,rt=void 0===nt||nt,ot=R.disableNavIfEdgeActive,it=void 0===ot||ot,ct=R.dotsNav,at=(void 0===ct?{}:ct)||{},ut=at.show,lt=void 0!==ut&&ut,dt=at.containerProps,st=void 0===dt?{}:dt,ft=at.itemBtnProps,vt=void 0===ft?{}:ft,mt=at.activeItemBtnProps,ht=void 0===mt?{}:mt,pt=j?m(A.current.children):[],bt=i((function(){return j?tt?pt.slice(q.length-C,q.length-C+q.length):pt:[]}),[C,q.length,j,tt,pt]),yt=j?A.current.offsetWidth-W.current.offsetWidth:0,wt=function(e){var t=bt.reduce((function(t,n,r){return r>=e?t:t+(n.offsetWidth||0)}),0);return tt?t:Math.min(yt,t)},gt=i((function(){return j&&Be?bt.reduce((function(e,t,n){return n>=Ce&&n<Ce+Be||n<Ce&&n<Ce+Be-bt.length?e+t.offsetWidth:e}),0):0}),[Ce,Be,bt,j]),Et=o.count(qe)-1,xt=Be===q.length,Ot=Ye&&xt,St=Ke&&xt,Tt=Ce-C!=0,kt=j&&Tt&&tt?wt(C):0,jt=!j||!Tt&&tt?0:wt(Ce),Pt=j?bt[Ce].offsetWidth:0,Lt=j&&(_e&&tt)?-(Math.min(gt||W.current.offsetWidth,W.current.offsetWidth)-Pt)/2:0,Ct=i((function(){return tt&&j?A.current.offsetWidth/3:0}),[j,tt]),It=C-Ce!=0&&A.current?"forward"===X.current.toLowerCase()&&Ce<C?Ct:"backward"===X.current.toLowerCase()&&Ce>C?-Ct:0:0,Mt=Tt&&(We||Ne)?"transform ".concat(We,"ms ").concat(Xe," ").concat(Ne,"ms"):"none",Wt=St||!j?0:jt-kt+Lt+It+Ct,At=j?"translateX(-".concat(Wt,"px)"):"none",Nt=c((function(e){if("forward"===e){var t=Ce+Fe;return t>Et?tt?t-Et-1:Ce:t}if("backward"===e){var n=Ce-Fe;return n<0?tt?Et+1+n:Ce:n}return Ce}),[Ce,Fe,Et,tt]),Dt=c((function(e,t){X.current=t,A.current.style.transition=We||Ne?"transform ".concat(We,"ms ").concat(Xe," ").concat(Ne,"ms"):"none",e!==Ce?(clearTimeout(z.current),Ie(e)):(N.current=0,D.current=!1,A.current.style.transform="translateX(-".concat(Lt+Ct+(tt?0:Wt),"px)"))}),[Ce,Lt,Ne,Xe,We,Ie,Ct,tt,Wt]),Xt=c((function(){$e&&(clearTimeout(z.current),z.current=setTimeout((function(){Dt(Nt(He),He)}),Ne))}),[$e,He,Dt,Nt,Ne]),zt=c((function(e){D.current&&(e.preventDefault(),e.stopPropagation(),J&&J(e))}),[J]),Bt=c((function(){Dt(Nt("backward"),"backward")}),[Dt,Nt]),Vt=c((function(e){D.current=!0;var t=e.touches&&e.touches[0]?e.touches[0].clientX:e.clientX,n=N.current-t+Lt+Ct+(tt?0:Wt),r=A.current.offsetWidth-W.current.offsetWidth,o=Math.max(Math.min(0,-n),-r);A.current.style.transition="none",A.current.style.transform="translateX(".concat(o,"px)")}),[Lt,Ct,tt,Wt]),Ft=c((function(e){if(A.current.removeEventListener("mouseout",Ft),A.current.removeEventListener("dragstart",Ft),document.removeEventListener("mousemove",Vt),document.removeEventListener("mouseup",Ft),document.removeEventListener("touchmove",Vt),document.removeEventListener("touchend",Ft),D.current){var t=e.changedTouches&&e.changedTouches.length?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,n=N.current-t;n>Pt/2?Dt(Nt("forward"),"forward"):n<-Pt/2?Dt(Nt("backward"),"backward"):Dt(Ce,"forward")}}),[Ce,Pt,Dt,Nt,Vt]),qt=c((function(e){clearTimeout(z.current),D.current||(N.current=e.clientX,document.addEventListener("mousemove",Vt),document.addEventListener("mouseup",Ft),A.current.addEventListener("mouseout",Ft),A.current.addEventListener("dragstart",Ft)),ce&&ce(e)}),[Vt,Ft]),Rt=c((function(e){clearTimeout(z.current),D.current||(N.current=e.touches[0].clientX,document.addEventListener("touchmove",Vt),document.addEventListener("touchend",Ft)),oe&&oe(e)}),[Vt,Ft]),Ut=c((function(e){I(Ce),ue&&ue(e)}),[Ce]),$t=c((function(){Dt(Nt("forward"),"forward")}),[Dt,Nt]),Gt=function(e,t,n){return e.map((function(e,r){var o=e.props,i=(o=void 0===o?{}:o).className,c=void 0===i?"":i,a=o.onClick,u=void 0===a?null:a,d=o.style,s=void 0===d?{}:d,v=f(o,T),m=f(e,k),h=tt?V.current>=q.length?"forward":"backward":r>=Ce?"forward":"backward",p=r+t===Ce,b="".concat(c," ").concat(h," ").concat(p?Se:""),y=l(l(l({},s),p?ke:{}),{},{boxSizing:"border-box",margin:0}),w=!n&&Le?function(e){var t=e.direction,n=e.index,r=e.onClick;return function(e){Dt(n,t||(Ce<n?"forward":"")||(Ce>n?"backward":"")),r&&r(e)}}({direction:h,index:r+t,onClick:u}):u,g=l(l({role:"tabpanel",className:b,style:y,onClick:w},v),p?je:{});return V.current+=1,l({props:g},m)}))};return a((function(){return N.current=0,D.current=!1,X.current="",Ce!==C?We||Ne||I(Ce):(Re&&Re(Ce,C),(tt||"forward"===He&&Ce!==Et||"backward"===He&&0!==Ce)&&Xt()),function(){clearTimeout(z.current)}}),[C,Ce,Re,We,Ne,Xt,tt,Et,He]),a((function(){return j&&Xt(),function(){clearTimeout(z.current)}}),[j]),a((function(){var e=A.current;function t(){clearTimeout(B.current),clearTimeout(z.current),B.current=setTimeout((function(){P(window.innerWidth)}),400)}return P(window.innerWidth),window.addEventListener("resize",t),function(){clearTimeout(B.current),window.removeEventListener("resize",t),document.removeEventListener("mousemove",Vt),document.removeEventListener("mouseup",Ft),document.removeEventListener("touchmove",Vt),document.removeEventListener("touchend",Ft),e.removeEventListener("mouseout",Ft),e.removeEventListener("dragstart",Ft)}}),[Vt,Ft]),V.current=0,j&&(A.current.style.transform=At),e.createElement("div",s({onClickCapture:zt,style:l({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},G)},K,{ref:M}),me&&!Ot&&e.createElement("button",s({},he,{type:"button",onClick:(0===Wt&&rt||0===Ce&&it)&&!tt?void 0:Bt,disabled:"boolean"==typeof he.disabled?he.disabled:!(!(0===Wt&&rt||0===Ce&&it)||tt)}),fe),e.createElement("div",s({},_,{style:l(l({},Z),{},{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:gt?"".concat(gt,"px"):0}),ref:W}),e.createElement("div",s({},le,{style:l(l({},ne),{},{display:"flex",boxSizing:"border-box",outline:"none",transition:Mt,transform:At}),"data-transform":At,onTouchStart:St?void 0:Rt,onMouseDown:St?void 0:qt,onTransitionEnd:We||Ne?Ut:void 0,tabIndex:-1,role:"presentation",ref:A}),!St&&tt&&Gt(q.slice(C),C),Gt(q,0,St),!St&&tt&&Gt(q,0),!St&&tt&&Gt(q.slice(0,C),0))),ge&&!Ot&&e.createElement("button",s({},Ee,{type:"button",onClick:(Wt===yt&&rt||Ce===Et&&it)&&!tt?void 0:$t,disabled:"boolean"==typeof Ee.disabled?Ee.disabled:!(!(Wt===yt&&rt||Ce===Et&&it)||tt)}),ye),!!lt&&e.createElement("div",s({style:{width:"100%",display:"flex",justifyContent:"center"}},st),Array.from({length:Math.ceil(q.length/Fe)}).map((function(t,n){return e.createElement("button",s({type:"button",key:n,title:"".concat(n)},vt,Math.min(n*Fe,q.length-1)===Ce?ht:{},{onClick:function(){Dt(Math.min(n*Fe,q.length-1),Math.min(n*Fe,q.length-1)>Ce?"forward":"backward")}}))}))))}var P=t(j);export{P as default};
1
+ import e,{memo as t,useState as n,useRef as r,Children as o,useMemo as i,useCallback as c,useEffect as a}from"react";function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}function f(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],c=!0,a=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);c=!0);}catch(e){a=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||h(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var b=["responsiveProps"],y=["minWidth","maxWidth"],w=["style","onClickCapture"],g=["style"],E=["style","onTouchStart","onMouseDown","onTransitionEnd"],x=["children","show"],O=["children","show"],S=["className","style"],T=["className","onClick","style"],k=["props"];function j(t){var u=t.responsiveProps,d=void 0===u?[]:u,h=f(t,b),p=v(n(0),2),j=p[0],C=p[1],P=v(n(h.activeSlideIndex),2),L=P[0],I=P[1],M=r(null),W=r(null),A=r(null),N=r(0),D=r(!1),X=r(""),z=r(null),B=r(null),V=r(0),F=d.reduce((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.minWidth,r=void 0===n?0:n,o=t.maxWidth,i=void 0===o?null:o,c=f(t,y);return j>r&&(!i||j<=i)?l(l({},e),c):e}),h),q=o.toArray(F.children),R=j?l(l({},F),{},{activeSlideIndex:Math.max(0,Math.min(F.activeSlideIndex,q.length-1)),itemsToShow:Math.min(q.length,F.itemsToShow||0),itemsToScroll:Math.min(q.length,F.itemsToScroll||1)}):h,U=R.containerProps,$=(U=void 0===U?{}:U).style,G=void 0===$?{}:$,H=U.onClickCapture,J=void 0===H?null:H,K=f(U,w),Q=R.innerProps,Y=(Q=void 0===Q?{}:Q).style,Z=void 0===Y?{}:Y,_=f(Q,g),ee=R.itemsListProps,te=(ee=void 0===ee?{}:ee).style,ne=void 0===te?{}:te,re=ee.onTouchStart,oe=void 0===re?null:re,ie=ee.onMouseDown,ce=void 0===ie?null:ie,ae=ee.onTransitionEnd,ue=void 0===ae?null:ae,le=f(ee,E),de=R.backwardBtnProps,se=(de=void 0===de?{}:de).children,fe=void 0===se?null:se,ve=de.show,me=void 0===ve||ve,he=f(de,x),pe=R.forwardBtnProps,be=(pe=void 0===pe?{}:pe).children,ye=void 0===be?null:be,we=pe.show,ge=void 0===we||we,Ee=f(pe,O),xe=R.activeSlideProps,Oe=(xe=void 0===xe?{}:xe).className,Se=void 0===Oe?"":Oe,Te=xe.style,ke=void 0===Te?{}:Te,je=f(xe,S),Ce=R.updateOnItemClick,Pe=void 0!==Ce&&Ce,Le=R.activeSlideIndex,Ie=R.onRequestChange,Me=R.speed,We=void 0===Me?0:Me,Ae=R.delay,Ne=void 0===Ae?0:Ae,De=R.easing,Xe=void 0===De?"linear":De,ze=R.itemsToShow,Be=void 0===ze?0:ze,Ve=R.itemsToScroll,Fe=void 0===Ve?1:Ve,qe=R.children,Re=R.onAfterChange,Ue=R.autoplay,$e=void 0!==Ue&&Ue,Ge=R.autoplayDirection,He=void 0===Ge?"forward":Ge,Je=R.disableNavIfAllVisible,Ke=void 0===Je||Je,Qe=R.hideNavIfAllVisible,Ye=void 0===Qe||Qe,Ze=R.centerMode,_e=void 0!==Ze&&Ze,et=R.infinite,tt=void 0===et||et,nt=R.disableNavIfEdgeVisible,rt=void 0===nt||nt,ot=R.disableNavIfEdgeActive,it=void 0===ot||ot,ct=R.dotsNav,at=void 0===ct?{}:ct,ut=R.persistentChangeCallbacks,lt=void 0!==ut&&ut,dt=at||{},st=dt.show,ft=void 0!==st&&st,vt=dt.containerProps,mt=void 0===vt?{}:vt,ht=dt.itemBtnProps,pt=void 0===ht?{}:ht,bt=dt.activeItemBtnProps,yt=void 0===bt?{}:bt,wt=j?m(A.current.children):[],gt=i((function(){return j?tt?wt.slice(q.length-L,q.length-L+q.length):wt:[]}),[L,q.length,j,tt,wt]),Et=j?A.current.offsetWidth-W.current.offsetWidth:0,xt=function(e){var t=gt.reduce((function(t,n,r){return r>=e?t:t+(n.offsetWidth||0)}),0);return tt?t:Math.min(Et,t)},Ot=i((function(){return j&&Be?gt.reduce((function(e,t,n){return n>=Le&&n<Le+Be||n<Le&&n<Le+Be-gt.length?e+t.offsetWidth:e}),0):0}),[Le,Be,gt,j]),St=o.count(qe)-1,Tt=Be===q.length,kt=Ye&&Tt,jt=Ke&&Tt,Ct=Le-L!=0,Pt=j&&Ct&&tt?xt(L):0,Lt=!j||!Ct&&tt?0:xt(Le),It=j?gt[Le].offsetWidth:0,Mt=j&&(_e&&tt)?-(Math.min(Ot||W.current.offsetWidth,W.current.offsetWidth)-It)/2:0,Wt=i((function(){return tt&&j?A.current.offsetWidth/3:0}),[j,tt]),At=L-Le!=0&&A.current?"forward"===X.current.toLowerCase()&&Le<L?Wt:"backward"===X.current.toLowerCase()&&Le>L?-Wt:0:0,Nt=Ct&&(We||Ne)?"transform ".concat(We,"ms ").concat(Xe," ").concat(Ne,"ms"):"none",Dt=jt||!j?0:Lt-Pt+Mt+At+Wt,Xt=j?"translateX(-".concat(Dt,"px)"):"none",zt=c((function(e){if("forward"===e){var t=Le+Fe;return t>St?tt?t-St-1:Le:t}if("backward"===e){var n=Le-Fe;return n<0?tt?St+1+n:Le:n}return Le}),[Le,Fe,St,tt]),Bt=c((function(e,t){X.current=t,A.current.style.transition=We||Ne?"transform ".concat(We,"ms ").concat(Xe," ").concat(Ne,"ms"):"none",e!==Le||lt?(clearTimeout(z.current),Ie(e)):(N.current=0,D.current=!1,A.current.style.transform="translateX(-".concat(Mt+Wt+(tt?0:Dt),"px)"))}),[lt,Le,Mt,Ne,Xe,We,Ie,Wt,tt,Dt]),Vt=c((function(){$e&&(clearTimeout(z.current),z.current=setTimeout((function(){Bt(zt(He),He)}),Ne))}),[$e,He,Bt,zt,Ne]),Ft=c((function(e){D.current&&(e.preventDefault(),e.stopPropagation(),J&&J(e))}),[J]),qt=c((function(){Bt(zt("backward"),"backward")}),[Bt,zt]),Rt=c((function(e){D.current=!0;var t=e.touches&&e.touches[0]?e.touches[0].clientX:e.clientX,n=N.current-t+Mt+Wt+(tt?0:Dt),r=A.current.offsetWidth-W.current.offsetWidth,o=Math.max(Math.min(0,-n),-r);A.current.style.transition="none",A.current.style.transform="translateX(".concat(o,"px)")}),[Mt,Wt,tt,Dt]),Ut=c((function(e){if(A.current.removeEventListener("mouseout",Ut),A.current.removeEventListener("dragstart",Ut),document.removeEventListener("mousemove",Rt),document.removeEventListener("mouseup",Ut),document.removeEventListener("touchmove",Rt),document.removeEventListener("touchend",Ut),D.current){var t=e.changedTouches&&e.changedTouches.length?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,n=N.current-t;n>It/2?Bt(zt("forward"),"forward"):n<-It/2?Bt(zt("backward"),"backward"):Bt(Le,"forward")}}),[Le,It,Bt,zt,Rt]),$t=c((function(e){clearTimeout(z.current),D.current||(N.current=e.clientX,document.addEventListener("mousemove",Rt),document.addEventListener("mouseup",Ut),A.current.addEventListener("mouseout",Ut),A.current.addEventListener("dragstart",Ut)),ce&&ce(e)}),[Rt,Ut]),Gt=c((function(e){clearTimeout(z.current),D.current||(N.current=e.touches[0].clientX,document.addEventListener("touchmove",Rt),document.addEventListener("touchend",Ut)),oe&&oe(e)}),[Rt,Ut]),Ht=c((function(e){I(Le),ue&&ue(e)}),[Le]),Jt=c((function(){Bt(zt("forward"),"forward")}),[Bt,zt]),Kt=function(e,t,n){return e.map((function(e,r){var o=e.props,i=(o=void 0===o?{}:o).className,c=void 0===i?"":i,a=o.onClick,u=void 0===a?null:a,d=o.style,s=void 0===d?{}:d,v=f(o,T),m=f(e,k),h=tt?V.current>=q.length?"forward":"backward":r>=Le?"forward":"backward",p=r+t===Le,b="".concat(c," ").concat(h," ").concat(p?Se:""),y=l(l(l({},s),p?ke:{}),{},{boxSizing:"border-box",margin:0}),w=!n&&Pe?function(e){var t=e.direction,n=e.index,r=e.onClick;return function(e){Bt(n,t||(Le<n?"forward":"")||(Le>n?"backward":"")),r&&r(e)}}({direction:h,index:r+t,onClick:u}):u,g=l(l({role:"tabpanel",className:b,style:y,onClick:w},v),p?je:{});return V.current+=1,l({props:g},m)}))};return a((function(){return N.current=0,D.current=!1,X.current="",Le!==L?We||Ne||I(Le):(Re&&Re(Le,L),(tt||"forward"===He&&Le!==St||"backward"===He&&0!==Le)&&Vt()),function(){clearTimeout(z.current)}}),[L,Le,Re,We,Ne,Vt,tt,St,He]),a((function(){return j&&Vt(),function(){clearTimeout(z.current)}}),[j]),a((function(){var e=A.current;function t(){clearTimeout(B.current),clearTimeout(z.current),B.current=setTimeout((function(){C(window.innerWidth)}),400)}return C(window.innerWidth),window.addEventListener("resize",t),function(){clearTimeout(B.current),window.removeEventListener("resize",t),document.removeEventListener("mousemove",Rt),document.removeEventListener("mouseup",Ut),document.removeEventListener("touchmove",Rt),document.removeEventListener("touchend",Ut),e.removeEventListener("mouseout",Ut),e.removeEventListener("dragstart",Ut)}}),[Rt,Ut]),V.current=0,j&&(A.current.style.transform=Xt),e.createElement("div",s({onClickCapture:Ft,style:l({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},G)},K,{ref:M}),me&&!kt&&e.createElement("button",s({},he,{type:"button",onClick:(0===Dt&&rt||0===Le&&it)&&!tt?void 0:qt,disabled:"boolean"==typeof he.disabled?he.disabled:!(!(0===Dt&&rt||0===Le&&it)||tt)}),fe),e.createElement("div",s({},_,{style:l(l({},Z),{},{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:Ot?"".concat(Ot,"px"):0}),ref:W}),e.createElement("div",s({},le,{style:l(l({},ne),{},{display:"flex",boxSizing:"border-box",outline:"none",transition:Nt,transform:Xt}),"data-transform":Xt,onTouchStart:jt?void 0:Gt,onMouseDown:jt?void 0:$t,onTransitionEnd:We||Ne?Ht:void 0,tabIndex:-1,role:"presentation",ref:A}),!jt&&tt&&Kt(q.slice(L),L),Kt(q,0,jt),!jt&&tt&&Kt(q,0),!jt&&tt&&Kt(q.slice(0,L),0))),ge&&!kt&&e.createElement("button",s({},Ee,{type:"button",onClick:(Dt===Et&&rt||Le===St&&it)&&!tt?void 0:Jt,disabled:"boolean"==typeof Ee.disabled?Ee.disabled:!(!(Dt===Et&&rt||Le===St&&it)||tt)}),ye),!!ft&&e.createElement("div",s({style:{width:"100%",display:"flex",justifyContent:"center"}},mt),Array.from({length:Math.ceil(q.length/Fe)}).map((function(t,n){return e.createElement("button",s({type:"button",key:n,title:"".concat(n)},pt,Math.min(n*Fe,q.length-1)===Le?yt:{},{onClick:function(){Bt(Math.min(n*Fe,q.length-1),Math.min(n*Fe,q.length-1)>Le?"forward":"backward")}}))}))))}var C=t(j);export{C 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";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,c=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(c)throw o}}return i}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=["responsiveProps"],v=["minWidth","maxWidth"],m=["style","onClickCapture"],h=["style"],b=["style","onTouchStart","onMouseDown","onTransitionEnd"],p=["children","show"],y=["children","show"],w=["className","style"],g=["className","onClick","style"],E=["props"];function k(t){var r=t.responsiveProps,i=void 0===r?[]:r,d=c(t,f),s=u(e.useState(0),2),k=s[0],C=s[1],x=u(e.useState(d.activeSlideIndex),2),S=x[0],O=x[1],T=e.useRef(null),j=e.useRef(null),P=e.useRef(null),L=e.useRef(0),M=e.useRef(!1),I=e.useRef(""),W=e.useRef(null),A=e.useRef(null),R=e.useRef(0),N=i.reduce((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.minWidth,r=void 0===n?0:n,i=t.maxWidth,a=void 0===i?null:i,u=c(t,v);return k>r&&(!a||k<=a)?o(o({},e),u):e}),d),D=e.Children.toArray(N.children),X=k?o(o({},N),{},{activeSlideIndex:Math.max(0,Math.min(N.activeSlideIndex,D.length-1)),itemsToShow:Math.min(D.length,N.itemsToShow||0),itemsToScroll:Math.min(D.length,N.itemsToScroll||1)}):d,z=X.containerProps,B=(z=void 0===z?{}:z).style,V=void 0===B?{}:B,q=z.onClickCapture,F=void 0===q?null:q,U=c(z,m),$=X.innerProps,G=($=void 0===$?{}:$).style,H=void 0===G?{}:G,J=c($,h),K=X.itemsListProps,Q=(K=void 0===K?{}:K).style,Y=void 0===Q?{}:Q,Z=K.onTouchStart,_=void 0===Z?null:Z,ee=K.onMouseDown,te=void 0===ee?null:ee,ne=K.onTransitionEnd,re=void 0===ne?null:ne,oe=c(K,b),ie=X.backwardBtnProps,ae=(ie=void 0===ie?{}:ie).children,ce=void 0===ae?null:ae,ue=ie.show,le=void 0===ue||ue,de=c(ie,p),se=X.forwardBtnProps,fe=(se=void 0===se?{}:se).children,ve=void 0===fe?null:fe,me=se.show,he=void 0===me||me,be=c(se,y),pe=X.activeSlideProps,ye=(pe=void 0===pe?{}:pe).className,we=void 0===ye?"":ye,ge=pe.style,Ee=void 0===ge?{}:ge,ke=c(pe,w),Ce=X.updateOnItemClick,xe=void 0!==Ce&&Ce,Se=X.activeSlideIndex,Oe=X.onRequestChange,Te=X.speed,je=void 0===Te?0:Te,Pe=X.delay,Le=void 0===Pe?0:Pe,Me=X.easing,Ie=void 0===Me?"linear":Me,We=X.itemsToShow,Ae=void 0===We?0:We,Re=X.itemsToScroll,Ne=void 0===Re?1:Re,De=X.children,Xe=X.onAfterChange,ze=X.autoplay,Be=void 0!==ze&&ze,Ve=X.autoplayDirection,qe=void 0===Ve?"forward":Ve,Fe=X.disableNavIfAllVisible,Ue=void 0===Fe||Fe,$e=X.hideNavIfAllVisible,Ge=void 0===$e||$e,He=X.centerMode,Je=void 0!==He&&He,Ke=X.infinite,Qe=void 0===Ke||Ke,Ye=X.disableNavIfEdgeVisible,Ze=void 0===Ye||Ye,_e=X.disableNavIfEdgeActive,et=void 0===_e||_e,tt=X.dotsNav,nt=(void 0===tt?{}:tt)||{},rt=nt.show,ot=void 0!==rt&&rt,it=nt.containerProps,at=void 0===it?{}:it,ct=nt.itemBtnProps,ut=void 0===ct?{}:ct,lt=nt.activeItemBtnProps,dt=void 0===lt?{}:lt,st=k?l(P.current.children):[],ft=e.useMemo((function(){return k?Qe?st.slice(D.length-S,D.length-S+D.length):st:[]}),[S,D.length,k,Qe,st]),vt=k?P.current.offsetWidth-j.current.offsetWidth:0,mt=function(e){var t=ft.reduce((function(t,n,r){return r>=e?t:t+(n.offsetWidth||0)}),0);return Qe?t:Math.min(vt,t)},ht=e.useMemo((function(){return k&&Ae?ft.reduce((function(e,t,n){return n>=Se&&n<Se+Ae||n<Se&&n<Se+Ae-ft.length?e+t.offsetWidth:e}),0):0}),[Se,Ae,ft,k]),bt=e.Children.count(De)-1,pt=Ae===D.length,yt=Ge&&pt,wt=Ue&&pt,gt=Se-S!=0,Et=k&&gt&&Qe?mt(S):0,kt=!k||!gt&&Qe?0:mt(Se),Ct=k?ft[Se].offsetWidth:0,xt=k&&(Je&&Qe)?-(Math.min(ht||j.current.offsetWidth,j.current.offsetWidth)-Ct)/2:0,St=e.useMemo((function(){return Qe&&k?P.current.offsetWidth/3:0}),[k,Qe]),Ot=S-Se!=0&&P.current?"forward"===I.current.toLowerCase()&&Se<S?St:"backward"===I.current.toLowerCase()&&Se>S?-St:0:0,Tt=gt&&(je||Le)?"transform ".concat(je,"ms ").concat(Ie," ").concat(Le,"ms"):"none",jt=wt||!k?0:kt-Et+xt+Ot+St,Pt=k?"translateX(-".concat(jt,"px)"):"none",Lt=e.useCallback((function(e){if("forward"===e){var t=Se+Ne;return t>bt?Qe?t-bt-1:Se:t}if("backward"===e){var n=Se-Ne;return n<0?Qe?bt+1+n:Se:n}return Se}),[Se,Ne,bt,Qe]),Mt=e.useCallback((function(e,t){I.current=t,P.current.style.transition=je||Le?"transform ".concat(je,"ms ").concat(Ie," ").concat(Le,"ms"):"none",e!==Se?(clearTimeout(W.current),Oe(e)):(L.current=0,M.current=!1,P.current.style.transform="translateX(-".concat(xt+St+(Qe?0:jt),"px)"))}),[Se,xt,Le,Ie,je,Oe,St,Qe,jt]),It=e.useCallback((function(){Be&&(clearTimeout(W.current),W.current=setTimeout((function(){Mt(Lt(qe),qe)}),Le))}),[Be,qe,Mt,Lt,Le]),Wt=e.useCallback((function(e){M.current&&(e.preventDefault(),e.stopPropagation(),F&&F(e))}),[F]),At=e.useCallback((function(){Mt(Lt("backward"),"backward")}),[Mt,Lt]),Rt=e.useCallback((function(e){M.current=!0;var t=e.touches&&e.touches[0]?e.touches[0].clientX:e.clientX,n=L.current-t+xt+St+(Qe?0:jt),r=P.current.offsetWidth-j.current.offsetWidth,o=Math.max(Math.min(0,-n),-r);P.current.style.transition="none",P.current.style.transform="translateX(".concat(o,"px)")}),[xt,St,Qe,jt]),Nt=e.useCallback((function(e){if(P.current.removeEventListener("mouseout",Nt),P.current.removeEventListener("dragstart",Nt),document.removeEventListener("mousemove",Rt),document.removeEventListener("mouseup",Nt),document.removeEventListener("touchmove",Rt),document.removeEventListener("touchend",Nt),M.current){var t=e.changedTouches&&e.changedTouches.length?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,n=L.current-t;n>Ct/2?Mt(Lt("forward"),"forward"):n<-Ct/2?Mt(Lt("backward"),"backward"):Mt(Se,"forward")}}),[Se,Ct,Mt,Lt,Rt]),Dt=e.useCallback((function(e){clearTimeout(W.current),M.current||(L.current=e.clientX,document.addEventListener("mousemove",Rt),document.addEventListener("mouseup",Nt),P.current.addEventListener("mouseout",Nt),P.current.addEventListener("dragstart",Nt)),te&&te(e)}),[Rt,Nt]),Xt=e.useCallback((function(e){clearTimeout(W.current),M.current||(L.current=e.touches[0].clientX,document.addEventListener("touchmove",Rt),document.addEventListener("touchend",Nt)),_&&_(e)}),[Rt,Nt]),zt=e.useCallback((function(e){O(Se),re&&re(e)}),[Se]),Bt=e.useCallback((function(){Mt(Lt("forward"),"forward")}),[Mt,Lt]),Vt=function(e,t,n){return e.map((function(e,r){var i=e.props,a=(i=void 0===i?{}:i).className,u=void 0===a?"":a,l=i.onClick,d=void 0===l?null:l,s=i.style,f=void 0===s?{}:s,v=c(i,g),m=c(e,E),h=Qe?R.current>=D.length?"forward":"backward":r>=Se?"forward":"backward",b=r+t===Se,p="".concat(u," ").concat(h," ").concat(b?we:""),y=o(o(o({},f),b?Ee:{}),{},{boxSizing:"border-box",margin:0}),w=!n&&xe?function(e){var t=e.direction,n=e.index,r=e.onClick;return function(e){Mt(n,t||(Se<n?"forward":"")||(Se>n?"backward":"")),r&&r(e)}}({direction:h,index:r+t,onClick:d}):d,k=o(o({role:"tabpanel",className:p,style:y,onClick:w},v),b?ke:{});return R.current+=1,o({props:k},m)}))};return e.useEffect((function(){return L.current=0,M.current=!1,I.current="",Se!==S?je||Le||O(Se):(Xe&&Xe(Se,S),(Qe||"forward"===qe&&Se!==bt||"backward"===qe&&0!==Se)&&It()),function(){clearTimeout(W.current)}}),[S,Se,Xe,je,Le,It,Qe,bt,qe]),e.useEffect((function(){return k&&It(),function(){clearTimeout(W.current)}}),[k]),e.useEffect((function(){var e=P.current;function t(){clearTimeout(A.current),clearTimeout(W.current),A.current=setTimeout((function(){C(window.innerWidth)}),400)}return C(window.innerWidth),window.addEventListener("resize",t),function(){clearTimeout(A.current),window.removeEventListener("resize",t),document.removeEventListener("mousemove",Rt),document.removeEventListener("mouseup",Nt),document.removeEventListener("touchmove",Rt),document.removeEventListener("touchend",Nt),e.removeEventListener("mouseout",Nt),e.removeEventListener("dragstart",Nt)}}),[Rt,Nt]),R.current=0,k&&(P.current.style.transform=Pt),n.default.createElement("div",a({onClickCapture:Wt,style:o({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},V)},U,{ref:T}),le&&!yt&&n.default.createElement("button",a({},de,{type:"button",onClick:(0===jt&&Ze||0===Se&&et)&&!Qe?void 0:At,disabled:"boolean"==typeof de.disabled?de.disabled:!(!(0===jt&&Ze||0===Se&&et)||Qe)}),ce),n.default.createElement("div",a({},J,{style:o(o({},H),{},{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:ht?"".concat(ht,"px"):0}),ref:j}),n.default.createElement("div",a({},oe,{style:o(o({},Y),{},{display:"flex",boxSizing:"border-box",outline:"none",transition:Tt,transform:Pt}),"data-transform":Pt,onTouchStart:wt?void 0:Xt,onMouseDown:wt?void 0:Dt,onTransitionEnd:je||Le?zt:void 0,tabIndex:-1,role:"presentation",ref:P}),!wt&&Qe&&Vt(D.slice(S),S),Vt(D,0,wt),!wt&&Qe&&Vt(D,0),!wt&&Qe&&Vt(D.slice(0,S),0))),he&&!yt&&n.default.createElement("button",a({},be,{type:"button",onClick:(jt===vt&&Ze||Se===bt&&et)&&!Qe?void 0:Bt,disabled:"boolean"==typeof be.disabled?be.disabled:!(!(jt===vt&&Ze||Se===bt&&et)||Qe)}),ve),!!ot&&n.default.createElement("div",a({style:{width:"100%",display:"flex",justifyContent:"center"}},at),Array.from({length:Math.ceil(D.length/Ne)}).map((function(e,t){return n.default.createElement("button",a({type:"button",key:t,title:"".concat(t)},ut,Math.min(t*Ne,D.length-1)===Se?dt:{},{onClick:function(){Mt(Math.min(t*Ne,D.length-1),Math.min(t*Ne,D.length-1)>Se?"forward":"backward")}}))}))))}return e.memo(k)}));
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";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,c=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(c)throw o}}return i}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=["responsiveProps"],v=["minWidth","maxWidth"],m=["style","onClickCapture"],h=["style"],b=["style","onTouchStart","onMouseDown","onTransitionEnd"],p=["children","show"],y=["children","show"],w=["className","style"],g=["className","onClick","style"],E=["props"];function k(t){var r=t.responsiveProps,i=void 0===r?[]:r,d=c(t,f),s=u(e.useState(0),2),k=s[0],C=s[1],x=u(e.useState(d.activeSlideIndex),2),S=x[0],O=x[1],T=e.useRef(null),j=e.useRef(null),P=e.useRef(null),L=e.useRef(0),M=e.useRef(!1),I=e.useRef(""),W=e.useRef(null),A=e.useRef(null),R=e.useRef(0),N=i.reduce((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.minWidth,r=void 0===n?0:n,i=t.maxWidth,a=void 0===i?null:i,u=c(t,v);return k>r&&(!a||k<=a)?o(o({},e),u):e}),d),D=e.Children.toArray(N.children),X=k?o(o({},N),{},{activeSlideIndex:Math.max(0,Math.min(N.activeSlideIndex,D.length-1)),itemsToShow:Math.min(D.length,N.itemsToShow||0),itemsToScroll:Math.min(D.length,N.itemsToScroll||1)}):d,z=X.containerProps,B=(z=void 0===z?{}:z).style,V=void 0===B?{}:B,q=z.onClickCapture,F=void 0===q?null:q,U=c(z,m),$=X.innerProps,G=($=void 0===$?{}:$).style,H=void 0===G?{}:G,J=c($,h),K=X.itemsListProps,Q=(K=void 0===K?{}:K).style,Y=void 0===Q?{}:Q,Z=K.onTouchStart,_=void 0===Z?null:Z,ee=K.onMouseDown,te=void 0===ee?null:ee,ne=K.onTransitionEnd,re=void 0===ne?null:ne,oe=c(K,b),ie=X.backwardBtnProps,ae=(ie=void 0===ie?{}:ie).children,ce=void 0===ae?null:ae,ue=ie.show,le=void 0===ue||ue,de=c(ie,p),se=X.forwardBtnProps,fe=(se=void 0===se?{}:se).children,ve=void 0===fe?null:fe,me=se.show,he=void 0===me||me,be=c(se,y),pe=X.activeSlideProps,ye=(pe=void 0===pe?{}:pe).className,we=void 0===ye?"":ye,ge=pe.style,Ee=void 0===ge?{}:ge,ke=c(pe,w),Ce=X.updateOnItemClick,xe=void 0!==Ce&&Ce,Se=X.activeSlideIndex,Oe=X.onRequestChange,Te=X.speed,je=void 0===Te?0:Te,Pe=X.delay,Le=void 0===Pe?0:Pe,Me=X.easing,Ie=void 0===Me?"linear":Me,We=X.itemsToShow,Ae=void 0===We?0:We,Re=X.itemsToScroll,Ne=void 0===Re?1:Re,De=X.children,Xe=X.onAfterChange,ze=X.autoplay,Be=void 0!==ze&&ze,Ve=X.autoplayDirection,qe=void 0===Ve?"forward":Ve,Fe=X.disableNavIfAllVisible,Ue=void 0===Fe||Fe,$e=X.hideNavIfAllVisible,Ge=void 0===$e||$e,He=X.centerMode,Je=void 0!==He&&He,Ke=X.infinite,Qe=void 0===Ke||Ke,Ye=X.disableNavIfEdgeVisible,Ze=void 0===Ye||Ye,_e=X.disableNavIfEdgeActive,et=void 0===_e||_e,tt=X.dotsNav,nt=void 0===tt?{}:tt,rt=X.persistentChangeCallbacks,ot=void 0!==rt&&rt,it=nt||{},at=it.show,ct=void 0!==at&&at,ut=it.containerProps,lt=void 0===ut?{}:ut,dt=it.itemBtnProps,st=void 0===dt?{}:dt,ft=it.activeItemBtnProps,vt=void 0===ft?{}:ft,mt=k?l(P.current.children):[],ht=e.useMemo((function(){return k?Qe?mt.slice(D.length-S,D.length-S+D.length):mt:[]}),[S,D.length,k,Qe,mt]),bt=k?P.current.offsetWidth-j.current.offsetWidth:0,pt=function(e){var t=ht.reduce((function(t,n,r){return r>=e?t:t+(n.offsetWidth||0)}),0);return Qe?t:Math.min(bt,t)},yt=e.useMemo((function(){return k&&Ae?ht.reduce((function(e,t,n){return n>=Se&&n<Se+Ae||n<Se&&n<Se+Ae-ht.length?e+t.offsetWidth:e}),0):0}),[Se,Ae,ht,k]),wt=e.Children.count(De)-1,gt=Ae===D.length,Et=Ge&&gt,kt=Ue&&gt,Ct=Se-S!=0,xt=k&&Ct&&Qe?pt(S):0,St=!k||!Ct&&Qe?0:pt(Se),Ot=k?ht[Se].offsetWidth:0,Tt=k&&(Je&&Qe)?-(Math.min(yt||j.current.offsetWidth,j.current.offsetWidth)-Ot)/2:0,jt=e.useMemo((function(){return Qe&&k?P.current.offsetWidth/3:0}),[k,Qe]),Pt=S-Se!=0&&P.current?"forward"===I.current.toLowerCase()&&Se<S?jt:"backward"===I.current.toLowerCase()&&Se>S?-jt:0:0,Lt=Ct&&(je||Le)?"transform ".concat(je,"ms ").concat(Ie," ").concat(Le,"ms"):"none",Mt=kt||!k?0:St-xt+Tt+Pt+jt,It=k?"translateX(-".concat(Mt,"px)"):"none",Wt=e.useCallback((function(e){if("forward"===e){var t=Se+Ne;return t>wt?Qe?t-wt-1:Se:t}if("backward"===e){var n=Se-Ne;return n<0?Qe?wt+1+n:Se:n}return Se}),[Se,Ne,wt,Qe]),At=e.useCallback((function(e,t){I.current=t,P.current.style.transition=je||Le?"transform ".concat(je,"ms ").concat(Ie," ").concat(Le,"ms"):"none",e!==Se||ot?(clearTimeout(W.current),Oe(e)):(L.current=0,M.current=!1,P.current.style.transform="translateX(-".concat(Tt+jt+(Qe?0:Mt),"px)"))}),[ot,Se,Tt,Le,Ie,je,Oe,jt,Qe,Mt]),Rt=e.useCallback((function(){Be&&(clearTimeout(W.current),W.current=setTimeout((function(){At(Wt(qe),qe)}),Le))}),[Be,qe,At,Wt,Le]),Nt=e.useCallback((function(e){M.current&&(e.preventDefault(),e.stopPropagation(),F&&F(e))}),[F]),Dt=e.useCallback((function(){At(Wt("backward"),"backward")}),[At,Wt]),Xt=e.useCallback((function(e){M.current=!0;var t=e.touches&&e.touches[0]?e.touches[0].clientX:e.clientX,n=L.current-t+Tt+jt+(Qe?0:Mt),r=P.current.offsetWidth-j.current.offsetWidth,o=Math.max(Math.min(0,-n),-r);P.current.style.transition="none",P.current.style.transform="translateX(".concat(o,"px)")}),[Tt,jt,Qe,Mt]),zt=e.useCallback((function(e){if(P.current.removeEventListener("mouseout",zt),P.current.removeEventListener("dragstart",zt),document.removeEventListener("mousemove",Xt),document.removeEventListener("mouseup",zt),document.removeEventListener("touchmove",Xt),document.removeEventListener("touchend",zt),M.current){var t=e.changedTouches&&e.changedTouches.length?e.changedTouches[e.changedTouches.length-1].clientX:e.clientX,n=L.current-t;n>Ot/2?At(Wt("forward"),"forward"):n<-Ot/2?At(Wt("backward"),"backward"):At(Se,"forward")}}),[Se,Ot,At,Wt,Xt]),Bt=e.useCallback((function(e){clearTimeout(W.current),M.current||(L.current=e.clientX,document.addEventListener("mousemove",Xt),document.addEventListener("mouseup",zt),P.current.addEventListener("mouseout",zt),P.current.addEventListener("dragstart",zt)),te&&te(e)}),[Xt,zt]),Vt=e.useCallback((function(e){clearTimeout(W.current),M.current||(L.current=e.touches[0].clientX,document.addEventListener("touchmove",Xt),document.addEventListener("touchend",zt)),_&&_(e)}),[Xt,zt]),qt=e.useCallback((function(e){O(Se),re&&re(e)}),[Se]),Ft=e.useCallback((function(){At(Wt("forward"),"forward")}),[At,Wt]),Ut=function(e,t,n){return e.map((function(e,r){var i=e.props,a=(i=void 0===i?{}:i).className,u=void 0===a?"":a,l=i.onClick,d=void 0===l?null:l,s=i.style,f=void 0===s?{}:s,v=c(i,g),m=c(e,E),h=Qe?R.current>=D.length?"forward":"backward":r>=Se?"forward":"backward",b=r+t===Se,p="".concat(u," ").concat(h," ").concat(b?we:""),y=o(o(o({},f),b?Ee:{}),{},{boxSizing:"border-box",margin:0}),w=!n&&xe?function(e){var t=e.direction,n=e.index,r=e.onClick;return function(e){At(n,t||(Se<n?"forward":"")||(Se>n?"backward":"")),r&&r(e)}}({direction:h,index:r+t,onClick:d}):d,k=o(o({role:"tabpanel",className:p,style:y,onClick:w},v),b?ke:{});return R.current+=1,o({props:k},m)}))};return e.useEffect((function(){return L.current=0,M.current=!1,I.current="",Se!==S?je||Le||O(Se):(Xe&&Xe(Se,S),(Qe||"forward"===qe&&Se!==wt||"backward"===qe&&0!==Se)&&Rt()),function(){clearTimeout(W.current)}}),[S,Se,Xe,je,Le,Rt,Qe,wt,qe]),e.useEffect((function(){return k&&Rt(),function(){clearTimeout(W.current)}}),[k]),e.useEffect((function(){var e=P.current;function t(){clearTimeout(A.current),clearTimeout(W.current),A.current=setTimeout((function(){C(window.innerWidth)}),400)}return C(window.innerWidth),window.addEventListener("resize",t),function(){clearTimeout(A.current),window.removeEventListener("resize",t),document.removeEventListener("mousemove",Xt),document.removeEventListener("mouseup",zt),document.removeEventListener("touchmove",Xt),document.removeEventListener("touchend",zt),e.removeEventListener("mouseout",zt),e.removeEventListener("dragstart",zt)}}),[Xt,zt]),R.current=0,k&&(P.current.style.transform=It),n.default.createElement("div",a({onClickCapture:Nt,style:o({display:"flex",flexFlow:"row wrap",boxSizing:"border-box",justifyContent:"center",width:"100%"},V)},U,{ref:T}),le&&!Et&&n.default.createElement("button",a({},de,{type:"button",onClick:(0===Mt&&Ze||0===Se&&et)&&!Qe?void 0:Dt,disabled:"boolean"==typeof de.disabled?de.disabled:!(!(0===Mt&&Ze||0===Se&&et)||Qe)}),ce),n.default.createElement("div",a({},J,{style:o(o({},H),{},{display:"flex",boxSizing:"border-box",flexFlow:"row wrap",padding:"0",overflow:"hidden",maxWidth:yt?"".concat(yt,"px"):0}),ref:j}),n.default.createElement("div",a({},oe,{style:o(o({},Y),{},{display:"flex",boxSizing:"border-box",outline:"none",transition:Lt,transform:It}),"data-transform":It,onTouchStart:kt?void 0:Vt,onMouseDown:kt?void 0:Bt,onTransitionEnd:je||Le?qt:void 0,tabIndex:-1,role:"presentation",ref:P}),!kt&&Qe&&Ut(D.slice(S),S),Ut(D,0,kt),!kt&&Qe&&Ut(D,0),!kt&&Qe&&Ut(D.slice(0,S),0))),he&&!Et&&n.default.createElement("button",a({},be,{type:"button",onClick:(Mt===bt&&Ze||Se===wt&&et)&&!Qe?void 0:Ft,disabled:"boolean"==typeof be.disabled?be.disabled:!(!(Mt===bt&&Ze||Se===wt&&et)||Qe)}),ve),!!ct&&n.default.createElement("div",a({style:{width:"100%",display:"flex",justifyContent:"center"}},lt),Array.from({length:Math.ceil(D.length/Ne)}).map((function(e,t){return n.default.createElement("button",a({type:"button",key:t,title:"".concat(t)},st,Math.min(t*Ne,D.length-1)===Se?vt:{},{onClick:function(){At(Math.min(t*Ne,D.length-1),Math.min(t*Ne,D.length-1)>Se?"forward":"backward")}}))}))))}return e.memo(k)}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simply-carousel",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
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/"