react-native-reanimated-carousel 3.5.0 → 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -76,12 +76,13 @@ Or if you use npm:
76
76
  npm install react-native-reanimated-carousel
77
77
  ```
78
78
 
79
- Now we need to install [`react-native-gesture-handler`](https://github.com/kmagiera/react-native-gesture-handler) and [`react-native-reanimated(>=2.0.0)`](https://github.com/kmagiera/react-native-reanimated).
79
+ Now we need to install [`react-native-gesture-handler`](https://github.com/kmagiera/react-native-gesture-handler) and [`react-native-reanimated`](https://github.com/kmagiera/react-native-reanimated).
80
80
 
81
81
  | | react-native-reanimated | react-native-gesture-handler |
82
82
  | -------------------------------------- | ----------------------- | ---------------------------- |
83
- | react-native-reanimated-carousel < v3 | <2.7.0 | \* |
84
- | react-native-reanimated-carousel >= v3 | >=2.7.0 | \* |
83
+ | react-native-reanimated-carousel v1、v2 | >=2.0 & <2.7.0 | <2.9.0 |
84
+ | react-native-reanimated-carousel v3 | >=2.7.0 & < 3.x | <2.9.0 |
85
+ | react-native-reanimated-carousel v4 | >=3.x | >=2.9.0 |
85
86
 
86
87
  ## Usage
87
88
 
package/README.zh-CN.md CHANGED
@@ -77,11 +77,13 @@ yarn add react-native-reanimated-carousel
77
77
  npm install react-native-reanimated-carousel
78
78
  ```
79
79
 
