UNPKG

react-native-swipeable-item

Version:

A horizontally swipeable flatlist row compatible with react-native-draggable-flatlist

2 lines 23.3 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useUnderlayParams=useUnderlayParams;exports.useOverlayParams=useOverlayParams;exports.useSwipeableItemParams=useSwipeableItemParams;exports.default=exports.OpenDirection=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeGestureHandler=require("react-native-gesture-handler");var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _jsxFileName="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.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 isWeb=_reactNative.Platform.OS==="web";var OpenDirection;exports.OpenDirection=OpenDirection;(function(OpenDirection){OpenDirection["LEFT"]="left";OpenDirection["RIGHT"]="right";OpenDirection["NONE"]="none";})(OpenDirection||(exports.OpenDirection=OpenDirection={}));var renderNull=function renderNull(){return null;};var MAX_Z_INDEX=100;var UnderlayContext=_react.default.createContext(undefined);var OverlayContext=_react.default.createContext(undefined);function SwipeableItem(props,ref){var item=props.item,children=props.children,_props$renderOverlay=props.renderOverlay,renderOverlay=_props$renderOverlay===void 0?renderNull:_props$renderOverlay,_props$renderUnderlay=props.renderUnderlayLeft,renderUnderlayLeft=_props$renderUnderlay===void 0?renderNull:_props$renderUnderlay,_props$renderUnderlay2=props.renderUnderlayRight,renderUnderlayRight=_props$renderUnderlay2===void 0?renderNull:_props$renderUnderlay2,_props$snapPointsLeft=props.snapPointsLeft,snapPointsLeft=_props$snapPointsLeft===void 0?[]:_props$snapPointsLeft,_props$snapPointsRigh=props.snapPointsRight,snapPointsRight=_props$snapPointsRigh===void 0?[]:_props$snapPointsRigh,swipeEnabled=props.swipeEnabled,_props$activationThre=props.activationThreshold,activationThreshold=_props$activationThre===void 0?20:_props$activationThre,_props$overSwipe=props.overSwipe,overSwipe=_props$overSwipe===void 0?20:_props$overSwipe,_props$swipeDamping=props.swipeDamping,swipeDamping=_props$swipeDamping===void 0?10:_props$swipeDamping,_props$onChange=props.onChange,onChange=_props$onChange===void 0?function(){}:_props$onChange,_props$animationConfi=props.animationConfig,animationConfig=_props$animationConfi===void 0?{}:_props$animationConfi;var springConfig=Object.assign({damping:20,mass:0.2,stiffness:100,overshootClamping:false,restSpeedThreshold:0.5,restDisplacementThreshold:0.5},animationConfig);var _useState=(0,_react.useState)(OpenDirection.NONE),_useState2=(0,_slicedToArray2.default)(_useState,2),openDirection=_useState2[0],setOpenDirection=_useState2[1];var animStatePos=(0,_reactNativeReanimated.useSharedValue)(0);var isGestureActive=(0,_reactNativeReanimated.useSharedValue)(false);var swipingLeft=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){return animStatePos.value<0;};_f._closure={animStatePos:animStatePos};_f.asString="function _f(){const{animStatePos}=jsThis._closure;{return animStatePos.value<0;}}";_f.__workletHash=17976613983;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (135:4)";return _f;}(),[animStatePos]);var swipingRight=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){return animStatePos.value>0;};_f._closure={animStatePos:animStatePos};_f.asString="function _f(){const{animStatePos}=jsThis._closure;{return animStatePos.value>0;}}";_f.__workletHash=10987595527773;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (139:4)";return _f;}(),[animStatePos]);var maxSnapPointLeft=-1*Math.max.apply(Math,(0,_toConsumableArray2.default)(snapPointsLeft.length?snapPointsLeft:[0]));var maxSnapPointRight=Math.max.apply(Math,(0,_toConsumableArray2.default)(snapPointsRight.length?snapPointsRight:[0]));var maxTranslateLeft=maxSnapPointLeft-(maxSnapPointLeft?overSwipe:0);var maxTranslateRight=maxSnapPointRight+(maxSnapPointRight?overSwipe:0);var percentOpenLeft=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){return swipingLeft.value&&maxSnapPointLeft?Math.abs(animStatePos.value/maxSnapPointLeft):0;};_f._closure={swipingLeft:swipingLeft,maxSnapPointLeft:maxSnapPointLeft,animStatePos:animStatePos};_f.asString="function _f(){const{swipingLeft,maxSnapPointLeft,animStatePos}=jsThis._closure;{return swipingLeft.value&&maxSnapPointLeft?Math.abs(animStatePos.value/maxSnapPointLeft):0;}}";_f.__workletHash=4792978139148;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (155:42)";return _f;}(),[maxSnapPointLeft]);var percentOpenRight=(0,_reactNativeReanimated.useDerivedValue)(function(){var _f=function _f(){return swipingRight.value&&maxSnapPointRight?Math.abs(animStatePos.value/maxSnapPointRight):0;};_f._closure={swipingRight:swipingRight,maxSnapPointRight:maxSnapPointRight,animStatePos:animStatePos};_f.asString="function _f(){const{swipingRight,maxSnapPointRight,animStatePos}=jsThis._closure;{return swipingRight.value&&maxSnapPointRight?Math.abs(animStatePos.value/maxSnapPointRight):0;}}";_f.__workletHash=370293057975;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (160:43)";return _f;}(),[maxSnapPointRight]);var hasLeft=!!(snapPointsLeft!=null&&snapPointsLeft.length);var hasRight=!!(snapPointsRight!=null&&snapPointsRight.length);var activeOffsetL=hasLeft||openDirection===OpenDirection.RIGHT?-activationThreshold:-Number.MAX_VALUE;var activeOffsetR=hasRight||openDirection===OpenDirection.LEFT?activationThreshold:Number.MAX_VALUE;var activeOffsetX=[activeOffsetL,activeOffsetR];var leftStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){var opacity=percentOpenLeft.value>0?1:0;var zIndex=Math.floor(Math.min(percentOpenLeft.value*MAX_Z_INDEX,MAX_Z_INDEX-1));return isWeb?{opacity:opacity,zIndex:zIndex}:{opacity:opacity};};_f._closure={percentOpenLeft:percentOpenLeft,MAX_Z_INDEX:MAX_Z_INDEX,isWeb:isWeb};_f.asString="function _f(){const{percentOpenLeft,MAX_Z_INDEX,isWeb}=jsThis._closure;{const opacity=percentOpenLeft.value>0?1:0;const zIndex=Math.floor(Math.min(percentOpenLeft.value*MAX_Z_INDEX,MAX_Z_INDEX-1));return isWeb?{opacity:opacity,zIndex:zIndex}:{opacity:opacity};}}";_f.__workletHash=5890822599774;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (179:37)";_f.__optimalization=2;return _f;}(),[]);var rightStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){var opacity=percentOpenRight.value>0?1:0;var zIndex=Math.floor(Math.min(percentOpenRight.value*MAX_Z_INDEX,MAX_Z_INDEX-1));return isWeb?{opacity:opacity,zIndex:zIndex}:{opacity:opacity};};_f._closure={percentOpenRight:percentOpenRight,MAX_Z_INDEX:MAX_Z_INDEX,isWeb:isWeb};_f.asString="function _f(){const{percentOpenRight,MAX_Z_INDEX,isWeb}=jsThis._closure;{const opacity=percentOpenRight.value>0?1:0;const zIndex=Math.floor(Math.min(percentOpenRight.value*MAX_Z_INDEX,MAX_Z_INDEX-1));return isWeb?{opacity:opacity,zIndex:zIndex}:{opacity:opacity};}}";_f.__workletHash=6379692917669;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (187:38)";_f.__optimalization=2;return _f;}(),[]);var overlayStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){var transform=[{translateX:animStatePos.value}];var zIndex=MAX_Z_INDEX;return isWeb?{transform:transform,zIndex:zIndex}:{transform:transform};};_f._closure={animStatePos:animStatePos,MAX_Z_INDEX:MAX_Z_INDEX,isWeb:isWeb};_f.asString="function _f(){const{animStatePos,MAX_Z_INDEX,isWeb}=jsThis._closure;{const transform=[{translateX:animStatePos.value}];const zIndex=MAX_Z_INDEX;return isWeb?{transform:transform,zIndex:zIndex}:{transform:transform};}}";_f.__workletHash=3588167083756;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (195:40)";_f.__optimalization=3;return _f;}(),[animStatePos]);var openLeft=function openLeft(snapPoint,options){var toValue=snapPoint!=null?snapPoint:maxSnapPointLeft;return new Promise(function(resolve){function resolvePromiseIfFinished(isFinished){if(isFinished)resolve();onAnimationEnd(OpenDirection.LEFT,toValue);}if((options==null?void 0:options.animated)===false){animStatePos.value=toValue;(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(true);}else{animStatePos.value=(0,_reactNativeReanimated.withSpring)(toValue,springConfig,function(){var _f=function _f(isFinished){if(isFinished){(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(isFinished);}};_f._closure={runOnJS:_reactNativeReanimated.runOnJS,resolvePromiseIfFinished:resolvePromiseIfFinished};_f.asString="function _f(isFinished){const{runOnJS,resolvePromiseIfFinished}=jsThis._closure;{if(isFinished){runOnJS(resolvePromiseIfFinished)(isFinished);}}}";_f.__workletHash=496552931088;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (215:63)";return _f;}());}});};var openRight=function openRight(snapPoint,options){var toValue=snapPoint!=null?snapPoint:maxSnapPointRight;return new Promise(function(resolve){function resolvePromiseIfFinished(isFinished){if(isFinished)resolve();onAnimationEnd(OpenDirection.RIGHT,toValue);}if((options==null?void 0:options.animated)===false){animStatePos.value=toValue;(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(true);}else{animStatePos.value=(0,_reactNativeReanimated.withSpring)(toValue,springConfig,function(){var _f=function _f(isFinished){if(isFinished){(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(isFinished);}};_f._closure={runOnJS:_reactNativeReanimated.runOnJS,resolvePromiseIfFinished:resolvePromiseIfFinished};_f.asString="function _f(isFinished){const{runOnJS,resolvePromiseIfFinished}=jsThis._closure;{if(isFinished){runOnJS(resolvePromiseIfFinished)(isFinished);}}}";_f.__workletHash=496552931088;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (237:63)";return _f;}());}});};var close=function close(options){var toValue=0;return new Promise(function(resolve){function resolvePromiseIfFinished(isFinished){if(isFinished)resolve();onAnimationEnd(OpenDirection.NONE,toValue);}if((options==null?void 0:options.animated)===false){animStatePos.value=toValue;(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(true);}else{animStatePos.value=(0,_reactNativeReanimated.withSpring)(toValue,springConfig,function(){var _f=function _f(isFinished){if(isFinished){(0,_reactNativeReanimated.runOnJS)(resolvePromiseIfFinished)(isFinished);}};_f._closure={runOnJS:_reactNativeReanimated.runOnJS,resolvePromiseIfFinished:resolvePromiseIfFinished};_f.asString="function _f(isFinished){const{runOnJS,resolvePromiseIfFinished}=jsThis._closure;{if(isFinished){runOnJS(resolvePromiseIfFinished)(isFinished);}}}";_f.__workletHash=496552931088;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (258:63)";return _f;}());}});};(0,_react.useImperativeHandle)(ref,function(){var refObject={open:function open(openDirection,snapPoint,options){if(openDirection===OpenDirection.LEFT)return openLeft(snapPoint,options);if(openDirection===OpenDirection.RIGHT)return openRight(snapPoint,options);return close();},close:close};return refObject;});function onAnimationEnd(_openDirection,snapPoint){setOpenDirection(_openDirection);var didChange=openDirection!==OpenDirection.NONE||_openDirection!==OpenDirection.NONE;if(didChange){onChange({openDirection:_openDirection,snapPoint:snapPoint});}}var startX=(0,_reactNativeReanimated.useSharedValue)(0);var gesture=_reactNativeGestureHandler.Gesture.Pan().onBegin(function(){var _f=function _f(){if(isWeb){startX.value=animStatePos.value;isGestureActive.value=true;}};_f._closure={isWeb:isWeb,startX:startX,animStatePos:animStatePos,isGestureActive:isGestureActive};_f.asString="function _f(){const{isWeb,startX,animStatePos,isGestureActive}=jsThis._closure;{if(isWeb){startX.value=animStatePos.value;isGestureActive.value=true;}}}";_f.__workletHash=8592658187408;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (294:13)";return _f;}()).onStart(function(){var _f=function _f(){startX.value=animStatePos.value;isGestureActive.value=true;};_f._closure={startX:startX,animStatePos:animStatePos,isGestureActive:isGestureActive};_f.asString="function _f(){const{startX,animStatePos,isGestureActive}=jsThis._closure;{startX.value=animStatePos.value;isGestureActive.value=true;}}";_f.__workletHash=488249294164;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (302:13)";return _f;}()).onUpdate(function(){var _f=function _f(evt){var rawVal=evt.translationX+startX.value;var clampedVal=(0,_reactNativeReanimated.interpolate)(rawVal,[maxTranslateLeft,maxTranslateRight],[maxTranslateLeft,maxTranslateRight],_reactNativeReanimated.Extrapolate.CLAMP);animStatePos.value=clampedVal;};_f._closure={startX:startX,interpolate:_reactNativeReanimated.interpolate,maxTranslateLeft:maxTranslateLeft,maxTranslateRight:maxTranslateRight,Extrapolate:{CLAMP:_reactNativeReanimated.Extrapolate.CLAMP},animStatePos:animStatePos};_f.asString="function _f(evt){const{startX,interpolate,maxTranslateLeft,maxTranslateRight,Extrapolate,animStatePos}=jsThis._closure;{const rawVal=evt.translationX+startX.value;const clampedVal=interpolate(rawVal,[maxTranslateLeft,maxTranslateRight],[maxTranslateLeft,maxTranslateRight],Extrapolate.CLAMP);animStatePos.value=clampedVal;}}";_f.__workletHash=4794981626480;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (306:14)";return _f;}()).onEnd(function(){var _f=function _f(evt){isGestureActive.value=false;var velocityModifiedPosition=animStatePos.value+evt.velocityX/swipeDamping;var allSnapPoints=snapPointsLeft.map(function(p){return p*-1;}).concat(snapPointsRight);allSnapPoints.push(0);var closestSnapPoint=allSnapPoints.reduce(function(acc,cur){var diff=Math.abs(velocityModifiedPosition-cur);var prevDiff=Math.abs(velocityModifiedPosition-acc);return diff<prevDiff?cur:acc;},Infinity);var onComplete=function(){var _f=function _f(){var openDirection=closestSnapPoint===0?OpenDirection.NONE:closestSnapPoint>0?OpenDirection.RIGHT:OpenDirection.LEFT;(0,_reactNativeReanimated.runOnJS)(onAnimationEnd)(openDirection,Math.abs(closestSnapPoint));};_f._closure={closestSnapPoint:closestSnapPoint,OpenDirection:{NONE:OpenDirection.NONE,RIGHT:OpenDirection.RIGHT,LEFT:OpenDirection.LEFT},runOnJS:_reactNativeReanimated.runOnJS,onAnimationEnd:onAnimationEnd};_f.asString="function _f(){const{closestSnapPoint,OpenDirection,runOnJS,onAnimationEnd}=jsThis._closure;{const openDirection=closestSnapPoint===0?OpenDirection.NONE:closestSnapPoint>0?OpenDirection.RIGHT:OpenDirection.LEFT;runOnJS(onAnimationEnd)(openDirection,Math.abs(closestSnapPoint));}}";_f.__workletHash=14855756719660;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (338:25)";return _f;}();if(animStatePos.value===closestSnapPoint)onComplete();else animStatePos.value=(0,_reactNativeReanimated.withSpring)(closestSnapPoint,springConfig,onComplete);};_f._closure={isGestureActive:isGestureActive,animStatePos:animStatePos,swipeDamping:swipeDamping,snapPointsLeft:snapPointsLeft,snapPointsRight:snapPointsRight,Infinity:Infinity,OpenDirection:{NONE:OpenDirection.NONE,RIGHT:OpenDirection.RIGHT,LEFT:OpenDirection.LEFT},runOnJS:_reactNativeReanimated.runOnJS,onAnimationEnd:onAnimationEnd,withSpring:_reactNativeReanimated.withSpring,springConfig:springConfig};_f.asString="function _f(evt){const{isGestureActive,animStatePos,swipeDamping,snapPointsLeft,snapPointsRight,Infinity,OpenDirection,runOnJS,onAnimationEnd,withSpring,springConfig}=jsThis._closure;{isGestureActive.value=false;const velocityModifiedPosition=animStatePos.value+evt.velocityX/swipeDamping;const allSnapPoints=snapPointsLeft.map(function(p){return p*-1;}).concat(snapPointsRight);allSnapPoints.push(0);const closestSnapPoint=allSnapPoints.reduce(function(acc,cur){const diff=Math.abs(velocityModifiedPosition-cur);const prevDiff=Math.abs(velocityModifiedPosition-acc);return diff<prevDiff?cur:acc;},Infinity);const onComplete=function(){\"worklet\";const openDirection=closestSnapPoint===0?OpenDirection.NONE:closestSnapPoint>0?OpenDirection.RIGHT:OpenDirection.LEFT;runOnJS(onAnimationEnd)(openDirection,Math.abs(closestSnapPoint));};if(animStatePos.value===closestSnapPoint)onComplete();else animStatePos.value=withSpring(closestSnapPoint,springConfig,onComplete);}}";_f.__workletHash=14342876842863;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (316:11)";return _f;}()).enabled(swipeEnabled!==false).activeOffsetX(activeOffsetX);var sharedParams=(0,_react.useMemo)(function(){return{item:item,isGestureActive:isGestureActive,close:close};},[]);var underlayRightParams=(0,_react.useMemo)(function(){return Object.assign({open:openRight,percentOpen:percentOpenRight,direction:OpenDirection.RIGHT},sharedParams);},[percentOpenRight,openRight,sharedParams]);var underlayLeftParams=(0,_react.useMemo)(function(){return Object.assign({open:openLeft,percentOpen:percentOpenLeft,direction:OpenDirection.LEFT},sharedParams);},[item,percentOpenLeft,openLeft,sharedParams]);var overlayParams=(0,_react.useMemo)(function(){var open=hasLeft&&!hasRight?openLeft:hasRight&&!hasLeft?openRight:openLeft;return Object.assign({openLeft:openLeft,openRight:openRight,percentOpenLeft:percentOpenLeft,percentOpenRight:percentOpenRight,openDirection:openDirection,open:open},sharedParams);},[openLeft,openRight,openDirection,percentOpenLeft,percentOpenRight,hasLeft,hasRight]);var animPropsLeft=(0,_reactNativeReanimated.useAnimatedProps)(function(){var _f=function _f(){if(isWeb)return{pointerEvents:"auto"};return{pointerEvents:percentOpenLeft.value>0?"auto":"none"};};_f._closure={isWeb:isWeb,percentOpenLeft:percentOpenLeft};_f.asString="function _f(){const{isWeb,percentOpenLeft}=jsThis._closure;{if(isWeb)return{pointerEvents:\"auto\"};return{pointerEvents:percentOpenLeft.value>0?\"auto\":\"none\"};}}";_f.__workletHash=16874614000033;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (414:41)";return _f;}(),[]);var animPropsRight=(0,_reactNativeReanimated.useAnimatedProps)(function(){var _f=function _f(){if(isWeb)return{pointerEvents:"auto"};return{pointerEvents:percentOpenRight.value>0?"auto":"none"};};_f._closure={isWeb:isWeb,percentOpenRight:percentOpenRight};_f.asString="function _f(){const{isWeb,percentOpenRight}=jsThis._closure;{if(isWeb)return{pointerEvents:\"auto\"};return{pointerEvents:percentOpenRight.value>0?\"auto\":\"none\"};}}";_f.__workletHash=3789985972513;_f.__location="/Users/danielmerrill/dev/draggable/react-native-swipeable-item/src/index.tsx (423:42)";return _f;}(),[]);return _react.default.createElement(OverlayContext.Provider,{value:overlayParams,__self:this,__source:{fileName:_jsxFileName,lineNumber:433,columnNumber:5}},_react.default.createElement(_reactNativeReanimated.default.View,{animatedProps:animPropsLeft,style:[styles.underlay,leftStyle],__self:this,__source:{fileName:_jsxFileName,lineNumber:434,columnNumber:7}},_react.default.createElement(UnderlayContext.Provider,{value:underlayLeftParams,__self:this,__source:{fileName:_jsxFileName,lineNumber:438,columnNumber:9}},renderUnderlayLeft(underlayLeftParams))),_react.default.createElement(_reactNativeReanimated.default.View,{animatedProps:animPropsRight,style:[styles.underlay,rightStyle],__self:this,__source:{fileName:_jsxFileName,lineNumber:442,columnNumber:7}},_react.default.createElement(UnderlayContext.Provider,{value:underlayRightParams,__self:this,__source:{fileName:_jsxFileName,lineNumber:446,columnNumber:9}},renderUnderlayRight(underlayRightParams))),_react.default.createElement(_reactNativeGestureHandler.GestureDetector,{gesture:gesture,__self:this,__source:{fileName:_jsxFileName,lineNumber:450,columnNumber:7}},_react.default.createElement(_reactNativeReanimated.default.View,{style:[styles.flex,overlayStyle],__self:this,__source:{fileName:_jsxFileName,lineNumber:451,columnNumber:9}},children,renderOverlay(overlayParams))));}var _default=_react.default.forwardRef(SwipeableItem);exports.default=_default;function useUnderlayParams(){var underlayContext=(0,_react.useContext)(UnderlayContext);if(!underlayContext){throw new Error("useUnderlayParams must be called from within an UnderlayContext.Provider!");}return underlayContext;}function useOverlayParams(){var overlayContext=(0,_react.useContext)(OverlayContext);if(!overlayContext){throw new Error("useOverlayParams must be called from within an OverlayContext.Provider!");}return overlayContext;}function useSwipeableItemParams(){var overlayContext=(0,_react.useContext)(OverlayContext);if(!overlayContext){throw new Error("useSwipeableItemParams must be called from within an OverlayContext.Provider!");}var underlayContext=(0,_react.useContext)(UnderlayContext);var contextDirection=underlayContext==null?void 0:underlayContext.direction;var open=(0,_react.useCallback)(function(snapPoint,direction){var openFnLeft=overlayContext.openLeft;var openFnRight=overlayContext.openRight;var openDirection=direction||contextDirection;var openFn=openDirection===OpenDirection.LEFT?openFnLeft:openFnRight;return openFn(snapPoint);},[overlayContext,contextDirection]);var percentOpen=(0,_react.useMemo)(function(){if(contextDirection){return contextDirection===OpenDirection.LEFT?overlayContext.percentOpenLeft:overlayContext.percentOpenRight;}return overlayContext.openDirection===OpenDirection.LEFT?overlayContext.percentOpenLeft:overlayContext.percentOpenRight;},[overlayContext]);return Object.assign({},overlayContext,{open:open,percentOpen:percentOpen});}var styles=_reactNative.StyleSheet.create({underlay:Object.assign({},_reactNative.StyleSheet.absoluteFillObject),flex:{flex:1}}); //# sourceMappingURL=index.js.map