react-native-gesture-image-viewer 2.0.2 → 2.1.1
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.
|
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
4
4
|
import { InteractionManager, useWindowDimensions } from 'react-native';
|
|
5
5
|
import { Gesture } from 'react-native-gesture-handler';
|
|
6
6
|
import { Easing, interpolate, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
7
|
-
import {
|
|
7
|
+
import { scheduleOnRN } from 'react-native-worklets';
|
|
8
8
|
import { registry } from "./GestureViewerRegistry.js";
|
|
9
9
|
import { createBoundsConstraint, createScrollAction, getLoopAdjustedIndex } from "./utils/index.js";
|
|
10
10
|
export const useGestureViewer = ({
|
|
@@ -97,15 +97,15 @@ export const useGestureViewer = ({
|
|
|
97
97
|
}, []);
|
|
98
98
|
useAnimatedReaction(() => scale.value, (currentScale, previousScale) => {
|
|
99
99
|
if (currentScale !== previousScale) {
|
|
100
|
-
|
|
100
|
+
scheduleOnRN(emitZoomChange, currentScale, previousScale);
|
|
101
101
|
}
|
|
102
|
-
|
|
102
|
+
scheduleOnRN(setIsZoomed, currentScale > 1);
|
|
103
103
|
});
|
|
104
104
|
useAnimatedReaction(() => rotation.value, (currentRotation, previousRotation) => {
|
|
105
105
|
if (currentRotation !== previousRotation) {
|
|
106
|
-
|
|
106
|
+
scheduleOnRN(emitRotationChange, currentRotation, previousRotation);
|
|
107
107
|
}
|
|
108
|
-
|
|
108
|
+
scheduleOnRN(setIsRotated, currentRotation % 360 !== 0);
|
|
109
109
|
});
|
|
110
110
|
useEffect(() => {
|
|
111
111
|
let unsubscribe;
|
|
@@ -185,7 +185,7 @@ export const useGestureViewer = ({
|
|
|
185
185
|
triggerOpacity.value = 0;
|
|
186
186
|
triggerScale.value = withTiming(1, animationConfig, finished => {
|
|
187
187
|
if (finished) {
|
|
188
|
-
|
|
188
|
+
scheduleOnRN(onAnimationComplete);
|
|
189
189
|
}
|
|
190
190
|
});
|
|
191
191
|
triggerTranslateX.value = withTiming(0, animationConfig);
|
|
@@ -228,13 +228,13 @@ export const useGestureViewer = ({
|
|
|
228
228
|
triggerTranslateY.value = withTiming(endY, animationConfig);
|
|
229
229
|
triggerOpacity.value = withTiming(0, animationConfig, finished => {
|
|
230
230
|
if (finished && onDismiss) {
|
|
231
|
-
|
|
231
|
+
scheduleOnRN(onDismiss);
|
|
232
232
|
}
|
|
233
233
|
});
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
236
236
|
if (onDismiss) {
|
|
237
|
-
|
|
237
|
+
scheduleOnRN(onDismiss);
|
|
238
238
|
}
|
|
239
239
|
}, [animationConfig, onDismiss, onDismissStart, width, height, triggerTranslateX, triggerScale, triggerTranslateY, triggerOpacity]);
|
|
240
240
|
const onMomentumScrollEnd = useCallback(event => {
|
|
@@ -276,7 +276,7 @@ export const useGestureViewer = ({
|
|
|
276
276
|
translateY.value = event.translationY / dismissOptions.resistance;
|
|
277
277
|
}).onEnd(event => {
|
|
278
278
|
if (canDismiss && event.translationY > dismissOptions.threshold) {
|
|
279
|
-
|
|
279
|
+
scheduleOnRN(handleDismiss);
|
|
280
280
|
return;
|
|
281
281
|
}
|
|
282
282
|
translateY.value = withSpring(0, {
|
|
@@ -291,7 +291,7 @@ export const useGestureViewer = ({
|
|
|
291
291
|
const zoomPinchGesture = useMemo(() => {
|
|
292
292
|
return Gesture.Pinch().enabled(enablePinchZoom).onTouchesDown(event => {
|
|
293
293
|
if (event.numberOfTouches === 2) {
|
|
294
|
-
|
|
294
|
+
scheduleOnRN(setIsPinching, true);
|
|
295
295
|
}
|
|
296
296
|
}).onBegin(() => {
|
|
297
297
|
startScale.value = scale.value;
|
|
@@ -300,6 +300,9 @@ export const useGestureViewer = ({
|
|
|
300
300
|
}).onUpdate(event => {
|
|
301
301
|
const newScale = startScale.value * event.scale;
|
|
302
302
|
scale.value = newScale;
|
|
303
|
+
if (event.numberOfPointers !== 2) {
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
303
306
|
if (newScale <= 1) {
|
|
304
307
|
translateX.value = withTiming(0);
|
|
305
308
|
translateY.value = withTiming(0);
|
|
@@ -362,9 +365,9 @@ export const useGestureViewer = ({
|
|
|
362
365
|
translateX.value = withTiming(constrainedTranslateX);
|
|
363
366
|
translateY.value = withTiming(constrainedTranslateY);
|
|
364
367
|
}).onTouchesUp(() => {
|
|
365
|
-
|
|
368
|
+
scheduleOnRN(setIsPinching, false);
|
|
366
369
|
}).onFinalize(() => {
|
|
367
|
-
|
|
370
|
+
scheduleOnRN(setIsPinching, false);
|
|
368
371
|
});
|
|
369
372
|
}, [scale, enablePinchZoom, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, height, constrainTranslation]);
|
|
370
373
|
const zoomPanGesture = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","runOnJS","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","threshold","resistance","fadeBackdrop","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","startX","x","startY","y","initialScaleFromTrigger","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","onUpdate","translationY","onEnd","stiffness","damping","mass","overshootClamping","energyThreshold","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","threshold","resistance","fadeBackdrop","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","startX","x","startY","y","initialScaleFromTrigger","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","onUpdate","translationY","onEnd","stiffness","damping","mass","overshootClamping","energyThreshold","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","newScale","numberOfPointers","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,kRAmBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;iCAyTvB,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,kRAmBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;iCAyTvB,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0TlD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gesture-image-viewer",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "🖼️ React Native Image Viewer - Reanimated-powered image gestures with full control",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -113,14 +113,14 @@
|
|
|
113
113
|
"react-native": ">=0.75.0",
|
|
114
114
|
"react-native-gesture-handler": ">=2.24.0",
|
|
115
115
|
"react-native-reanimated": ">=4.0.0",
|
|
116
|
-
"react-native-worklets": "
|
|
116
|
+
"react-native-worklets": ">=0.5.0"
|
|
117
117
|
},
|
|
118
118
|
"workspaces": [
|
|
119
119
|
".",
|
|
120
120
|
"example",
|
|
121
121
|
"docs"
|
|
122
122
|
],
|
|
123
|
-
"packageManager": "yarn@4.
|
|
123
|
+
"packageManager": "yarn@4.12.0",
|
|
124
124
|
"jest": {
|
|
125
125
|
"preset": "react-native",
|
|
126
126
|
"modulePathIgnorePatterns": [
|
package/src/useGestureViewer.ts
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
withSpring,
|
|
16
16
|
withTiming,
|
|
17
17
|
} from 'react-native-reanimated';
|
|
18
|
-
import {
|
|
18
|
+
import { scheduleOnRN } from 'react-native-worklets';
|
|
19
19
|
import type GestureViewerManager from './GestureViewerManager';
|
|
20
20
|
import { registry } from './GestureViewerRegistry';
|
|
21
21
|
import type { GestureViewerProps, TriggerRect } from './types';
|
|
@@ -147,10 +147,10 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
147
147
|
() => scale.value,
|
|
148
148
|
(currentScale, previousScale) => {
|
|
149
149
|
if (currentScale !== previousScale) {
|
|
150
|
-
|
|
150
|
+
scheduleOnRN(emitZoomChange, currentScale, previousScale);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
scheduleOnRN(setIsZoomed, currentScale > 1);
|
|
154
154
|
},
|
|
155
155
|
);
|
|
156
156
|
|
|
@@ -158,10 +158,10 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
158
158
|
() => rotation.value,
|
|
159
159
|
(currentRotation, previousRotation) => {
|
|
160
160
|
if (currentRotation !== previousRotation) {
|
|
161
|
-
|
|
161
|
+
scheduleOnRN(emitRotationChange, currentRotation, previousRotation);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
scheduleOnRN(setIsRotated, currentRotation % 360 !== 0);
|
|
165
165
|
},
|
|
166
166
|
);
|
|
167
167
|
|
|
@@ -287,7 +287,7 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
287
287
|
|
|
288
288
|
triggerScale.value = withTiming(1, animationConfig, (finished) => {
|
|
289
289
|
if (finished) {
|
|
290
|
-
|
|
290
|
+
scheduleOnRN(onAnimationComplete);
|
|
291
291
|
}
|
|
292
292
|
});
|
|
293
293
|
triggerTranslateX.value = withTiming(0, animationConfig);
|
|
@@ -342,14 +342,14 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
342
342
|
triggerTranslateY.value = withTiming(endY, animationConfig);
|
|
343
343
|
triggerOpacity.value = withTiming(0, animationConfig, (finished) => {
|
|
344
344
|
if (finished && onDismiss) {
|
|
345
|
-
|
|
345
|
+
scheduleOnRN(onDismiss);
|
|
346
346
|
}
|
|
347
347
|
});
|
|
348
348
|
return;
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
if (onDismiss) {
|
|
352
|
-
|
|
352
|
+
scheduleOnRN(onDismiss);
|
|
353
353
|
}
|
|
354
354
|
}, [
|
|
355
355
|
animationConfig,
|
|
@@ -434,7 +434,7 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
434
434
|
})
|
|
435
435
|
.onEnd((event) => {
|
|
436
436
|
if (canDismiss && event.translationY > dismissOptions.threshold) {
|
|
437
|
-
|
|
437
|
+
scheduleOnRN(handleDismiss);
|
|
438
438
|
return;
|
|
439
439
|
}
|
|
440
440
|
|
|
@@ -453,7 +453,7 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
453
453
|
.enabled(enablePinchZoom)
|
|
454
454
|
.onTouchesDown((event) => {
|
|
455
455
|
if (event.numberOfTouches === 2) {
|
|
456
|
-
|
|
456
|
+
scheduleOnRN(setIsPinching, true);
|
|
457
457
|
}
|
|
458
458
|
})
|
|
459
459
|
.onBegin(() => {
|
|
@@ -466,6 +466,10 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
466
466
|
|
|
467
467
|
scale.value = newScale;
|
|
468
468
|
|
|
469
|
+
if (event.numberOfPointers !== 2) {
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
|
|
469
473
|
if (newScale <= 1) {
|
|
470
474
|
translateX.value = withTiming(0);
|
|
471
475
|
translateY.value = withTiming(0);
|
|
@@ -530,10 +534,10 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
530
534
|
translateY.value = withTiming(constrainedTranslateY);
|
|
531
535
|
})
|
|
532
536
|
.onTouchesUp(() => {
|
|
533
|
-
|
|
537
|
+
scheduleOnRN(setIsPinching, false);
|
|
534
538
|
})
|
|
535
539
|
.onFinalize(() => {
|
|
536
|
-
|
|
540
|
+
scheduleOnRN(setIsPinching, false);
|
|
537
541
|
});
|
|
538
542
|
}, [
|
|
539
543
|
scale,
|