80
- 并且我们需要安装 [`react-native-gesture-handler`](https://github.com/kmagiera/react-native-gesture-handler) 、[`react-native-reanimated(>=2.0.0)`](https://github.com/kmagiera/react-native-reanimated),安装步骤可参考各自文档。
81
- | | react-native-reanimated | react-native-gesture-handler |
80
+ 并且我们需要安装 [`react-native-gesture-handler`](https://github.com/kmagiera/react-native-gesture-handler) 、[`react-native-reanimated`](https://github.com/kmagiera/react-native-reanimated),安装步骤可参考各自文档。
81
+ | | react-native-reanimated | react-native-gesture-handler |
82
82
  | -------------------------------------- | ----------------------- | ---------------------------- |
83
- | react-native-reanimated-carousel < v3 | <2.7.0 | \* |
84
- | react-native-reanimated-carousel >= v3 | >=2.7.0 | \* |
83
+ | react-native-reanimated-carousel v1、v2 | >=2.0 & <2.7.0 | <2.9.0 |
84
+ | react-native-reanimated-carousel v3 | >=2.7.0 & < 3.x | <2.9.0 |
85
+ | react-native-reanimated-carousel v4 | >=3.x | >=2.9.0 |
86
+
85
87
 
86
88
  ## 使用
87
89
 
@@ -1,2 +1,2 @@
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"}});
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)(_reactNativeGestureHandler.GestureHandlerRootView,{children:(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=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 { 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
+ {"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 { GestureHandlerRootView } 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 <GestureHandlerRootView>\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 </GestureHandlerRootView>\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 +1 @@
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
+ {"version":3,"sources":["LazyView.tsx"],"names":["LazyView","props","shouldUpdate","children"],"mappings":"oKACA,oD,6CAMO,GAAMA,CAAAA,QAA4C,CAAG,QAA/CA,CAAAA,QAA+C,CAACC,KAAD,CAAW,CACrE,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 type { PropsWithChildren } from \"react\";\nimport React from \"react\";\n\ninterface Props {\n shouldUpdate: boolean\n}\n\nexport const LazyView: React.FC<PropsWithChildren<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 _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;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.ScrollViewGesture=void 0;var _react=_interopRequireWildcard(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\":\"AAgEuC,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_15626211240956_init_data={code:"function anonymous(onFinished) {\n const {\n translation,\n scrollEndVelocity,\n withDecay,\n maxScrollDistancePerSwipeIsSet,\n scrollEndTranslation,\n maxScrollDistancePerSwipe,\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 (maxScrollDistancePerSwipeIsSet && 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\",\"maxScrollDistancePerSwipeIsSet\",\"scrollEndTranslation\",\"maxScrollDistancePerSwipe\",\"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,8BAAA;IAAAC,oBAAA;IAAAC,yBAAA;IAAAC,aAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,OAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC;EAAA,SAAAC,QAAA;EAE3B,MAAMC,MAAM,GAAGf,WAAW,CAACgB,KAAK;EAChC,MAAMC,QAAQ,GAAGhB,iBAAiB,CAACe,KAAK;EAExC,IAAIE,gBAAwB,GAAGhB,SAAS,CAAC;IAAEe,QAAQ,EAARA,QAAQ;IAAEE,YAAY,EAAE;EAAM,CAAC,CAAC;EAG3E,IAAIhB,8BAA8B,IAAIiB,IAAI,CAACC,GAAG,CAACjB,oBAAoB,CAACY,KAAK,CAAC,GAAGX,yBAAyB,EAAE;IACtGa,gBAAgB,GAAGH,MAAM;EAC3B,CAAC,MACI;IAQH,IAAIT,aAAa,EAAE;MAEjB,MAAMgB,MAAM,GAAG,EAAElB,oBAAoB,CAACY,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,CAACvB,WAAW,CAACgB,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,EAAER,UAAU,CAAC;MACtF,CAAC,MACI;QACH,MAAM4B,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,EAAER,UAAU,CAAC;MACtF;IACF;IAEA,IAAI,CAACO,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,EAAEhC,UAAU,CAAC;IAC7E;EACF;EAEAC,WAAW,CAACgB,KAAK,GAAGE,gBAAgB;EAEpC,SAASU,sBAAsBA,CAAC5B,WAAmB,EAAE;IACnD,IAAI,CAACQ,QAAQ,IAAI,CAACI,iBAAiB,EAAE;MACnC,MAAMqB,KAAK,GAAGpB,QAAQ,CAAC,CAAC;MACxB,MAAMqB,IAAI,GAAGd,IAAI,CAACc,IAAI,CAAClC,WAAW,CAAC;MACnC,OAAOkC,IAAI,GAAGd,IAAI,CAACU,GAAG,CAAC,CAAC,EAAEV,IAAI,CAACS,GAAG,CAACI,KAAK,EAAEb,IAAI,CAACC,GAAG,CAACrB,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\":\"AA0LI,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\":\"AAoMwC,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\":\"AAyMM,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\":\"AA6M0C,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\":\"AAiPI,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\":\"AAkPI,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\":\"AAyPE,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_7026398581998_init_data={code:"function anonymous() {\n const {\n touching,\n validStart,\n onScrollBegin,\n runOnJS,\n max,\n maxPage,\n size,\n infinite,\n overscrollEnabled,\n getLimit,\n panOffset,\n translation\n } = this._closure;\n touching.value = true;\n validStart.value = true;\n onScrollBegin && runOnJS(onScrollBegin)();\n max.value = (maxPage - 1) * size;\n if (!infinite && !overscrollEnabled) max.value = getLimit();\n panOffset.value = translation.value;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"touching\",\"validStart\",\"onScrollBegin\",\"runOnJS\",\"max\",\"maxPage\",\"size\",\"infinite\",\"overscrollEnabled\",\"getLimit\",\"panOffset\",\"translation\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAqQqC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC,OAAA;IAAAC,GAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,iBAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC;EAAA,SAAAC,QAAA;EAGvCZ,QAAQ,CAACa,KAAK,GAAG,IAAI;EACrBZ,UAAU,CAACY,KAAK,GAAG,IAAI;EACvBX,aAAa,IAAIC,OAAO,CAACD,aAAa,CAAC,CAAC,CAAC;EAEzCE,GAAG,CAACS,KAAK,GAAG,CAACR,OAAO,GAAG,CAAC,IAAIC,IAAI;EAChC,IAAI,CAACC,QAAQ,IAAI,CAACC,iBAAiB,EACjCJ,GAAG,CAACS,KAAK,GAAGJ,QAAQ,CAAC,CAAC;EAExBC,SAAS,CAACG,KAAK,GAAGF,WAAW,CAACE,KAAK;AACrC\"}"};var _worklet_6799966573091_init_data={code:"function anonymous(e) {\n const {\n validStart,\n cancelAnimation,\n translation,\n touching,\n isHorizontal,\n infinite,\n max,\n panOffset\n } = this._closure;\n if (validStart.value) {\n validStart.value = false;\n cancelAnimation(translation);\n }\n touching.value = true;\n const {\n translationX: translationX,\n translationY: translationY\n } = e;\n const panTranslation = isHorizontal.value ? translationX : translationY;\n if (!infinite) {\n if (translation.value > 0 || translation.value < -max.value) {\n const boundary = translation.value > 0 ? 0 : -max.value;\n const fixed = boundary - panOffset.value;\n const dynamic = panTranslation - fixed;\n translation.value = boundary + dynamic * 0.5;\n return;\n }\n }\n const translationValue = panOffset.value + 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\",\"validStart\",\"cancelAnimation\",\"translation\",\"touching\",\"isHorizontal\",\"infinite\",\"max\",\"panOffset\",\"_closure\",\"value\",\"translationX\",\"translationY\",\"panTranslation\",\"boundary\",\"fixed\",\"dynamic\",\"translationValue\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AA+RsC,SAACA,SAAqCA,CAAAC,CAAA;EAAA;IAAAC,UAAA;IAAAC,eAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,GAAA;IAAAC;EAAA,SAAAC,QAAA;EAGxE,IAAIR,UAAU,CAACS,KAAK,EAAE;IACpBT,UAAU,CAACS,KAAK,GAAG,KAAK;IACxBR,eAAe,CAACC,WAAW,CAAC;EAC9B;EACAC,QAAQ,CAACM,KAAK,GAAG,IAAI;EACrB,MAAM;IAAEC,YAAY,EAAZA,YAAY;IAAEC,YAAA,EAAAA;EAAa,CAAC,GAAGZ,CAAC;EACxC,MAAMa,cAAc,GAAGR,YAAY,CAACK,KAAK,GACrCC,YAAY,GACZC,YAAY;EAChB,IAAI,CAACN,QAAQ,EAAE;IACb,IAAKH,WAAW,CAACO,KAAK,GAAG,CAAC,IAAIP,WAAW,CAACO,KAAK,GAAG,CAACH,GAAG,CAACG,KAAK,EAAG;MAC7D,MAAMI,QAAQ,GAAGX,WAAW,CAACO,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAACH,GAAG,CAACG,KAAK;MACvD,MAAMK,KAAK,GAAGD,QAAQ,GAAGN,SAAS,CAACE,KAAK;MACxC,MAAMM,OAAO,GAAGH,cAAc,GAAGE,KAAK;MACtCZ,WAAW,CAACO,KAAK,GAAGI,QAAQ,GAAGE,OAAO,GAAG,GAAG;MAC5C;IACF;EACF;EAEA,MAAMC,gBAAgB,GAAGT,SAAS,CAACE,KAAK,GAAGG,cAAc;EACzDV,WAAW,CAACO,KAAK,GAAGO,gBAAgB;AACtC\"}"};var _worklet_6076655211025_init_data={code:"function anonymous(e) {\n const {\n scrollEndVelocity,\n isHorizontal,\n scrollEndTranslation,\n maxScrollDistancePerSwipeIsSet,\n maxScrollDistancePerSwipe,\n panOffset,\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 = scrollEndVelocity.value + scrollEndTranslation.value;\n if (maxScrollDistancePerSwipeIsSet && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const nextPage = Math.round((panOffset.value + 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\",\"scrollEndVelocity\",\"isHorizontal\",\"scrollEndTranslation\",\"maxScrollDistancePerSwipeIsSet\",\"maxScrollDistancePerSwipe\",\"panOffset\",\"size\",\"translation\",\"withSpring\",\"withProcessTranslation\",\"onScrollEnd\",\"endWithSpring\",\"infinite\",\"touching\",\"_closure\",\"velocityX\",\"velocityY\",\"translationX\",\"translationY\",\"value\",\"totalTranslation\",\"Math\",\"abs\",\"nextPage\",\"round\",\"sign\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/ScrollViewGesture.tsx\"],\"mappings\":\"AAkUsC,SAACA,SAA8DA,CAAAC,CAAA;EAAA;IAAAC,iBAAA;IAAAC,YAAA;IAAAC,oBAAA;IAAAC,8BAAA;IAAAC,yBAAA;IAAAC,SAAA;IAAAC,IAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,sBAAA;IAAAC,WAAA;IAAAC,aAAA;IAAAC,QAAA;IAAAC;EAAA,SAAAC,QAAA;EAGjG,MAAM;IAAEC,SAAS,EAATA,SAAS;IAAEC,SAAS,EAATA,SAAS;IAAEC,YAAY,EAAZA,YAAY;IAAEC,YAAA,EAAAA;EAAa,CAAC,GAAGnB,CAAC;EAC9DC,iBAAiB,CAACmB,KAAK,GAAGlB,YAAY,CAACkB,KAAK,GACxCJ,SAAS,GACTC,SAAS;EACbd,oBAAoB,CAACiB,KAAK,GAAGlB,YAAY,CAACkB,KAAK,GAC3CF,YAAY,GACZC,YAAY;EAEhB,MAAME,gBAAgB,GAAGpB,iBAAiB,CAACmB,KAAK,GAAGjB,oBAAoB,CAACiB,KAAK;EAE7E,IAAIhB,8BAA8B,IAAIkB,IAAI,CAACC,GAAG,CAACF,gBAAgB,CAAC,GAAGhB,yBAAyB,EAAE;IAC5F,MAAMmB,QAAQ,GAAGF,IAAI,CAACG,KAAK,CAAC,CAACnB,SAAS,CAACc,KAAK,GAAGf,yBAAyB,GAAGiB,IAAI,CAACI,IAAI,CAACL,gBAAgB,CAAC,IAAId,IAAI,CAAC,GAAGA,IAAI;IACtHC,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,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 max=(0,_reactNativeReanimated.useSharedValue)(0);var panOffset=(0,_reactNativeReanimated.useSharedValue)(0);var touching=(0,_reactNativeReanimated.useSharedValue)(false);var validStart=(0,_reactNativeReanimated.useSharedValue)(false);var scrollEndTranslation=(0,_reactNativeReanimated.useSharedValue)(0);var scrollEndVelocity=(0,_reactNativeReanimated.useSharedValue)(0);var containerRef=(0,_reactNativeReanimated.useAnimatedRef)();var maxScrollDistancePerSwipeIsSet=typeof maxScrollDistancePerSwipe==="number";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(),-15,-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(maxScrollDistancePerSwipeIsSet&&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,maxScrollDistancePerSwipeIsSet:maxScrollDistancePerSwipeIsSet,scrollEndTranslation:scrollEndTranslation,maxScrollDistancePerSwipe:maxScrollDistancePerSwipe,pagingEnabled:pagingEnabled,size:size,infinite:infinite,withSpring:withSpring,maxPage:maxPage,snapEnabled:snapEnabled,overscrollEnabled:overscrollEnabled,getLimit:getLimit};_f.__initData=_worklet_15626211240956_init_data;_f.__workletHash=15626211240956;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[withSpring,size,maxPage,infinite,snapEnabled,translation,pagingEnabled,scrollEndVelocity.value,maxScrollDistancePerSwipe,scrollEndTranslation.value,maxScrollDistancePerSwipeIsSet]);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 onGestureBegin=(0,_react.useCallback)(function(){var _e=[new global.Error(),-13,-27];var _f=function _f(){touching.value=true;validStart.value=true;onScrollBegin&&(0,_reactNativeReanimated.runOnJS)(onScrollBegin)();max.value=(maxPage-1)*size;if(!infinite&&!overscrollEnabled)max.value=getLimit();panOffset.value=translation.value;};_f._closure={touching:touching,validStart:validStart,onScrollBegin:onScrollBegin,runOnJS:_reactNativeReanimated.runOnJS,max:max,maxPage:maxPage,size:size,infinite:infinite,overscrollEnabled:overscrollEnabled,getLimit:getLimit,panOffset:panOffset,translation:translation};_f.__initData=_worklet_7026398581998_init_data;_f.__workletHash=7026398581998;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[max,size,maxPage,infinite,touching,panOffset,validStart,translation,overscrollEnabled,getLimit,onScrollBegin]);var onGestureUpdate=(0,_react.useCallback)(function(){var _e=[new global.Error(),-9,-27];var _f=function _f(e){if(validStart.value){validStart.value=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<-max.value){var boundary=translation.value>0?0:-max.value;var fixed=boundary-panOffset.value;var dynamic=panTranslation-fixed;translation.value=boundary+dynamic*0.5;return;}}var translationValue=panOffset.value+panTranslation;translation.value=translationValue;};_f._closure={validStart:validStart,cancelAnimation:_reactNativeReanimated.cancelAnimation,translation:translation,touching:touching,isHorizontal:isHorizontal,infinite:infinite,max:max,panOffset:panOffset};_f.__initData=_worklet_6799966573091_init_data;_f.__workletHash=6799966573091;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[isHorizontal,max,panOffset,infinite,overscrollEnabled,translation,validStart,touching]);var onGestureFinish=(0,_react.useCallback)(function(){var _e=[new global.Error(),-15,-27];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;var totalTranslation=scrollEndVelocity.value+scrollEndTranslation.value;if(maxScrollDistancePerSwipeIsSet&&Math.abs(totalTranslation)>maxScrollDistancePerSwipe){var nextPage=Math.round((panOffset.value+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,maxScrollDistancePerSwipeIsSet:maxScrollDistancePerSwipeIsSet,maxScrollDistancePerSwipe:maxScrollDistancePerSwipe,panOffset:panOffset,size:size,translation:translation,withSpring:withSpring,withProcessTranslation:withProcessTranslation,onScrollEnd:onScrollEnd,endWithSpring:endWithSpring,infinite:infinite,touching:touching};_f.__initData=_worklet_6076655211025_init_data;_f.__workletHash=6076655211025;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[size,infinite,touching,panOffset,translation,isHorizontal,scrollEndVelocity,scrollEndTranslation,maxScrollDistancePerSwipeIsSet,maxScrollDistancePerSwipe,endWithSpring,withSpring,onScrollEnd]);var gesture=(0,_react.useMemo)(function(){return _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);},[onGestureBegin,onGestureUpdate,onGestureFinish]);var GestureContainer=enabled?_reactNativeGestureHandler.GestureDetector:_react.default.Fragment;return(0,_jsxRuntime.jsx)(GestureContainer,{gesture:gesture,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","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":"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","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
+ {"version":3,"sources":["ScrollViewGesture.tsx"],"names":["IScrollViewGesture","props","React","useContext","CTX","vertical","pagingEnabled","snapEnabled","infinite","loop","scrollAnimationDuration","withAnimation","enabled","dataLength","overscrollEnabled","maxScrollDistancePerSwipe","size","translation","testID","style","onScrollBegin","onScrollEnd","onTouchBegin","onTouchEnd","maxPage","isHorizontal","max","panOffset","touching","validStart","scrollEndTranslation","scrollEndVelocity","containerRef","maxScrollDistancePerSwipeIsSet","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","nextPage","round","limit","sign","withDecay","onFinish","activeDecay","resetBoundary","onGestureBegin","onGestureUpdate","e","translationX","translationY","panTranslation","boundary","fixed","dynamic","translationValue","cancelAnimation","onGestureFinish","velocityX","velocityY","totalTranslation","gesture","Gesture","Pan","onBegin","onUpdate","onEnd","GestureContainer","GestureDetector","Fragment","children","ScrollViewGesture"],"mappings":"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","sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport type { StyleProp, ViewStyle } from \"react-native\";\nimport type { GestureStateChangeEvent, PanGestureHandlerEventPayload } from \"react-native-gesture-handler\";\nimport {\n Gesture,\n GestureDetector,\n} from \"react-native-gesture-handler\";\nimport Animated, {\n cancelAnimation,\n measure,\n runOnJS,\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 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<PropsWithChildren<Props>> = (props) => {\n const {\n props: {\n vertical,\n pagingEnabled,\n snapEnabled,\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 max = useSharedValue(0);\n const panOffset = useSharedValue(0);\n const touching = useSharedValue(false);\n const validStart = useSharedValue(false);\n const scrollEndTranslation = useSharedValue(0);\n const scrollEndVelocity = useSharedValue(0);\n const containerRef = useAnimatedRef<Animated.View>();\n const maxScrollDistancePerSwipeIsSet = typeof maxScrollDistancePerSwipe === \"number\";\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 (maxScrollDistancePerSwipeIsSet && 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 maxScrollDistancePerSwipeIsSet,\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 onGestureBegin = useCallback(() => {\n \"worklet\";\n\n touching.value = true;\n validStart.value = true;\n onScrollBegin && runOnJS(onScrollBegin)();\n\n max.value = (maxPage - 1) * size;\n if (!infinite && !overscrollEnabled)\n max.value = getLimit();\n\n panOffset.value = translation.value;\n }, [\n max,\n size,\n maxPage,\n infinite,\n touching,\n panOffset,\n validStart,\n translation,\n overscrollEnabled,\n getLimit,\n onScrollBegin,\n ]);\n\n const onGestureUpdate = useCallback((e: PanGestureHandlerEventPayload) => {\n \"worklet\";\n\n if (validStart.value) {\n validStart.value = 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 < -max.value)) {\n const boundary = translation.value > 0 ? 0 : -max.value;\n const fixed = boundary - panOffset.value;\n const dynamic = panTranslation - fixed;\n translation.value = boundary + dynamic * 0.5;\n return;\n }\n }\n\n const translationValue = panOffset.value + panTranslation;\n translation.value = translationValue;\n }, [\n isHorizontal,\n max,\n panOffset,\n infinite,\n overscrollEnabled,\n translation,\n validStart,\n touching,\n ]);\n\n const onGestureFinish = useCallback((e: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n \"worklet\";\n\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 = scrollEndVelocity.value + scrollEndTranslation.value;\n\n if (maxScrollDistancePerSwipeIsSet && Math.abs(totalTranslation) > maxScrollDistancePerSwipe) {\n const nextPage = Math.round((panOffset.value + 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 size,\n infinite,\n touching,\n panOffset,\n translation,\n isHorizontal,\n scrollEndVelocity,\n scrollEndTranslation,\n maxScrollDistancePerSwipeIsSet,\n maxScrollDistancePerSwipe,\n endWithSpring,\n withSpring,\n onScrollEnd,\n ]);\n\n const gesture = useMemo(() => Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish), [\n onGestureBegin,\n onGestureUpdate,\n onGestureFinish,\n ]);\n const GestureContainer = enabled ? GestureDetector : React.Fragment;\n\n return (\n <GestureContainer gesture={gesture}>\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 </GestureContainer>\n );\n};\n\nexport const ScrollViewGesture = IScrollViewGesture;\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<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"]}
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<ReturnType<typeof setTimeout>>();\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 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["Carousel"],"mappings":"qRAAA,4DAOA,sC,aAEeA,iB","sourcesContent":["import Carousel from \"./Carousel\";\nexport type {\n TCarouselProps,\n ICarouselInstance,\n IComputedDirectionTypes,\n CarouselRenderItem\n} from \"./types\";\nexport {ILayoutConfig} from './layouts/stack'\n\nexport default Carousel;\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["Carousel"],"mappings":"qRAAA,4DAOA,sC,aAEeA,iB","sourcesContent":["import Carousel from \"./Carousel\";\nexport type {\n TCarouselProps,\n ICarouselInstance,\n IComputedDirectionTypes,\n CarouselRenderItem,\n} from \"./types\";\nexport { ILayoutConfig } from \"./layouts/stack\";\n\nexport default Carousel;\n"]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ParallaxLayout=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireDefault(require("react"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _useOffsetX=require("../hooks/useOffsetX");var _LazyView=require("../LazyView");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.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_2396750619736_init_data={code:"function anonymous() {\n const {\n x,\n size,\n interpolate,\n parallaxScrollingOffset,\n Extrapolate,\n parallaxAdjacentItemScale,\n parallaxScrollingScale,\n vertical\n } = this._closure;\n const value = x.value / size;\n const translate = interpolate(value, [-1, 0, 1], [-size + parallaxScrollingOffset, 0, size - parallaxScrollingOffset], Extrapolate.EXTEND);\n const zIndex = interpolate(value, [-1, 0, 1], [0, size, 0], Extrapolate.CLAMP);\n const scale = interpolate(value, [-1, 0, 1], [parallaxAdjacentItemScale, parallaxScrollingScale, parallaxAdjacentItemScale], Extrapolate.CLAMP);\n return {\n transform: [vertical ? {\n translateY: translate\n } : {\n translateX: translate\n }, {\n scale: scale\n }],\n zIndex: zIndex\n };\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"x\",\"size\",\"interpolate\",\"parallaxScrollingOffset\",\"Extrapolate\",\"parallaxAdjacentItemScale\",\"parallaxScrollingScale\",\"vertical\",\"_closure\",\"value\",\"translate\",\"EXTEND\",\"zIndex\",\"CLAMP\",\"scale\",\"transform\",\"translateY\",\"translateX\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAyDwC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,CAAA;IAAAC,IAAA;IAAAC,WAAA;IAAAC,uBAAA;IAAAC,WAAA;IAAAC,yBAAA;IAAAC,sBAAA;IAAAC;EAAA,SAAAC,QAAA;EAC1C,MAAMC,KAAK,GAAGT,CAAC,CAACS,KAAK,GAAGR,IAAI;EAE5B,MAAMS,SAAS,GAAGR,WAAW,CAC3BO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACE,CAACR,IAAI,GAAGE,uBAAuB,EAC/B,CAAC,EACDF,IAAI,GAAGE,uBAAuB,CAC/B,EACDC,WAAW,CAACO,MACd,CAAC;EAED,MAAMC,MAAM,GAAGV,WAAW,CACxBO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,CAAC,EAAER,IAAI,EAAE,CAAC,CAAC,EACZG,WAAW,CAACS,KACd,CAAC;EAED,MAAMC,KAAK,GAAGZ,WAAW,CACvBO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACEJ,yBAAyB,EACzBC,sBAAsB,EACtBD,yBAAyB,CAC1B,EACDD,WAAW,CAACS,KACd,CAAC;EAED,OAAO;IACLE,SAAS,EAAE,CACTR,QAAQ,GACJ;MACAS,UAAU,EAAEN;IACd,CAAC,GACC;MACAO,UAAU,EAAEP;IACd,CAAC,EACH;MACEI,KAAA,EAAAA;IACF,CAAC,CACF;IACDF,MAAA,EAAAA;EACF,CAAC;AACH\"}"};var _worklet_11113070436332_init_data={code:"function anonymous() {\n const {\n visibleRanges\n } = this._closure;\n return visibleRanges.value;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"visibleRanges\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAqHI,SAAAA,UAAA;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,OAAMD,aAAc,CAAAE,KAAA;AAAA\"}"};var _worklet_15128277149381_init_data={code:"function anonymous() {\n const {\n runOnJS,\n updateView,\n visibleRanges\n } = this._closure;\n runOnJS(updateView)(visibleRanges.value.negativeRange, visibleRanges.value.positiveRange);\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"runOnJS\",\"updateView\",\"visibleRanges\",\"_closure\",\"value\",\"negativeRange\",\"positiveRange\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAsHI,SAAAA,SAAMA,CAAA;EAAA;IAAAC,OAAA;IAAAC,UAAA;IAAAC;EAAA,SAAAC,QAAA;EACJH,OAAO,CAACC,UAAU,CAAC,CACjBC,aAAa,CAACE,KAAK,CAACC,aAAa,EACjCH,aAAa,CAACE,KAAK,CAACE,aACtB,CAAC;AACH\"}"};var ParallaxLayout=function ParallaxLayout(props){var handlerOffset=props.handlerOffset,_props$parallaxScroll=props.parallaxScrollingOffset,parallaxScrollingOffset=_props$parallaxScroll===void 0?100:_props$parallaxScroll,_props$parallaxScroll2=props.parallaxScrollingScale,parallaxScrollingScale=_props$parallaxScroll2===void 0?0.8:_props$parallaxScroll2,_props$parallaxAdjace=props.parallaxAdjacentItemScale,parallaxAdjacentItemScale=_props$parallaxAdjace===void 0?parallaxScrollingScale**2:_props$parallaxAdjace,index=props.index,width=props.width,height=props.height,loop=props.loop,dataLength=props.dataLength,children=props.children,visibleRanges=props.visibleRanges,vertical=props.vertical;var _React$useState=_react.default.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),shouldUpdate=_React$useState2[0],setShouldUpdate=_React$useState2[1];var size=props.vertical?props.height:props.width;var x=(0,_useOffsetX.useOffsetX)({handlerOffset:handlerOffset,index:index,size:size,dataLength:dataLength,loop:loop},visibleRanges);var offsetXStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _e=[new global.Error(),-9,-27];var _f=function _f(){var value=x.value/size;var translate=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[-size+parallaxScrollingOffset,0,size-parallaxScrollingOffset],_reactNativeReanimated.Extrapolate.EXTEND);var zIndex=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[0,size,0],_reactNativeReanimated.Extrapolate.CLAMP);var scale=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[parallaxAdjacentItemScale,parallaxScrollingScale,parallaxAdjacentItemScale],_reactNativeReanimated.Extrapolate.CLAMP);return{transform:[vertical?{translateY:translate}:{translateX:translate},{scale:scale}],zIndex:zIndex};};_f._closure={x:x,size:size,interpolate:_reactNativeReanimated.interpolate,parallaxScrollingOffset:parallaxScrollingOffset,Extrapolate:_reactNativeReanimated.Extrapolate,parallaxAdjacentItemScale:parallaxAdjacentItemScale,parallaxScrollingScale:parallaxScrollingScale,vertical:vertical};_f.__initData=_worklet_2396750619736_init_data;_f.__workletHash=2396750619736;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[loop,vertical,parallaxScrollingOffset]);var updateView=_react.default.useCallback(function(negativeRange,positiveRange){setShouldUpdate(index>=negativeRange[0]&&index<=negativeRange[1]||index>=positiveRange[0]&&index<=positiveRange[1]);},[index]);(0,_reactNativeReanimated.useAnimatedReaction)(function(){var _e=[new global.Error(),-2,-27];var _f=function _f(){return visibleRanges.value;};_f._closure={visibleRanges:visibleRanges};_f.__initData=_worklet_11113070436332_init_data;_f.__workletHash=11113070436332;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),function(){var _e=[new global.Error(),-4,-27];var _f=function _f(){(0,_reactNativeReanimated.runOnJS)(updateView)(visibleRanges.value.negativeRange,visibleRanges.value.positiveRange);};_f._closure={runOnJS:_reactNativeReanimated.runOnJS,updateView:updateView,visibleRanges:visibleRanges};_f.__initData=_worklet_15128277149381_init_data;_f.__workletHash=15128277149381;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[visibleRanges.value]);return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[{width:width||"100%",height:height||"100%",position:"absolute"},offsetXStyle],children:(0,_jsxRuntime.jsx)(_LazyView.LazyView,{shouldUpdate:shouldUpdate,children:children})});};exports.ParallaxLayout=ParallaxLayout;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ParallaxLayout=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireDefault(require("react"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _useOffsetX=require("../hooks/useOffsetX");var _LazyView=require("../LazyView");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.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_2396750619736_init_data={code:"function anonymous() {\n const {\n x,\n size,\n interpolate,\n parallaxScrollingOffset,\n Extrapolate,\n parallaxAdjacentItemScale,\n parallaxScrollingScale,\n vertical\n } = this._closure;\n const value = x.value / size;\n const translate = interpolate(value, [-1, 0, 1], [-size + parallaxScrollingOffset, 0, size - parallaxScrollingOffset], Extrapolate.EXTEND);\n const zIndex = interpolate(value, [-1, 0, 1], [0, size, 0], Extrapolate.CLAMP);\n const scale = interpolate(value, [-1, 0, 1], [parallaxAdjacentItemScale, parallaxScrollingScale, parallaxAdjacentItemScale], Extrapolate.CLAMP);\n return {\n transform: [vertical ? {\n translateY: translate\n } : {\n translateX: translate\n }, {\n scale: scale\n }],\n zIndex: zIndex\n };\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"x\",\"size\",\"interpolate\",\"parallaxScrollingOffset\",\"Extrapolate\",\"parallaxAdjacentItemScale\",\"parallaxScrollingScale\",\"vertical\",\"_closure\",\"value\",\"translate\",\"EXTEND\",\"zIndex\",\"CLAMP\",\"scale\",\"transform\",\"translateY\",\"translateX\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAwDwC,SAAAA,SAAMA,CAAA;EAAA;IAAAC,CAAA;IAAAC,IAAA;IAAAC,WAAA;IAAAC,uBAAA;IAAAC,WAAA;IAAAC,yBAAA;IAAAC,sBAAA;IAAAC;EAAA,SAAAC,QAAA;EAC1C,MAAMC,KAAK,GAAGT,CAAC,CAACS,KAAK,GAAGR,IAAI;EAE5B,MAAMS,SAAS,GAAGR,WAAW,CAC3BO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACE,CAACR,IAAI,GAAGE,uBAAuB,EAC/B,CAAC,EACDF,IAAI,GAAGE,uBAAuB,CAC/B,EACDC,WAAW,CAACO,MACd,CAAC;EAED,MAAMC,MAAM,GAAGV,WAAW,CACxBO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,CAAC,EAAER,IAAI,EAAE,CAAC,CAAC,EACZG,WAAW,CAACS,KACd,CAAC;EAED,MAAMC,KAAK,GAAGZ,WAAW,CACvBO,KAAK,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACEJ,yBAAyB,EACzBC,sBAAsB,EACtBD,yBAAyB,CAC1B,EACDD,WAAW,CAACS,KACd,CAAC;EAED,OAAO;IACLE,SAAS,EAAE,CACTR,QAAQ,GACJ;MACAS,UAAU,EAAEN;IACd,CAAC,GACC;MACAO,UAAU,EAAEP;IACd,CAAC,EACH;MACEI,KAAA,EAAAA;IACF,CAAC,CACF;IACDF,MAAA,EAAAA;EACF,CAAC;AACH\"}"};var _worklet_11113070436332_init_data={code:"function anonymous() {\n const {\n visibleRanges\n } = this._closure;\n return visibleRanges.value;\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"visibleRanges\",\"_closure\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAoHI,SAAAA,UAAA;EAAA;IAAAC;EAAA,SAAAC,QAAA;EAAA,OAAMD,aAAc,CAAAE,KAAA;AAAA\"}"};var _worklet_15128277149381_init_data={code:"function anonymous() {\n const {\n runOnJS,\n updateView,\n visibleRanges\n } = this._closure;\n runOnJS(updateView)(visibleRanges.value.negativeRange, visibleRanges.value.positiveRange);\n}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx",sourceMap:"{\"version\":3,\"names\":[\"anonymous\",\"runOnJS\",\"updateView\",\"visibleRanges\",\"_closure\",\"value\",\"negativeRange\",\"positiveRange\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/layouts/ParallaxLayout.tsx\"],\"mappings\":\"AAqHI,SAAAA,SAAMA,CAAA;EAAA;IAAAC,OAAA;IAAAC,UAAA;IAAAC;EAAA,SAAAC,QAAA;EACJH,OAAO,CAACC,UAAU,CAAC,CACjBC,aAAa,CAACE,KAAK,CAACC,aAAa,EACjCH,aAAa,CAACE,KAAK,CAACE,aACtB,CAAC;AACH\"}"};var ParallaxLayout=function ParallaxLayout(props){var handlerOffset=props.handlerOffset,_props$parallaxScroll=props.parallaxScrollingOffset,parallaxScrollingOffset=_props$parallaxScroll===void 0?100:_props$parallaxScroll,_props$parallaxScroll2=props.parallaxScrollingScale,parallaxScrollingScale=_props$parallaxScroll2===void 0?0.8:_props$parallaxScroll2,_props$parallaxAdjace=props.parallaxAdjacentItemScale,parallaxAdjacentItemScale=_props$parallaxAdjace===void 0?parallaxScrollingScale**2:_props$parallaxAdjace,index=props.index,width=props.width,height=props.height,loop=props.loop,dataLength=props.dataLength,children=props.children,visibleRanges=props.visibleRanges,vertical=props.vertical;var _React$useState=_react.default.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),shouldUpdate=_React$useState2[0],setShouldUpdate=_React$useState2[1];var size=props.vertical?props.height:props.width;var x=(0,_useOffsetX.useOffsetX)({handlerOffset:handlerOffset,index:index,size:size,dataLength:dataLength,loop:loop},visibleRanges);var offsetXStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _e=[new global.Error(),-9,-27];var _f=function _f(){var value=x.value/size;var translate=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[-size+parallaxScrollingOffset,0,size-parallaxScrollingOffset],_reactNativeReanimated.Extrapolate.EXTEND);var zIndex=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[0,size,0],_reactNativeReanimated.Extrapolate.CLAMP);var scale=(0,_reactNativeReanimated.interpolate)(value,[-1,0,1],[parallaxAdjacentItemScale,parallaxScrollingScale,parallaxAdjacentItemScale],_reactNativeReanimated.Extrapolate.CLAMP);return{transform:[vertical?{translateY:translate}:{translateX:translate},{scale:scale}],zIndex:zIndex};};_f._closure={x:x,size:size,interpolate:_reactNativeReanimated.interpolate,parallaxScrollingOffset:parallaxScrollingOffset,Extrapolate:_reactNativeReanimated.Extrapolate,parallaxAdjacentItemScale:parallaxAdjacentItemScale,parallaxScrollingScale:parallaxScrollingScale,vertical:vertical};_f.__initData=_worklet_2396750619736_init_data;_f.__workletHash=2396750619736;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[loop,vertical,parallaxScrollingOffset]);var updateView=_react.default.useCallback(function(negativeRange,positiveRange){setShouldUpdate(index>=negativeRange[0]&&index<=negativeRange[1]||index>=positiveRange[0]&&index<=positiveRange[1]);},[index]);(0,_reactNativeReanimated.useAnimatedReaction)(function(){var _e=[new global.Error(),-2,-27];var _f=function _f(){return visibleRanges.value;};_f._closure={visibleRanges:visibleRanges};_f.__initData=_worklet_11113070436332_init_data;_f.__workletHash=11113070436332;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),function(){var _e=[new global.Error(),-4,-27];var _f=function _f(){(0,_reactNativeReanimated.runOnJS)(updateView)(visibleRanges.value.negativeRange,visibleRanges.value.positiveRange);};_f._closure={runOnJS:_reactNativeReanimated.runOnJS,updateView:updateView,visibleRanges:visibleRanges};_f.__initData=_worklet_15128277149381_init_data;_f.__workletHash=15128277149381;_f.__stackDetails=_e;_f.__version="3.3.0";return _f;}(),[visibleRanges.value]);return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[{width:width||"100%",height:height||"100%",position:"absolute"},offsetXStyle],children:(0,_jsxRuntime.jsx)(_LazyView.LazyView,{shouldUpdate:shouldUpdate,children:children})});};exports.ParallaxLayout=ParallaxLayout;
2
2
  //# sourceMappingURL=ParallaxLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ParallaxLayout.tsx"],"names":["ParallaxLayout","props","handlerOffset","parallaxScrollingOffset","parallaxScrollingScale","parallaxAdjacentItemScale","index","width","height","loop","dataLength","children","visibleRanges","vertical","React","useState","shouldUpdate","setShouldUpdate","size","x","offsetXStyle","value","translate","Extrapolate","EXTEND","zIndex","CLAMP","scale","transform","translateY","translateX","interpolate","updateView","useCallback","negativeRange","positiveRange","runOnJS","position"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport Animated, {\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedReaction,\n useAnimatedStyle,\n} from \"react-native-reanimated\";\n\nimport type { ILayoutConfig } from \"./parallax\";\n\nimport { useOffsetX } from \"../hooks/useOffsetX\";\nimport type { IVisibleRanges } from \"../hooks/useVisibleRanges\";\nimport { LazyView } from \"../LazyView\";\nimport type { IComputedDirectionTypes } from \"../types\";\n\nexport const ParallaxLayout: React.FC<\nIComputedDirectionTypes<\n{\n loop?: boolean\n handlerOffset: Animated.SharedValue<number>\n index: number\n dataLength: number\n visibleRanges: IVisibleRanges\n} & ILayoutConfig\n>\n> = (props) => {\n const {\n handlerOffset,\n parallaxScrollingOffset = 100,\n parallaxScrollingScale = 0.8,\n parallaxAdjacentItemScale = parallaxScrollingScale ** 2,\n index,\n width,\n height,\n loop,\n dataLength,\n children,\n visibleRanges,\n vertical,\n } = props;\n\n const [shouldUpdate, setShouldUpdate] = React.useState(false);\n\n const size = props.vertical ? props.height : props.width;\n\n const x = useOffsetX(\n {\n handlerOffset,\n index,\n size,\n dataLength,\n loop,\n },\n visibleRanges,\n );\n\n const offsetXStyle = useAnimatedStyle(() => {\n const value = x.value / size;\n\n const translate = interpolate(\n value,\n [-1, 0, 1],\n [\n -size + parallaxScrollingOffset,\n 0,\n size - parallaxScrollingOffset,\n ],\n Extrapolate.EXTEND,\n );\n\n const zIndex = interpolate(\n value,\n [-1, 0, 1],\n [0, size, 0],\n Extrapolate.CLAMP,\n );\n\n const scale = interpolate(\n value,\n [-1, 0, 1],\n [\n parallaxAdjacentItemScale,\n parallaxScrollingScale,\n parallaxAdjacentItemScale,\n ],\n Extrapolate.CLAMP,\n );\n\n return {\n transform: [\n vertical\n ? {\n translateY: translate,\n }\n : {\n translateX: translate,\n },\n {\n scale,\n },\n ],\n zIndex,\n };\n }, [loop, vertical, parallaxScrollingOffset]);\n\n const updateView = React.useCallback(\n (negativeRange: number[], positiveRange: number[]) => {\n setShouldUpdate(\n (index >= negativeRange[0] && index <= negativeRange[1])\n || (index >= positiveRange[0] && index <= positiveRange[1]),\n );\n },\n [index],\n );\n\n useAnimatedReaction(\n () => visibleRanges.value,\n () => {\n runOnJS(updateView)(\n visibleRanges.value.negativeRange,\n visibleRanges.value.positiveRange,\n );\n },\n [visibleRanges.value],\n );\n\n return (\n <Animated.View\n style={[\n {\n width: width || \"100%\",\n height: height || \"100%\",\n position: \"absolute\",\n },\n offsetXStyle,\n ]}\n >\n <LazyView shouldUpdate={shouldUpdate}>{children}</LazyView>\n </Animated.View>\n );\n};\n"]}
1
+ {"version":3,"sources":["ParallaxLayout.tsx"],"names":["ParallaxLayout","props","handlerOffset","parallaxScrollingOffset","parallaxScrollingScale","parallaxAdjacentItemScale","index","width","height","loop","dataLength","children","visibleRanges","vertical","React","useState","shouldUpdate","setShouldUpdate","size","x","offsetXStyle","value","translate","Extrapolate","EXTEND","zIndex","CLAMP","scale","transform","translateY","translateX","interpolate","updateView","useCallback","negativeRange","positiveRange","runOnJS","position"],"mappings":"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","sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport Animated, {\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedReaction,\n useAnimatedStyle,\n} from \"react-native-reanimated\";\n\nimport type { ILayoutConfig } from \"./parallax\";\n\nimport { useOffsetX } from \"../hooks/useOffsetX\";\nimport type { IVisibleRanges } from \"../hooks/useVisibleRanges\";\nimport { LazyView } from \"../LazyView\";\nimport type { IComputedDirectionTypes } from \"../types\";\n\nexport const ParallaxLayout: React.FC<PropsWithChildren<IComputedDirectionTypes<\n{\n loop?: boolean\n handlerOffset: Animated.SharedValue<number>\n index: number\n dataLength: number\n visibleRanges: IVisibleRanges\n} & ILayoutConfig\n>>> = (props) => {\n const {\n handlerOffset,\n parallaxScrollingOffset = 100,\n parallaxScrollingScale = 0.8,\n parallaxAdjacentItemScale = parallaxScrollingScale ** 2,\n index,\n width,\n height,\n loop,\n dataLength,\n children,\n visibleRanges,\n vertical,\n } = props;\n\n const [shouldUpdate, setShouldUpdate] = React.useState(false);\n\n const size = props.vertical ? props.height : props.width;\n\n const x = useOffsetX(\n {\n handlerOffset,\n index,\n size,\n dataLength,\n loop,\n },\n visibleRanges,\n );\n\n const offsetXStyle = useAnimatedStyle(() => {\n const value = x.value / size;\n\n const translate = interpolate(\n value,\n [-1, 0, 1],\n [\n -size + parallaxScrollingOffset,\n 0,\n size - parallaxScrollingOffset,\n ],\n Extrapolate.EXTEND,\n );\n\n const zIndex = interpolate(\n value,\n [-1, 0, 1],\n [0, size, 0],\n Extrapolate.CLAMP,\n );\n\n const scale = interpolate(\n value,\n [-1, 0, 1],\n [\n parallaxAdjacentItemScale,\n parallaxScrollingScale,\n parallaxAdjacentItemScale,\n ],\n Extrapolate.CLAMP,\n );\n\n return {\n transform: [\n vertical\n ? {\n translateY: translate,\n }\n : {\n translateX: translate,\n },\n {\n scale,\n },\n ],\n zIndex,\n };\n }, [loop, vertical, parallaxScrollingOffset]);\n\n const updateView = React.useCallback(\n (negativeRange: number[], positiveRange: number[]) => {\n setShouldUpdate(\n (index >= negativeRange[0] && index <= negativeRange[1])\n || (index >= positiveRange[0] && index <= positiveRange[1]),\n );\n },\n [index],\n );\n\n useAnimatedReaction(\n () => visibleRanges.value,\n () => {\n runOnJS(updateView)(\n visibleRanges.value.negativeRange,\n visibleRanges.value.positiveRange,\n );\n },\n [visibleRanges.value],\n );\n\n return (\n <Animated.View\n style={[\n {\n width: width || \"100%\",\n height: height || \"100%\",\n position: \"absolute\",\n },\n offsetXStyle,\n ]}\n >\n <LazyView shouldUpdate={shouldUpdate}>{children}</LazyView>\n </Animated.View>\n );\n};\n"]}