UNPKG

react-native-reanimated-carousel

Version:

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

2 lines 4.39 kB
Object.defineProperty(exports,"__esModule",{value:true});exports.useOffsetX=void 0;var _reactNativeReanimated=require("react-native-reanimated");var _worklet_16646991936500_init_data={code:"function anonymous(){const{visibleRanges,index,loop,TOTAL_WIDTH,MIN,HALF_WIDTH,startPos,MAX,interpolate,handlerOffset,Extrapolation,size}=this.__closure;const{negativeRange:negativeRange,positiveRange:positiveRange}=visibleRanges.value;if(index>=negativeRange[0]&&index<=negativeRange[1]||index>=positiveRange[0]&&index<=positiveRange[1]){if(loop){const inputRange=[-TOTAL_WIDTH,MIN-HALF_WIDTH-startPos-Number.MIN_VALUE,MIN-HALF_WIDTH-startPos,0,MAX+HALF_WIDTH-startPos,MAX+HALF_WIDTH-startPos+Number.MIN_VALUE,TOTAL_WIDTH];const outputRange=[startPos,MAX+HALF_WIDTH-Number.MIN_VALUE,MIN-HALF_WIDTH,startPos,MAX+HALF_WIDTH,MIN-HALF_WIDTH+Number.MIN_VALUE,startPos];return interpolate(handlerOffset.value,inputRange,outputRange,Extrapolation.CLAMP);}return handlerOffset.value+size*index;}return Number.MAX_SAFE_INTEGER;}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useOffsetX.ts",sourceMap:"{\"version\":3,\"mappings\":\"AAwC4B,QAAAA,UAAA,EAAM,qIAC9B,KAAM,CAAEC,aAAa,CAAbA,aAAF,CAAiBC,2BAAjB,EAAmCC,aAAa,CAACC,KAAvD,wGAEA,GACGC,IADH,CACQ,CAGN,KAAAC,WAAU,GAAAC,WAAA,CAAAC,GAAA,CAAAC,UAAA,CAAAC,QAAA,CAAAC,MAAA,CAAAC,SAAA,CAAAJ,GAAA,CAAAC,UAAA,CAAAC,QAAA,GAAAG,GAAA,CAAAJ,UAAA,CAAAC,QAAA,CAAAG,GAAA,CAAAJ,UAAA,CAAAC,QAAA,CAAAC,MAAA,CAAAC,SAAA,CAAAL,WAAA,CAAV,CACE,KAAMD,YAAU,CACd,CAACC,QAAD,CAACA,GACDC,CAAGC,UADFF,CACDC,MAAmBE,UADnB,CAC8BC,GAAOC,WADrC,CAEGF,QAFH,CAEMD,GAAND,CAAmBE,UAFnB,CAIAG,GAAG,CAAGJ,UAANI,CAAmBH,gBAJnB,CAKMD,QALN,CADF,CAUA,MAAMK,YAAW,CAAAC,aAEfF,MAFe,CAETJ,UAFS,CAEIE,WAFJ,CAEWC,aACpBH,MAHS,CAAjB,CAUA,CACF,MAAAM,cAAA,CAAAX,KAAA,CAAAY,IAAA,CAAAX,KAAA,EAEA,MAAAM,OAAOI,iBAAP,CACF\",\"names\":[\"anonymous\",\"negativeRange\",\"positiveRange\",\"visibleRanges\",\"value\",\"index\",\"inputRange\",\"TOTAL_WIDTH\",\"MIN\",\"HALF_WIDTH\",\"startPos\",\"Number\",\"MIN_VALUE\",\"MAX\",\"outputRange\",\"handlerOffset\",\"size\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useOffsetX.ts\"]}",version:"3.10.1"};var useOffsetX=function useOffsetX(opts,visibleRanges){var handlerOffset=opts.handlerOffset,index=opts.index,size=opts.size,loop=opts.loop,dataLength=opts.dataLength,_opts$type=opts.type,type=_opts$type===void 0?"positive":_opts$type,_viewCount=opts.viewCount;var ITEM_LENGTH=dataLength;var VALID_LENGTH=ITEM_LENGTH-1;var TOTAL_WIDTH=size*ITEM_LENGTH;var HALF_WIDTH=0.5*size;var viewCount=_viewCount!=null?_viewCount:Math.round((ITEM_LENGTH-1)/2);var positiveCount=type==="positive"?viewCount:VALID_LENGTH-viewCount;var startPos=size*index;if(index>positiveCount)startPos=(index-ITEM_LENGTH)*size;var MAX=positiveCount*size;var MIN=-((VALID_LENGTH-positiveCount)*size);var x=(0,_reactNativeReanimated.useDerivedValue)(function(){var _e=[new global.Error(),-13,-27];var anonymous=function anonymous(){var _visibleRanges$value=visibleRanges.value,negativeRange=_visibleRanges$value.negativeRange,positiveRange=_visibleRanges$value.positiveRange;if(index>=negativeRange[0]&&index<=negativeRange[1]||index>=positiveRange[0]&&index<=positiveRange[1]){if(loop){var inputRange=[-TOTAL_WIDTH,MIN-HALF_WIDTH-startPos-Number.MIN_VALUE,MIN-HALF_WIDTH-startPos,0,MAX+HALF_WIDTH-startPos,MAX+HALF_WIDTH-startPos+Number.MIN_VALUE,TOTAL_WIDTH];var outputRange=[startPos,MAX+HALF_WIDTH-Number.MIN_VALUE,MIN-HALF_WIDTH,startPos,MAX+HALF_WIDTH,MIN-HALF_WIDTH+Number.MIN_VALUE,startPos];return(0,_reactNativeReanimated.interpolate)(handlerOffset.value,inputRange,outputRange,_reactNativeReanimated.Extrapolation.CLAMP);}return handlerOffset.value+size*index;}return Number.MAX_SAFE_INTEGER;};anonymous.__closure={visibleRanges:visibleRanges,index:index,loop:loop,TOTAL_WIDTH:TOTAL_WIDTH,MIN:MIN,HALF_WIDTH:HALF_WIDTH,startPos:startPos,MAX:MAX,interpolate:_reactNativeReanimated.interpolate,handlerOffset:handlerOffset,Extrapolation:_reactNativeReanimated.Extrapolation,size:size};anonymous.__workletHash=16646991936500;anonymous.__initData=_worklet_16646991936500_init_data;anonymous.__stackDetails=_e;return anonymous;}(),[loop,dataLength,viewCount,type,size,visibleRanges,handlerOffset]);return x;};exports.useOffsetX=useOffsetX; //# sourceMappingURL=useOffsetX.js.map