UNPKG

react-native-reanimated-carousel

Version:

Simple carousel component.fully implemented using Reanimated 2.Infinitely scrolling, very smooth.

2 lines 7.13 kB
Object.defineProperty(exports,"__esModule",{value:true});exports.useVisibleRanges=useVisibleRanges;var _react=require("react");var _reactNativeReanimated=require("react-native-reanimated");var _worklet_11864648947888_init_data={code:"function anonymous(){const{windowSize,translation,viewSize,total,loop,isArraysEqual,cachedRanges}=this.__closure;var _cachedRanges$current,_cachedRanges$current2,_cachedRanges$current3,_cachedRanges$current4;const positiveCount=Math.round(windowSize/2);const negativeCount=windowSize-positiveCount;let currentIndex=Math.round(-translation.value/viewSize);currentIndex=currentIndex<0?currentIndex%total+total:currentIndex;let newRanges;if(!loop){newRanges={negativeRange:[0+currentIndex-(windowSize-1),0+currentIndex],positiveRange:[0+currentIndex,currentIndex+(windowSize-1)]};}else{const negativeRange=[(currentIndex-negativeCount+total)%total,(currentIndex-1+total)%total];const positiveRange=[(currentIndex+total)%total,(currentIndex+positiveCount+total)%total];if(negativeRange[0]<total&&negativeRange[0]>negativeRange[1]){negativeRange[1]=total-1;positiveRange[0]=0;}if(positiveRange[0]>positiveRange[1]){negativeRange[1]=total-1;positiveRange[0]=0;}newRanges={negativeRange:negativeRange,positiveRange:positiveRange};}if(isArraysEqual((_cachedRanges$current=(_cachedRanges$current2=cachedRanges.current)===null||_cachedRanges$current2===void 0?void 0:_cachedRanges$current2.negativeRange)!==null&&_cachedRanges$current!==void 0?_cachedRanges$current:[],newRanges.negativeRange)&&isArraysEqual((_cachedRanges$current3=(_cachedRanges$current4=cachedRanges.current)===null||_cachedRanges$current4===void 0?void 0:_cachedRanges$current4.positiveRange)!==null&&_cachedRanges$current3!==void 0?_cachedRanges$current3:[],newRanges.positiveRange))return cachedRanges.current;cachedRanges.current=newRanges;return cachedRanges.current;}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useVisibleRanges.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AAyBiC,QAAAA,UAAA,EAAM,gGAAAC,sBAAA,CAAAC,sBAAA,CAAAC,sBAAA,CAAAC,sBAAA,8CACnC,KAAMC,cAAa,CAAGC,WAAWC,aAAjC,CACA,GAAAC,aAAMC,CAAaH,IAAGC,MAAH,CAAGA,YAAaF,MAAbE,CAAtBG,QAAmB,CAAnB,CAEAF,YAAIA,aAAoBG,CAAM,CAA1BH,CAA2BI,YAAYC,CAAbC,KAACF,CAAoBF,KAA/CF,CAAJA,YAAA,CACAA,cAEA,GAAIO,KAAJ,CAAIA,CAGFA,SAAA,EACAC,aAAA,IAAAR,YAAA,EAAAD,UAAA,MAAAC,YAAA,CADA,CAEAO,aAAY,IAAAP,YAAA,CAAAA,YAAA,EAAAD,UAAA,IAFZ,EAIEU,CAPJ,IAOIA,CAFU,KAAZF,sFAAY,CAHd,KAOOE,cAAA,GAAAT,YAAA,CAAAM,KAAA,EAAAA,KAAA,EAAAN,YAAA,CAAAH,aAAA,CAAAS,KAAA,EAAAA,KAAA,CAPP,CAQE,GAAAE,aAAMA,GAAN,CACEF,KADF,EACGN,aAAeC,GAAfD,CAAeC,aAAyBK,GAD3C,CAA6B,CAK7BE,aAAMC,GAAN,CAA0BH,KACvBN,EADH,oBAKA,CACEQ,gBAAa,CAAbA,CAAa,CAAbA,CAAmBF,aAAnBE,KACAC,aAAa,CAAC,CAAD,CAAbA,CAAmBH,KAAnBG,GACFA,aAAA,OAGEA,WAGFD,aAAA,CAAAA,aAHEC,8BAIFF,CAAcC,gBAAa,EAAbA,qBAAF,EAAAd,sBAAA,CAAAgB,YAAA,CAAAC,OAAA,UAAAjB,sBAAA,iBAAAA,sBAAA,CAAAc,aAAe,IAAf,IAAe,EAAff,qBAAA,SAAe,CAAfA,qBAAe,CAAf,EAAe,CAAfc,SAAA,CAAAC,aAAe,CAAbA,EAAFI,aAAA,EAAAjB,sBAAA,EAAAC,sBAAA,CAAAc,YAAA,CAAAC,OAAA,UAAAf,sBAAA,iBAAAA,sBAAA,CAAAa,aAAA,UAAAd,sBAAA,UAAAA,sBAAA,IAAAY,SAAA,CAAAE,aAAA,CAAED,CAAF,MAAAE,aAAA,CAAAC,OAAA,CAAiBF,+BAAjB,MAAZF,qBAAY,CACd\",\"names\":[\"anonymous\",\"_cachedRanges$current\",\"_cachedRanges$current2\",\"_cachedRanges$current3\",\"_cachedRanges$current4\",\"positiveCount\",\"Math\",\"windowSize\",\"currentIndex\",\"negativeCount\",\"viewSize\",\"round\",\"translation\",\"value\",\"total\",\"newRanges\",\"negativeRange\",\"positiveRange\",\"cachedRanges\",\"current\",\"isArraysEqual\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useVisibleRanges.tsx\"]}",version:"3.10.1"};function useVisibleRanges(options){var _options$total=options.total,total=_options$total===void 0?0:_options$total,viewSize=options.viewSize,translation=options.translation,_windowSize=options.windowSize,loop=options.loop;var windowSize=_windowSize!=null?_windowSize:total;var cachedRanges=(0,_react.useRef)(null);var ranges=(0,_reactNativeReanimated.useDerivedValue)(function(){var _e=[new global.Error(),-8,-27];var anonymous=function anonymous(){var _cachedRanges$current,_cachedRanges$current2,_cachedRanges$current3,_cachedRanges$current4;var positiveCount=Math.round(windowSize/2);var negativeCount=windowSize-positiveCount;var currentIndex=Math.round(-translation.value/viewSize);currentIndex=currentIndex<0?currentIndex%total+total:currentIndex;var newRanges;if(!loop){newRanges={negativeRange:[0+currentIndex-(windowSize-1),0+currentIndex],positiveRange:[0+currentIndex,currentIndex+(windowSize-1)]};}else{var negativeRange=[(currentIndex-negativeCount+total)%total,(currentIndex-1+total)%total];var positiveRange=[(currentIndex+total)%total,(currentIndex+positiveCount+total)%total];if(negativeRange[0]<total&&negativeRange[0]>negativeRange[1]){negativeRange[1]=total-1;positiveRange[0]=0;}if(positiveRange[0]>positiveRange[1]){negativeRange[1]=total-1;positiveRange[0]=0;}newRanges={negativeRange:negativeRange,positiveRange:positiveRange};}if(isArraysEqual((_cachedRanges$current=(_cachedRanges$current2=cachedRanges.current)==null?void 0:_cachedRanges$current2.negativeRange)!=null?_cachedRanges$current:[],newRanges.negativeRange)&&isArraysEqual((_cachedRanges$current3=(_cachedRanges$current4=cachedRanges.current)==null?void 0:_cachedRanges$current4.positiveRange)!=null?_cachedRanges$current3:[],newRanges.positiveRange))return cachedRanges.current;cachedRanges.current=newRanges;return cachedRanges.current;};anonymous.__closure={windowSize:windowSize,translation:translation,viewSize:viewSize,total:total,loop:loop,isArraysEqual:isArraysEqual,cachedRanges:cachedRanges};anonymous.__workletHash=11864648947888;anonymous.__initData=_worklet_11864648947888_init_data;anonymous.__stackDetails=_e;return anonymous;}(),[loop,total,windowSize,translation]);return ranges;}var _worklet_6577523793522_init_data={code:"function isArraysEqual(a,b){if(a.length!==b.length)return false;return a.every(function(value,index){return value===b[index];});}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useVisibleRanges.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AA8EA,QAAAA,cAAA,CAAAC,CAAA,CAAAC,CAAA,EAEE,GAAID,CAAC,CAACE,MAAFF,GAAaC,CAAC,CAACC,MAAnB,CAA2B,MAAO,MAAP,CAE3B,MAAOF,EAAC,CAACG,KAAFH,CAAQ,SAACI,KAAD,CAAQC,KAAR,QAAkBD,MAAK,GAAKH,CAAC,CAACI,KAAD,CAA7B,CAARL,EAAP,CAJF\",\"names\":[\"isArraysEqual\",\"a\",\"b\",\"length\",\"every\",\"value\",\"index\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useVisibleRanges.tsx\"]}",version:"3.10.1"};var isArraysEqual=function(){var _e=[new global.Error(),1,-27];var isArraysEqual=function isArraysEqual(a,b){if(a.length!==b.length)return false;return a.every(function(value,index){return value===b[index];});};isArraysEqual.__closure={};isArraysEqual.__workletHash=6577523793522;isArraysEqual.__initData=_worklet_6577523793522_init_data;isArraysEqual.__stackDetails=_e;return isArraysEqual;}(); //# sourceMappingURL=useVisibleRanges.js.map