react-native-reanimated-carousel 3.3.2 → 3.5.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.
Files changed (60) hide show
  1. package/README.md +2 -0
  2. package/README.zh-CN.md +2 -0
  3. package/lib/commonjs/Carousel.js +1 -1
  4. package/lib/commonjs/Carousel.js.map +1 -1
  5. package/lib/commonjs/LazyView.js +1 -1
  6. package/lib/commonjs/LazyView.js.map +1 -1
  7. package/lib/commonjs/ScrollViewGesture.js +1 -1
  8. package/lib/commonjs/ScrollViewGesture.js.map +1 -1
  9. package/lib/commonjs/hooks/computeNewIndexWhenDataChanges.js +1 -1
  10. package/lib/commonjs/hooks/computeNewIndexWhenDataChanges.js.map +1 -1
  11. package/lib/commonjs/hooks/index.test.js +1 -1
  12. package/lib/commonjs/hooks/index.test.js.map +1 -1
  13. package/lib/commonjs/hooks/useAutoPlay.js.map +1 -1
  14. package/lib/commonjs/hooks/useCarouselController.js +1 -1
  15. package/lib/commonjs/hooks/useCarouselController.js.map +1 -1
  16. package/lib/commonjs/hooks/useCommonVariables.js +1 -1
  17. package/lib/commonjs/hooks/useCommonVariables.js.map +1 -1
  18. package/lib/commonjs/hooks/useInitProps.js +1 -1
  19. package/lib/commonjs/hooks/useInitProps.js.map +1 -1
  20. package/lib/commonjs/hooks/useOffsetX.js +1 -1
  21. package/lib/commonjs/hooks/useOffsetX.js.map +1 -1
  22. package/lib/commonjs/hooks/useOnProgressChange.js +1 -1
  23. package/lib/commonjs/hooks/useOnProgressChange.js.map +1 -1
  24. package/lib/commonjs/hooks/useVisibleRanges.js +1 -1
  25. package/lib/commonjs/hooks/useVisibleRanges.js.map +1 -1
  26. package/lib/commonjs/index.js +1 -1
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/layouts/BaseLayout.js +1 -1
  29. package/lib/commonjs/layouts/BaseLayout.js.map +1 -1
  30. package/lib/commonjs/layouts/ParallaxLayout.js +1 -1
  31. package/lib/commonjs/layouts/ParallaxLayout.js.map +1 -1
  32. package/lib/commonjs/layouts/normal.js +1 -1
  33. package/lib/commonjs/layouts/normal.js.map +1 -1
  34. package/lib/commonjs/layouts/parallax.js +1 -1
  35. package/lib/commonjs/layouts/parallax.js.map +1 -1
  36. package/lib/commonjs/layouts/stack.js +1 -1
  37. package/lib/commonjs/layouts/stack.js.map +1 -1
  38. package/lib/commonjs/utils/computedWithAutoFillData.js +1 -1
  39. package/lib/commonjs/utils/computedWithAutoFillData.js.map +1 -1
  40. package/lib/commonjs/utils/dealWithAnimation.js +1 -1
  41. package/lib/commonjs/utils/dealWithAnimation.js.map +1 -1
  42. package/lib/commonjs/utils/handlerOffsetDirection.js +1 -1
  43. package/lib/commonjs/utils/handlerOffsetDirection.js.map +1 -1
  44. package/lib/commonjs/utils/log.js +1 -1
  45. package/lib/commonjs/utils/log.js.map +1 -1
  46. package/lib/module/Carousel.js +2 -1
  47. package/lib/module/Carousel.js.map +1 -1
  48. package/lib/module/ScrollViewGesture.js +67 -32
  49. package/lib/module/ScrollViewGesture.js.map +1 -1
  50. package/lib/module/hooks/useAutoPlay.js.map +1 -1
  51. package/lib/module/index.js +1 -0
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/typescript/index.d.ts +2 -1
  54. package/lib/typescript/types.d.ts +6 -1
  55. package/package.json +11 -10
  56. package/src/Carousel.tsx +2 -1
  57. package/src/ScrollViewGesture.tsx +72 -36
  58. package/src/hooks/useAutoPlay.ts +1 -1
  59. package/src/index.tsx +2 -0
  60. package/src/types.ts +6 -0
package/README.md CHANGED
@@ -50,6 +50,8 @@ English | [简体中文](./README.zh-CN.md)
50
50
  | <a href="./exampleExpo/src/pages/cube-3d/index.tsx">cube-3d</a> | <a href="./exampleExpo/src/pages/blur-parallax/index.tsx">blur-parallax</a> | <a href="./exampleExpo/src/pages/curve/index.tsx">curve</a> |
51
51
  | <img src="assets/parallax-layers.gif"/> | <img src="assets/stack-cards.gif"/> | <img src="assets/flow.gif"/> |
52
52
  | <a href="./exampleExpo/src/pages/parallax-layers/index.tsx">parallax-layers</a> | <a href="./exampleExpo/src/stack-cards/index.tsx">stack-cards</a> | <a href="./exampleExpo/src/pages/flow/index.tsx">flow</a> |
53
+ | <img src="assets/blur-rotate.gif"/> | ||
54
+ | <a href="./exampleExpo/src/pages/blur-rotate/index.tsx">blur-rotate</a> | | |
53
55
 
54
56
  ## Table of contents
55
57
 
package/README.zh-CN.md CHANGED
@@ -49,6 +49,8 @@
49
49
  | <a href="./exampleExpo/src/pages/cube-3d/index.tsx">cube-3d</a> | <a href="./exampleExpo/src/pages/blur-parallax/index.tsx">blur-parallax</a> | <a href="./exampleExpo/src/pages/curve/index.tsx">curve</a> |
50
50
  | <img src="assets/parallax-layers.gif"/> | <img src="assets/stack-cards.gif"/> | <img src="assets/flow.gif"/> |
51
51
  | <a href="./exampleExpo/src/pages/parallax-layers/index.tsx">parallax-layers</a> | <a href="./exampleExpo/src/pages/stack-cards/index.tsx">stack-cards</a> | <a href="./exampleExpo/src/pages/flow/index.tsx">flow</a> |
52
+ | <img src="assets/blur-rotate.gif"/> | | |
53
+ | <a href="./exampleExpo/src/pages/blur-rotate/index.tsx">blur-rotate</a> | | |
52
54
 
53
55
  ## 目录
