tooot/patches/react-native-reanimated-zoo...

69 lines
2.2 KiB
Diff

diff --git a/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts b/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
index 9b3e4a3..558944d 100644
--- a/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
+++ b/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
@@ -4,6 +4,7 @@ declare type Props = {
children: React.ReactNode;
minimumZoomScale?: number;
maximumZoomScale?: number;
+ simultaneousGesture?: GestureType;
} & ViewProps;
export declare function Zoom(props: Props): JSX.Element;
export {};
diff --git a/node_modules/react-native-reanimated-zoom/src/zoom.tsx b/node_modules/react-native-reanimated-zoom/src/zoom.tsx
index 2c48163..bc2d3dd 100644
--- a/node_modules/react-native-reanimated-zoom/src/zoom.tsx
+++ b/node_modules/react-native-reanimated-zoom/src/zoom.tsx
@@ -8,13 +8,18 @@ import Animated, {
cancelAnimation,
runOnJS,
} from 'react-native-reanimated';
-import { Gesture, GestureDetector } from 'react-native-gesture-handler';
+import {
+ Gesture,
+ GestureDetector,
+ GestureType,
+} from 'react-native-gesture-handler';
import { ZoomListContext } from './zoom-list-context';
type Props = {
children: React.ReactNode;
minimumZoomScale?: number;
maximumZoomScale?: number;
+ simultaneousGesture?: GestureType;
} & ViewProps;
export function Zoom(props: Props) {
@@ -23,6 +28,7 @@ export function Zoom(props: Props) {
maximumZoomScale = 8,
style: propStyle,
onLayout,
+ simultaneousGesture,
} = props;
const zoomListContext = useContext(ZoomListContext);
@@ -198,11 +204,21 @@ export function Zoom(props: Props) {
);
}
- return Gesture.Race(doubleTap, Gesture.Simultaneous(pan, pinch));
+ return Gesture.Race(
+ doubleTap,
+ simultaneousGesture
+ ? Gesture.Simultaneous(pan, pinch, simultaneousGesture)
+ : Gesture.Simultaneous(pan, pinch)
+ );
// only add prop dependencies
// eslint-disable-next-line react-hooks/exhaustive-deps
- }, [maximumZoomScale, minimumZoomScale, zoomListContext]);
+ }, [
+ maximumZoomScale,
+ minimumZoomScale,
+ zoomListContext,
+ simultaneousGesture,
+ ]);
useDerivedValue(() => {
if (scale.value > 1 && !isZoomed.value) {