54
56
 
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactNativeReanimated=require("react-native-reanimated");var _useAutoPlay2=require("./hooks/useAutoPlay");var _useCarouselController=require("./hooks/useCarouselController");var _useCommonVariables=require("./hooks/useCommonVariables");var _useInitProps=require("./hooks/useInitProps");var _useLayoutConfig=require("./hooks/useLayoutConfig");var _useOnProgressChange=require("./hooks/useOnProgressChange");var _usePropsErrorBoundary=require("./hooks/usePropsErrorBoundary");var _useVisibleRanges=require("./hooks/useVisibleRanges");var _BaseLayout=require("./layouts/BaseLayout");var _ScrollViewGesture=require("./ScrollViewGesture");var _store=require("./store");var _computedWithAutoFillData=require("./utils/computedWithAutoFillData");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/Carousel.tsx";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var Carousel=_react.default.forwardRef(function(_props,ref){var props=(0,_useInitProps.useInitProps)(_props);var testID=props.testID,loop=props.loop,autoFillData=props.autoFillData,data=props.data,dataLength=props.dataLength,rawData=props.rawData,rawDataLength=props.rawDataLength,mode=props.mode,style=props.style,width=props.width,height=props.height,vertical=props.vertical,autoPlay=props.autoPlay,windowSize=props.windowSize,autoPlayReverse=props.autoPlayReverse,autoPlayInterval=props.autoPlayInterval,scrollAnimationDuration=props.scrollAnimationDuration,withAnimation=props.withAnimation,renderItem=props.renderItem,onScrollEnd=props.onScrollEnd,onSnapToItem=props.onSnapToItem,_onScrollBegin=props.onScrollBegin,onProgressChange=props.onProgressChange,customAnimation=props.customAnimation,defaultIndex=props.defaultIndex;var commonVariables=(0,_useCommonVariables.useCommonVariables)(props);var size=commonVariables.size,handlerOffset=commonVariables.handlerOffset;var offsetX=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){var totalSize=size*dataLength;var x=handlerOffset.value%totalSize;if(!loop)return handlerOffset.value;return isNaN(x)?0:x;};_f._closure={size:size,dataLength:dataLength,handlerOffset:handlerOffset,loop:loop};_f.asString="function _f(){const{size,dataLength,handlerOffset,loop}=jsThis._closure;{const totalSize=size*dataLength;const x=handlerOffset.value%totalSize;if(!loop)return handlerOffset.value;return isNaN(x)?0:x;}}";_f.__workletHash=9793733890185;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/Carousel.tsx (59:36)";return _f;}(),[loop,size,dataLength]);(0,_usePropsErrorBoundary.usePropsErrorBoundary)(_objectSpread(_objectSpread({},props),{},{dataLength:dataLength}));(0,_useOnProgressChange.useOnProgressChange)({autoFillData:autoFillData,loop:loop,size:size,offsetX:offsetX,rawDataLength:rawDataLength,onProgressChange:onProgressChange});var carouselController=(0,_useCarouselController.useCarouselController)({loop:loop,size:size,dataLength:dataLength,autoFillData:autoFillData,handlerOffset:handlerOffset,withAnimation:withAnimation,defaultIndex:defaultIndex,onScrollEnd:function onScrollEnd(){return(0,_reactNativeReanimated.runOnJS)(_onScrollEnd)();},onScrollBegin:function onScrollBegin(){return!!_onScrollBegin&&(0,_reactNativeReanimated.runOnJS)(_onScrollBegin)();},duration:scrollAnimationDuration});var next=carouselController.next,prev=carouselController.prev,scrollTo=carouselController.scrollTo,getSharedIndex=carouselController.getSharedIndex,getCurrentIndex=carouselController.getCurrentIndex;var _useAutoPlay=(0,_useAutoPlay2.useAutoPlay)({autoPlay:autoPlay,autoPlayInterval:autoPlayInterval,autoPlayReverse:autoPlayReverse,carouselController:carouselController}),startAutoPlay=_useAutoPlay.start,pauseAutoPlay=_useAutoPlay.pause;var _onScrollEnd=_react.default.useCallback(function(){var _sharedIndex=Math.round(getSharedIndex());var realIndex=(0,_computedWithAutoFillData.computedRealIndexWithAutoFillData)({index:_sharedIndex,dataLength:rawDataLength,loop:loop,autoFillData:autoFillData});if(onSnapToItem)onSnapToItem(realIndex);if(onScrollEnd)onScrollEnd(realIndex);},[loop,autoFillData,rawDataLength,getSharedIndex,onSnapToItem,onScrollEnd]);var scrollViewGestureOnScrollBegin=_react.default.useCallback(function(){pauseAutoPlay();_onScrollBegin==null?void 0:_onScrollBegin();},[_onScrollBegin,pauseAutoPlay]);var scrollViewGestureOnScrollEnd=_react.default.useCallback(function(){startAutoPlay();_onScrollEnd();},[_onScrollEnd,startAutoPlay]);var scrollViewGestureOnTouchBegin=_react.default.useCallback(pauseAutoPlay,[pauseAutoPlay]);var scrollViewGestureOnTouchEnd=_react.default.useCallback(startAutoPlay,[startAutoPlay]);_react.default.useImperativeHandle(ref,function(){return{next:next,prev:prev,getCurrentIndex:getCurrentIndex,scrollTo:scrollTo};},[getCurrentIndex,next,prev,scrollTo]);var visibleRanges=(0,_useVisibleRanges.useVisibleRanges)({total:dataLength,viewSize:size,translation:handlerOffset,windowSize:windowSize});var layoutConfig=(0,_useLayoutConfig.useLayoutConfig)(_objectSpread(_objectSpread({},props),{},{size:size}));var renderLayout=_react.default.useCallback(function(item,i){var realIndex=(0,_computedWithAutoFillData.computedRealIndexWithAutoFillData)({index:i,dataLength:rawDataLength,loop:loop,autoFillData:autoFillData});return _react.default.createElement(_BaseLayout.BaseLayout,{key:i,index:i,handlerOffset:offsetX,visibleRanges:visibleRanges,animationStyle:customAnimation||layoutConfig,__self:_this,__source:{fileName:_jsxFileName,lineNumber:174,columnNumber:11}},function(_ref){var animationValue=_ref.animationValue;return renderItem({item:item,index:realIndex,animationValue:animationValue});});},[loop,rawData,offsetX,visibleRanges,autoFillData,renderItem,layoutConfig,customAnimation]);return _react.default.createElement(_store.CTX.Provider,{value:{props:props,common:commonVariables},__self:_this,__source:{fileName:_jsxFileName,lineNumber:204,columnNumber:7}},_react.default.createElement(_ScrollViewGesture.ScrollViewGesture,{key:mode,size:size,translation:handlerOffset,style:[styles.container,{width:width||"100%",height:height||"100%"},style,vertical?styles.itemsVertical:styles.itemsHorizontal],testID:testID,onScrollBegin:scrollViewGestureOnScrollBegin,onScrollEnd:scrollViewGestureOnScrollEnd,onTouchBegin:scrollViewGestureOnTouchBegin,onTouchEnd:scrollViewGestureOnTouchEnd,__self:_this,__source:{fileName:_jsxFileName,lineNumber:205,columnNumber:9}},data.map(renderLayout)));});var _default=Carousel;exports.default=_default;var styles=_reactNative.StyleSheet.create({container:{overflow:"hidden"},itemsHorizontal:{flexDirection:"row"},itemsVertical:{flexDirection:"column"}});
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactNativeGestureHandler=require("react-native-gesture-handler");var _reactNativeReanimated=require("react-native-reanimated");var _useAutoPlay2=require("./hooks/useAutoPlay");var _useCarouselController=require("./hooks/useCarouselController");var _useCommonVariables=require("./hooks/useCommonVariables");var _useInitProps=require("./hooks/useInitProps");var _useLayoutConfig=require("./hooks/useLayoutConfig");var _useOnProgressChange=require("./hooks/useOnProgressChange");var _usePropsErrorBoundary=require("./hooks/usePropsErrorBoundary");var _useVisibleRanges=require("./hooks/useVisibleRanges");var _BaseLayout=require("./layouts/BaseLayout");var _ScrollViewGesture=require("./ScrollViewGesture");var _store=require("./store");var _computedWithAutoFillData=require("./utils/computedWithAutoFillData");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/Carousel.tsx";var _worklet_10125235996566_init_data={code:"function anonymous() {\n const {\n size,\n dataLength,\n handlerOffset,\n loop\n } = this._closure;\n const totalSize = size * dataLength;\n const x = handlerOffset.value % totalSize;\n if (!loop) return handlerOffset.value;\n return isNaN(x) ? 0 : x;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/Carousel.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"size\",\"dataLength\",\"handlerOffset\",\"loop\",\"_closure\",\"totalSize\",\"x\",\"value\",\"isNaN\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/Carousel.tsx\"],\"mappings\":\"AA2DoC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC;EAAA,SAAAC,QAAA;EACpC,MAAMC,SAAS,GAAGL,IAAI,GAAGC,UAAU;EACnC,MAAMK,CAAC,GAAGJ,aAAa,CAACK,KAAK,GAAGF,SAAS;EAEzC,IAAI,CAACF,IAAI,EACP,OAAOD,aAAa,CAACK,KAAK;EAE5B,OAAOC,KAAK,CAACF,CAAC,CAAC,GAAG,CAAC,GAAGA,CAAC;AACzB\"}"};var Carousel=_react.default.forwardRef(function(_props,ref){var props=(0,_useInitProps.useInitProps)(_props);var testID=props.testID,loop=props.loop,autoFillData=props.autoFillData,data=props.data,dataLength=props.dataLength,rawData=props.rawData,rawDataLength=props.rawDataLength,mode=props.mode,style=props.style,width=props.width,height=props.height,vertical=props.vertical,autoPlay=props.autoPlay,windowSize=props.windowSize,autoPlayReverse=props.autoPlayReverse,autoPlayInterval=props.autoPlayInterval,scrollAnimationDuration=props.scrollAnimationDuration,withAnimation=props.withAnimation,renderItem=props.renderItem,onScrollEnd=props.onScrollEnd,onSnapToItem=props.onSnapToItem,_onScrollBegin=props.onScrollBegin,onProgressChange=props.onProgressChange,customAnimation=props.customAnimation,defaultIndex=props.defaultIndex;var commonVariables=(0,_useCommonVariables.useCommonVariables)(props);var size=commonVariables.size,handlerOffset=commonVariables.handlerOffset;var offsetX=(0,_reactNativeReanimated.useDerivedValue)(function(){var _e=[new global.Error(),-5,-27];var _f=function _f(){var totalSize=size*dataLength;var x=handlerOffset.value%totalSize;if(!loop)return handlerOffset.value;return isNaN(x)?0:x;};_f._closure={size:size,dataLength:dataLength,handlerOffset:handlerOffset,loop:loop};_f.__initData=_worklet_10125235996566_init_data;_f.__workletHash=10125235996566;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[loop,size,dataLength]);(0,_usePropsErrorBoundary.usePropsErrorBoundary)(Object.assign({},props,{dataLength:dataLength}));(0,_useOnProgressChange.useOnProgressChange)({autoFillData:autoFillData,loop:loop,size:size,offsetX:offsetX,rawDataLength:rawDataLength,onProgressChange:onProgressChange});var carouselController=(0,_useCarouselController.useCarouselController)({loop:loop,size:size,dataLength:dataLength,autoFillData:autoFillData,handlerOffset:handlerOffset,withAnimation:withAnimation,defaultIndex:defaultIndex,onScrollEnd:function onScrollEnd(){return(0,_reactNativeReanimated.runOnJS)(_onScrollEnd)();},onScrollBegin:function onScrollBegin(){return!!_onScrollBegin&&(0,_reactNativeReanimated.runOnJS)(_onScrollBegin)();},duration:scrollAnimationDuration});var next=carouselController.next,prev=carouselController.prev,scrollTo=carouselController.scrollTo,getSharedIndex=carouselController.getSharedIndex,getCurrentIndex=carouselController.getCurrentIndex;var _useAutoPlay=(0,_useAutoPlay2.useAutoPlay)({autoPlay:autoPlay,autoPlayInterval:autoPlayInterval,autoPlayReverse:autoPlayReverse,carouselController:carouselController}),startAutoPlay=_useAutoPlay.start,pauseAutoPlay=_useAutoPlay.pause;var _onScrollEnd=_react.default.useCallback(function(){var _sharedIndex=Math.round(getSharedIndex());var realIndex=(0,_computedWithAutoFillData.computedRealIndexWithAutoFillData)({index:_sharedIndex,dataLength:rawDataLength,loop:loop,autoFillData:autoFillData});if(onSnapToItem)onSnapToItem(realIndex);if(onScrollEnd)onScrollEnd(realIndex);},[loop,autoFillData,rawDataLength,getSharedIndex,onSnapToItem,onScrollEnd]);var scrollViewGestureOnScrollBegin=_react.default.useCallback(function(){pauseAutoPlay();_onScrollBegin==null?void 0:_onScrollBegin();},[_onScrollBegin,pauseAutoPlay]);var scrollViewGestureOnScrollEnd=_react.default.useCallback(function(){startAutoPlay();_onScrollEnd();},[_onScrollEnd,startAutoPlay]);var scrollViewGestureOnTouchBegin=_react.default.useCallback(pauseAutoPlay,[pauseAutoPlay]);var scrollViewGestureOnTouchEnd=_react.default.useCallback(startAutoPlay,[startAutoPlay]);_react.default.useImperativeHandle(ref,function(){return{next:next,prev:prev,getCurrentIndex:getCurrentIndex,scrollTo:scrollTo};},[getCurrentIndex,next,prev,scrollTo]);var visibleRanges=(0,_useVisibleRanges.useVisibleRanges)({total:dataLength,viewSize:size,translation:handlerOffset,windowSize:windowSize});var layoutConfig=(0,_useLayoutConfig.useLayoutConfig)(Object.assign({},props,{size:size}));var renderLayout=_react.default.useCallback(function(item,i){var realIndex=(0,_computedWithAutoFillData.computedRealIndexWithAutoFillData)({index:i,dataLength:rawDataLength,loop:loop,autoFillData:autoFillData});return(0,_jsxRuntime.jsx)(_BaseLayout.BaseLayout,{index:i,handlerOffset:offsetX,visibleRanges:visibleRanges,animationStyle:customAnimation||layoutConfig,children:function children(_ref){var animationValue=_ref.animationValue;return renderItem({item:item,index:realIndex,animationValue:animationValue});}},i);},[loop,rawData,offsetX,visibleRanges,autoFillData,renderItem,layoutConfig,customAnimation]);return(0,_jsxRuntime.jsx)(_store.CTX.Provider,{value:{props:props,common:commonVariables},children:(0,_jsxRuntime.jsx)(_ScrollViewGesture.ScrollViewGesture,{size:size,translation:handlerOffset,style:[styles.container,{width:width||"100%",height:height||"100%"},style,vertical?styles.itemsVertical:styles.itemsHorizontal],testID:testID,onScrollBegin:scrollViewGestureOnScrollBegin,onScrollEnd:scrollViewGestureOnScrollEnd,onTouchBegin:scrollViewGestureOnTouchBegin,onTouchEnd:scrollViewGestureOnTouchEnd,children:data.map(renderLayout)},mode)});});var _default=(0,_reactNativeGestureHandler.gestureHandlerRootHOC)(Carousel);exports.default=_default;var styles=_reactNative.StyleSheet.create({container:{overflow:"hidden"},itemsHorizontal:{flexDirection:"row"},itemsVertical:{flexDirection:"column"}});
2
2
  //# sourceMappingURL=Carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Carousel.tsx"],"names":["Carousel","React","forwardRef","_props","ref","props","testID","loop","autoFillData","data","dataLength","rawData","rawDataLength","mode","style","width","height","vertical","autoPlay","windowSize","autoPlayReverse","autoPlayInterval","scrollAnimationDuration","withAnimation","renderItem","onScrollEnd","onSnapToItem","onScrollBegin","onProgressChange","customAnimation","defaultIndex","commonVariables","size","handlerOffset","offsetX","totalSize","x","value","isNaN","carouselController","_onScrollEnd","duration","next","prev","scrollTo","getSharedIndex","getCurrentIndex","startAutoPlay","start","pauseAutoPlay","pause","useCallback","_sharedIndex","Math","round","realIndex","index","scrollViewGestureOnScrollBegin","scrollViewGestureOnScrollEnd","scrollViewGestureOnTouchBegin","scrollViewGestureOnTouchEnd","useImperativeHandle","visibleRanges","total","viewSize","translation","layoutConfig","renderLayout","item","i","animationValue","common","styles","container","itemsVertical","itemsHorizontal","map","StyleSheet","create","overflow","flexDirection"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport React from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport { runOnJS, useDerivedValue } from \"react-native-reanimated\";\n\nimport { useAutoPlay } from \"./hooks/useAutoPlay\";\nimport { useCarouselController } from \"./hooks/useCarouselController\";\nimport { useCommonVariables } from \"./hooks/useCommonVariables\";\nimport { useInitProps } from \"./hooks/useInitProps\";\nimport { useLayoutConfig } from \"./hooks/useLayoutConfig\";\nimport { useOnProgressChange } from \"./hooks/useOnProgressChange\";\nimport { usePropsErrorBoundary } from \"./hooks/usePropsErrorBoundary\";\nimport { useVisibleRanges } from \"./hooks/useVisibleRanges\";\nimport { BaseLayout } from \"./layouts/BaseLayout\";\nimport { ScrollViewGesture } from \"./ScrollViewGesture\";\nimport { CTX } from \"./store\";\nimport type { ICarouselInstance, TCarouselProps } from \"./types\";\nimport { computedRealIndexWithAutoFillData } from \"./utils/computedWithAutoFillData\";\n\nconst Carousel = React.forwardRef<ICarouselInstance, TCarouselProps<any>>(\n (_props, ref) => {\n const props = useInitProps(_props);\n\n const {\n testID,\n loop,\n autoFillData,\n // Fill data with autoFillData\n data,\n // Length of fill data\n dataLength,\n // Raw data that has not been processed\n rawData,\n // Length of raw data\n rawDataLength,\n mode,\n style,\n width,\n height,\n vertical,\n autoPlay,\n windowSize,\n autoPlayReverse,\n autoPlayInterval,\n scrollAnimationDuration,\n withAnimation,\n renderItem,\n onScrollEnd,\n onSnapToItem,\n onScrollBegin,\n onProgressChange,\n customAnimation,\n defaultIndex,\n } = props;\n\n const commonVariables = useCommonVariables(props);\n const { size, handlerOffset } = commonVariables;\n\n const offsetX = useDerivedValue(() => {\n const totalSize = size * dataLength;\n const x = handlerOffset.value % totalSize;\n\n if (!loop)\n return handlerOffset.value;\n\n return isNaN(x) ? 0 : x;\n }, [loop, size, dataLength]);\n\n usePropsErrorBoundary({ ...props, dataLength });\n useOnProgressChange({\n autoFillData,\n loop,\n size,\n offsetX,\n rawDataLength,\n onProgressChange,\n });\n\n const carouselController = useCarouselController({\n loop,\n size,\n dataLength,\n autoFillData,\n handlerOffset,\n withAnimation,\n defaultIndex,\n onScrollEnd: () => runOnJS(_onScrollEnd)(),\n onScrollBegin: () => !!onScrollBegin && runOnJS(onScrollBegin)(),\n duration: scrollAnimationDuration,\n });\n\n const { next, prev, scrollTo, getSharedIndex, getCurrentIndex }\n = carouselController;\n\n const { start: startAutoPlay, pause: pauseAutoPlay } = useAutoPlay({\n autoPlay,\n autoPlayInterval,\n autoPlayReverse,\n carouselController,\n });\n\n const _onScrollEnd = React.useCallback(() => {\n const _sharedIndex = Math.round(getSharedIndex());\n\n const realIndex = computedRealIndexWithAutoFillData({\n index: _sharedIndex,\n dataLength: rawDataLength,\n loop,\n autoFillData,\n });\n\n if (onSnapToItem)\n onSnapToItem(realIndex);\n\n if (onScrollEnd)\n onScrollEnd(realIndex);\n }, [\n loop,\n autoFillData,\n rawDataLength,\n getSharedIndex,\n onSnapToItem,\n onScrollEnd,\n ]);\n\n const scrollViewGestureOnScrollBegin = React.useCallback(() => {\n pauseAutoPlay();\n onScrollBegin?.();\n }, [onScrollBegin, pauseAutoPlay]);\n\n const scrollViewGestureOnScrollEnd = React.useCallback(() => {\n startAutoPlay();\n _onScrollEnd();\n }, [_onScrollEnd, startAutoPlay]);\n\n const scrollViewGestureOnTouchBegin = React.useCallback(pauseAutoPlay, [\n pauseAutoPlay,\n ]);\n\n const scrollViewGestureOnTouchEnd = React.useCallback(startAutoPlay, [\n startAutoPlay,\n ]);\n\n React.useImperativeHandle(\n ref,\n () => ({\n next,\n prev,\n getCurrentIndex,\n scrollTo,\n }),\n [getCurrentIndex, next, prev, scrollTo],\n );\n\n const visibleRanges = useVisibleRanges({\n total: dataLength,\n viewSize: size,\n translation: handlerOffset,\n windowSize,\n });\n\n const layoutConfig = useLayoutConfig({ ...props, size });\n\n const renderLayout = React.useCallback(\n (item: any, i: number) => {\n const realIndex = computedRealIndexWithAutoFillData({\n index: i,\n dataLength: rawDataLength,\n loop,\n autoFillData,\n });\n\n return (\n <BaseLayout\n key={i}\n index={i}\n handlerOffset={offsetX}\n visibleRanges={visibleRanges}\n animationStyle={customAnimation || layoutConfig}\n >\n {({ animationValue }) =>\n renderItem({\n item,\n index: realIndex,\n animationValue,\n })\n }\n </BaseLayout>\n );\n },\n [\n loop,\n rawData,\n offsetX,\n visibleRanges,\n autoFillData,\n renderItem,\n layoutConfig,\n customAnimation,\n ],\n );\n\n return (\n <CTX.Provider value={{ props, common: commonVariables }}>\n <ScrollViewGesture\n key={mode}\n size={size}\n translation={handlerOffset}\n style={[\n styles.container,\n {\n width: width || \"100%\",\n height: height || \"100%\",\n },\n style,\n vertical\n ? styles.itemsVertical\n : styles.itemsHorizontal,\n ]}\n testID={testID}\n onScrollBegin={scrollViewGestureOnScrollBegin}\n onScrollEnd={scrollViewGestureOnScrollEnd}\n onTouchBegin={scrollViewGestureOnTouchBegin}\n onTouchEnd={scrollViewGestureOnTouchEnd}\n >\n {data.map(renderLayout)}\n </ScrollViewGesture>\n </CTX.Provider>\n );\n },\n);\n\nexport default Carousel as <T extends any>(\n props: React.PropsWithChildren<TCarouselProps<T>>\n) => React.ReactElement;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n },\n itemsHorizontal: {\n flexDirection: \"row\",\n },\n itemsVertical: {\n flexDirection: \"column\",\n },\n});\n"]}
1
+ {"version":3,"sources":["Carousel.tsx"],"names":["Carousel","React","forwardRef","_props","ref","props","testID","loop","autoFillData","data","dataLength","rawData","rawDataLength","mode","style","width","height","vertical","autoPlay","windowSize","autoPlayReverse","autoPlayInterval","scrollAnimationDuration","withAnimation","renderItem","onScrollEnd","onSnapToItem","onScrollBegin","onProgressChange","customAnimation","defaultIndex","commonVariables","size","handlerOffset","offsetX","totalSize","x","value","isNaN","carouselController","_onScrollEnd","duration","next","prev","scrollTo","getSharedIndex","getCurrentIndex","startAutoPlay","start","pauseAutoPlay","pause","useCallback","_sharedIndex","Math","round","realIndex","index","scrollViewGestureOnScrollBegin","scrollViewGestureOnScrollEnd","scrollViewGestureOnTouchBegin","scrollViewGestureOnTouchEnd","useImperativeHandle","visibleRanges","total","viewSize","translation","layoutConfig","renderLayout","item","i","animationValue","common","styles","container","itemsVertical","itemsHorizontal","map","StyleSheet","create","overflow","flexDirection"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport React from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport { gestureHandlerRootHOC } from \"react-native-gesture-handler\";\nimport { runOnJS, useDerivedValue } from \"react-native-reanimated\";\n\nimport { useAutoPlay } from \"./hooks/useAutoPlay\";\nimport { useCarouselController } from \"./hooks/useCarouselController\";\nimport { useCommonVariables } from \"./hooks/useCommonVariables\";\nimport { useInitProps } from \"./hooks/useInitProps\";\nimport { useLayoutConfig } from \"./hooks/useLayoutConfig\";\nimport { useOnProgressChange } from \"./hooks/useOnProgressChange\";\nimport { usePropsErrorBoundary } from \"./hooks/usePropsErrorBoundary\";\nimport { useVisibleRanges } from \"./hooks/useVisibleRanges\";\nimport { BaseLayout } from \"./layouts/BaseLayout\";\nimport { ScrollViewGesture } from \"./ScrollViewGesture\";\nimport { CTX } from \"./store\";\nimport type { ICarouselInstance, TCarouselProps } from \"./types\";\nimport { computedRealIndexWithAutoFillData } from \"./utils/computedWithAutoFillData\";\n\nconst Carousel = React.forwardRef<ICarouselInstance, TCarouselProps<any>>(\n (_props, ref) => {\n const props = useInitProps(_props);\n\n const {\n testID,\n loop,\n autoFillData,\n // Fill data with autoFillData\n data,\n // Length of fill data\n dataLength,\n // Raw data that has not been processed\n rawData,\n // Length of raw data\n rawDataLength,\n mode,\n style,\n width,\n height,\n vertical,\n autoPlay,\n windowSize,\n autoPlayReverse,\n autoPlayInterval,\n scrollAnimationDuration,\n withAnimation,\n renderItem,\n onScrollEnd,\n onSnapToItem,\n onScrollBegin,\n onProgressChange,\n customAnimation,\n defaultIndex,\n } = props;\n\n const commonVariables = useCommonVariables(props);\n const { size, handlerOffset } = commonVariables;\n\n const offsetX = useDerivedValue(() => {\n const totalSize = size * dataLength;\n const x = handlerOffset.value % totalSize;\n\n if (!loop)\n return handlerOffset.value;\n\n return isNaN(x) ? 0 : x;\n }, [loop, size, dataLength]);\n\n usePropsErrorBoundary({ ...props, dataLength });\n useOnProgressChange({\n autoFillData,\n loop,\n size,\n offsetX,\n rawDataLength,\n onProgressChange,\n });\n\n const carouselController = useCarouselController({\n loop,\n size,\n dataLength,\n autoFillData,\n handlerOffset,\n withAnimation,\n defaultIndex,\n onScrollEnd: () => runOnJS(_onScrollEnd)(),\n onScrollBegin: () => !!onScrollBegin && runOnJS(onScrollBegin)(),\n duration: scrollAnimationDuration,\n });\n\n const { next, prev, scrollTo, getSharedIndex, getCurrentIndex }\n = carouselController;\n\n const { start: startAutoPlay, pause: pauseAutoPlay } = useAutoPlay({\n autoPlay,\n autoPlayInterval,\n autoPlayReverse,\n carouselController,\n });\n\n const _onScrollEnd = React.useCallback(() => {\n const _sharedIndex = Math.round(getSharedIndex());\n\n const realIndex = computedRealIndexWithAutoFillData({\n index: _sharedIndex,\n dataLength: rawDataLength,\n loop,\n autoFillData,\n });\n\n if (onSnapToItem)\n onSnapToItem(realIndex);\n\n if (onScrollEnd)\n onScrollEnd(realIndex);\n }, [\n loop,\n autoFillData,\n rawDataLength,\n getSharedIndex,\n onSnapToItem,\n onScrollEnd,\n ]);\n\n const scrollViewGestureOnScrollBegin = React.useCallback(() => {\n pauseAutoPlay();\n onScrollBegin?.();\n }, [onScrollBegin, pauseAutoPlay]);\n\n const scrollViewGestureOnScrollEnd = React.useCallback(() => {\n startAutoPlay();\n _onScrollEnd();\n }, [_onScrollEnd, startAutoPlay]);\n\n const scrollViewGestureOnTouchBegin = React.useCallback(pauseAutoPlay, [\n pauseAutoPlay,\n ]);\n\n const scrollViewGestureOnTouchEnd = React.useCallback(startAutoPlay, [\n startAutoPlay,\n ]);\n\n React.useImperativeHandle(\n ref,\n () => ({\n next,\n prev,\n getCurrentIndex,\n scrollTo,\n }),\n [getCurrentIndex, next, prev, scrollTo],\n );\n\n const visibleRanges = useVisibleRanges({\n total: dataLength,\n viewSize: size,\n translation: handlerOffset,\n windowSize,\n });\n\n const layoutConfig = useLayoutConfig({ ...props, size });\n\n const renderLayout = React.useCallback(\n (item: any, i: number) => {\n const realIndex = computedRealIndexWithAutoFillData({\n index: i,\n dataLength: rawDataLength,\n loop,\n autoFillData,\n });\n\n return (\n <BaseLayout\n key={i}\n index={i}\n handlerOffset={offsetX}\n visibleRanges={visibleRanges}\n animationStyle={customAnimation || layoutConfig}\n >\n {({ animationValue }) =>\n renderItem({\n item,\n index: realIndex,\n animationValue,\n })\n }\n </BaseLayout>\n );\n },\n [\n loop,\n rawData,\n offsetX,\n visibleRanges,\n autoFillData,\n renderItem,\n layoutConfig,\n customAnimation,\n ],\n );\n\n return (\n <CTX.Provider value={{ props, common: commonVariables }}>\n <ScrollViewGesture\n key={mode}\n size={size}\n translation={handlerOffset}\n style={[\n styles.container,\n {\n width: width || \"100%\",\n height: height || \"100%\",\n },\n style,\n vertical\n ? styles.itemsVertical\n : styles.itemsHorizontal,\n ]}\n testID={testID}\n onScrollBegin={scrollViewGestureOnScrollBegin}\n onScrollEnd={scrollViewGestureOnScrollEnd}\n onTouchBegin={scrollViewGestureOnTouchBegin}\n onTouchEnd={scrollViewGestureOnTouchEnd}\n >\n {data.map(renderLayout)}\n </ScrollViewGesture>\n </CTX.Provider>\n );\n },\n);\n\nexport default gestureHandlerRootHOC(Carousel as any) as any as <T extends any>(\n props: React.PropsWithChildren<TCarouselProps<T>>\n) => React.ReactElement;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n },\n itemsHorizontal: {\n flexDirection: \"row\",\n },\n itemsVertical: {\n flexDirection: \"column\",\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.LazyView=void 0;var _react=_interopRequireDefault(require("react"));var LazyView=function LazyView(props){var shouldUpdate=props.shouldUpdate,children=props.children;if(!shouldUpdate)return _react.default.createElement(_react.default.Fragment,null);return _react.default.createElement(_react.default.Fragment,null,children);};exports.LazyView=LazyView;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.LazyView=void 0;var _react=_interopRequireDefault(require("react"));var _jsxRuntime=require("react/jsx-runtime");var LazyView=function LazyView(props){var shouldUpdate=props.shouldUpdate,children=props.children;if(!shouldUpdate)return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{});return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:children});};exports.LazyView=LazyView;
2
2
  //# sourceMappingURL=LazyView.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["LazyView.tsx"],"names":["LazyView","props","shouldUpdate","children"],"mappings":"oKAAA,oDAMO,GAAMA,CAAAA,QAAyB,CAAG,QAA5BA,CAAAA,QAA4B,CAACC,KAAD,CAAW,CAClD,GAAQC,CAAAA,YAAR,CAAmCD,KAAnC,CAAQC,YAAR,CAAsBC,QAAtB,CAAmCF,KAAnC,CAAsBE,QAAtB,CAEA,GAAI,CAACD,YAAL,CACE,MAAO,2DAAP,CAEF,MAAO,2DAAGC,QAAH,CAAP,CACD,CAPM,C","sourcesContent":["import React from \"react\";\n\ninterface Props {\n shouldUpdate: boolean\n}\n\nexport const LazyView: React.FC<Props> = (props) => {\n const { shouldUpdate, children } = props;\n\n if (!shouldUpdate)\n return <></>;\n\n return <>{children}</>;\n};\n"]}
1
+ {"version":3,"sources":["LazyView.tsx"],"names":["LazyView","props","shouldUpdate","children"],"mappings":"oKAAA,oD,6CAMO,GAAMA,CAAAA,QAAyB,CAAG,QAA5BA,CAAAA,QAA4B,CAACC,KAAD,CAAW,CAClD,GAAQC,CAAAA,YAAR,CAAmCD,KAAnC,CAAQC,YAAR,CAAsBC,QAAtB,CAAmCF,KAAnC,CAAsBE,QAAtB,CAEA,GAAI,CAACD,YAAL,CACE,MAAO,4CAAP,CAEF,MAAO,mDAAGC,QAAH,EAAP,CACD,CAPM,C","sourcesContent":["import React from \"react\";\n\ninterface Props {\n shouldUpdate: boolean\n}\n\nexport const LazyView: React.FC<Props> = (props) => {\n const { shouldUpdate, children } = props;\n\n if (!shouldUpdate)\n return <></>;\n\n return <>{children}</>;\n};\n"]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScrollViewGesture=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react=_interopRequireDefault(require("react"));var _reactNativeGestureHandler=require("react-native-gesture-handler");var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _constants=require("./constants");var _store=require("./store");var _dealWithAnimation=require("./utils/dealWithAnimation");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var IScrollViewGesture=function IScrollViewGesture(props){var _React$useContext=_react.default.useContext(_store.CTX),_React$useContext$pro=_React$useContext.props,vertical=_React$useContext$pro.vertical,pagingEnabled=_React$useContext$pro.pagingEnabled,snapEnabled=_React$useContext$pro.snapEnabled,panGestureHandlerProps=_React$useContext$pro.panGestureHandlerProps,infinite=_React$useContext$pro.loop,scrollAnimationDuration=_React$useContext$pro.scrollAnimationDuration,withAnimation=_React$useContext$pro.withAnimation,enabled=_React$useContext$pro.enabled,dataLength=_React$useContext$pro.dataLength,overscrollEnabled=_React$useContext$pro.overscrollEnabled;var size=props.size,translation=props.translation,testID=props.testID,_props$style=props.style,style=_props$style===void 0?{}:_props$style,onScrollBegin=props.onScrollBegin,onScrollEnd=props.onScrollEnd,onTouchBegin=props.onTouchBegin,onTouchEnd=props.onTouchEnd;var maxPage=dataLength;var isHorizontal=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){return!vertical;};_f._closure={vertical:vertical};_f.asString="function _f(){const{vertical}=jsThis._closure;{return!vertical;}}";_f.__workletHash=14495821007639;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (70:39)";return _f;}(),[vertical]);var touching=(0,_reactNativeReanimated.useSharedValue)(false);var scrollEndTranslation=(0,_reactNativeReanimated.useSharedValue)(0);var scrollEndVelocity=(0,_reactNativeReanimated.useSharedValue)(0);var containerRef=(0,_reactNativeReanimated.useAnimatedRef)();var getLimit=_react.default.useCallback(function(){var _f=function _f(){if(!infinite&&!overscrollEnabled){var _measure=(0,_reactNativeReanimated.measure)(containerRef),_measure$width=_measure.width,containerWidth=_measure$width===void 0?0:_measure$width;if(dataLength*size<containerWidth)return 0;return dataLength*size-containerWidth;}return dataLength*size;};_f._closure={infinite:infinite,overscrollEnabled:overscrollEnabled,measure:_reactNativeReanimated.measure,containerRef:containerRef,dataLength:dataLength,size:size};_f.asString="function _f(){const{infinite,overscrollEnabled,measure,containerRef,dataLength,size}=jsThis._closure;{if(!infinite&&!overscrollEnabled){const{width:containerWidth=0}=measure(containerRef);if(dataLength*size<containerWidth)return 0;return dataLength*size-containerWidth;}return dataLength*size;}}";_f.__workletHash=11841077662563;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (77:37)";return _f;}(),[infinite,size,dataLength,overscrollEnabled]);var withSpring=_react.default.useCallback(function(){var _f=function _f(toValue,onFinished){var defaultWithAnimation={type:"timing",config:{duration:scrollAnimationDuration+100,easing:_constants.Easing.easeOutQuart}};return(0,_dealWithAnimation.dealWithAnimation)(withAnimation!=null?withAnimation:defaultWithAnimation)(toValue,function(){var _f=function _f(isFinished){if(isFinished)onFinished&&(0,_reactNativeReanimated.runOnJS)(onFinished)();};_f._closure={onFinished:onFinished,runOnJS:_reactNativeReanimated.runOnJS};_f.asString="function _f(isFinished){const{onFinished,runOnJS}=jsThis._closure;{if(isFinished)onFinished&&runOnJS(onFinished)();}}";_f.__workletHash=3881957308013;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (107:8)";return _f;}());};_f._closure={scrollAnimationDuration:scrollAnimationDuration,Easing:{easeOutQuart:_constants.Easing.easeOutQuart},dealWithAnimation:_dealWithAnimation.dealWithAnimation,withAnimation:withAnimation,runOnJS:_reactNativeReanimated.runOnJS};_f.asString="function _f(toValue,onFinished){const{scrollAnimationDuration,Easing,dealWithAnimation,withAnimation,runOnJS}=jsThis._closure;{var _withAnimation;const defaultWithAnimation={type:\"timing\",config:{duration:scrollAnimationDuration+100,easing:Easing.easeOutQuart}};return dealWithAnimation((_withAnimation=withAnimation)!==null&&_withAnimation!==void 0?_withAnimation:defaultWithAnimation)(toValue,function(isFinished){\"worklet\";if(isFinished)onFinished&&runOnJS(onFinished)();});}}";_f.__workletHash=4492029393801;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (95:4)";return _f;}(),[scrollAnimationDuration,withAnimation]);var endWithSpring=_react.default.useCallback(function(){var _f=function _f(onFinished){var origin=translation.value;var velocity=scrollEndVelocity.value;var finalTranslation=(0,_reactNativeReanimated.withDecay)({velocity:velocity,deceleration:0.999});if(pagingEnabled){var offset=-(scrollEndTranslation.value>=0?1:-1);var computed=offset<0?Math.ceil:Math.floor;var page=computed(-translation.value/size);if(infinite){var finalPage=page+offset;finalTranslation=withSpring(withProcessTranslation(-finalPage*size),onFinished);}else{var _finalPage=Math.min(maxPage-1,Math.max(0,page+offset));finalTranslation=withSpring(withProcessTranslation(-_finalPage*size),onFinished);}}if(!pagingEnabled&&snapEnabled){var nextPage=Math.round((origin+velocity*0.4)/size)*size;finalTranslation=withSpring(withProcessTranslation(nextPage),onFinished);}translation.value=finalTranslation;function withProcessTranslation(translation){if(!infinite&&!overscrollEnabled){var limit=getLimit();var sign=Math.sign(translation);return sign*Math.max(0,Math.min(limit,Math.abs(translation)));}return translation;}};_f._closure={translation:translation,scrollEndVelocity:scrollEndVelocity,withDecay:_reactNativeReanimated.withDecay,pagingEnabled:pagingEnabled,scrollEndTranslation:scrollEndTranslation,size:size,infinite:infinite,withSpring:withSpring,maxPage:maxPage,snapEnabled:snapEnabled,overscrollEnabled:overscrollEnabled,getLimit:getLimit};_f.asString="function _f(onFinished){const{translation,scrollEndVelocity,withDecay,pagingEnabled,scrollEndTranslation,size,infinite,withSpring,maxPage,snapEnabled,overscrollEnabled,getLimit}=jsThis._closure;{const origin=translation.value;const velocity=scrollEndVelocity.value;let finalTranslation=withDecay({velocity:velocity,deceleration:0.999});if(pagingEnabled){const offset=-(scrollEndTranslation.value>=0?1:-1);const computed=offset<0?Math.ceil:Math.floor;const page=computed(-translation.value/size);if(infinite){const finalPage=page+offset;finalTranslation=withSpring(withProcessTranslation(-finalPage*size),onFinished);}else{const finalPage=Math.min(maxPage-1,Math.max(0,page+offset));finalTranslation=withSpring(withProcessTranslation(-finalPage*size),onFinished);}}if(!pagingEnabled&&snapEnabled){const nextPage=Math.round((origin+velocity*0.4)/size)*size;finalTranslation=withSpring(withProcessTranslation(nextPage),onFinished);}translation.value=finalTranslation;function withProcessTranslation(translation){if(!infinite&&!overscrollEnabled){const limit=getLimit();const sign=Math.sign(translation);return sign*Math.max(0,Math.min(limit,Math.abs(translation)));}return translation;}}}";_f.__workletHash=17058811688208;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (118:4)";return _f;}(),[translation,scrollEndVelocity.value,pagingEnabled,size,scrollEndTranslation.value,infinite,withSpring,snapEnabled,maxPage]);var onFinish=_react.default.useCallback(function(){var _f=function _f(isFinished){if(isFinished){touching.value=false;onScrollEnd&&(0,_reactNativeReanimated.runOnJS)(onScrollEnd)();}};_f._closure={touching:touching,onScrollEnd:onScrollEnd,runOnJS:_reactNativeReanimated.runOnJS};_f.asString="function _f(isFinished){const{touching,onScrollEnd,runOnJS}=jsThis._closure;{if(isFinished){touching.value=false;onScrollEnd&&runOnJS(onScrollEnd)();}}}";_f.__workletHash=12308424749737;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (180:4)";return _f;}(),[onScrollEnd,touching]);var activeDecay=_react.default.useCallback(function(){var _f=function _f(){touching.value=true;translation.value=(0,_reactNativeReanimated.withDecay)({velocity:scrollEndVelocity.value},function(){var _f=function _f(isFinished){return onFinish(isFinished);};_f._closure={onFinish:onFinish};_f.asString="function _f(isFinished){const{onFinish}=jsThis._closure;{return onFinish(isFinished);}}";_f.__workletHash=12004837605207;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (195:6)";return _f;}());};_f._closure={touching:touching,translation:translation,withDecay:_reactNativeReanimated.withDecay,scrollEndVelocity:scrollEndVelocity,onFinish:onFinish};_f.asString="function _f(){const{touching,translation,withDecay,scrollEndVelocity,onFinish}=jsThis._closure;{touching.value=true;translation.value=withDecay({velocity:scrollEndVelocity.value},function(isFinished){return onFinish(isFinished);});}}";_f.__workletHash=1701548878343;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (190:40)";return _f;}(),[onFinish,scrollEndVelocity.value,touching,translation]);var resetBoundary=_react.default.useCallback(function(){var _f=function _f(){if(touching.value)return;if(translation.value>0){if(scrollEndTranslation.value<0){activeDecay();return;}if(!infinite){translation.value=withSpring(0);return;}}if(translation.value<-((maxPage-1)*size)){if(scrollEndTranslation.value>0){activeDecay();return;}if(!infinite)translation.value=withSpring(-((maxPage-1)*size));}};_f._closure={touching:touching,translation:translation,scrollEndTranslation:scrollEndTranslation,activeDecay:activeDecay,infinite:infinite,withSpring:withSpring,maxPage:maxPage,size:size};_f.asString="function _f(){const{touching,translation,scrollEndTranslation,activeDecay,infinite,withSpring,maxPage,size}=jsThis._closure;{if(touching.value)return;if(translation.value>0){if(scrollEndTranslation.value<0){activeDecay();return;}if(!infinite){translation.value=withSpring(0);return;}}if(translation.value<-((maxPage-1)*size)){if(scrollEndTranslation.value>0){activeDecay();return;}if(!infinite)translation.value=withSpring(-((maxPage-1)*size));}}}";_f.__workletHash=5584514378333;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (199:42)";return _f;}(),[touching.value,translation,maxPage,size,scrollEndTranslation.value,infinite,activeDecay,withSpring]);(0,_reactNativeReanimated.useAnimatedReaction)(function(){var _f=function _f(){return translation.value;};_f._closure={translation:translation};_f.asString="function _f(){const{translation}=jsThis._closure;{return translation.value;}}";_f.__workletHash=9829368032147;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (235:4)";return _f;}(),function(){var _f=function _f(){if(!pagingEnabled)resetBoundary();};_f._closure={pagingEnabled:pagingEnabled,resetBoundary:resetBoundary};_f.asString="function _f(){const{pagingEnabled,resetBoundary}=jsThis._closure;{if(!pagingEnabled)resetBoundary();}}";_f.__workletHash=3586615076030;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (236:4)";return _f;}(),[pagingEnabled,resetBoundary]);var panGestureEventHandler=(0,_reactNativeReanimated.useAnimatedGestureHandler)({onStart:function(){var _f=function _f(_,ctx){touching.value=true;ctx.validStart=true;onScrollBegin&&(0,_reactNativeReanimated.runOnJS)(onScrollBegin)();ctx.max=(maxPage-1)*size;if(!infinite&&!overscrollEnabled)ctx.max=getLimit();ctx.panOffset=translation.value;};_f._closure={touching:touching,onScrollBegin:onScrollBegin,runOnJS:_reactNativeReanimated.runOnJS,maxPage:maxPage,size:size,infinite:infinite,overscrollEnabled:overscrollEnabled,getLimit:getLimit,translation:translation};_f.asString="function _f(_,ctx){const{touching,onScrollBegin,runOnJS,maxPage,size,infinite,overscrollEnabled,getLimit,translation}=jsThis._closure;{touching.value=true;ctx.validStart=true;onScrollBegin&&runOnJS(onScrollBegin)();ctx.max=(maxPage-1)*size;if(!infinite&&!overscrollEnabled)ctx.max=getLimit();ctx.panOffset=translation.value;}}";_f.__workletHash=3619428160497;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (248:15)";return _f;}(),onActive:function(){var _f=function _f(e,ctx){if(ctx.validStart){ctx.validStart=false;(0,_reactNativeReanimated.cancelAnimation)(translation);}touching.value=true;var translationX=e.translationX,translationY=e.translationY;var panTranslation=isHorizontal.value?translationX:translationY;if(!infinite){if(translation.value>0||translation.value<-ctx.max){var boundary=translation.value>0?0:-ctx.max;var fixed=boundary-ctx.panOffset;var dynamic=panTranslation-fixed;translation.value=boundary+dynamic*0.5;return;}}var translationValue=ctx.panOffset+panTranslation;translation.value=translationValue;};_f._closure={cancelAnimation:_reactNativeReanimated.cancelAnimation,translation:translation,touching:touching,isHorizontal:isHorizontal,infinite:infinite};_f.asString="function _f(e,ctx){const{cancelAnimation,translation,touching,isHorizontal,infinite}=jsThis._closure;{if(ctx.validStart){ctx.validStart=false;cancelAnimation(translation);}touching.value=true;const{translationX:translationX,translationY:translationY}=e;const panTranslation=isHorizontal.value?translationX:translationY;if(!infinite){if(translation.value>0||translation.value<-ctx.max){const boundary=translation.value>0?0:-ctx.max;const fixed=boundary-ctx.panOffset;const dynamic=panTranslation-fixed;translation.value=boundary+dynamic*0.5;return;}}const translationValue=ctx.panOffset+panTranslation;translation.value=translationValue;}}";_f.__workletHash=11300048714025;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (259:16)";return _f;}(),onEnd:function(){var _f=function _f(e){var velocityX=e.velocityX,velocityY=e.velocityY,translationX=e.translationX,translationY=e.translationY;scrollEndVelocity.value=isHorizontal.value?velocityX:velocityY;scrollEndTranslation.value=isHorizontal.value?translationX:translationY;endWithSpring(onScrollEnd);if(!infinite)touching.value=false;};_f._closure={scrollEndVelocity:scrollEndVelocity,isHorizontal:isHorizontal,scrollEndTranslation:scrollEndTranslation,endWithSpring:endWithSpring,onScrollEnd:onScrollEnd,infinite:infinite,touching:touching};_f.asString="function _f(e){const{scrollEndVelocity,isHorizontal,scrollEndTranslation,endWithSpring,onScrollEnd,infinite,touching}=jsThis._closure;{const{velocityX:velocityX,velocityY:velocityY,translationX:translationX,translationY:translationY}=e;scrollEndVelocity.value=isHorizontal.value?velocityX:velocityY;scrollEndTranslation.value=isHorizontal.value?translationX:translationY;endWithSpring(onScrollEnd);if(!infinite)touching.value=false;}}";_f.__workletHash=10638018947905;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx (282:13)";return _f;}()},[pagingEnabled,isHorizontal.value,infinite,maxPage,size,snapEnabled,onScrollBegin,onScrollEnd]);return _react.default.createElement(_reactNativeGestureHandler.PanGestureHandler,(0,_extends2.default)({},panGestureHandlerProps,{enabled:enabled,onGestureEvent:panGestureEventHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:310,columnNumber:5}}),_react.default.createElement(_reactNativeReanimated.default.View,{ref:containerRef,testID:testID,style:style,onTouchStart:onTouchBegin,onTouchEnd:onTouchEnd,__self:_this,__source:{fileName:_jsxFileName,lineNumber:315,columnNumber:7}},props.children));};var ScrollViewGesture=IScrollViewGesture;exports.ScrollViewGesture=ScrollViewGesture;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScrollViewGesture=void 0;var _react=_interopRequireDefault(require("react"));var _reactNativeGestureHandler=require("react-native-gesture-handler");var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _constants=require("./constants");var _store=require("./store");var _dealWithAnimation=require("./utils/dealWithAnimation");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _worklet_10100718122216_init_data={code:"function anonymous() {\n const {\n vertical\n } = this._closure;\n return !vertical;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"vertical\",\"_closure\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAoEuC,SAAAA,UAAA;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,OAAO,CAAAD,QAAA;AAAA\"}"};var _worklet_736417391548_init_data={code:"function anonymous() {\n const {\n infinite,\n overscrollEnabled,\n measure,\n containerRef,\n dataLength,\n size\n } = this._closure;\n if (!infinite && !overscrollEnabled) {\n const {\n width: containerWidth = 0\n } = measure(containerRef);\n if (dataLength * size < containerWidth) return 0;\n return dataLength * size - containerWidth;\n }\n return dataLength * size;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"infinite\",\"overscrollEnabled\",\"measure\",\"containerRef\",\"dataLength\",\"size\",\"_closure\",\"width\",\"containerWidth\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AA2EqC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,QAAA;IAAAC,iBAAA;IAAAC,OAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC;EAAA,SAAAC,QAAA;EAGvC,IAAI,CAACN,QAAQ,IAAI,CAACC,iBAAiB,EAAE;IACnC,MAAM;MAAEM,KAAK,EAAEC,cAAc,GAAG;IAAE,CAAC,GAAGN,OAAO,CAACC,YAAY,CAAC;IAG3D,IAAIC,UAAU,GAAGC,IAAI,GAAGG,cAAc,EACpC,OAAO,CAAC;IAGV,OAAOJ,UAAU,GAAGC,IAAI,GAAGG,cAAc;EAC3C;EAEA,OAAOJ,UAAU,GAAGC,IAAI;AAC1B\"}"};var _worklet_38454346678_init_data={code:"function anonymous(toValue, onFinished) {\n const {\n scrollAnimationDuration,\n Easing,\n dealWithAnimation,\n withAnimation,\n runOnJS\n } = this._closure;\n var _withAnimation;\n const defaultWithAnimation = {\n type: \"timing\",\n config: {\n duration: scrollAnimationDuration + 100,\n easing: Easing.easeOutQuart\n }\n };\n return dealWithAnimation((_withAnimation = withAnimation) !== null && _withAnimation !== void 0 ? _withAnimation : defaultWithAnimation)(toValue, function (isFinished) {\n \"worklet\";\n\n if (isFinished) onFinished && runOnJS(onFinished)();\n });\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"toValue\",\"onFinished\",\"scrollAnimationDuration\",\"Easing\",\"dealWithAnimation\",\"withAnimation\",\"runOnJS\",\"_closure\",\"_withAnimation\",\"defaultWithAnimation\",\"type\",\"config\",\"duration\",\"easing\",\"easeOutQuart\",\"isFinished\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AA6FI,SAACA,SAAeA,CAAAC,OAAE,EAAAC,UAA4B;EAAA;IAAAC,uBAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC,aAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,IAAAC,cAAA;EAE5C,MAAMC,oBAAyC,GAAG;IAChDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;MACNC,QAAQ,EAAEV,uBAAuB,GAAG,GAAG;MACvCW,MAAM,EAAEV,MAAM,CAACW;IACjB;EACF,CAAC;EAED,OAAOV,iBAAiB,EAAAI,cAAA,GAACH,aAAa,cAAAG,cAAA,cAAAA,cAAA,GAAIC,oBAAoB,CAAC,CAC7DT,OAAO,EACP,UAACe,UAAmB,EAAK;IACvB,SAAS;;IACT,IAAIA,UAAU,EACZd,UAAU,IAAIK,OAAO,CAACL,UAAU,CAAC,CAAC,CAAC;EACvC,CACF,CAAC;AACH\"}"};var _worklet_15664499378840_init_data={code:"function anonymous(isFinished) {\n const {\n onFinished,\n runOnJS\n } = this._closure;\n if (isFinished) onFinished && runOnJS(onFinished)();\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"isFinished\",\"onFinished\",\"runOnJS\",\"_closure\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAyGQ,SAACA,UAAAC,UAAwB;EAAA;IAAAC,UAAA;IAAAC;EAAA,SAAAC,QAAA;EAEvB,IAAIH,UAAU,EACZC,UAAU,IAAIC,OAAO,CAACD,UAAU,CAAC,CAAC,CAAC;AACvC\"}"};var _worklet_15595988837712_init_data={code:"function anonymous(onFinished) {\n const {\n translation,\n scrollEndVelocity,\n withDecay,\n maxScrollDistancePerSwipe,\n scrollEndTranslation,\n pagingEnabled,\n size,\n infinite,\n withSpring,\n maxPage,\n snapEnabled,\n overscrollEnabled,\n getLimit\n } = this._closure;\n const origin = translation.value;\n const velocity = scrollEndVelocity.value;\n let finalTranslation = withDecay({\n velocity: velocity,\n deceleration: 0.999\n });\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(scrollEndTranslation.value) > maxScrollDistancePerSwipe) {\n finalTranslation = origin;\n } else {\n if (pagingEnabled) {\n const offset = -(scrollEndTranslation.value >= 0 ? 1 : -1);\n const computed = offset < 0 ? Math.ceil : Math.floor;\n const page = computed(-translation.value / size);\n if (infinite) {\n const finalPage = page + offset;\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n } else {\n const finalPage = Math.min(maxPage - 1, Math.max(0, page + offset));\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n }\n }\n if (!pagingEnabled && snapEnabled) {\n const nextPage = Math.round((origin + velocity * 0.4) / size) * size;\n finalTranslation = withSpring(withProcessTranslation(nextPage), onFinished);\n }\n }\n translation.value = finalTranslation;\n function withProcessTranslation(translation) {\n if (!infinite && !overscrollEnabled) {\n const limit = getLimit();\n const sign = Math.sign(translation);\n return sign * Math.max(0, Math.min(limit, Math.abs(translation)));\n }\n return translation;\n }\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"onFinished\",\"translation\",\"scrollEndVelocity\",\"withDecay\",\"maxScrollDistancePerSwipe\",\"scrollEndTranslation\",\"pagingEnabled\",\"size\",\"infinite\",\"withSpring\",\"maxPage\",\"snapEnabled\",\"overscrollEnabled\",\"getLimit\",\"_closure\",\"origin\",\"value\",\"velocity\",\"finalTranslation\",\"deceleration\",\"Math\",\"abs\",\"offset\",\"computed\",\"ceil\",\"floor\",\"page\",\"finalPage\",\"withProcessTranslation\",\"min\",\"max\",\"nextPage\",\"round\",\"limit\",\"sign\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAoHI,SAACA,UAAAC,UAA4B;EAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,SAAA;IAAAC,yBAAA;IAAAC,oBAAA;IAAAC,aAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,OAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC;EAAA,SAAAC,QAAA;EAE3B,MAAMC,MAAM,GAAGd,WAAW,CAACe,KAAK;EAChC,MAAMC,QAAQ,GAAGf,iBAAiB,CAACc,KAAK;EAExC,IAAIE,gBAAwB,GAAGf,SAAS,CAAC;IAAEc,QAAQ,EAARA,QAAQ;IAAEE,YAAY,EAAE;EAAM,CAAC,CAAC;EAG3E,IAAI,OAAOf,yBAAyB,KAAK,QAAQ,IAAIgB,IAAI,CAACC,GAAG,CAAChB,oBAAoB,CAACW,KAAK,CAAC,GAAGZ,yBAAyB,EAAE;IACrHc,gBAAgB,GAAGH,MAAM;EAC3B,CAAC,MACI;IAQH,IAAIT,aAAa,EAAE;MAEjB,MAAMgB,MAAM,GAAG,EAAEjB,oBAAoB,CAACW,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1D,MAAMO,QAAQ,GAAGD,MAAM,GAAG,CAAC,GAAGF,IAAI,CAACI,IAAI,GAAGJ,IAAI,CAACK,KAAK;MACpD,MAAMC,IAAI,GAAGH,QAAQ,CAAC,CAACtB,WAAW,CAACe,KAAK,GAAGT,IAAI,CAAC;MAEhD,IAAIC,QAAQ,EAAE;QACZ,MAAMmB,SAAS,GAAGD,IAAI,GAAGJ,MAAM;QAC/BJ,gBAAgB,GAAGT,UAAU,CAACmB,sBAAsB,CAAC,CAACD,SAAS,GAAGpB,IAAI,CAAC,EAAEP,UAAU,CAAC;MACtF,CAAC,MACI;QACH,MAAM2B,SAAS,GAAGP,IAAI,CAACS,GAAG,CAACnB,OAAO,GAAG,CAAC,EAAEU,IAAI,CAACU,GAAG,CAAC,CAAC,EAAEJ,IAAI,GAAGJ,MAAM,CAAC,CAAC;QACnEJ,gBAAgB,GAAGT,UAAU,CAACmB,sBAAsB,CAAC,CAACD,SAAS,GAAGpB,IAAI,CAAC,EAAEP,UAAU,CAAC;MACtF;IACF;IAEA,IAAI,CAACM,aAAa,IAAIK,WAAW,EAAE;MAEjC,MAAMoB,QAAQ,GAAGX,IAAI,CAACY,KAAK,CAAC,CAACjB,MAAM,GAAGE,QAAQ,GAAG,GAAG,IAAIV,IAAI,CAAC,GAAGA,IAAI;MACpEW,gBAAgB,GAAGT,UAAU,CAACmB,sBAAsB,CAACG,QAAQ,CAAC,EAAE/B,UAAU,CAAC;IAC7E;EACF;EAEAC,WAAW,CAACe,KAAK,GAAGE,gBAAgB;EAEpC,SAASU,sBAAsBA,CAAC3B,WAAmB,EAAE;IACnD,IAAI,CAACO,QAAQ,IAAI,CAACI,iBAAiB,EAAE;MACnC,MAAMqB,KAAK,GAAGpB,QAAQ,CAAC,CAAC;MACxB,MAAMqB,IAAI,GAAGd,IAAI,CAACc,IAAI,CAACjC,WAAW,CAAC;MACnC,OAAOiC,IAAI,GAAGd,IAAI,CAACU,GAAG,CAAC,CAAC,EAAEV,IAAI,CAACS,GAAG,CAACI,KAAK,EAAEb,IAAI,CAACC,GAAG,CAACpB,WAAW,CAAC,CAAC,CAAC;IACnE;IAEA,OAAOA,WAAW;EACpB;AACF\"}"};var _worklet_14734469187996_init_data={code:"function anonymous(isFinished) {\n const {\n touching,\n onScrollEnd,\n runOnJS\n } = this._closure;\n if (isFinished) {\n touching.value = false;\n onScrollEnd && runOnJS(onScrollEnd)();\n }\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"isFinished\",\"touching\",\"onScrollEnd\",\"runOnJS\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAyLI,SAACA,UAAAC,UAAwB;EAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC;EAAA,SAAAC,QAAA;EAEvB,IAAIJ,UAAU,EAAE;IACdC,QAAQ,CAACI,KAAK,GAAG,KAAK;IACtBH,WAAW,IAAIC,OAAO,CAACD,WAAW,CAAC,CAAC,CAAC;EACvC;AACF\"}"};var _worklet_14660770182194_init_data={code:"function anonymous() {\n const {\n touching,\n translation,\n withDecay,\n scrollEndVelocity,\n onFinish\n } = this._closure;\n touching.value = true;\n translation.value = withDecay({\n velocity: scrollEndVelocity.value\n }, function (isFinished) {\n return onFinish(isFinished);\n });\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"touching\",\"translation\",\"withDecay\",\"scrollEndVelocity\",\"onFinish\",\"_closure\",\"value\",\"velocity\",\"isFinished\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAmMwC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,SAAA;IAAAC,iBAAA;IAAAC;EAAA,SAAAC,QAAA;EAE1CL,QAAQ,CAACM,KAAK,GAAG,IAAI;EACrBL,WAAW,CAACK,KAAK,GAAGJ,SAAS,CAC3B;IAAEK,QAAQ,EAAEJ,iBAAiB,CAACG;EAAM,CAAC,EACrC,UAAAE,UAAU;IAAA,OAAIJ,QAAQ,CAACI,UAAqB,CAC9C;EAAA,EAAC;AACH\"}"};var _worklet_11301139675464_init_data={code:"function anonymous(isFinished) {\n const {\n onFinish\n } = this._closure;\n return onFinish(isFinished);\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"isFinished\",\"onFinish\",\"_closure\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAwMM,SAAAA,UAAAC,UAAU;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,OAAID,QAAQ,CAACD,UAAqB;AAAA\"}"};var _worklet_5253258937186_init_data={code:"function anonymous() {\n const {\n touching,\n translation,\n scrollEndTranslation,\n activeDecay,\n infinite,\n withSpring,\n maxPage,\n size\n } = this._closure;\n if (touching.value) return;\n if (translation.value > 0) {\n if (scrollEndTranslation.value < 0) {\n activeDecay();\n return;\n }\n if (!infinite) {\n translation.value = withSpring(0);\n return;\n }\n }\n if (translation.value < -((maxPage - 1) * size)) {\n if (scrollEndTranslation.value > 0) {\n activeDecay();\n return;\n }\n if (!infinite) translation.value = withSpring(-((maxPage - 1) * size));\n }\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"touching\",\"translation\",\"scrollEndTranslation\",\"activeDecay\",\"infinite\",\"withSpring\",\"maxPage\",\"size\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AA4M0C,SAAAA,SAAMA,CAAA;EAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,oBAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,OAAA;IAAAC;EAAA,SAAAC,QAAA;EAE5C,IAAIR,QAAQ,CAACS,KAAK,EAChB;EAEF,IAAIR,WAAW,CAACQ,KAAK,GAAG,CAAC,EAAE;IACzB,IAAIP,oBAAoB,CAACO,KAAK,GAAG,CAAC,EAAE;MAClCN,WAAW,CAAC,CAAC;MACb;IACF;IACA,IAAI,CAACC,QAAQ,EAAE;MACbH,WAAW,CAACQ,KAAK,GAAGJ,UAAU,CAAC,CAAC,CAAC;MACjC;IACF;EACF;EAEA,IAAIJ,WAAW,CAACQ,KAAK,GAAG,EAAE,CAACH,OAAO,GAAG,CAAC,IAAIC,IAAI,CAAC,EAAE;IAC/C,IAAIL,oBAAoB,CAACO,KAAK,GAAG,CAAC,EAAE;MAClCN,WAAW,CAAC,CAAC;MACb;IACF;IACA,IAAI,CAACC,QAAQ,EACXH,WAAW,CAACQ,KAAK,GAAGJ,UAAU,CAAC,EAAE,CAACC,OAAO,GAAG,CAAC,IAAIC,IAAI,CAAC,CAAC;EAC3D;AACF\"}"};var _worklet_15931544841004_init_data={code:"function anonymous() {\n const {\n translation\n } = this._closure;\n return translation.value;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"translation\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAgPI,SAAAA,UAAA;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,OAAMD,WAAY,CAAAE,KAAA;AAAA\"}"};var _worklet_12444593625099_init_data={code:"function anonymous() {\n const {\n pagingEnabled,\n resetBoundary\n } = this._closure;\n if (!pagingEnabled) resetBoundary();\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"pagingEnabled\",\"resetBoundary\",\"_closure\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAiPI,SAAAA,SAAMA,CAAA;EAAA;IAAAC,aAAA;IAAAC;EAAA,SAAAC,QAAA;EACJ,IAAI,CAACF,aAAa,EAChBC,aAAa,CAAC,CAAC;AACnB\"}"};var _worklet_11427369935693_init_data={code:"function withProcessTranslation(translation) {\n const {\n infinite,\n overscrollEnabled,\n getLimit\n } = this._closure;\n if (!infinite && !overscrollEnabled) {\n const limit = getLimit();\n const sign = Math.sign(translation);\n return sign * Math.max(0, Math.min(limit, Math.abs(translation)));\n }\n return translation;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"withProcessTranslation\",\"translation\",\"infinite\",\"overscrollEnabled\",\"getLimit\",\"_closure\",\"limit\",\"sign\",\"Math\",\"max\",\"min\",\"abs\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAwPE,SAAAA,sBAASA,CAAuBC,WAAA,EAAmB;EAAA;IAAAC,QAAA;IAAAC,iBAAA;IAAAC;EAAA,SAAAC,QAAA;EAGjD,IAAI,CAACH,QAAQ,IAAI,CAACC,iBAAiB,EAAE;IACnC,MAAMG,KAAK,GAAGF,QAAQ,CAAC,CAAC;IACxB,MAAMG,IAAI,GAAGC,IAAI,CAACD,IAAI,CAACN,WAAW,CAAC;IACnC,OAAOM,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACJ,KAAK,EAAEE,IAAI,CAACG,GAAG,CAACV,WAAW,CAAC,CAAC,CAAC;EACnE;EAEA,OAAOA,WAAW;AACpB\"}"};var _worklet_6283859030724_init_data={code:"function anonymous(_, ctx) {\n const {\n touching,\n onScrollBegin,\n runOnJS,\n maxPage,\n size,\n infinite,\n overscrollEnabled,\n getLimit,\n translation\n } = this._closure;\n touching.value = true;\n ctx.validStart = true;\n onScrollBegin && runOnJS(onScrollBegin)();\n ctx.max = (maxPage - 1) * size;\n if (!infinite && !overscrollEnabled) ctx.max = getLimit();\n ctx.panOffset = translation.value;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"_\",\"ctx\",\"touching\",\"onScrollBegin\",\"runOnJS\",\"maxPage\",\"size\",\"infinite\",\"overscrollEnabled\",\"getLimit\",\"translation\",\"_closure\",\"value\",\"validStart\",\"max\",\"panOffset\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAyQe,SAACA,SAAMA,CAAKC,CAAA,EAAAC,GAAA;EAAA;IAAAC,QAAA;IAAAC,aAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,iBAAA;IAAAC,QAAA;IAAAC;EAAA,SAAAC,QAAA;EACnBT,QAAQ,CAACU,KAAK,GAAG,IAAI;EACrBX,GAAG,CAACY,UAAU,GAAG,IAAI;EACrBV,aAAa,IAAIC,OAAO,CAACD,aAAa,CAAC,CAAC,CAAC;EAEzCF,GAAG,CAACa,GAAG,GAAG,CAACT,OAAO,GAAG,CAAC,IAAIC,IAAI;EAC9B,IAAI,CAACC,QAAQ,IAAI,CAACC,iBAAiB,EACjCP,GAAG,CAACa,GAAG,GAAGL,QAAQ,CAAC,CAAC;EAEtBR,GAAG,CAACc,SAAS,GAAGL,WAAW,CAACE,KAAK;AACnC\"}"};var _worklet_14494691336804_init_data={code:"function anonymous(e, ctx) {\n const {\n cancelAnimation,\n translation,\n touching,\n isHorizontal,\n maxScrollDistancePerSwipe,\n infinite\n } = this._closure;\n if (ctx.validStart) {\n ctx.validStart = false;\n cancelAnimation(translation);\n }\n touching.value = true;\n let {\n translationX: translationX,\n translationY: translationY\n } = e;\n const totalTranslation = isHorizontal.value ? translationX : translationY;\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const overSwipe = Math.abs(totalTranslation) - maxScrollDistancePerSwipe;\n const dampedTranslation = maxScrollDistancePerSwipe + overSwipe * 0.5;\n translationX = isHorizontal.value ? dampedTranslation * Math.sign(translationX) : translationX;\n translationY = !isHorizontal.value ? dampedTranslation * Math.sign(translationY) : translationY;\n }\n const panTranslation = isHorizontal.value ? translationX : translationY;\n if (!infinite) {\n if (translation.value > 0 || translation.value < -ctx.max) {\n const boundary = translation.value > 0 ? 0 : -ctx.max;\n const fixed = boundary - ctx.panOffset;\n const dynamic = panTranslation - fixed;\n translation.value = boundary + dynamic * 0.5;\n return;\n }\n }\n const translationValue = ctx.panOffset + panTranslation;\n translation.value = translationValue;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"e\",\"ctx\",\"cancelAnimation\",\"translation\",\"touching\",\"isHorizontal\",\"maxScrollDistancePerSwipe\",\"infinite\",\"_closure\",\"validStart\",\"value\",\"translationX\",\"translationY\",\"totalTranslation\",\"Math\",\"abs\",\"overSwipe\",\"dampedTranslation\",\"sign\",\"panTranslation\",\"max\",\"boundary\",\"fixed\",\"panOffset\",\"dynamic\",\"translationValue\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAoRgB,SAACA,SAAMA,CAAKC,CAAA,EAAAC,GAAA;EAAA;IAAAC,eAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC,yBAAA;IAAAC;EAAA,SAAAC,QAAA;EACpB,IAAIP,GAAG,CAACQ,UAAU,EAAE;IAClBR,GAAG,CAACQ,UAAU,GAAG,KAAK;IACtBP,eAAe,CAACC,WAAW,CAAC;EAC9B;EACAC,QAAQ,CAACM,KAAK,GAAG,IAAI;EACrB,IAAI;IAAEC,YAAY,EAAZA,YAAY;IAAEC,YAAA,EAAAA;EAAa,CAAC,GAAGZ,CAAC;EAEtC,MAAMa,gBAAgB,GAAGR,YAAY,CAACK,KAAK,GAAGC,YAAY,GAAGC,YAAY;EAEzE,IAAI,OAAON,yBAAyB,KAAK,QAAQ,IAAIQ,IAAI,CAACC,GAAG,CAACF,gBAAgB,CAAC,GAAGP,yBAAyB,EAAE;IAC3G,MAAMU,SAAS,GAAGF,IAAI,CAACC,GAAG,CAACF,gBAAgB,CAAC,GAAGP,yBAAyB;IACxE,MAAMW,iBAAiB,GAAGX,yBAAyB,GAAGU,SAAS,GAAG,GAAG;IAErEL,YAAY,GAAGN,YAAY,CAACK,KAAK,GAAGO,iBAAiB,GAAGH,IAAI,CAACI,IAAI,CAACP,YAAY,CAAC,GAAGA,YAAY;IAC9FC,YAAY,GAAG,CAACP,YAAY,CAACK,KAAK,GAAGO,iBAAiB,GAAGH,IAAI,CAACI,IAAI,CAACN,YAAY,CAAC,GAAGA,YAAY;EACjG;EAEA,MAAMO,cAAc,GAAGd,YAAY,CAACK,KAAK,GAAGC,YAAY,GAAGC,YAAY;EACvE,IAAI,CAACL,QAAQ,EAAE;IACb,IAAKJ,WAAW,CAACO,KAAK,GAAG,CAAC,IAAIP,WAAW,CAACO,KAAK,GAAG,CAACT,GAAG,CAACmB,GAAG,EAAG;MAC3D,MAAMC,QAAQ,GAAGlB,WAAW,CAACO,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAACT,GAAG,CAACmB,GAAG;MACrD,MAAME,KAAK,GAAGD,QAAQ,GAAGpB,GAAG,CAACsB,SAAS;MACtC,MAAMC,OAAO,GAAGL,cAAc,GAAGG,KAAK;MACtCnB,WAAW,CAACO,KAAK,GAAGW,QAAQ,GAAGG,OAAO,GAAG,GAAG;MAC5C;IACF;EACF;EAEA,MAAMC,gBAAgB,GAAGxB,GAAG,CAACsB,SAAS,GAAGJ,cAAc;EAEvDhB,WAAW,CAACO,KAAK,GAAGe,gBAAgB;AACtC\"}"};var _worklet_15532837681820_init_data={code:"function anonymous(e, ctx) {\n const {\n scrollEndVelocity,\n isHorizontal,\n scrollEndTranslation,\n maxScrollDistancePerSwipe,\n size,\n translation,\n withSpring,\n withProcessTranslation,\n onScrollEnd,\n endWithSpring,\n infinite,\n touching\n } = this._closure;\n const {\n velocityX: velocityX,\n velocityY: velocityY,\n translationX: translationX,\n translationY: translationY\n } = e;\n scrollEndVelocity.value = isHorizontal.value ? velocityX : velocityY;\n scrollEndTranslation.value = isHorizontal.value ? translationX : translationY;\n const totalTranslation = isHorizontal.value ? translationX : translationY;\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const nextPage = Math.round((ctx.panOffset + maxScrollDistancePerSwipe * Math.sign(totalTranslation)) / size) * size;\n translation.value = withSpring(withProcessTranslation(nextPage), onScrollEnd);\n } else {\n endWithSpring(onScrollEnd);\n }\n if (!infinite) touching.value = false;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"e\",\"ctx\",\"scrollEndVelocity\",\"isHorizontal\",\"scrollEndTranslation\",\"maxScrollDistancePerSwipe\",\"size\",\"translation\",\"withSpring\",\"withProcessTranslation\",\"onScrollEnd\",\"endWithSpring\",\"infinite\",\"touching\",\"_closure\",\"velocityX\",\"velocityY\",\"translationX\",\"translationY\",\"value\",\"totalTranslation\",\"Math\",\"abs\",\"nextPage\",\"round\",\"panOffset\",\"sign\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAqTa,SAACA,SAAMA,CAAKC,CAAA,EAAAC,GAAA;EAAA;IAAAC,iBAAA;IAAAC,YAAA;IAAAC,oBAAA;IAAAC,yBAAA;IAAAC,IAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,sBAAA;IAAAC,WAAA;IAAAC,aAAA;IAAAC,QAAA;IAAAC;EAAA,SAAAC,QAAA;EACjB,MAAM;IAAEC,SAAS,EAATA,SAAS;IAAEC,SAAS,EAATA,SAAS;IAAEC,YAAY,EAAZA,YAAY;IAAEC,YAAA,EAAAA;EAAa,CAAC,GAAGlB,CAAC;EAC9DE,iBAAiB,CAACiB,KAAK,GAAGhB,YAAY,CAACgB,KAAK,GACxCJ,SAAS,GACTC,SAAS;EACbZ,oBAAoB,CAACe,KAAK,GAAGhB,YAAY,CAACgB,KAAK,GAC3CF,YAAY,GACZC,YAAY;EAEhB,MAAME,gBAAgB,GAAGjB,YAAY,CAACgB,KAAK,GAAGF,YAAY,GAAGC,YAAY;EAEzE,IAAI,OAAOb,yBAAyB,KAAK,QAAQ,IAAIgB,IAAI,CAACC,GAAG,CAACF,gBAAgB,CAAC,GAAGf,yBAAyB,EAAE;IAC3G,MAAMkB,QAAQ,GAAGF,IAAI,CAACG,KAAK,CAAC,CAACvB,GAAG,CAACwB,SAAS,GAAGpB,yBAAyB,GAAGgB,IAAI,CAACK,IAAI,CAACN,gBAAgB,CAAC,IAAId,IAAI,CAAC,GAAGA,IAAI;IACpHC,WAAW,CAACY,KAAK,GAAGX,UAAU,CAACC,sBAAsB,CAACc,QAAQ,CAAC,EAAEb,WAAW,CAAC;EAC/E,CAAC,MACI;IACHC,aAAa,CAACD,WAAW,CAAC;EAC5B;EAEA,IAAI,CAACE,QAAQ,EACXC,QAAQ,CAACM,KAAK,GAAG,KAAK;AAC1B\"}"};var IScrollViewGesture=function IScrollViewGesture(props){var _React$useContext=_react.default.useContext(_store.CTX),_React$useContext$pro=_React$useContext.props,vertical=_React$useContext$pro.vertical,pagingEnabled=_React$useContext$pro.pagingEnabled,snapEnabled=_React$useContext$pro.snapEnabled,panGestureHandlerProps=_React$useContext$pro.panGestureHandlerProps,infinite=_React$useContext$pro.loop,scrollAnimationDuration=_React$useContext$pro.scrollAnimationDuration,withAnimation=_React$useContext$pro.withAnimation,enabled=_React$useContext$pro.enabled,dataLength=_React$useContext$pro.dataLength,overscrollEnabled=_React$useContext$pro.overscrollEnabled,maxScrollDistancePerSwipe=_React$useContext$pro.maxScrollDistancePerSwipe;var size=props.size,translation=props.translation,testID=props.testID,_props$style=props.style,style=_props$style===void 0?{}:_props$style,onScrollBegin=props.onScrollBegin,onScrollEnd=props.onScrollEnd,onTouchBegin=props.onTouchBegin,onTouchEnd=props.onTouchEnd;var maxPage=dataLength;var isHorizontal=(0,_reactNativeReanimated.useDerivedValue)(function(){var _e=[new global.Error(),-2,-27];var _f=function _f(){return!vertical;};_f._closure={vertical:vertical};_f.__initData=_worklet_10100718122216_init_data;_f.__workletHash=10100718122216;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[vertical]);var touching=(0,_reactNativeReanimated.useSharedValue)(false);var scrollEndTranslation=(0,_reactNativeReanimated.useSharedValue)(0);var scrollEndVelocity=(0,_reactNativeReanimated.useSharedValue)(0);var containerRef=(0,_reactNativeReanimated.useAnimatedRef)();var getLimit=_react.default.useCallback(function(){var _e=[new global.Error(),-7,-27];var _f=function _f(){if(!infinite&&!overscrollEnabled){var _measure=(0,_reactNativeReanimated.measure)(containerRef),_measure$width=_measure.width,containerWidth=_measure$width===void 0?0:_measure$width;if(dataLength*size<containerWidth)return 0;return dataLength*size-containerWidth;}return dataLength*size;};_f._closure={infinite:infinite,overscrollEnabled:overscrollEnabled,measure:_reactNativeReanimated.measure,containerRef:containerRef,dataLength:dataLength,size:size};_f.__initData=_worklet_736417391548_init_data;_f.__workletHash=736417391548;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[infinite,size,dataLength,overscrollEnabled]);var withSpring=_react.default.useCallback(function(){var _e=[new global.Error(),-6,-27];var _f=function _f(toValue,onFinished){var defaultWithAnimation={type:"timing",config:{duration:scrollAnimationDuration+100,easing:_constants.Easing.easeOutQuart}};return(0,_dealWithAnimation.dealWithAnimation)(withAnimation!=null?withAnimation:defaultWithAnimation)(toValue,function(){var _e=[new global.Error(),-3,-27];var _f=function _f(isFinished){if(isFinished)onFinished&&(0,_reactNativeReanimated.runOnJS)(onFinished)();};_f._closure={onFinished:onFinished,runOnJS:_reactNativeReanimated.runOnJS};_f.__initData=_worklet_15664499378840_init_data;_f.__workletHash=15664499378840;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}());};_f._closure={scrollAnimationDuration:scrollAnimationDuration,Easing:_constants.Easing,dealWithAnimation:_dealWithAnimation.dealWithAnimation,withAnimation:withAnimation,runOnJS:_reactNativeReanimated.runOnJS};_f.__initData=_worklet_38454346678_init_data;_f.__workletHash=38454346678;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[scrollAnimationDuration,withAnimation]);var endWithSpring=_react.default.useCallback(function(){var _e=[new global.Error(),-14,-27];var _f=function _f(onFinished){var origin=translation.value;var velocity=scrollEndVelocity.value;var finalTranslation=(0,_reactNativeReanimated.withDecay)({velocity:velocity,deceleration:0.999});if(typeof maxScrollDistancePerSwipe==="number"&&Math.abs(scrollEndTranslation.value)>maxScrollDistancePerSwipe){finalTranslation=origin;}else{if(pagingEnabled){var offset=-(scrollEndTranslation.value>=0?1:-1);var computed=offset<0?Math.ceil:Math.floor;var page=computed(-translation.value/size);if(infinite){var finalPage=page+offset;finalTranslation=withSpring(withProcessTranslation(-finalPage*size),onFinished);}else{var _finalPage=Math.min(maxPage-1,Math.max(0,page+offset));finalTranslation=withSpring(withProcessTranslation(-_finalPage*size),onFinished);}}if(!pagingEnabled&&snapEnabled){var nextPage=Math.round((origin+velocity*0.4)/size)*size;finalTranslation=withSpring(withProcessTranslation(nextPage),onFinished);}}translation.value=finalTranslation;function withProcessTranslation(translation){if(!infinite&&!overscrollEnabled){var limit=getLimit();var sign=Math.sign(translation);return sign*Math.max(0,Math.min(limit,Math.abs(translation)));}return translation;}};_f._closure={translation:translation,scrollEndVelocity:scrollEndVelocity,withDecay:_reactNativeReanimated.withDecay,maxScrollDistancePerSwipe:maxScrollDistancePerSwipe,scrollEndTranslation:scrollEndTranslation,pagingEnabled:pagingEnabled,size:size,infinite:infinite,withSpring:withSpring,maxPage:maxPage,snapEnabled:snapEnabled,overscrollEnabled:overscrollEnabled,getLimit:getLimit};_f.__initData=_worklet_15595988837712_init_data;_f.__workletHash=15595988837712;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[withSpring,size,maxPage,infinite,snapEnabled,translation,pagingEnabled,scrollEndVelocity.value,maxScrollDistancePerSwipe,scrollEndTranslation.value]);var onFinish=_react.default.useCallback(function(){var _e=[new global.Error(),-4,-27];var _f=function _f(isFinished){if(isFinished){touching.value=false;onScrollEnd&&(0,_reactNativeReanimated.runOnJS)(onScrollEnd)();}};_f._closure={touching:touching,onScrollEnd:onScrollEnd,runOnJS:_reactNativeReanimated.runOnJS};_f.__initData=_worklet_14734469187996_init_data;_f.__workletHash=14734469187996;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[onScrollEnd,touching]);var activeDecay=_react.default.useCallback(function(){var _e=[new global.Error(),-6,-27];var _f=function _f(){touching.value=true;translation.value=(0,_reactNativeReanimated.withDecay)({velocity:scrollEndVelocity.value},function(){var _e=[new global.Error(),-2,-27];var _f=function _f(isFinished){return onFinish(isFinished);};_f._closure={onFinish:onFinish};_f.__initData=_worklet_11301139675464_init_data;_f.__workletHash=11301139675464;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}());};_f._closure={touching:touching,translation:translation,withDecay:_reactNativeReanimated.withDecay,scrollEndVelocity:scrollEndVelocity,onFinish:onFinish};_f.__initData=_worklet_14660770182194_init_data;_f.__workletHash=14660770182194;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[onFinish,scrollEndVelocity.value,touching,translation]);var resetBoundary=_react.default.useCallback(function(){var _e=[new global.Error(),-9,-27];var _f=function _f(){if(touching.value)return;if(translation.value>0){if(scrollEndTranslation.value<0){activeDecay();return;}if(!infinite){translation.value=withSpring(0);return;}}if(translation.value<-((maxPage-1)*size)){if(scrollEndTranslation.value>0){activeDecay();return;}if(!infinite)translation.value=withSpring(-((maxPage-1)*size));}};_f._closure={touching:touching,translation:translation,scrollEndTranslation:scrollEndTranslation,activeDecay:activeDecay,infinite:infinite,withSpring:withSpring,maxPage:maxPage,size:size};_f.__initData=_worklet_5253258937186_init_data;_f.__workletHash=5253258937186;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[touching.value,translation,maxPage,size,scrollEndTranslation.value,infinite,activeDecay,withSpring]);(0,_reactNativeReanimated.useAnimatedReaction)(function(){var _e=[new global.Error(),-2,-27];var _f=function _f(){return translation.value;};_f._closure={translation:translation};_f.__initData=_worklet_15931544841004_init_data;_f.__workletHash=15931544841004;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),function(){var _e=[new global.Error(),-3,-27];var _f=function _f(){if(!pagingEnabled)resetBoundary();};_f._closure={pagingEnabled:pagingEnabled,resetBoundary:resetBoundary};_f.__initData=_worklet_12444593625099_init_data;_f.__workletHash=12444593625099;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[pagingEnabled,resetBoundary]);var withProcessTranslation=function(){var _e=[new global.Error(),-4,-27];var _f=function _f(translation){if(!infinite&&!overscrollEnabled){var limit=getLimit();var sign=Math.sign(translation);return sign*Math.max(0,Math.min(limit,Math.abs(translation)));}return translation;};_f._closure={infinite:infinite,overscrollEnabled:overscrollEnabled,getLimit:getLimit};_f.__initData=_worklet_11427369935693_init_data;_f.__workletHash=11427369935693;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}();var panGestureEventHandler=(0,_reactNativeReanimated.useAnimatedGestureHandler)({onStart:function(){var _e=[new global.Error(),-10,-27];var _f=function _f(_,ctx){touching.value=true;ctx.validStart=true;onScrollBegin&&(0,_reactNativeReanimated.runOnJS)(onScrollBegin)();ctx.max=(maxPage-1)*size;if(!infinite&&!overscrollEnabled)ctx.max=getLimit();ctx.panOffset=translation.value;};_f._closure={touching:touching,onScrollBegin:onScrollBegin,runOnJS:_reactNativeReanimated.runOnJS,maxPage:maxPage,size:size,infinite:infinite,overscrollEnabled:overscrollEnabled,getLimit:getLimit,translation:translation};_f.__initData=_worklet_6283859030724_init_data;_f.__workletHash=6283859030724;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),onActive:function(){var _e=[new global.Error(),-7,-27];var _f=function _f(e,ctx){if(ctx.validStart){ctx.validStart=false;(0,_reactNativeReanimated.cancelAnimation)(translation);}touching.value=true;var translationX=e.translationX,translationY=e.translationY;var totalTranslation=isHorizontal.value?translationX:translationY;if(typeof maxScrollDistancePerSwipe==="number"&&Math.abs(totalTranslation)>maxScrollDistancePerSwipe){var overSwipe=Math.abs(totalTranslation)-maxScrollDistancePerSwipe;var dampedTranslation=maxScrollDistancePerSwipe+overSwipe*0.5;translationX=isHorizontal.value?dampedTranslation*Math.sign(translationX):translationX;translationY=!isHorizontal.value?dampedTranslation*Math.sign(translationY):translationY;}var panTranslation=isHorizontal.value?translationX:translationY;if(!infinite){if(translation.value>0||translation.value<-ctx.max){var boundary=translation.value>0?0:-ctx.max;var fixed=boundary-ctx.panOffset;var dynamic=panTranslation-fixed;translation.value=boundary+dynamic*0.5;return;}}var translationValue=ctx.panOffset+panTranslation;translation.value=translationValue;};_f._closure={cancelAnimation:_reactNativeReanimated.cancelAnimation,translation:translation,touching:touching,isHorizontal:isHorizontal,maxScrollDistancePerSwipe:maxScrollDistancePerSwipe,infinite:infinite};_f.__initData=_worklet_14494691336804_init_data;_f.__workletHash=14494691336804;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),onEnd:function(){var _e=[new global.Error(),-13,-27];var _f=function _f(e,ctx){var velocityX=e.velocityX,velocityY=e.velocityY,translationX=e.translationX,translationY=e.translationY;scrollEndVelocity.value=isHorizontal.value?velocityX:velocityY;scrollEndTranslation.value=isHorizontal.value?translationX:translationY;var totalTranslation=isHorizontal.value?translationX:translationY;if(typeof maxScrollDistancePerSwipe==="number"&&Math.abs(totalTranslation)>maxScrollDistancePerSwipe){var nextPage=Math.round((ctx.panOffset+maxScrollDistancePerSwipe*Math.sign(totalTranslation))/size)*size;translation.value=withSpring(withProcessTranslation(nextPage),onScrollEnd);}else{endWithSpring(onScrollEnd);}if(!infinite)touching.value=false;};_f._closure={scrollEndVelocity:scrollEndVelocity,isHorizontal:isHorizontal,scrollEndTranslation:scrollEndTranslation,maxScrollDistancePerSwipe:maxScrollDistancePerSwipe,size:size,translation:translation,withSpring:withSpring,withProcessTranslation:withProcessTranslation,onScrollEnd:onScrollEnd,endWithSpring:endWithSpring,infinite:infinite,touching:touching};_f.__initData=_worklet_15532837681820_init_data;_f.__workletHash=15532837681820;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}()},[pagingEnabled,isHorizontal.value,infinite,maxPage,size,snapEnabled,onScrollBegin,onScrollEnd]);return(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.PanGestureHandler,Object.assign({},panGestureHandlerProps,{enabled:enabled,onGestureEvent:panGestureEventHandler,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{ref:containerRef,testID:testID,style:style,onTouchStart:onTouchBegin,onTouchEnd:onTouchEnd,children:props.children})}));};var ScrollViewGesture=IScrollViewGesture;exports.ScrollViewGesture=ScrollViewGesture;
2
2
  //# sourceMappingURL=ScrollViewGesture.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ScrollViewGesture.tsx"],"names":["IScrollViewGesture","props","React","useContext","CTX","vertical","pagingEnabled","snapEnabled","panGestureHandlerProps","infinite","loop","scrollAnimationDuration","withAnimation","enabled","dataLength","overscrollEnabled","size","translation","testID","style","onScrollBegin","onScrollEnd","onTouchBegin","onTouchEnd","maxPage","isHorizontal","touching","scrollEndTranslation","scrollEndVelocity","containerRef","getLimit","useCallback","width","containerWidth","measure","withSpring","toValue","onFinished","defaultWithAnimation","type","config","duration","easing","Easing","easeOutQuart","isFinished","runOnJS","dealWithAnimation","endWithSpring","origin","value","velocity","finalTranslation","deceleration","offset","computed","Math","ceil","floor","page","finalPage","withProcessTranslation","min","max","nextPage","round","limit","sign","abs","withDecay","onFinish","activeDecay","resetBoundary","panGestureEventHandler","onStart","_","ctx","validStart","panOffset","onActive","e","translationX","translationY","panTranslation","boundary","fixed","dynamic","translationValue","cancelAnimation","onEnd","velocityX","velocityY","children","ScrollViewGesture"],"mappings":"6PAAA,oDAGA,uEAGA,uFAYA,sCACA,8BAEA,4D,soCAoBA,GAAMA,CAAAA,kBAAmC,CAAG,QAAtCA,CAAAA,kBAAsC,CAACC,KAAD,CAAW,CACrD,sBAaIC,eAAMC,UAAN,CAAiBC,UAAjB,CAbJ,yCACEH,KADF,CAEII,QAFJ,uBAEIA,QAFJ,CAGIC,aAHJ,uBAGIA,aAHJ,CAIIC,WAJJ,uBAIIA,WAJJ,CAKIC,sBALJ,uBAKIA,sBALJ,CAMUC,QANV,uBAMIC,IANJ,CAOIC,uBAPJ,uBAOIA,uBAPJ,CAQIC,aARJ,uBAQIA,aARJ,CASIC,OATJ,uBASIA,OATJ,CAUIC,UAVJ,uBAUIA,UAVJ,CAWIC,iBAXJ,uBAWIA,iBAXJ,CAeA,GACEC,CAAAA,IADF,CASIf,KATJ,CACEe,IADF,CAEEC,WAFF,CASIhB,KATJ,CAEEgB,WAFF,CAGEC,MAHF,CASIjB,KATJ,CAGEiB,MAHF,cASIjB,KATJ,CAIEkB,KAJF,CAIEA,KAJF,uBAIU,EAJV,cAKEC,aALF,CASInB,KATJ,CAKEmB,aALF,CAMEC,WANF,CASIpB,KATJ,CAMEoB,WANF,CAOEC,YAPF,CASIrB,KATJ,CAOEqB,YAPF,CAQEC,UARF,CASItB,KATJ,CAQEsB,UARF,CAWA,GAAMC,CAAAA,OAAO,CAAGV,UAAhB,CACA,GAAMW,CAAAA,YAAY,CAAG,6DAAgB,oBAAM,CAACpB,QAAP,EAAhB,uBApEfA,QAoEe,sQAAiC,CAACA,QAAD,CAAjC,CAArB,CACA,GAAMqB,CAAAA,QAAQ,CAAG,0CAAe,KAAf,CAAjB,CACA,GAAMC,CAAAA,oBAAoB,CAAG,0CAAe,CAAf,CAA7B,CACA,GAAMC,CAAAA,iBAAiB,CAAG,0CAAe,CAAf,CAA1B,CACA,GAAMC,CAAAA,YAAY,CAAG,2CAArB,CAGA,GAAMC,CAAAA,QAAQ,CAAG5B,eAAM6B,WAAN,gCAAwB,CAGvC,GAAI,CAACtB,QAAD,EAAa,CAACM,iBAAlB,CAAqC,CACnC,aAAsC,mCAAQc,YAAR,CAAtC,yBAAQG,KAAR,CAAeC,cAAf,yBAAgC,CAAhC,gBAGA,GAAInB,UAAU,CAAGE,IAAb,CAAoBiB,cAAxB,CACE,MAAO,EAAP,CAGF,MAAOnB,CAAAA,UAAU,CAAGE,IAAb,CAAoBiB,cAA3B,CACD,CAED,MAAOnB,CAAAA,UAAU,CAAGE,IAApB,CACD,CAfgB,uBA1EZP,QA0EY,mBA1ECM,iBA0ED,SAvEXmB,8BAuEW,cAvEHL,YAuEG,YAhEVf,UAgEU,MAhEGE,IAgEH,4eAed,CAACP,QAAD,CAAWO,IAAX,CAAiBF,UAAjB,CAA6BC,iBAA7B,CAfc,CAAjB,CAiBA,GAAMoB,CAAAA,UAAU,CAAGjC,eAAM6B,WAAN,+BAChBK,OADgB,CACCC,UADD,CAC6B,CAE5C,GAAMC,CAAAA,oBAAyC,CAAG,CAChDC,IAAI,CAAE,QAD0C,CAEhDC,MAAM,CAAE,CACNC,QAAQ,CAAE9B,uBAAuB,CAAG,GAD9B,CAEN+B,MAAM,CAAEC,kBAAOC,YAFT,CAFwC,CAAlD,CAQA,MAAO,yCAAkBhC,aAAlB,OAAkBA,aAAlB,CAAmC0B,oBAAnC,EACLF,OADK,+BAEJS,UAFI,CAEoB,CAEvB,GAAIA,UAAJ,CACER,UAAU,EAAI,mCAAQA,UAAR,GAAd,CACH,CANI,yBAtG2BA,UAsG3B,SAtGmBS,8BAsGnB,yTAAP,CAQD,CAnBgB,sCAxFLnC,uBAwFK,sBAvFPgC,kBAAOC,YAuFA,oBApFZG,oCAoFY,eApFMnC,aAoFN,SAjFakC,8BAiFb,sqBAoBjB,CAACnC,uBAAD,CAA0BC,aAA1B,CApBiB,CAAnB,CAuBA,GAAMoC,CAAAA,aAAa,CAAG9C,eAAM6B,WAAN,+BACnBM,UADmB,CACS,CAE3B,GAAMY,CAAAA,MAAM,CAAGhC,WAAW,CAACiC,KAA3B,CACA,GAAMC,CAAAA,QAAQ,CAAGvB,iBAAiB,CAACsB,KAAnC,CAEA,GAAIE,CAAAA,gBAAwB,CAAG,qCAAU,CAAED,QAAQ,CAARA,QAAF,CAAYE,YAAY,CAAE,KAA1B,CAAV,CAA/B,CASA,GAAI/C,aAAJ,CAAmB,CAEjB,GAAMgD,CAAAA,MAAM,CAAG,EAAE3B,oBAAoB,CAACuB,KAArB,EAA8B,CAA9B,CAAkC,CAAlC,CAAsC,CAAC,CAAzC,CAAf,CACA,GAAMK,CAAAA,QAAQ,CAAGD,MAAM,CAAG,CAAT,CAAaE,IAAI,CAACC,IAAlB,CAAyBD,IAAI,CAACE,KAA/C,CACA,GAAMC,CAAAA,IAAI,CAAGJ,QAAQ,CAAC,CAACtC,WAAW,CAACiC,KAAb,CAAqBlC,IAAtB,CAArB,CAEA,GAAIP,QAAJ,CAAc,CACZ,GAAMmD,CAAAA,SAAS,CAAGD,IAAI,CAAGL,MAAzB,CACAF,gBAAgB,CAAGjB,UAAU,CAAC0B,sBAAsB,CAAC,CAACD,SAAD,CAAa5C,IAAd,CAAvB,CAA4CqB,UAA5C,CAA7B,CACD,CAHD,IAIK,CACH,GAAMuB,CAAAA,UAAS,CAAGJ,IAAI,CAACM,GAAL,CAAStC,OAAO,CAAG,CAAnB,CAAsBgC,IAAI,CAACO,GAAL,CAAS,CAAT,CAAYJ,IAAI,CAAGL,MAAnB,CAAtB,CAAlB,CACAF,gBAAgB,CAAGjB,UAAU,CAAC0B,sBAAsB,CAAC,CAACD,UAAD,CAAa5C,IAAd,CAAvB,CAA4CqB,UAA5C,CAA7B,CACD,CACF,CAED,GAAI,CAAC/B,aAAD,EAAkBC,WAAtB,CAAmC,CAEjC,GAAMyD,CAAAA,QAAQ,CAAGR,IAAI,CAACS,KAAL,CAAW,CAAChB,MAAM,CAAGE,QAAQ,CAAG,GAArB,EAA4BnC,IAAvC,EAA+CA,IAAhE,CACAoC,gBAAgB,CAAGjB,UAAU,CAAC0B,sBAAsB,CAACG,QAAD,CAAvB,CAAmC3B,UAAnC,CAA7B,CACD,CAEDpB,WAAW,CAACiC,KAAZ,CAAoBE,gBAApB,CAEA,QAASS,CAAAA,sBAAT,CAAgC5C,WAAhC,CAAqD,CACnD,GAAI,CAACR,QAAD,EAAa,CAACM,iBAAlB,CAAqC,CACnC,GAAMmD,CAAAA,KAAK,CAAGpC,QAAQ,EAAtB,CACA,GAAMqC,CAAAA,IAAI,CAAGX,IAAI,CAACW,IAAL,CAAUlD,WAAV,CAAb,CACA,MAAOkD,CAAAA,IAAI,CAAGX,IAAI,CAACO,GAAL,CAAS,CAAT,CAAYP,IAAI,CAACM,GAAL,CAASI,KAAT,CAAgBV,IAAI,CAACY,GAAL,CAASnD,WAAT,CAAhB,CAAZ,CAAd,CACD,CAED,MAAOA,CAAAA,WAAP,CACD,CACF,CAhDmB,0BA7EtBA,WA6EsB,mBAjHLW,iBAiHK,WA/GSyC,gCA+GT,eAnFjB/D,aAmFiB,sBAjGHqB,oBAiGG,MAjF4CX,IAiF5C,UA1EfP,QA0Ee,YAhFD0B,UAgFC,SAxFSX,OAwFT,aAnFAjB,WAmFA,mBA1EFQ,iBA0EE,UAzEJe,QAyEI,s2CAiDpB,CACEb,WADF,CAEEW,iBAAiB,CAACsB,KAFpB,CAGE5C,aAHF,CAIEU,IAJF,CAKEW,oBAAoB,CAACuB,KALvB,CAMEzC,QANF,CAOE0B,UAPF,CAQE5B,WARF,CASEiB,OATF,CAjDoB,CAAtB,CA8DA,GAAM8C,CAAAA,QAAQ,CAAGpE,eAAM6B,WAAN,+BACdc,UADc,CACU,CAEvB,GAAIA,UAAJ,CAAgB,CACdnB,QAAQ,CAACwB,KAAT,CAAiB,KAAjB,CACA7B,WAAW,EAAI,mCAAQA,WAAR,GAAf,CACD,CACF,CAPc,uBA/KfK,QA+Ke,aA9KQL,WA8KR,SA9KAyB,8BA8KA,6VAQf,CAACzB,WAAD,CAAcK,QAAd,CARe,CAAjB,CAWA,GAAM6C,CAAAA,WAAW,CAAGrE,eAAM6B,WAAN,gCAAwB,CAE1CL,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACAjC,WAAW,CAACiC,KAAZ,CAAoB,qCAClB,CAAEC,QAAQ,CAAEvB,iBAAiB,CAACsB,KAA9B,CADkB,mBAElB,YAAAL,UAAU,QAAIyB,CAAAA,QAAQ,CAACzB,UAAD,CAAZ,EAFQ,uBA/LTyB,QA+LS,4RAApB,CAID,CAPmB,uBA3LpB5C,QA2LoB,aA1LpBT,WA0LoB,WA1LAoD,gCA0LA,mBAzLRzC,iBAyLQ,UAxLH0C,QAwLG,8aAOjB,CAACA,QAAD,CAAW1C,iBAAiB,CAACsB,KAA7B,CAAoCxB,QAApC,CAA8CT,WAA9C,CAPiB,CAApB,CASA,GAAMuD,CAAAA,aAAa,CAAGtE,eAAM6B,WAAN,gCAAwB,CAE5C,GAAIL,QAAQ,CAACwB,KAAb,CACE,OAEF,GAAIjC,WAAW,CAACiC,KAAZ,CAAoB,CAAxB,CAA2B,CACzB,GAAIvB,oBAAoB,CAACuB,KAArB,CAA6B,CAAjC,CAAoC,CAClCqB,WAAW,GACX,OACD,CACD,GAAI,CAAC9D,QAAL,CAAe,CACbQ,WAAW,CAACiC,KAAZ,CAAoBf,UAAU,CAAC,CAAD,CAA9B,CACA,OACD,CACF,CAED,GAAIlB,WAAW,CAACiC,KAAZ,CAAoB,EAAE,CAAC1B,OAAO,CAAG,CAAX,EAAgBR,IAAlB,CAAxB,CAAiD,CAC/C,GAAIW,oBAAoB,CAACuB,KAArB,CAA6B,CAAjC,CAAoC,CAClCqB,WAAW,GACX,OACD,CACD,GAAI,CAAC9D,QAAL,CACEQ,WAAW,CAACiC,KAAZ,CAAoBf,UAAU,CAAC,EAAE,CAACX,OAAO,CAAG,CAAX,EAAgBR,IAAlB,CAAD,CAA9B,CACH,CACF,CAxBqB,uBApMlBU,QAoMkB,aAhLLT,WAgLK,sBArLhBU,oBAqLgB,aApLlB4C,WAoLkB,UAhLf9D,QAgLe,YAhLe0B,UAgLf,SAhL6BX,OAgL7B,MAhL4CR,IAgL5C,ooBAwBnB,CACDU,QAAQ,CAACwB,KADR,CAEDjC,WAFC,CAGDO,OAHC,CAIDR,IAJC,CAKDW,oBAAoB,CAACuB,KALpB,CAMDzC,QANC,CAOD8D,WAPC,CAQDpC,UARC,CAxBmB,CAAtB,CAmCA,iEACE,oBAAMlB,CAAAA,WAAW,CAACiC,KAAlB,EADF,0BAxOKjC,WAwOL,gTAEQ,CACJ,GAAI,CAACX,aAAL,CACEkE,aAAa,GAChB,CALH,4BAvOKlE,aAuOL,eAvOoBkE,aAuOpB,0SAME,CAAClE,aAAD,CAAgBkE,aAAhB,CANF,EASA,GAAMC,CAAAA,sBAAsB,CAAG,qDAI7B,CACEC,OAAO,+BAAGC,CAAH,CAAMC,GAAN,CAAc,CACnBlD,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACA0B,GAAG,CAACC,UAAJ,CAAiB,IAAjB,CACAzD,aAAa,EAAI,mCAAQA,aAAR,GAAjB,CAEAwD,GAAG,CAACb,GAAJ,CAAU,CAACvC,OAAO,CAAG,CAAX,EAAgBR,IAA1B,CACA,GAAI,CAACP,QAAD,EAAa,CAACM,iBAAlB,CACE6D,GAAG,CAACb,GAAJ,CAAUjC,QAAQ,EAAlB,CAEF8C,GAAG,CAACE,SAAJ,CAAgB7D,WAAW,CAACiC,KAA5B,CACD,CAVM,uBArPXxB,QAqPW,eAnPcN,aAmPd,SAnPM0B,8BAmPN,SAlPAtB,OAkPA,MAlPeR,IAkPf,UAjPNP,QAiPM,mBAjPOM,iBAiPP,UAjPoCe,QAiPpC,aAhPKb,WAgPL,0gBADT,CAYE8D,QAAQ,+BAAGC,CAAH,CAAMJ,GAAN,CAAc,CACpB,GAAIA,GAAG,CAACC,UAAR,CAAoB,CAClBD,GAAG,CAACC,UAAJ,CAAiB,KAAjB,CACA,2CAAgB5D,WAAhB,EACD,CACDS,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACA,GAAQ+B,CAAAA,YAAR,CAAuCD,CAAvC,CAAQC,YAAR,CAAsBC,YAAtB,CAAuCF,CAAvC,CAAsBE,YAAtB,CACA,GAAMC,CAAAA,cAAc,CAAG1D,YAAY,CAACyB,KAAb,CACnB+B,YADmB,CAEnBC,YAFJ,CAGA,GAAI,CAACzE,QAAL,CAAe,CACb,GAAKQ,WAAW,CAACiC,KAAZ,CAAoB,CAApB,EAAyBjC,WAAW,CAACiC,KAAZ,CAAoB,CAAC0B,GAAG,CAACb,GAAvD,CAA6D,CAC3D,GAAMqB,CAAAA,QAAQ,CAAGnE,WAAW,CAACiC,KAAZ,CAAoB,CAApB,CAAwB,CAAxB,CAA4B,CAAC0B,GAAG,CAACb,GAAlD,CACA,GAAMsB,CAAAA,KAAK,CAAGD,QAAQ,CAAGR,GAAG,CAACE,SAA7B,CACA,GAAMQ,CAAAA,OAAO,CAAGH,cAAc,CAAGE,KAAjC,CACApE,WAAW,CAACiC,KAAZ,CAAoBkC,QAAQ,CAAGE,OAAO,CAAG,GAAzC,CACA,OACD,CACF,CAED,GAAMC,CAAAA,gBAAgB,CAAGX,GAAG,CAACE,SAAJ,CAAgBK,cAAzC,CACAlE,WAAW,CAACiC,KAAZ,CAAoBqC,gBAApB,CACD,CAtBO,8BA9PVC,sCA8PU,aAzOZvE,WAyOY,UA3PZS,QA2PY,cAtPWD,YAsPX,UApPPhB,QAoPO,m0BAZV,CAmCEgF,KAAK,+BAAGT,CAAH,CAAS,CACZ,GAAQU,CAAAA,SAAR,CAA6DV,CAA7D,CAAQU,SAAR,CAAmBC,SAAnB,CAA6DX,CAA7D,CAAmBW,SAAnB,CAA8BV,YAA9B,CAA6DD,CAA7D,CAA8BC,YAA9B,CAA4CC,YAA5C,CAA6DF,CAA7D,CAA4CE,YAA5C,CACAtD,iBAAiB,CAACsB,KAAlB,CAA0BzB,YAAY,CAACyB,KAAb,CACtBwC,SADsB,CAEtBC,SAFJ,CAGAhE,oBAAoB,CAACuB,KAArB,CAA6BzB,YAAY,CAACyB,KAAb,CACzB+B,YADyB,CAEzBC,YAFJ,CAIAlC,aAAa,CAAC3B,WAAD,CAAb,CAEA,GAAI,CAACZ,QAAL,CACEiB,QAAQ,CAACwB,KAAT,CAAiB,KAAjB,CACH,CAbI,gCAjRTtB,iBAiRS,cAhRoBH,YAgRpB,sBAhRTE,oBAgRS,eA/QTqB,aA+QS,aA/QK3B,WA+QL,UA9QJZ,QA8QI,UA9QMiB,QA8QN,unBAnCP,CAJ6B,CAsD7B,CACEpB,aADF,CAEEmB,YAAY,CAACyB,KAFf,CAGEzC,QAHF,CAIEe,OAJF,CAKER,IALF,CAMET,WANF,CAOEa,aAPF,CAQEC,WARF,CAtD6B,CAA/B,CAkEA,MACE,8BAAC,4CAAD,0BACMb,sBADN,EAEE,OAAO,CAAEK,OAFX,CAGE,cAAc,CAAE4D,sBAHlB,+EAKE,6BAAC,8BAAD,CAAU,IAAV,EACE,GAAG,CAAE5C,YADP,CAEE,MAAM,CAAEX,MAFV,CAGE,KAAK,CAAEC,KAHT,CAIE,YAAY,CAAEG,YAJhB,CAKE,UAAU,CAAEC,UALd,8EAOGtB,KAAK,CAAC2F,QAPT,CALF,CADF,CAiBD,CA5RD,CA8RO,GAAMC,CAAAA,iBAAiB,CAAG7F,kBAA1B,C","sourcesContent":["import React from \"react\";\nimport type { StyleProp, ViewStyle } from \"react-native\";\nimport type { PanGestureHandlerGestureEvent } from \"react-native-gesture-handler\";\nimport {\n PanGestureHandler,\n} from \"react-native-gesture-handler\";\nimport Animated, {\n cancelAnimation,\n measure,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedReaction,\n useAnimatedRef,\n useDerivedValue,\n useSharedValue,\n withDecay,\n} from \"react-native-reanimated\";\n\nimport { Easing } from \"./constants\";\nimport { CTX } from \"./store\";\nimport type { WithTimingAnimation } from \"./types\";\nimport { dealWithAnimation } from \"./utils/dealWithAnimation\";\n\ninterface GestureContext extends Record<string, unknown> {\n validStart: boolean\n panOffset: number\n max: number\n}\n\ninterface Props {\n size: number\n infinite?: boolean\n testID?: string\n style?: StyleProp<ViewStyle>\n onScrollBegin?: () => void\n onScrollEnd?: () => void\n onTouchBegin?: () => void\n onTouchEnd?: () => void\n translation: Animated.SharedValue<number>\n}\n\nconst IScrollViewGesture: React.FC<Props> = (props) => {\n const {\n props: {\n vertical,\n pagingEnabled,\n snapEnabled,\n panGestureHandlerProps,\n loop: infinite,\n scrollAnimationDuration,\n withAnimation,\n enabled,\n dataLength,\n overscrollEnabled,\n },\n } = React.useContext(CTX);\n\n const {\n size,\n translation,\n testID,\n style = {},\n onScrollBegin,\n onScrollEnd,\n onTouchBegin,\n onTouchEnd,\n } = props;\n\n const maxPage = dataLength;\n const isHorizontal = useDerivedValue(() => !vertical, [vertical]);\n const touching = useSharedValue(false);\n const scrollEndTranslation = useSharedValue(0);\n const scrollEndVelocity = useSharedValue(0);\n const containerRef = useAnimatedRef<Animated.View>();\n\n // Get the limit of the scroll.\n const getLimit = React.useCallback(() => {\n \"worklet\";\n\n if (!infinite && !overscrollEnabled) {\n const { width: containerWidth = 0 } = measure(containerRef);\n\n // If the item's total width is less than the container's width, then there is no need to scroll.\n if (dataLength * size < containerWidth)\n return 0;\n\n // Disable the \"overscroll\" effect\n return dataLength * size - containerWidth;\n }\n\n return dataLength * size;\n }, [infinite, size, dataLength, overscrollEnabled]);\n\n const withSpring = React.useCallback(\n (toValue: number, onFinished?: () => void) => {\n \"worklet\";\n const defaultWithAnimation: WithTimingAnimation = {\n type: \"timing\",\n config: {\n duration: scrollAnimationDuration + 100,\n easing: Easing.easeOutQuart,\n },\n };\n\n return dealWithAnimation(withAnimation ?? defaultWithAnimation)(\n toValue,\n (isFinished: boolean) => {\n \"worklet\";\n if (isFinished)\n onFinished && runOnJS(onFinished)();\n },\n );\n },\n [scrollAnimationDuration, withAnimation],\n );\n\n const endWithSpring = React.useCallback(\n (onFinished?: () => void) => {\n \"worklet\";\n const origin = translation.value;\n const velocity = scrollEndVelocity.value;\n // Default to scroll in the direction of the slide (with deceleration)\n let finalTranslation: number = withDecay({ velocity, deceleration: 0.999 });\n\n /**\n * The page size is the same as the item size.\n * If direction is vertical, the page size is the height of the item.\n * If direction is horizontal, the page size is the width of the item.\n *\n * `page size` equals to `size` variable.\n * */\n if (pagingEnabled) {\n // distance with direction\n const offset = -(scrollEndTranslation.value >= 0 ? 1 : -1); // 1 or -1\n const computed = offset < 0 ? Math.ceil : Math.floor;\n const page = computed(-translation.value / size);\n\n if (infinite) {\n const finalPage = page + offset;\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n }\n else {\n const finalPage = Math.min(maxPage - 1, Math.max(0, page + offset));\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n }\n }\n\n if (!pagingEnabled && snapEnabled) {\n // scroll to the nearest item\n const nextPage = Math.round((origin + velocity * 0.4) / size) * size;\n finalTranslation = withSpring(withProcessTranslation(nextPage), onFinished);\n }\n\n translation.value = finalTranslation;\n\n function withProcessTranslation(translation: number) {\n if (!infinite && !overscrollEnabled) {\n const limit = getLimit();\n const sign = Math.sign(translation);\n return sign * Math.max(0, Math.min(limit, Math.abs(translation)));\n }\n\n return translation;\n }\n },\n [\n translation,\n scrollEndVelocity.value,\n pagingEnabled,\n size,\n scrollEndTranslation.value,\n infinite,\n withSpring,\n snapEnabled,\n maxPage,\n ],\n );\n\n const onFinish = React.useCallback(\n (isFinished: boolean) => {\n \"worklet\";\n if (isFinished) {\n touching.value = false;\n onScrollEnd && runOnJS(onScrollEnd)();\n }\n },\n [onScrollEnd, touching],\n );\n\n const activeDecay = React.useCallback(() => {\n \"worklet\";\n touching.value = true;\n translation.value = withDecay(\n { velocity: scrollEndVelocity.value },\n isFinished => onFinish(isFinished as boolean),\n );\n }, [onFinish, scrollEndVelocity.value, touching, translation]);\n\n const resetBoundary = React.useCallback(() => {\n \"worklet\";\n if (touching.value)\n return;\n\n if (translation.value > 0) {\n if (scrollEndTranslation.value < 0) {\n activeDecay();\n return;\n }\n if (!infinite) {\n translation.value = withSpring(0);\n return;\n }\n }\n\n if (translation.value < -((maxPage - 1) * size)) {\n if (scrollEndTranslation.value > 0) {\n activeDecay();\n return;\n }\n if (!infinite)\n translation.value = withSpring(-((maxPage - 1) * size));\n }\n }, [\n touching.value,\n translation,\n maxPage,\n size,\n scrollEndTranslation.value,\n infinite,\n activeDecay,\n withSpring,\n ]);\n\n useAnimatedReaction(\n () => translation.value,\n () => {\n if (!pagingEnabled)\n resetBoundary();\n },\n [pagingEnabled, resetBoundary],\n );\n\n const panGestureEventHandler = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n GestureContext\n >(\n {\n onStart: (_, ctx) => {\n touching.value = true;\n ctx.validStart = true;\n onScrollBegin && runOnJS(onScrollBegin)();\n\n ctx.max = (maxPage - 1) * size;\n if (!infinite && !overscrollEnabled)\n ctx.max = getLimit();\n\n ctx.panOffset = translation.value;\n },\n onActive: (e, ctx) => {\n if (ctx.validStart) {\n ctx.validStart = false;\n cancelAnimation(translation);\n }\n touching.value = true;\n const { translationX, translationY } = e;\n const panTranslation = isHorizontal.value\n ? translationX\n : translationY;\n if (!infinite) {\n if ((translation.value > 0 || translation.value < -ctx.max)) {\n const boundary = translation.value > 0 ? 0 : -ctx.max;\n const fixed = boundary - ctx.panOffset;\n const dynamic = panTranslation - fixed;\n translation.value = boundary + dynamic * 0.5;\n return;\n }\n }\n\n const translationValue = ctx.panOffset + panTranslation;\n translation.value = translationValue;\n },\n onEnd: (e) => {\n const { velocityX, velocityY, translationX, translationY } = e;\n scrollEndVelocity.value = isHorizontal.value\n ? velocityX\n : velocityY;\n scrollEndTranslation.value = isHorizontal.value\n ? translationX\n : translationY;\n\n endWithSpring(onScrollEnd);\n\n if (!infinite)\n touching.value = false;\n },\n },\n [\n pagingEnabled,\n isHorizontal.value,\n infinite,\n maxPage,\n size,\n snapEnabled,\n onScrollBegin,\n onScrollEnd,\n ],\n );\n\n return (\n <PanGestureHandler\n {...panGestureHandlerProps}\n enabled={enabled}\n onGestureEvent={panGestureEventHandler}\n >\n <Animated.View\n ref={containerRef}\n testID={testID}\n style={style}\n onTouchStart={onTouchBegin}\n onTouchEnd={onTouchEnd}\n >\n {props.children}\n </Animated.View>\n </PanGestureHandler>\n );\n};\n\nexport const ScrollViewGesture = IScrollViewGesture;\n"]}
1
+ {"version":3,"sources":["ScrollViewGesture.tsx"],"names":["IScrollViewGesture","props","React","useContext","CTX","vertical","pagingEnabled","snapEnabled","panGestureHandlerProps","infinite","loop","scrollAnimationDuration","withAnimation","enabled","dataLength","overscrollEnabled","maxScrollDistancePerSwipe","size","translation","testID","style","onScrollBegin","onScrollEnd","onTouchBegin","onTouchEnd","maxPage","isHorizontal","touching","scrollEndTranslation","scrollEndVelocity","containerRef","getLimit","useCallback","width","containerWidth","measure","withSpring","toValue","onFinished","defaultWithAnimation","type","config","duration","easing","Easing","easeOutQuart","isFinished","runOnJS","dealWithAnimation","endWithSpring","origin","value","velocity","finalTranslation","deceleration","Math","abs","offset","computed","ceil","floor","page","finalPage","withProcessTranslation","min","max","nextPage","round","limit","sign","withDecay","onFinish","activeDecay","resetBoundary","panGestureEventHandler","onStart","_","ctx","validStart","panOffset","onActive","e","translationX","translationY","totalTranslation","overSwipe","dampedTranslation","panTranslation","boundary","fixed","dynamic","translationValue","cancelAnimation","onEnd","velocityX","velocityY","children","ScrollViewGesture"],"mappings":"6KAAA,oDAGA,uEACA,uFAYA,sCACA,8BAEA,4D,y8vBAoBA,GAAMA,CAAAA,kBAAmC,CAAG,QAAtCA,CAAAA,kBAAsC,CAACC,KAAD,CAAW,CACrD,sBAcIC,eAAMC,UAAN,CAAiBC,UAAjB,CAdJ,yCACEH,KADF,CAEII,QAFJ,uBAEIA,QAFJ,CAGIC,aAHJ,uBAGIA,aAHJ,CAIIC,WAJJ,uBAIIA,WAJJ,CAKIC,sBALJ,uBAKIA,sBALJ,CAMUC,QANV,uBAMIC,IANJ,CAOIC,uBAPJ,uBAOIA,uBAPJ,CAQIC,aARJ,uBAQIA,aARJ,CASIC,OATJ,uBASIA,OATJ,CAUIC,UAVJ,uBAUIA,UAVJ,CAWIC,iBAXJ,uBAWIA,iBAXJ,CAYIC,yBAZJ,uBAYIA,yBAZJ,CAgBA,GACEC,CAAAA,IADF,CASIhB,KATJ,CACEgB,IADF,CAEEC,WAFF,CASIjB,KATJ,CAEEiB,WAFF,CAGEC,MAHF,CASIlB,KATJ,CAGEkB,MAHF,cASIlB,KATJ,CAIEmB,KAJF,CAIEA,KAJF,uBAIU,EAJV,cAKEC,aALF,CASIpB,KATJ,CAKEoB,aALF,CAMEC,WANF,CASIrB,KATJ,CAMEqB,WANF,CAOEC,YAPF,CASItB,KATJ,CAOEsB,YAPF,CAQEC,UARF,CASIvB,KATJ,CAQEuB,UARF,CAWA,GAAMC,CAAAA,OAAO,CAAGX,UAAhB,CACA,GAAMY,CAAAA,YAAY,CAAG,gGAAgB,oBAAM,CAACrB,QAAP,EAAhB,uBApEfA,QAoEe,0IAAiC,CAACA,QAAD,CAAjC,CAArB,CACA,GAAMsB,CAAAA,QAAQ,CAAG,0CAAe,KAAf,CAAjB,CACA,GAAMC,CAAAA,oBAAoB,CAAG,0CAAe,CAAf,CAA7B,CACA,GAAMC,CAAAA,iBAAiB,CAAG,0CAAe,CAAf,CAA1B,CACA,GAAMC,CAAAA,YAAY,CAAG,2CAArB,CAGA,GAAMC,CAAAA,QAAQ,CAAG7B,eAAM8B,WAAN,mEAAwB,CAGvC,GAAI,CAACvB,QAAD,EAAa,CAACM,iBAAlB,CAAqC,CACnC,aAAsC,mCAAQe,YAAR,CAAtC,yBAAQG,KAAR,CAAeC,cAAf,yBAAgC,CAAhC,gBAGA,GAAIpB,UAAU,CAAGG,IAAb,CAAoBiB,cAAxB,CACE,MAAO,EAAP,CAGF,MAAOpB,CAAAA,UAAU,CAAGG,IAAb,CAAoBiB,cAA3B,CACD,CAED,MAAOpB,CAAAA,UAAU,CAAGG,IAApB,CACD,CAfgB,uBA1EZR,QA0EY,mBA1ECM,iBA0ED,SAvEXoB,8BAuEW,cAvEHL,YAuEG,YA/DVhB,UA+DU,MA/DGG,IA+DH,sIAed,CAACR,QAAD,CAAWQ,IAAX,CAAiBH,UAAjB,CAA6BC,iBAA7B,CAfc,CAAjB,CAiBA,GAAMqB,CAAAA,UAAU,CAAGlC,eAAM8B,WAAN,kEAChBK,OADgB,CACCC,UADD,CAC6B,CAE5C,GAAMC,CAAAA,oBAAyC,CAAG,CAChDC,IAAI,CAAE,QAD0C,CAEhDC,MAAM,CAAE,CACNC,QAAQ,CAAE/B,uBAAuB,CAAG,GAD9B,CAENgC,MAAM,CAAEC,kBAAOC,YAFT,CAFwC,CAAlD,CAQA,MAAO,yCAAkBjC,aAAlB,OAAkBA,aAAlB,CAAmC2B,oBAAnC,EACLF,OADK,kEAEJS,UAFI,CAEoB,CAEvB,GAAIA,UAAJ,CACER,UAAU,EAAI,mCAAQA,UAAR,GAAd,CACH,CANI,yBAtG2BA,UAsG3B,SAtGmBS,8BAsGnB,0IAAP,CAQD,CAnBgB,sCAxFLpC,uBAwFK,QAvFPiC,iBAuFO,mBApFZI,oCAoFY,eApFMpC,aAoFN,SAjFamC,8BAiFb,oIAoBjB,CAACpC,uBAAD,CAA0BC,aAA1B,CApBiB,CAAnB,CAuBA,GAAMqC,CAAAA,aAAa,CAAG/C,eAAM8B,WAAN,mEACnBM,UADmB,CACS,CAE3B,GAAMY,CAAAA,MAAM,CAAGhC,WAAW,CAACiC,KAA3B,CACA,GAAMC,CAAAA,QAAQ,CAAGvB,iBAAiB,CAACsB,KAAnC,CAEA,GAAIE,CAAAA,gBAAwB,CAAG,qCAAU,CAAED,QAAQ,CAARA,QAAF,CAAYE,YAAY,CAAE,KAA1B,CAAV,CAA/B,CAGA,GAAI,MAAOtC,CAAAA,yBAAP,GAAqC,QAArC,EAAiDuC,IAAI,CAACC,GAAL,CAAS5B,oBAAoB,CAACuB,KAA9B,EAAuCnC,yBAA5F,CAAuH,CACrHqC,gBAAgB,CAAGH,MAAnB,CACD,CAFD,IAGK,CAQH,GAAI5C,aAAJ,CAAmB,CAEjB,GAAMmD,CAAAA,MAAM,CAAG,EAAE7B,oBAAoB,CAACuB,KAArB,EAA8B,CAA9B,CAAkC,CAAlC,CAAsC,CAAC,CAAzC,CAAf,CACA,GAAMO,CAAAA,QAAQ,CAAGD,MAAM,CAAG,CAAT,CAAaF,IAAI,CAACI,IAAlB,CAAyBJ,IAAI,CAACK,KAA/C,CACA,GAAMC,CAAAA,IAAI,CAAGH,QAAQ,CAAC,CAACxC,WAAW,CAACiC,KAAb,CAAqBlC,IAAtB,CAArB,CAEA,GAAIR,QAAJ,CAAc,CACZ,GAAMqD,CAAAA,SAAS,CAAGD,IAAI,CAAGJ,MAAzB,CACAJ,gBAAgB,CAAGjB,UAAU,CAAC2B,sBAAsB,CAAC,CAACD,SAAD,CAAa7C,IAAd,CAAvB,CAA4CqB,UAA5C,CAA7B,CACD,CAHD,IAIK,CACH,GAAMwB,CAAAA,UAAS,CAAGP,IAAI,CAACS,GAAL,CAASvC,OAAO,CAAG,CAAnB,CAAsB8B,IAAI,CAACU,GAAL,CAAS,CAAT,CAAYJ,IAAI,CAAGJ,MAAnB,CAAtB,CAAlB,CACAJ,gBAAgB,CAAGjB,UAAU,CAAC2B,sBAAsB,CAAC,CAACD,UAAD,CAAa7C,IAAd,CAAvB,CAA4CqB,UAA5C,CAA7B,CACD,CACF,CAED,GAAI,CAAChC,aAAD,EAAkBC,WAAtB,CAAmC,CAEjC,GAAM2D,CAAAA,QAAQ,CAAGX,IAAI,CAACY,KAAL,CAAW,CAACjB,MAAM,CAAGE,QAAQ,CAAG,GAArB,EAA4BnC,IAAvC,EAA+CA,IAAhE,CACAoC,gBAAgB,CAAGjB,UAAU,CAAC2B,sBAAsB,CAACG,QAAD,CAAvB,CAAmC5B,UAAnC,CAA7B,CACD,CACF,CAEDpB,WAAW,CAACiC,KAAZ,CAAoBE,gBAApB,CAEA,QAASU,CAAAA,sBAAT,CAAgC7C,WAAhC,CAAqD,CACnD,GAAI,CAACT,QAAD,EAAa,CAACM,iBAAlB,CAAqC,CACnC,GAAMqD,CAAAA,KAAK,CAAGrC,QAAQ,EAAtB,CACA,GAAMsC,CAAAA,IAAI,CAAGd,IAAI,CAACc,IAAL,CAAUnD,WAAV,CAAb,CACA,MAAOmD,CAAAA,IAAI,CAAGd,IAAI,CAACU,GAAL,CAAS,CAAT,CAAYV,IAAI,CAACS,GAAL,CAASI,KAAT,CAAgBb,IAAI,CAACC,GAAL,CAAStC,WAAT,CAAhB,CAAZ,CAAd,CACD,CAED,MAAOA,CAAAA,WAAP,CACD,CACF,CAtDmB,0BA5EtBA,WA4EsB,mBAjHLW,iBAiHK,WA/GSyC,gCA+GT,2BAzGsEtD,yBAyGtE,sBA7FDY,oBA6FC,eAlFftB,aAkFe,MAhF8CW,IAgF9C,UA1EfR,QA0Ee,YA/EC2B,UA+ED,SAtFWX,OAsFX,aAlFElB,WAkFF,mBA1EFQ,iBA0EE,UAzEJgB,QAyEI,0IAuDpB,CACEK,UADF,CAEEnB,IAFF,CAGEQ,OAHF,CAIEhB,QAJF,CAKEF,WALF,CAMEW,WANF,CAOEZ,aAPF,CAQEuB,iBAAiB,CAACsB,KARpB,CASEnC,yBATF,CAUEY,oBAAoB,CAACuB,KAVvB,CAvDoB,CAAtB,CAqEA,GAAMoB,CAAAA,QAAQ,CAAGrE,eAAM8B,WAAN,kEACdc,UADc,CACU,CAEvB,GAAIA,UAAJ,CAAgB,CACdnB,QAAQ,CAACwB,KAAT,CAAiB,KAAjB,CACA7B,WAAW,EAAI,mCAAQA,WAAR,GAAf,CACD,CACF,CAPc,uBAtLfK,QAsLe,aArLQL,WAqLR,SArLAyB,8BAqLA,0IAQf,CAACzB,WAAD,CAAcK,QAAd,CARe,CAAjB,CAWA,GAAM6C,CAAAA,WAAW,CAAGtE,eAAM8B,WAAN,mEAAwB,CAE1CL,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACAjC,WAAW,CAACiC,KAAZ,CAAoB,qCAClB,CAAEC,QAAQ,CAAEvB,iBAAiB,CAACsB,KAA9B,CADkB,sDAElB,YAAAL,UAAU,QAAIyB,CAAAA,QAAQ,CAACzB,UAAD,CAAZ,EAFQ,uBAtMTyB,QAsMS,0IAApB,CAID,CAPmB,uBAlMpB5C,QAkMoB,aAjMpBT,WAiMoB,WAjMAoD,gCAiMA,mBAhMRzC,iBAgMQ,UA/LH0C,QA+LG,0IAOjB,CAACA,QAAD,CAAW1C,iBAAiB,CAACsB,KAA7B,CAAoCxB,QAApC,CAA8CT,WAA9C,CAPiB,CAApB,CASA,GAAMuD,CAAAA,aAAa,CAAGvE,eAAM8B,WAAN,mEAAwB,CAE5C,GAAIL,QAAQ,CAACwB,KAAb,CACE,OAEF,GAAIjC,WAAW,CAACiC,KAAZ,CAAoB,CAAxB,CAA2B,CACzB,GAAIvB,oBAAoB,CAACuB,KAArB,CAA6B,CAAjC,CAAoC,CAClCqB,WAAW,GACX,OACD,CACD,GAAI,CAAC/D,QAAL,CAAe,CACbS,WAAW,CAACiC,KAAZ,CAAoBf,UAAU,CAAC,CAAD,CAA9B,CACA,OACD,CACF,CAED,GAAIlB,WAAW,CAACiC,KAAZ,CAAoB,EAAE,CAAC1B,OAAO,CAAG,CAAX,EAAgBR,IAAlB,CAAxB,CAAiD,CAC/C,GAAIW,oBAAoB,CAACuB,KAArB,CAA6B,CAAjC,CAAoC,CAClCqB,WAAW,GACX,OACD,CACD,GAAI,CAAC/D,QAAL,CACES,WAAW,CAACiC,KAAZ,CAAoBf,UAAU,CAAC,EAAE,CAACX,OAAO,CAAG,CAAX,EAAgBR,IAAlB,CAAD,CAA9B,CACH,CACF,CAxBqB,uBA3MlBU,QA2MkB,aA3LLT,WA2LK,sBA/LhBU,oBA+LgB,aA9LlB4C,WA8LkB,UA3Lf/D,QA2Le,YA3Le2B,UA2Lf,SA3L6BX,OA2L7B,MA3L4CR,IA2L5C,wIAwBnB,CACDU,QAAQ,CAACwB,KADR,CAEDjC,WAFC,CAGDO,OAHC,CAIDR,IAJC,CAKDW,oBAAoB,CAACuB,KALpB,CAMD1C,QANC,CAOD+D,WAPC,CAQDpC,UARC,CAxBmB,CAAtB,CAmCA,oGACE,oBAAMlB,CAAAA,WAAW,CAACiC,KAAlB,EADF,0BA/OKjC,WA+OL,4MAEQ,CACJ,GAAI,CAACZ,aAAL,CACEmE,aAAa,GAChB,CALH,4BA9OKnE,aA8OL,eA9OoBmE,aA8OpB,0IAME,CAACnE,aAAD,CAAgBmE,aAAhB,CANF,EAxMqD,GAiN5CV,CAAAA,sBAjN4C,kEAiNrB7C,WAjNqB,CAiNA,CAGnD,GAAI,CAACT,QAAD,EAAa,CAACM,iBAAlB,CAAqC,CACnC,GAAMqD,CAAAA,KAAK,CAAGrC,QAAQ,EAAtB,CACA,GAAMsC,CAAAA,IAAI,CAAGd,IAAI,CAACc,IAAL,CAAUnD,WAAV,CAAb,CACA,MAAOmD,CAAAA,IAAI,CAAGd,IAAI,CAACU,GAAL,CAAS,CAAT,CAAYV,IAAI,CAACS,GAAL,CAASI,KAAT,CAAgBb,IAAI,CAACC,GAAL,CAAStC,WAAT,CAAhB,CAAZ,CAAd,CACD,CAED,MAAOA,CAAAA,WAAP,CACD,CA3NoD,uBAtChDT,QAsCgD,mBAtCnCM,iBAsCmC,UArCrCgB,QAqCqC,0IA6NrD,GAAM2C,CAAAA,sBAAsB,CAAG,qDAI7B,CACEC,OAAO,mEAAGC,CAAH,CAAMC,GAAN,CAAc,CACnBlD,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACA0B,GAAG,CAACC,UAAJ,CAAiB,IAAjB,CACAzD,aAAa,EAAI,mCAAQA,aAAR,GAAjB,CAEAwD,GAAG,CAACZ,GAAJ,CAAU,CAACxC,OAAO,CAAG,CAAX,EAAgBR,IAA1B,CACA,GAAI,CAACR,QAAD,EAAa,CAACM,iBAAlB,CACE8D,GAAG,CAACZ,GAAJ,CAAUlC,QAAQ,EAAlB,CAEF8C,GAAG,CAACE,SAAJ,CAAgB7D,WAAW,CAACiC,KAA5B,CACD,CAVM,uBAxQXxB,QAwQW,eAtQcN,aAsQd,SAtQM0B,8BAsQN,SArQAtB,OAqQA,MArQeR,IAqQf,UApQNR,QAoQM,mBApQOM,iBAoQP,UApQoCgB,QAoQpC,aAnQKb,WAmQL,uIADT,CAYE8D,QAAQ,kEAAGC,CAAH,CAAMJ,GAAN,CAAc,CACpB,GAAIA,GAAG,CAACC,UAAR,CAAoB,CAClBD,GAAG,CAACC,UAAJ,CAAiB,KAAjB,CACA,2CAAgB5D,WAAhB,EACD,CACDS,QAAQ,CAACwB,KAAT,CAAiB,IAAjB,CACA,GAAM+B,CAAAA,YAAN,CAAqCD,CAArC,CAAMC,YAAN,CAAoBC,YAApB,CAAqCF,CAArC,CAAoBE,YAApB,CAEA,GAAMC,CAAAA,gBAAgB,CAAG1D,YAAY,CAACyB,KAAb,CAAqB+B,YAArB,CAAoCC,YAA7D,CAEA,GAAI,MAAOnE,CAAAA,yBAAP,GAAqC,QAArC,EAAiDuC,IAAI,CAACC,GAAL,CAAS4B,gBAAT,EAA6BpE,yBAAlF,CAA6G,CAC3G,GAAMqE,CAAAA,SAAS,CAAG9B,IAAI,CAACC,GAAL,CAAS4B,gBAAT,EAA6BpE,yBAA/C,CACA,GAAMsE,CAAAA,iBAAiB,CAAGtE,yBAAyB,CAAGqE,SAAS,CAAG,GAAlE,CAEAH,YAAY,CAAGxD,YAAY,CAACyB,KAAb,CAAqBmC,iBAAiB,CAAG/B,IAAI,CAACc,IAAL,CAAUa,YAAV,CAAzC,CAAmEA,YAAlF,CACAC,YAAY,CAAG,CAACzD,YAAY,CAACyB,KAAd,CAAsBmC,iBAAiB,CAAG/B,IAAI,CAACc,IAAL,CAAUc,YAAV,CAA1C,CAAoEA,YAAnF,CACD,CAED,GAAMI,CAAAA,cAAc,CAAG7D,YAAY,CAACyB,KAAb,CAAqB+B,YAArB,CAAoCC,YAA3D,CACA,GAAI,CAAC1E,QAAL,CAAe,CACb,GAAKS,WAAW,CAACiC,KAAZ,CAAoB,CAApB,EAAyBjC,WAAW,CAACiC,KAAZ,CAAoB,CAAC0B,GAAG,CAACZ,GAAvD,CAA6D,CAC3D,GAAMuB,CAAAA,QAAQ,CAAGtE,WAAW,CAACiC,KAAZ,CAAoB,CAApB,CAAwB,CAAxB,CAA4B,CAAC0B,GAAG,CAACZ,GAAlD,CACA,GAAMwB,CAAAA,KAAK,CAAGD,QAAQ,CAAGX,GAAG,CAACE,SAA7B,CACA,GAAMW,CAAAA,OAAO,CAAGH,cAAc,CAAGE,KAAjC,CACAvE,WAAW,CAACiC,KAAZ,CAAoBqC,QAAQ,CAAGE,OAAO,CAAG,GAAzC,CACA,OACD,CACF,CAED,GAAMC,CAAAA,gBAAgB,CAAGd,GAAG,CAACE,SAAJ,CAAgBQ,cAAzC,CAEArE,WAAW,CAACiC,KAAZ,CAAoBwC,gBAApB,CACD,CAhCO,8BAjRVC,sCAiRU,aAxPZ1E,WAwPY,UA/QZS,QA+QY,cAnQWD,YAmQX,2BAvQgBV,yBAuQhB,UAlQPP,QAkQO,yIAZV,CA6CEoF,KAAK,mEAAGZ,CAAH,CAAMJ,GAAN,CAAc,CACjB,GAAQiB,CAAAA,SAAR,CAA6Db,CAA7D,CAAQa,SAAR,CAAmBC,SAAnB,CAA6Dd,CAA7D,CAAmBc,SAAnB,CAA8Bb,YAA9B,CAA6DD,CAA7D,CAA8BC,YAA9B,CAA4CC,YAA5C,CAA6DF,CAA7D,CAA4CE,YAA5C,CACAtD,iBAAiB,CAACsB,KAAlB,CAA0BzB,YAAY,CAACyB,KAAb,CACtB2C,SADsB,CAEtBC,SAFJ,CAGAnE,oBAAoB,CAACuB,KAArB,CAA6BzB,YAAY,CAACyB,KAAb,CACzB+B,YADyB,CAEzBC,YAFJ,CAIA,GAAMC,CAAAA,gBAAgB,CAAG1D,YAAY,CAACyB,KAAb,CAAqB+B,YAArB,CAAoCC,YAA7D,CAEA,GAAI,MAAOnE,CAAAA,yBAAP,GAAqC,QAArC,EAAiDuC,IAAI,CAACC,GAAL,CAAS4B,gBAAT,EAA6BpE,yBAAlF,CAA6G,CAC3G,GAAMkD,CAAAA,QAAQ,CAAGX,IAAI,CAACY,KAAL,CAAW,CAACU,GAAG,CAACE,SAAJ,CAAgB/D,yBAAyB,CAAGuC,IAAI,CAACc,IAAL,CAAUe,gBAAV,CAA7C,EAA4EnE,IAAvF,EAA+FA,IAAhH,CACAC,WAAW,CAACiC,KAAZ,CAAoBf,UAAU,CAAC2B,sBAAsB,CAACG,QAAD,CAAvB,CAAmC5C,WAAnC,CAA9B,CACD,CAHD,IAIK,CACH2B,aAAa,CAAC3B,WAAD,CAAb,CACD,CAED,GAAI,CAACb,QAAL,CACEkB,QAAQ,CAACwB,KAAT,CAAiB,KAAjB,CACH,CArBI,gCA9STtB,iBA8SS,cA5SgBH,YA4ShB,sBA7STE,oBA6SS,2BA1SsCZ,yBA0StC,MA1SyGC,IA0SzG,aAzSPC,WAySO,YAzSakB,UAySb,wBAzSwB2B,sBAySxB,aAvSOzC,WAuSP,eAvSP2B,aAuSO,UArSJxC,QAqSI,UArSMkB,QAqSN,yIA7CP,CAJ6B,CAwE7B,CACErB,aADF,CAEEoB,YAAY,CAACyB,KAFf,CAGE1C,QAHF,CAIEgB,OAJF,CAKER,IALF,CAMEV,WANF,CAOEc,aAPF,CAQEC,WARF,CAxE6B,CAA/B,CAoFA,MACE,oBAAC,4CAAD,kBACMd,sBADN,EAEE,OAAO,CAAEK,OAFX,CAGE,cAAc,CAAE6D,sBAHlB,UAKE,oBAAC,8BAAD,CAAU,IAAV,EACE,GAAG,CAAE5C,YADP,CAEE,MAAM,CAAEX,MAFV,CAGE,KAAK,CAAEC,KAHT,CAIE,YAAY,CAAEG,YAJhB,CAKE,UAAU,CAAEC,UALd,UAOGvB,KAAK,CAAC+F,QAPT,EALF,GADF,CAiBD,CAlUD,CAoUO,GAAMC,CAAAA,iBAAiB,CAAGjG,kBAA1B,C","sourcesContent":["import React from \"react\";\nimport type { StyleProp, ViewStyle } from \"react-native\";\nimport type { PanGestureHandlerGestureEvent } from \"react-native-gesture-handler\";\nimport { PanGestureHandler } from \"react-native-gesture-handler\";\nimport Animated, {\n cancelAnimation,\n measure,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedReaction,\n useAnimatedRef,\n useDerivedValue,\n useSharedValue,\n withDecay,\n} from \"react-native-reanimated\";\n\nimport { Easing } from \"./constants\";\nimport { CTX } from \"./store\";\nimport type { WithTimingAnimation } from \"./types\";\nimport { dealWithAnimation } from \"./utils/dealWithAnimation\";\n\ninterface GestureContext extends Record<string, unknown> {\n validStart: boolean\n panOffset: number\n max: number\n}\n\ninterface Props {\n size: number\n infinite?: boolean\n testID?: string\n style?: StyleProp<ViewStyle>\n onScrollBegin?: () => void\n onScrollEnd?: () => void\n onTouchBegin?: () => void\n onTouchEnd?: () => void\n translation: Animated.SharedValue<number>\n}\n\nconst IScrollViewGesture: React.FC<Props> = (props) => {\n const {\n props: {\n vertical,\n pagingEnabled,\n snapEnabled,\n panGestureHandlerProps,\n loop: infinite,\n scrollAnimationDuration,\n withAnimation,\n enabled,\n dataLength,\n overscrollEnabled,\n maxScrollDistancePerSwipe,\n },\n } = React.useContext(CTX);\n\n const {\n size,\n translation,\n testID,\n style = {},\n onScrollBegin,\n onScrollEnd,\n onTouchBegin,\n onTouchEnd,\n } = props;\n\n const maxPage = dataLength;\n const isHorizontal = useDerivedValue(() => !vertical, [vertical]);\n const touching = useSharedValue(false);\n const scrollEndTranslation = useSharedValue(0);\n const scrollEndVelocity = useSharedValue(0);\n const containerRef = useAnimatedRef<Animated.View>();\n\n // Get the limit of the scroll.\n const getLimit = React.useCallback(() => {\n \"worklet\";\n\n if (!infinite && !overscrollEnabled) {\n const { width: containerWidth = 0 } = measure(containerRef);\n\n // If the item's total width is less than the container's width, then there is no need to scroll.\n if (dataLength * size < containerWidth)\n return 0;\n\n // Disable the \"overscroll\" effect\n return dataLength * size - containerWidth;\n }\n\n return dataLength * size;\n }, [infinite, size, dataLength, overscrollEnabled]);\n\n const withSpring = React.useCallback(\n (toValue: number, onFinished?: () => void) => {\n \"worklet\";\n const defaultWithAnimation: WithTimingAnimation = {\n type: \"timing\",\n config: {\n duration: scrollAnimationDuration + 100,\n easing: Easing.easeOutQuart,\n },\n };\n\n return dealWithAnimation(withAnimation ?? defaultWithAnimation)(\n toValue,\n (isFinished: boolean) => {\n \"worklet\";\n if (isFinished)\n onFinished && runOnJS(onFinished)();\n },\n );\n },\n [scrollAnimationDuration, withAnimation],\n );\n\n const endWithSpring = React.useCallback(\n (onFinished?: () => void) => {\n \"worklet\";\n const origin = translation.value;\n const velocity = scrollEndVelocity.value;\n // Default to scroll in the direction of the slide (with deceleration)\n let finalTranslation: number = withDecay({ velocity, deceleration: 0.999 });\n\n // If the distance of the swipe exceeds the max scroll distance, keep the view at the current position\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(scrollEndTranslation.value) > maxScrollDistancePerSwipe) {\n finalTranslation = origin;\n }\n else {\n /**\n * The page size is the same as the item size.\n * If direction is vertical, the page size is the height of the item.\n * If direction is horizontal, the page size is the width of the item.\n *\n * `page size` equals to `size` variable.\n * */\n if (pagingEnabled) {\n // distance with direction\n const offset = -(scrollEndTranslation.value >= 0 ? 1 : -1); // 1 or -1\n const computed = offset < 0 ? Math.ceil : Math.floor;\n const page = computed(-translation.value / size);\n\n if (infinite) {\n const finalPage = page + offset;\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n }\n else {\n const finalPage = Math.min(maxPage - 1, Math.max(0, page + offset));\n finalTranslation = withSpring(withProcessTranslation(-finalPage * size), onFinished);\n }\n }\n\n if (!pagingEnabled && snapEnabled) {\n // scroll to the nearest item\n const nextPage = Math.round((origin + velocity * 0.4) / size) * size;\n finalTranslation = withSpring(withProcessTranslation(nextPage), onFinished);\n }\n }\n\n translation.value = finalTranslation;\n\n function withProcessTranslation(translation: number) {\n if (!infinite && !overscrollEnabled) {\n const limit = getLimit();\n const sign = Math.sign(translation);\n return sign * Math.max(0, Math.min(limit, Math.abs(translation)));\n }\n\n return translation;\n }\n },\n [\n withSpring,\n size,\n maxPage,\n infinite,\n snapEnabled,\n translation,\n pagingEnabled,\n scrollEndVelocity.value,\n maxScrollDistancePerSwipe,\n scrollEndTranslation.value,\n ],\n );\n\n const onFinish = React.useCallback(\n (isFinished: boolean) => {\n \"worklet\";\n if (isFinished) {\n touching.value = false;\n onScrollEnd && runOnJS(onScrollEnd)();\n }\n },\n [onScrollEnd, touching],\n );\n\n const activeDecay = React.useCallback(() => {\n \"worklet\";\n touching.value = true;\n translation.value = withDecay(\n { velocity: scrollEndVelocity.value },\n isFinished => onFinish(isFinished as boolean),\n );\n }, [onFinish, scrollEndVelocity.value, touching, translation]);\n\n const resetBoundary = React.useCallback(() => {\n \"worklet\";\n if (touching.value)\n return;\n\n if (translation.value > 0) {\n if (scrollEndTranslation.value < 0) {\n activeDecay();\n return;\n }\n if (!infinite) {\n translation.value = withSpring(0);\n return;\n }\n }\n\n if (translation.value < -((maxPage - 1) * size)) {\n if (scrollEndTranslation.value > 0) {\n activeDecay();\n return;\n }\n if (!infinite)\n translation.value = withSpring(-((maxPage - 1) * size));\n }\n }, [\n touching.value,\n translation,\n maxPage,\n size,\n scrollEndTranslation.value,\n infinite,\n activeDecay,\n withSpring,\n ]);\n\n useAnimatedReaction(\n () => translation.value,\n () => {\n if (!pagingEnabled)\n resetBoundary();\n },\n [pagingEnabled, resetBoundary],\n );\n\n function withProcessTranslation(translation: number) {\n \"worklet\";\n\n if (!infinite && !overscrollEnabled) {\n const limit = getLimit();\n const sign = Math.sign(translation);\n return sign * Math.max(0, Math.min(limit, Math.abs(translation)));\n }\n\n return translation;\n }\n\n const panGestureEventHandler = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n GestureContext\n >(\n {\n onStart: (_, ctx) => {\n touching.value = true;\n ctx.validStart = true;\n onScrollBegin && runOnJS(onScrollBegin)();\n\n ctx.max = (maxPage - 1) * size;\n if (!infinite && !overscrollEnabled)\n ctx.max = getLimit();\n\n ctx.panOffset = translation.value;\n },\n onActive: (e, ctx) => {\n if (ctx.validStart) {\n ctx.validStart = false;\n cancelAnimation(translation);\n }\n touching.value = true;\n let { translationX, translationY } = e;\n\n const totalTranslation = isHorizontal.value ? translationX : translationY;\n\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const overSwipe = Math.abs(totalTranslation) - maxScrollDistancePerSwipe;\n const dampedTranslation = maxScrollDistancePerSwipe + overSwipe * 0.5;\n\n translationX = isHorizontal.value ? dampedTranslation * Math.sign(translationX) : translationX;\n translationY = !isHorizontal.value ? dampedTranslation * Math.sign(translationY) : translationY;\n }\n\n const panTranslation = isHorizontal.value ? translationX : translationY;\n if (!infinite) {\n if ((translation.value > 0 || translation.value < -ctx.max)) {\n const boundary = translation.value > 0 ? 0 : -ctx.max;\n const fixed = boundary - ctx.panOffset;\n const dynamic = panTranslation - fixed;\n translation.value = boundary + dynamic * 0.5;\n return;\n }\n }\n\n const translationValue = ctx.panOffset + panTranslation;\n\n translation.value = translationValue;\n },\n onEnd: (e, ctx) => {\n const { velocityX, velocityY, translationX, translationY } = e;\n scrollEndVelocity.value = isHorizontal.value\n ? velocityX\n : velocityY;\n scrollEndTranslation.value = isHorizontal.value\n ? translationX\n : translationY;\n\n const totalTranslation = isHorizontal.value ? translationX : translationY;\n\n if (typeof maxScrollDistancePerSwipe === \"number\" && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const nextPage = Math.round((ctx.panOffset + maxScrollDistancePerSwipe * Math.sign(totalTranslation)) / size) * size;\n translation.value = withSpring(withProcessTranslation(nextPage), onScrollEnd);\n }\n else {\n endWithSpring(onScrollEnd);\n }\n\n if (!infinite)\n touching.value = false;\n },\n },\n [\n pagingEnabled,\n isHorizontal.value,\n infinite,\n maxPage,\n size,\n snapEnabled,\n onScrollBegin,\n onScrollEnd,\n ],\n );\n\n return (\n <PanGestureHandler\n {...panGestureHandlerProps}\n enabled={enabled}\n onGestureEvent={panGestureEventHandler}\n >\n <Animated.View\n ref={containerRef}\n testID={testID}\n style={style}\n onTouchStart={onTouchBegin}\n onTouchEnd={onTouchEnd}\n >\n {props.children}\n </Animated.View>\n </PanGestureHandler>\n );\n};\n\nexport const ScrollViewGesture = IScrollViewGesture;\n"]}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.omitZero=exports.computeNewIndexWhenDataChanges=void 0;var omitZero=function(){var _f=function _f(a,b){if(a===0)return 0;return b;};_f._closure={};_f.asString="function omitZero(a,b){if(a===0)return 0;return b;}";_f.__workletHash=5890945945056;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts (1:7)";return _f;}();exports.omitZero=omitZero;var computeNewIndexWhenDataChanges=function(){var _f=function _f(params){var direction=params.direction,_handlerOffset=params.handlerOffset,size=params.size,previousLength=params.previousLength,currentLength=params.currentLength;var handlerOffset=_handlerOffset;var positionIndex;var round;var isPositive=direction<0;if(isPositive){positionIndex=Math.abs(handlerOffset)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)));}else{positionIndex=(Math.abs(handlerOffset)-size)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)))+1;}var prevOffset=omitZero(previousLength,positionIndex%previousLength);var prevIndex=isPositive?prevOffset:previousLength-prevOffset-1;var changedLength=round*(currentLength-previousLength);var changedOffset=changedLength*size;if(prevIndex>currentLength-1&&currentLength<previousLength){if(isPositive)handlerOffset=(currentLength-1)*size*direction;else handlerOffset=(currentLength-1)*size*-1;}else{handlerOffset+=changedOffset*direction;}return handlerOffset;};_f._closure={omitZero:omitZero};_f.asString="function computeNewIndexWhenDataChanges(params){const{omitZero}=jsThis._closure;{const{direction:direction,handlerOffset:_handlerOffset,size:size,previousLength:previousLength,currentLength:currentLength}=params;let handlerOffset=_handlerOffset;let positionIndex;let round;const isPositive=direction<0;if(isPositive){positionIndex=Math.abs(handlerOffset)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)));}else{positionIndex=(Math.abs(handlerOffset)-size)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)))+1;}const prevOffset=omitZero(previousLength,positionIndex%previousLength);const prevIndex=isPositive?prevOffset:previousLength-prevOffset-1;const changedLength=round*(currentLength-previousLength);const changedOffset=changedLength*size;if(prevIndex>currentLength-1&&currentLength<previousLength){if(isPositive)handlerOffset=(currentLength-1)*size*direction;else handlerOffset=(currentLength-1)*size*-1;}else{handlerOffset+=changedOffset*direction;}return handlerOffset;}}";_f.__workletHash=10599245670129;_f.__location="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts (9:7)";return _f;}();exports.computeNewIndexWhenDataChanges=computeNewIndexWhenDataChanges;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.omitZero=exports.computeNewIndexWhenDataChanges=void 0;var _worklet_2585996741034_init_data={code:"function omitZero(a, b) {\n if (a === 0) return 0;\n return b;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts",sourceMap:"{\"version\":3,\"names\":[\"omitZero\",\"a\",\"b\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts\"],\"mappings\":\"AAAO,SAAAA,QAASA,CAASC,CAAC,EAAQC,CAAG,EAAQ;EAE3C,IAAID,CAAC,KAAK,CAAC,EACT,OAAO,CAAC;EAEV,OAAOC,CAAC;AACV\"}"};var omitZero=function(){var _e=[new global.Error(),1,-27];var _f=function _f(a,b){if(a===0)return 0;return b;};_f._closure={};_f.__initData=_worklet_2585996741034_init_data;_f.__workletHash=2585996741034;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}();exports.omitZero=omitZero;var _worklet_1218774587822_init_data={code:"function computeNewIndexWhenDataChanges(params) {\n const {\n omitZero\n } = this._closure;\n const {\n direction: direction,\n handlerOffset: _handlerOffset,\n size: size,\n previousLength: previousLength,\n currentLength: currentLength\n } = params;\n let handlerOffset = _handlerOffset;\n let positionIndex;\n let round;\n const isPositive = direction < 0;\n if (isPositive) {\n positionIndex = Math.abs(handlerOffset) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength)));\n } else {\n positionIndex = (Math.abs(handlerOffset) - size) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength))) + 1;\n }\n const prevOffset = omitZero(previousLength, positionIndex % previousLength);\n const prevIndex = isPositive ? prevOffset : previousLength - prevOffset - 1;\n const changedLength = round * (currentLength - previousLength);\n const changedOffset = changedLength * size;\n if (prevIndex > currentLength - 1 && currentLength < previousLength) {\n if (isPositive) handlerOffset = (currentLength - 1) * size * direction;else handlerOffset = (currentLength - 1) * size * -1;\n } else {\n handlerOffset += changedOffset * direction;\n }\n return handlerOffset;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts",sourceMap:"{\"version\":3,\"names\":[\"computeNewIndexWhenDataChanges\",\"params\",\"omitZero\",\"_closure\",\"direction\",\"handlerOffset\",\"_handlerOffset\",\"size\",\"previousLength\",\"currentLength\",\"positionIndex\",\"round\",\"isPositive\",\"Math\",\"abs\",\"parseInt\",\"String\",\"prevOffset\",\"prevIndex\",\"changedLength\",\"changedOffset\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/computeNewIndexWhenDataChanges.ts\"],\"mappings\":\"AAQO,SAAAA,8BAASA,CAA+BC,MAAA,EAM9C;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAEC,MAAM;IAAEC,SAAS,EAATA,SAAS;IAAEC,aAAa,EAAEC,cAAc;IAAEC,IAAI,EAAJA,IAAI;IAAEC,cAAc,EAAdA,cAAc;IAAEC,aAAA,EAAAA;EAAc,CAAC,GAAGR,MAAM;EAEhG,IAAII,aAAa,GAAGC,cAAc;EAClC,IAAII,aAAa;EACjB,IAAIC,KAAK;EAET,MAAMC,UAAU,GAAGR,SAAS,GAAG,CAAC;EAEhC,IAAIQ,UAAU,EAAE;IACdF,aAAa,GAAIG,IAAI,CAACC,GAAG,CAACT,aAAa,CAAC,GAAIE,IAAI;IAChDI,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACd,QAAQ,CAACM,cAAc,EAAEE,aAAa,GAAGF,cAAc,CAAC,CAAC,CAAC;EACpF,CAAC,MACI;IACHE,aAAa,GAAG,CAACG,IAAI,CAACC,GAAG,CAACT,aAAa,CAAC,GAAGE,IAAI,IAAIA,IAAI;IACvDI,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACd,QAAQ,CAACM,cAAc,EAAEE,aAAa,GAAGF,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;EACxF;EAEA,MAAMS,UAAU,GAAGf,QAAQ,CAACM,cAAc,EAAEE,aAAa,GAAGF,cAAc,CAAC;EAC3E,MAAMU,SAAS,GAAGN,UAAU,GAAGK,UAAU,GAAGT,cAAc,GAAGS,UAAU,GAAG,CAAC;EAC3E,MAAME,aAAa,GAAGR,KAAK,IAAIF,aAAa,GAAGD,cAAc,CAAC;EAC9D,MAAMY,aAAa,GAAGD,aAAa,GAAGZ,IAAI;EAC1C,IAAIW,SAAS,GAAGT,aAAa,GAAG,CAAC,IAAIA,aAAa,GAAGD,cAAc,EAAE;IACnE,IAAII,UAAU,EACZP,aAAa,GAAG,CAACI,aAAa,GAAG,CAAC,IAAIF,IAAI,GAAGH,SAAS,CAAC,KAGvDC,aAAa,GAAG,CAACI,aAAa,GAAG,CAAC,IAAIF,IAAI,GAAG,CAAC,CAAC;EACnD,CAAC,MACI;IACHF,aAAa,IAAIe,aAAa,GAAGhB,SAAS;EAC5C;EAEA,OAAOC,aAAa;AACtB\"}"};var computeNewIndexWhenDataChanges=function(){var _e=[new global.Error(),-2,-27];var _f=function _f(params){var direction=params.direction,_handlerOffset=params.handlerOffset,size=params.size,previousLength=params.previousLength,currentLength=params.currentLength;var handlerOffset=_handlerOffset;var positionIndex;var round;var isPositive=direction<0;if(isPositive){positionIndex=Math.abs(handlerOffset)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)));}else{positionIndex=(Math.abs(handlerOffset)-size)/size;round=parseInt(String(omitZero(previousLength,positionIndex/previousLength)))+1;}var prevOffset=omitZero(previousLength,positionIndex%previousLength);var prevIndex=isPositive?prevOffset:previousLength-prevOffset-1;var changedLength=round*(currentLength-previousLength);var changedOffset=changedLength*size;if(prevIndex>currentLength-1&&currentLength<previousLength){if(isPositive)handlerOffset=(currentLength-1)*size*direction;else handlerOffset=(currentLength-1)*size*-1;}else{handlerOffset+=changedOffset*direction;}return handlerOffset;};_f._closure={omitZero:omitZero};_f.__initData=_worklet_1218774587822_init_data;_f.__workletHash=1218774587822;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}();exports.computeNewIndexWhenDataChanges=computeNewIndexWhenDataChanges;
2
2
  //# sourceMappingURL=computeNewIndexWhenDataChanges.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["computeNewIndexWhenDataChanges.ts"],"names":["omitZero","a","b","computeNewIndexWhenDataChanges","params","direction","_handlerOffset","handlerOffset","size","previousLength","currentLength","positionIndex","round","isPositive","Math","abs","parseInt","String","prevOffset","prevIndex","changedLength","changedOffset"],"mappings":"2HAAgBA,CAAAA,Q,+BAASC,C,CAAWC,C,CAAW,CAE7C,GAAID,CAAC,GAAK,CAAV,CACE,MAAO,EAAP,CAEF,MAAOC,CAAAA,CAAP,CACD,C,kTAEeC,CAAAA,8B,+BAA+BC,M,CAM5C,CAED,GAAQC,CAAAA,SAAR,CAA0FD,MAA1F,CAAQC,SAAR,CAAkCC,cAAlC,CAA0FF,MAA1F,CAAmBG,aAAnB,CAAkDC,IAAlD,CAA0FJ,MAA1F,CAAkDI,IAAlD,CAAwDC,cAAxD,CAA0FL,MAA1F,CAAwDK,cAAxD,CAAwEC,aAAxE,CAA0FN,MAA1F,CAAwEM,aAAxE,CAEA,GAAIH,CAAAA,aAAa,CAAGD,cAApB,CACA,GAAIK,CAAAA,aAAJ,CACA,GAAIC,CAAAA,KAAJ,CAEA,GAAMC,CAAAA,UAAU,CAAGR,SAAS,CAAG,CAA/B,CAEA,GAAIQ,UAAJ,CAAgB,CACdF,aAAa,CAAIG,IAAI,CAACC,GAAL,CAASR,aAAT,CAAD,CAA4BC,IAA5C,CACAI,KAAK,CAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAAT,CAAP,CAAhB,CACD,CAHD,IAIK,CACHE,aAAa,CAAG,CAACG,IAAI,CAACC,GAAL,CAASR,aAAT,EAA0BC,IAA3B,EAAmCA,IAAnD,CACAI,KAAK,CAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAAT,CAAP,CAAR,CAA6E,CAArF,CACD,CAED,GAAMS,CAAAA,UAAU,CAAGlB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAA3B,CACA,GAAMU,CAAAA,SAAS,CAAGN,UAAU,CAAGK,UAAH,CAAgBT,cAAc,CAAGS,UAAjB,CAA8B,CAA1E,CACA,GAAME,CAAAA,aAAa,CAAGR,KAAK,EAAIF,aAAa,CAAGD,cAApB,CAA3B,CACA,GAAMY,CAAAA,aAAa,CAAGD,aAAa,CAAGZ,IAAtC,CACA,GAAIW,SAAS,CAAGT,aAAa,CAAG,CAA5B,EAAiCA,aAAa,CAAGD,cAArD,CAAqE,CACnE,GAAII,UAAJ,CACEN,aAAa,CAAG,CAACG,aAAa,CAAG,CAAjB,EAAsBF,IAAtB,CAA6BH,SAA7C,CADF,IAIEE,CAAAA,aAAa,CAAG,CAACG,aAAa,CAAG,CAAjB,EAAsBF,IAAtB,CAA6B,CAAC,CAA9C,CACH,CAND,IAOK,CACHD,aAAa,EAAIc,aAAa,CAAGhB,SAAjC,CACD,CAED,MAAOE,CAAAA,aAAP,CACD,C,uBArBoBP,Q","sourcesContent":["export function omitZero(a: number, b: number) {\n \"worklet\";\n if (a === 0)\n return 0;\n\n return b;\n}\n\nexport function computeNewIndexWhenDataChanges(params: {\n direction: number\n handlerOffset: number\n size: number\n previousLength: number\n currentLength: number\n}) {\n \"worklet\";\n const { direction, handlerOffset: _handlerOffset, size, previousLength, currentLength } = params;\n\n let handlerOffset = _handlerOffset;\n let positionIndex;\n let round;\n\n const isPositive = direction < 0;\n\n if (isPositive) {\n positionIndex = (Math.abs(handlerOffset)) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength)));\n }\n else {\n positionIndex = (Math.abs(handlerOffset) - size) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength))) + 1;\n }\n\n const prevOffset = omitZero(previousLength, positionIndex % previousLength);\n const prevIndex = isPositive ? prevOffset : previousLength - prevOffset - 1;\n const changedLength = round * (currentLength - previousLength);\n const changedOffset = changedLength * size;\n if (prevIndex > currentLength - 1 && currentLength < previousLength) {\n if (isPositive)\n handlerOffset = (currentLength - 1) * size * direction;\n\n else\n handlerOffset = (currentLength - 1) * size * -1;\n }\n else {\n handlerOffset += changedOffset * direction;\n }\n\n return handlerOffset;\n}\n\n"]}
1
+ {"version":3,"sources":["computeNewIndexWhenDataChanges.ts"],"names":["omitZero","a","b","computeNewIndexWhenDataChanges","params","direction","_handlerOffset","handlerOffset","size","previousLength","currentLength","positionIndex","round","isPositive","Math","abs","parseInt","String","prevOffset","prevIndex","changedLength","changedOffset"],"mappings":"usBAAgBA,CAAAA,Q,iEAASC,C,CAAWC,C,CAAW,CAE7C,GAAID,CAAC,GAAK,CAAV,CACE,MAAO,EAAP,CAEF,MAAOC,CAAAA,CAAP,CACD,C,0yGAEeC,CAAAA,8B,kEAA+BC,M,CAM5C,CAED,GAAQC,CAAAA,SAAR,CAA0FD,MAA1F,CAAQC,SAAR,CAAkCC,cAAlC,CAA0FF,MAA1F,CAAmBG,aAAnB,CAAkDC,IAAlD,CAA0FJ,MAA1F,CAAkDI,IAAlD,CAAwDC,cAAxD,CAA0FL,MAA1F,CAAwDK,cAAxD,CAAwEC,aAAxE,CAA0FN,MAA1F,CAAwEM,aAAxE,CAEA,GAAIH,CAAAA,aAAa,CAAGD,cAApB,CACA,GAAIK,CAAAA,aAAJ,CACA,GAAIC,CAAAA,KAAJ,CAEA,GAAMC,CAAAA,UAAU,CAAGR,SAAS,CAAG,CAA/B,CAEA,GAAIQ,UAAJ,CAAgB,CACdF,aAAa,CAAIG,IAAI,CAACC,GAAL,CAASR,aAAT,CAAD,CAA4BC,IAA5C,CACAI,KAAK,CAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAAT,CAAP,CAAhB,CACD,CAHD,IAIK,CACHE,aAAa,CAAG,CAACG,IAAI,CAACC,GAAL,CAASR,aAAT,EAA0BC,IAA3B,EAAmCA,IAAnD,CACAI,KAAK,CAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAAT,CAAP,CAAR,CAA6E,CAArF,CACD,CAED,GAAMS,CAAAA,UAAU,CAAGlB,QAAQ,CAACS,cAAD,CAAiBE,aAAa,CAAGF,cAAjC,CAA3B,CACA,GAAMU,CAAAA,SAAS,CAAGN,UAAU,CAAGK,UAAH,CAAgBT,cAAc,CAAGS,UAAjB,CAA8B,CAA1E,CACA,GAAME,CAAAA,aAAa,CAAGR,KAAK,EAAIF,aAAa,CAAGD,cAApB,CAA3B,CACA,GAAMY,CAAAA,aAAa,CAAGD,aAAa,CAAGZ,IAAtC,CACA,GAAIW,SAAS,CAAGT,aAAa,CAAG,CAA5B,EAAiCA,aAAa,CAAGD,cAArD,CAAqE,CACnE,GAAII,UAAJ,CACEN,aAAa,CAAG,CAACG,aAAa,CAAG,CAAjB,EAAsBF,IAAtB,CAA6BH,SAA7C,CADF,IAIEE,CAAAA,aAAa,CAAG,CAACG,aAAa,CAAG,CAAjB,EAAsBF,IAAtB,CAA6B,CAAC,CAA9C,CACH,CAND,IAOK,CACHD,aAAa,EAAIc,aAAa,CAAGhB,SAAjC,CACD,CAED,MAAOE,CAAAA,aAAP,CACD,C,uBAxBoBP,Q","sourcesContent":["export function omitZero(a: number, b: number) {\n \"worklet\";\n if (a === 0)\n return 0;\n\n return b;\n}\n\nexport function computeNewIndexWhenDataChanges(params: {\n direction: number\n handlerOffset: number\n size: number\n previousLength: number\n currentLength: number\n}) {\n \"worklet\";\n const { direction, handlerOffset: _handlerOffset, size, previousLength, currentLength } = params;\n\n let handlerOffset = _handlerOffset;\n let positionIndex;\n let round;\n\n const isPositive = direction < 0;\n\n if (isPositive) {\n positionIndex = (Math.abs(handlerOffset)) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength)));\n }\n else {\n positionIndex = (Math.abs(handlerOffset) - size) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength))) + 1;\n }\n\n const prevOffset = omitZero(previousLength, positionIndex % previousLength);\n const prevIndex = isPositive ? prevOffset : previousLength - prevOffset - 1;\n const changedLength = round * (currentLength - previousLength);\n const changedOffset = changedLength * size;\n if (prevIndex > currentLength - 1 && currentLength < previousLength) {\n if (isPositive)\n handlerOffset = (currentLength - 1) * size * direction;\n\n else\n handlerOffset = (currentLength - 1) * size * -1;\n }\n else {\n handlerOffset += changedOffset * direction;\n }\n\n return handlerOffset;\n}\n\n"]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _computeNewIndexWhenDataChanges=require("./computeNewIndexWhenDataChanges");describe("should work as expected",function(){var size=375;var positive=-1;var negative=1;var params=function params(_params){var currentIndex=_params.currentIndex,_direction=_params.direction,previousLength=_params.previousLength,currentLength=_params.currentLength;var direction=_direction==="negative"?negative:positive;return{direction:direction,handlerOffset:size*currentIndex*direction,size:size,previousLength:previousLength,currentLength:currentLength};};it("The direction is negative, And changing length of data set from 4 to 3, the new index will to be 2.",function _callee(){var currentIndex,handlerOffset;return _regenerator.default.async(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:currentIndex=1;handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:currentIndex,direction:"negative",previousLength:4,currentLength:3}));expect(handlerOffset/size).toBe(2*positive);case 3:case"end":return _context.stop();}}},null,null,null,Promise);});it("The direction is negative, Changing length of data set from 4 to 3, the index remains original.",function _callee2(){var handlerOffset;return _regenerator.default.async(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:2,direction:"negative",previousLength:4,currentLength:3}));expect(handlerOffset/size).toBe(1*negative);case 2:case"end":return _context2.stop();}}},null,null,null,Promise);});it("The direction is positive, Changing length of data set from 4 to 5, the index remains original.",function _callee3(){var handlerOffset;return _regenerator.default.async(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:3,direction:"positive",previousLength:4,currentLength:5}));expect(handlerOffset/size).toBe(3*positive);case 2:case"end":return _context3.stop();}}},null,null,null,Promise);});it("The direction is negative, Changing length of data set from 4 to 5, the index remains original.",function _callee4(){var handlerOffset;return _regenerator.default.async(function _callee4$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:3,direction:"negative",previousLength:4,currentLength:5}));expect(handlerOffset/size).toBe(4*negative);case 2:case"end":return _context4.stop();}}},null,null,null,Promise);});it("Changing length of data set from 0 to 3, the index remains original.",function _callee5(){var handlerOffset;return _regenerator.default.async(function _callee5$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:0,direction:"positive",previousLength:0,currentLength:3}));expect(handlerOffset/size).toBe(0*positive);case 2:case"end":return _context5.stop();}}},null,null,null,Promise);});});
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _computeNewIndexWhenDataChanges=require("./computeNewIndexWhenDataChanges");describe("should work as expected",function(){var size=375;var positive=-1;var negative=1;var params=function params(_params){var currentIndex=_params.currentIndex,_direction=_params.direction,previousLength=_params.previousLength,currentLength=_params.currentLength;var direction=_direction==="negative"?negative:positive;return{direction:direction,handlerOffset:size*currentIndex*direction,size:size,previousLength:previousLength,currentLength:currentLength};};it("The direction is negative, And changing length of data set from 4 to 3, the new index will to be 2.",(0,_asyncToGenerator2.default)(function*(){var currentIndex=1;var handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:currentIndex,direction:"negative",previousLength:4,currentLength:3}));expect(handlerOffset/size).toBe(2*positive);}));it("The direction is negative, Changing length of data set from 4 to 3, the index remains original.",(0,_asyncToGenerator2.default)(function*(){var handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:2,direction:"negative",previousLength:4,currentLength:3}));expect(handlerOffset/size).toBe(1*negative);}));it("The direction is positive, Changing length of data set from 4 to 5, the index remains original.",(0,_asyncToGenerator2.default)(function*(){var handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:3,direction:"positive",previousLength:4,currentLength:5}));expect(handlerOffset/size).toBe(3*positive);}));it("The direction is negative, Changing length of data set from 4 to 5, the index remains original.",(0,_asyncToGenerator2.default)(function*(){var handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:3,direction:"negative",previousLength:4,currentLength:5}));expect(handlerOffset/size).toBe(4*negative);}));it("Changing length of data set from 0 to 3, the index remains original.",(0,_asyncToGenerator2.default)(function*(){var handlerOffset=(0,_computeNewIndexWhenDataChanges.computeNewIndexWhenDataChanges)(params({currentIndex:0,direction:"positive",previousLength:0,currentLength:3}));expect(handlerOffset/size).toBe(0*positive);}));});
2
2
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.test.ts"],"names":["describe","size","positive","negative","params","currentIndex","_direction","direction","previousLength","currentLength","handlerOffset","it","expect","toBe"],"mappings":"kKAAA,gFAEAA,QAAQ,CAAC,yBAAD,CAA4B,UAAM,CACxC,GAAMC,CAAAA,IAAI,CAAG,GAAb,CACA,GAAMC,CAAAA,QAAQ,CAAG,CAAC,CAAlB,CACA,GAAMC,CAAAA,QAAQ,CAAG,CAAjB,CAEA,GAAMC,CAAAA,MAAM,CAAG,gBAACA,OAAD,CAKT,CACJ,GAAQC,CAAAA,YAAR,CAA+ED,OAA/E,CAAQC,YAAR,CAAiCC,UAAjC,CAA+EF,OAA/E,CAAsBG,SAAtB,CAA6CC,cAA7C,CAA+EJ,OAA/E,CAA6CI,cAA7C,CAA6DC,aAA7D,CAA+EL,OAA/E,CAA6DK,aAA7D,CACA,GAAMF,CAAAA,SAAS,CAAGD,UAAU,GAAK,UAAf,CAA4BH,QAA5B,CAAuCD,QAAzD,CACA,MAAO,CACLK,SAAS,CAATA,SADK,CAELG,aAAa,CAAET,IAAI,CAAGI,YAAP,CAAsBE,SAFhC,CAGLN,IAAI,CAAJA,IAHK,CAILO,cAAc,CAAdA,cAJK,CAKLC,aAAa,CAAbA,aALK,CAAP,CAOD,CAfD,CAiBAE,EAAE,CAAC,qGAAD,CAAwG,oKAClGN,YADkG,CACnF,CADmF,CAElGK,aAFkG,CAElF,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAZA,YAD0D,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAFkF,CASxGG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EATwG,qEAAxG,CAAF,CAYAS,EAAE,CAAC,iGAAD,CAAoG,4JAC9FD,aAD8F,CAC9E,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAD8E,CAQpGG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIV,QAAtC,EARoG,sEAApG,CAAF,CAWAQ,EAAE,CAAC,iGAAD,CAAoG,4JAC9FD,aAD8F,CAC9E,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAD8E,CAQpGG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EARoG,sEAApG,CAAF,CAWAS,EAAE,CAAC,iGAAD,CAAoG,4JAC9FD,aAD8F,CAC9E,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAD8E,CAQpGG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIV,QAAtC,EARoG,sEAApG,CAAF,CAWAQ,EAAE,CAAC,sEAAD,CAAyE,4JACnED,aADmE,CACnD,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CADmD,CAQzEG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EARyE,sEAAzE,CAAF,CAUD,CA7EO,CAAR","sourcesContent":["import { computeNewIndexWhenDataChanges } from \"./computeNewIndexWhenDataChanges\";\n\ndescribe(\"should work as expected\", () => {\n const size = 375;\n const positive = -1;\n const negative = 1;\n\n const params = (params: {\n direction: \"positive\" | \"negative\"\n currentIndex: number\n previousLength: number\n currentLength: number\n }) => {\n const { currentIndex, direction: _direction, previousLength, currentLength } = params;\n const direction = _direction === \"negative\" ? negative : positive;\n return {\n direction,\n handlerOffset: size * currentIndex * direction,\n size,\n previousLength,\n currentLength,\n };\n };\n\n it(\"The direction is negative, And changing length of data set from 4 to 3, the new index will to be 2.\", async () => {\n const currentIndex = 1;\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(2 * positive);\n });\n\n it(\"The direction is negative, Changing length of data set from 4 to 3, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 2,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(1 * negative);\n });\n\n it(\"The direction is positive, Changing length of data set from 4 to 5, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 3,\n direction: \"positive\",\n previousLength: 4,\n currentLength: 5,\n }));\n\n expect(handlerOffset / size).toBe(3 * positive);\n });\n\n it(\"The direction is negative, Changing length of data set from 4 to 5, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 3,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 5,\n }));\n\n expect(handlerOffset / size).toBe(4 * negative);\n });\n\n it(\"Changing length of data set from 0 to 3, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 0,\n direction: \"positive\",\n previousLength: 0,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(0 * positive);\n });\n});\n"]}
1
+ {"version":3,"sources":["index.test.ts"],"names":["describe","size","positive","negative","params","currentIndex","_direction","direction","previousLength","currentLength","handlerOffset","it","expect","toBe"],"mappings":"qLAAA,gFAEAA,QAAQ,CAAC,yBAAD,CAA4B,UAAM,CACxC,GAAMC,CAAAA,IAAI,CAAG,GAAb,CACA,GAAMC,CAAAA,QAAQ,CAAG,CAAC,CAAlB,CACA,GAAMC,CAAAA,QAAQ,CAAG,CAAjB,CAEA,GAAMC,CAAAA,MAAM,CAAG,gBAACA,OAAD,CAKT,CACJ,GAAQC,CAAAA,YAAR,CAA+ED,OAA/E,CAAQC,YAAR,CAAiCC,UAAjC,CAA+EF,OAA/E,CAAsBG,SAAtB,CAA6CC,cAA7C,CAA+EJ,OAA/E,CAA6CI,cAA7C,CAA6DC,aAA7D,CAA+EL,OAA/E,CAA6DK,aAA7D,CACA,GAAMF,CAAAA,SAAS,CAAGD,UAAU,GAAK,UAAf,CAA4BH,QAA5B,CAAuCD,QAAzD,CACA,MAAO,CACLK,SAAS,CAATA,SADK,CAELG,aAAa,CAAET,IAAI,CAAGI,YAAP,CAAsBE,SAFhC,CAGLN,IAAI,CAAJA,IAHK,CAILO,cAAc,CAAdA,cAJK,CAKLC,aAAa,CAAbA,aALK,CAAP,CAOD,CAfD,CAiBAE,EAAE,CAAC,qGAAD,gCAAwG,WAAY,CACpH,GAAMN,CAAAA,YAAY,CAAG,CAArB,CACA,GAAMK,CAAAA,aAAa,CAAG,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAZA,YAD0D,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAAtB,CAOAG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EACD,CAVC,EAAF,CAYAS,EAAE,CAAC,iGAAD,gCAAoG,WAAY,CAChH,GAAMD,CAAAA,aAAa,CAAG,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAAtB,CAOAG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIV,QAAtC,EACD,CATC,EAAF,CAWAQ,EAAE,CAAC,iGAAD,gCAAoG,WAAY,CAChH,GAAMD,CAAAA,aAAa,CAAG,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAAtB,CAOAG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EACD,CATC,EAAF,CAWAS,EAAE,CAAC,iGAAD,gCAAoG,WAAY,CAChH,GAAMD,CAAAA,aAAa,CAAG,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAAtB,CAOAG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIV,QAAtC,EACD,CATC,EAAF,CAWAQ,EAAE,CAAC,sEAAD,gCAAyE,WAAY,CACrF,GAAMD,CAAAA,aAAa,CAAG,mEAA+BN,MAAM,CAAC,CAC1DC,YAAY,CAAE,CAD4C,CAE1DE,SAAS,CAAE,UAF+C,CAG1DC,cAAc,CAAE,CAH0C,CAI1DC,aAAa,CAAE,CAJ2C,CAAD,CAArC,CAAtB,CAOAG,MAAM,CAACF,aAAa,CAAGT,IAAjB,CAAN,CAA6BY,IAA7B,CAAkC,EAAIX,QAAtC,EACD,CATC,EAAF,CAUD,CA7EO,CAAR","sourcesContent":["import { computeNewIndexWhenDataChanges } from \"./computeNewIndexWhenDataChanges\";\n\ndescribe(\"should work as expected\", () => {\n const size = 375;\n const positive = -1;\n const negative = 1;\n\n const params = (params: {\n direction: \"positive\" | \"negative\"\n currentIndex: number\n previousLength: number\n currentLength: number\n }) => {\n const { currentIndex, direction: _direction, previousLength, currentLength } = params;\n const direction = _direction === \"negative\" ? negative : positive;\n return {\n direction,\n handlerOffset: size * currentIndex * direction,\n size,\n previousLength,\n currentLength,\n };\n };\n\n it(\"The direction is negative, And changing length of data set from 4 to 3, the new index will to be 2.\", async () => {\n const currentIndex = 1;\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(2 * positive);\n });\n\n it(\"The direction is negative, Changing length of data set from 4 to 3, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 2,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(1 * negative);\n });\n\n it(\"The direction is positive, Changing length of data set from 4 to 5, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 3,\n direction: \"positive\",\n previousLength: 4,\n currentLength: 5,\n }));\n\n expect(handlerOffset / size).toBe(3 * positive);\n });\n\n it(\"The direction is negative, Changing length of data set from 4 to 5, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 3,\n direction: \"negative\",\n previousLength: 4,\n currentLength: 5,\n }));\n\n expect(handlerOffset / size).toBe(4 * negative);\n });\n\n it(\"Changing length of data set from 0 to 3, the index remains original.\", async () => {\n const handlerOffset = computeNewIndexWhenDataChanges(params({\n currentIndex: 0,\n direction: \"positive\",\n previousLength: 0,\n currentLength: 3,\n }));\n\n expect(handlerOffset / size).toBe(0 * positive);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useAutoPlay.ts"],"names":["useAutoPlay","opts","autoPlay","autoPlayReverse","autoPlayInterval","carouselController","prev","next","timer","React","useRef","stopped","play","useCallback","current","clearTimeout","setTimeout","onFinished","pause","start","useEffect"],"mappings":"yFAAA,oD,0/BAIO,QAASA,CAAAA,WAAT,CAAqBC,IAArB,CAKJ,CACD,mBAKIA,IALJ,CACEC,QADF,CACEA,QADF,yBACa,KADb,sCAKID,IALJ,CAEEE,eAFF,CAEEA,eAFF,gCAEoB,KAFpB,uBAGEC,gBAHF,CAKIH,IALJ,CAGEG,gBAHF,CAIEC,kBAJF,CAKIJ,IALJ,CAIEI,kBAJF,CAOA,GAAQC,CAAAA,IAAR,CAAuBD,kBAAvB,CAAQC,IAAR,CAAcC,IAAd,CAAuBF,kBAAvB,CAAcE,IAAd,CACA,GAAMC,CAAAA,KAAK,CAAGC,KAAK,CAACC,MAAN,EAAd,CACA,GAAMC,CAAAA,OAAO,CAAGF,KAAK,CAACC,MAAN,CAAsB,CAACR,QAAvB,CAAhB,CAEA,GAAMU,CAAAA,IAAI,CAAGH,KAAK,CAACI,WAAN,CAAkB,UAAM,CACnC,GAAIF,OAAO,CAACG,OAAZ,CACE,OAEFN,KAAK,CAACM,OAAN,EAAiBC,YAAY,CAACP,KAAK,CAACM,OAAP,CAA7B,CACAN,KAAK,CAACM,OAAN,CAAgBE,UAAU,CAAC,UAAM,CAC/Bb,eAAe,CACXG,IAAI,CAAC,CAAEW,UAAU,CAAEL,IAAd,CAAD,CADO,CAEXL,IAAI,CAAC,CAAEU,UAAU,CAAEL,IAAd,CAAD,CAFR,CAGD,CAJyB,CAIvBR,gBAJuB,CAA1B,CAKD,CAVY,CAUV,CAACD,eAAD,CAAkBC,gBAAlB,CAAoCE,IAApC,CAA0CC,IAA1C,CAVU,CAAb,CAYA,GAAMW,CAAAA,KAAK,CAAGT,KAAK,CAACI,WAAN,CAAkB,UAAM,CACpC,GAAI,CAACX,QAAL,CACE,OAEFM,KAAK,CAACM,OAAN,EAAiBC,YAAY,CAACP,KAAK,CAACM,OAAP,CAA7B,CACAH,OAAO,CAACG,OAAR,CAAkB,IAAlB,CACD,CANa,CAMX,CAACZ,QAAD,CANW,CAAd,CAQA,GAAMiB,CAAAA,KAAK,CAAGV,KAAK,CAACI,WAAN,CAAkB,UAAM,CACpC,GAAI,CAACX,QAAL,CACE,OAEFS,OAAO,CAACG,OAAR,CAAkB,KAAlB,CACAF,IAAI,GACL,CANa,CAMX,CAACA,IAAD,CAAOV,QAAP,CANW,CAAd,CAQAO,KAAK,CAACW,SAAN,CAAgB,UAAM,CACpB,GAAIlB,QAAJ,CACEiB,KAAK,GADP,IAGED,CAAAA,KAAK,GAEP,MAAOA,CAAAA,KAAP,CACD,CAPD,CAOG,CAACA,KAAD,CAAQC,KAAR,CAAejB,QAAf,CAPH,EASA,MAAO,CACLgB,KAAK,CAALA,KADK,CAELC,KAAK,CAALA,KAFK,CAAP,CAID","sourcesContent":["import * as React from \"react\";\n\nimport type { ICarouselController } from \"./useCarouselController\";\n\nexport function useAutoPlay(opts: {\n autoPlay?: boolean\n autoPlayInterval?: number\n autoPlayReverse?: boolean\n carouselController: ICarouselController\n}) {\n const {\n autoPlay = false,\n autoPlayReverse = false,\n autoPlayInterval,\n carouselController,\n } = opts;\n\n const { prev, next } = carouselController;\n const timer = React.useRef<NodeJS.Timer>();\n const stopped = React.useRef<boolean>(!autoPlay);\n\n const play = React.useCallback(() => {\n if (stopped.current)\n return;\n\n timer.current && clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n autoPlayReverse\n ? prev({ onFinished: play })\n : next({ onFinished: play });\n }, autoPlayInterval);\n }, [autoPlayReverse, autoPlayInterval, prev, next]);\n\n const pause = React.useCallback(() => {\n if (!autoPlay)\n return;\n\n timer.current && clearTimeout(timer.current);\n stopped.current = true;\n }, [autoPlay]);\n\n const start = React.useCallback(() => {\n if (!autoPlay)\n return;\n\n stopped.current = false;\n play();\n }, [play, autoPlay]);\n\n React.useEffect(() => {\n if (autoPlay)\n start();\n else\n pause();\n\n return pause;\n }, [pause, start, autoPlay]);\n\n return {\n pause,\n start,\n };\n}\n"]}
1
+ {"version":3,"sources":["useAutoPlay.ts"],"names":["useAutoPlay","opts","autoPlay","autoPlayReverse","autoPlayInterval","carouselController","prev","next","timer","React","useRef","stopped","play","useCallback","current","clearTimeout","setTimeout","onFinished","pause","start","useEffect"],"mappings":"yFAAA,oD,0/BAIO,QAASA,CAAAA,WAAT,CAAqBC,IAArB,CAKJ,CACD,mBAKIA,IALJ,CACEC,QADF,CACEA,QADF,yBACa,KADb,sCAKID,IALJ,CAEEE,eAFF,CAEEA,eAFF,gCAEoB,KAFpB,uBAGEC,gBAHF,CAKIH,IALJ,CAGEG,gBAHF,CAIEC,kBAJF,CAKIJ,IALJ,CAIEI,kBAJF,CAOA,GAAQC,CAAAA,IAAR,CAAuBD,kBAAvB,CAAQC,IAAR,CAAcC,IAAd,CAAuBF,kBAAvB,CAAcE,IAAd,CACA,GAAMC,CAAAA,KAAK,CAAGC,KAAK,CAACC,MAAN,EAAd,CACA,GAAMC,CAAAA,OAAO,CAAGF,KAAK,CAACC,MAAN,CAAsB,CAACR,QAAvB,CAAhB,CAEA,GAAMU,CAAAA,IAAI,CAAGH,KAAK,CAACI,WAAN,CAAkB,UAAM,CACnC,GAAIF,OAAO,CAACG,OAAZ,CACE,OAEFN,KAAK,CAACM,OAAN,EAAiBC,YAAY,CAACP,KAAK,CAACM,OAAP,CAA7B,CACAN,KAAK,CAACM,OAAN,CAAgBE,UAAU,CAAC,UAAM,CAC/Bb,eAAe,CACXG,IAAI,CAAC,CAAEW,UAAU,CAAEL,IAAd,CAAD,CADO,CAEXL,IAAI,CAAC,CAAEU,UAAU,CAAEL,IAAd,CAAD,CAFR,CAGD,CAJyB,CAIvBR,gBAJuB,CAA1B,CAKD,CAVY,CAUV,CAACD,eAAD,CAAkBC,gBAAlB,CAAoCE,IAApC,CAA0CC,IAA1C,CAVU,CAAb,CAYA,GAAMW,CAAAA,KAAK,CAAGT,KAAK,CAACI,WAAN,CAAkB,UAAM,CACpC,GAAI,CAACX,QAAL,CACE,OAEFM,KAAK,CAACM,OAAN,EAAiBC,YAAY,CAACP,KAAK,CAACM,OAAP,CAA7B,CACAH,OAAO,CAACG,OAAR,CAAkB,IAAlB,CACD,CANa,CAMX,CAACZ,QAAD,CANW,CAAd,CAQA,GAAMiB,CAAAA,KAAK,CAAGV,KAAK,CAACI,WAAN,CAAkB,UAAM,CACpC,GAAI,CAACX,QAAL,CACE,OAEFS,OAAO,CAACG,OAAR,CAAkB,KAAlB,CACAF,IAAI,GACL,CANa,CAMX,CAACA,IAAD,CAAOV,QAAP,CANW,CAAd,CAQAO,KAAK,CAACW,SAAN,CAAgB,UAAM,CACpB,GAAIlB,QAAJ,CACEiB,KAAK,GADP,IAGED,CAAAA,KAAK,GAEP,MAAOA,CAAAA,KAAP,CACD,CAPD,CAOG,CAACA,KAAD,CAAQC,KAAR,CAAejB,QAAf,CAPH,EASA,MAAO,CACLgB,KAAK,CAALA,KADK,CAELC,KAAK,CAALA,KAFK,CAAP,CAID","sourcesContent":["import * as React from \"react\";\n\nimport type { ICarouselController } from \"./useCarouselController\";\n\nexport function useAutoPlay(opts: {\n autoPlay?: boolean\n autoPlayInterval?: number\n autoPlayReverse?: boolean\n carouselController: ICarouselController\n}) {\n const {\n autoPlay = false,\n autoPlayReverse = false,\n autoPlayInterval,\n carouselController,\n } = opts;\n\n const { prev, next } = carouselController;\n const timer = React.useRef<number>();\n const stopped = React.useRef<boolean>(!autoPlay);\n\n const play = React.useCallback(() => {\n if (stopped.current)\n return;\n\n timer.current && clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n autoPlayReverse\n ? prev({ onFinished: play })\n : next({ onFinished: play });\n }, autoPlayInterval);\n }, [autoPlayReverse, autoPlayInterval, prev, next]);\n\n const pause = React.useCallback(() => {\n if (!autoPlay)\n return;\n\n timer.current && clearTimeout(timer.current);\n stopped.current = true;\n }, [autoPlay]);\n\n const start = React.useCallback(() => {\n if (!autoPlay)\n return;\n\n stopped.current = false;\n play();\n }, [play, autoPlay]);\n\n React.useEffect(() => {\n if (autoPlay)\n start();\n else\n pause();\n\n return pause;\n }, [pause, start, autoPlay]);\n\n return {\n pause,\n start,\n };\n}\n"]}