react-native-gesture-image-viewer 1.6.4 → 1.6.6
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/lib/module/useGestureViewer.js +3 -2
- package/lib/module/useGestureViewer.js.map +1 -1
- package/lib/module/useGestureViewerController.js +55 -25
- package/lib/module/useGestureViewerController.js.map +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerController.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/useGestureViewer.ts +4 -2
- package/src/useGestureViewerController.ts +71 -33
|
@@ -182,10 +182,11 @@ export const useGestureViewer = ({
|
|
|
182
182
|
}
|
|
183
183
|
}, [scrollTo, manager, dataLength, width, itemSpacing, enableSwipeGesture, enableLoop, translateX, translateY, scale, initialTranslateX, initialTranslateY, startScale, rotation]);
|
|
184
184
|
const dismissGesture = useMemo(() => {
|
|
185
|
-
|
|
185
|
+
const canDismiss = !isZoomed && enableDismissGesture;
|
|
186
|
+
return Gesture.Pan().minDistance(10).averageTouches(true).activeCursor('grabbing').activeOffsetY([-10, 10]).failOffsetX([-10, 10]).enabled(canDismiss).onUpdate(event => {
|
|
186
187
|
translateY.value = event.translationY / resistance;
|
|
187
188
|
}).onEnd(event => {
|
|
188
|
-
if (event.translationY > dismissThreshold &&
|
|
189
|
+
if (canDismiss && event.translationY > dismissThreshold && onDismiss) {
|
|
189
190
|
runOnJS(onDismiss)();
|
|
190
191
|
return;
|
|
191
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","enableLoop","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","manager","setManager","listRef","unsubscribeRef","onIndexChangeRef","lastEmittedIndexRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","dataLength","length","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","handleManagerChange","subscribe","state","currentIndex","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setCurrentIndex","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","Math","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","duration","easing","bezier","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","y","zoomGesture","Race","Exclusive","animatedStyle","transform","rotate","backdropStyle","opacity","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","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","enableLoop","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","manager","setManager","listRef","unsubscribeRef","onIndexChangeRef","lastEmittedIndexRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","dataLength","length","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","handleManagerChange","subscribe","state","currentIndex","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setCurrentIndex","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","Math","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","duration","easing","bezier","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","y","zoomGesture","Race","Exclusive","animatedStyle","transform","rotate","backdropStyle","opacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useCallback, useMemo, useRef, useSyncExternalStore } from 'react';
|
|
4
4
|
import { registry } from "./GestureViewerRegistry.js";
|
|
5
5
|
/**
|
|
6
6
|
* Hook to control the gesture viewer programmatically.
|
|
@@ -55,42 +55,72 @@ import { registry } from "./GestureViewerRegistry.js";
|
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
57
|
export const useGestureViewerController = (id = 'default') => {
|
|
58
|
-
const
|
|
58
|
+
const managerRef = useRef(null);
|
|
59
|
+
const stateRef = useRef({
|
|
59
60
|
currentIndex: 0,
|
|
60
61
|
totalCount: 0
|
|
61
62
|
});
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
const updateState = useCallback((newState, onStoreChange) => {
|
|
64
|
+
if (stateRef.current.currentIndex !== newState.currentIndex || stateRef.current.totalCount !== newState.totalCount) {
|
|
65
|
+
stateRef.current = {
|
|
66
|
+
currentIndex: newState.currentIndex,
|
|
67
|
+
totalCount: newState.totalCount
|
|
68
|
+
};
|
|
69
|
+
onStoreChange();
|
|
70
|
+
}
|
|
71
|
+
}, []);
|
|
72
|
+
const subscribe = useCallback(onStoreChange => {
|
|
73
|
+
let unsubscribeFromManager = null;
|
|
74
|
+
const unsubscribeFromRegistry = registry.subscribeToManager(id, newManager => {
|
|
75
|
+
unsubscribeFromManager?.();
|
|
76
|
+
unsubscribeFromManager = null;
|
|
77
|
+
managerRef.current = newManager;
|
|
69
78
|
if (newManager) {
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
unsubscribeFromManager = newManager.subscribe(newState => {
|
|
80
|
+
updateState(newState, onStoreChange);
|
|
81
|
+
});
|
|
82
|
+
updateState(newManager.getState(), onStoreChange);
|
|
72
83
|
return;
|
|
73
84
|
}
|
|
74
|
-
|
|
85
|
+
updateState({
|
|
75
86
|
currentIndex: 0,
|
|
76
87
|
totalCount: 0
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
const unsubscribeFromRegistry = registry.subscribeToManager(id, handleManagerChange);
|
|
88
|
+
}, onStoreChange);
|
|
89
|
+
});
|
|
80
90
|
return () => {
|
|
81
91
|
unsubscribeFromRegistry();
|
|
82
|
-
|
|
92
|
+
unsubscribeFromManager?.();
|
|
83
93
|
};
|
|
84
|
-
}, [id]);
|
|
85
|
-
const
|
|
94
|
+
}, [id, updateState]);
|
|
95
|
+
const getSnapshot = useCallback(() => {
|
|
96
|
+
return stateRef.current;
|
|
97
|
+
}, []);
|
|
98
|
+
const state = useSyncExternalStore(subscribe, getSnapshot);
|
|
99
|
+
const controller = useMemo(() => ({
|
|
100
|
+
goToIndex: index => {
|
|
101
|
+
managerRef.current?.goToIndex(index);
|
|
102
|
+
},
|
|
103
|
+
goToPrevious: () => {
|
|
104
|
+
managerRef.current?.goToPrevious();
|
|
105
|
+
},
|
|
106
|
+
goToNext: () => {
|
|
107
|
+
managerRef.current?.goToNext();
|
|
108
|
+
},
|
|
109
|
+
zoomIn: multiplier => {
|
|
110
|
+
managerRef.current?.zoomIn(multiplier);
|
|
111
|
+
},
|
|
112
|
+
zoomOut: multiplier => {
|
|
113
|
+
managerRef.current?.zoomOut(multiplier);
|
|
114
|
+
},
|
|
115
|
+
resetZoom: scale => {
|
|
116
|
+
managerRef.current?.resetZoom(scale);
|
|
117
|
+
},
|
|
118
|
+
rotate: (angle, clockwise) => {
|
|
119
|
+
managerRef.current?.rotate(angle, clockwise);
|
|
120
|
+
}
|
|
121
|
+
}), []);
|
|
86
122
|
return {
|
|
87
|
-
|
|
88
|
-
goToPrevious: manager?.goToPrevious || noopFunction,
|
|
89
|
-
goToNext: manager?.goToNext || noopFunction,
|
|
90
|
-
zoomIn: manager?.zoomIn || noopFunction,
|
|
91
|
-
zoomOut: manager?.zoomOut || noopFunction,
|
|
92
|
-
resetZoom: manager?.resetZoom || noopFunction,
|
|
93
|
-
rotate: manager?.rotate || noopFunction,
|
|
123
|
+
...controller,
|
|
94
124
|
...state
|
|
95
125
|
};
|
|
96
126
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useRef","useSyncExternalStore","registry","useGestureViewerController","id","managerRef","stateRef","currentIndex","totalCount","updateState","newState","onStoreChange","current","subscribe","unsubscribeFromManager","unsubscribeFromRegistry","subscribeToManager","newManager","getState","getSnapshot","state","controller","goToIndex","index","goToPrevious","goToNext","zoomIn","multiplier","zoomOut","resetZoom","scale","rotate","angle","clockwise"],"sourceRoot":"../../src","sources":["useGestureViewerController.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;AAGlD,KAAK,qBAAqB,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACxC,kBAAkB,CAAC,CAAC,CAAC,EACrB,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CACtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,qRAqBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;iCAqLf,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;AAGlD,KAAK,qBAAqB,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACxC,kBAAkB,CAAC,CAAC,CAAC,EACrB,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CACtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,qRAqBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;iCAqLf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgSlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGestureViewerController.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerController.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAgC,MAAM,SAAS,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,0BAA0B,GAAI,WAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"useGestureViewerController.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerController.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAgC,MAAM,SAAS,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,0BAA0B,GAAI,WAAc,KAAG,uBAmF3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gesture-image-viewer",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.6",
|
|
4
4
|
"description": "🖼️ A highly customizable and easy-to-use React Native image viewer with gesture support and external controls",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/useGestureViewer.ts
CHANGED
|
@@ -284,18 +284,20 @@ export const useGestureViewer = <T = any>({
|
|
|
284
284
|
);
|
|
285
285
|
|
|
286
286
|
const dismissGesture = useMemo(() => {
|
|
287
|
+
const canDismiss = !isZoomed && enableDismissGesture;
|
|
288
|
+
|
|
287
289
|
return Gesture.Pan()
|
|
288
290
|
.minDistance(10)
|
|
289
291
|
.averageTouches(true)
|
|
290
292
|
.activeCursor('grabbing')
|
|
291
293
|
.activeOffsetY([-10, 10])
|
|
292
294
|
.failOffsetX([-10, 10])
|
|
293
|
-
.enabled(
|
|
295
|
+
.enabled(canDismiss)
|
|
294
296
|
.onUpdate((event) => {
|
|
295
297
|
translateY.value = event.translationY / resistance;
|
|
296
298
|
})
|
|
297
299
|
.onEnd((event) => {
|
|
298
|
-
if (event.translationY > dismissThreshold &&
|
|
300
|
+
if (canDismiss && event.translationY > dismissThreshold && onDismiss) {
|
|
299
301
|
runOnJS(onDismiss)();
|
|
300
302
|
return;
|
|
301
303
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback, useMemo, useRef, useSyncExternalStore } from 'react';
|
|
2
2
|
import type GestureViewerManager from './GestureViewerManager';
|
|
3
3
|
import { registry } from './GestureViewerRegistry';
|
|
4
4
|
import type { GestureViewerController, GestureViewerControllerState } from './types';
|
|
@@ -56,48 +56,86 @@ import type { GestureViewerController, GestureViewerControllerState } from './ty
|
|
|
56
56
|
* ```
|
|
57
57
|
*/
|
|
58
58
|
export const useGestureViewerController = (id = 'default'): GestureViewerController => {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
totalCount: 0,
|
|
62
|
-
});
|
|
59
|
+
const managerRef = useRef<GestureViewerManager | null>(null);
|
|
60
|
+
const stateRef = useRef<GestureViewerControllerState>({ currentIndex: 0, totalCount: 0 });
|
|
63
61
|
|
|
64
|
-
const
|
|
65
|
-
|
|
62
|
+
const updateState = useCallback((newState: GestureViewerControllerState, onStoreChange: () => void) => {
|
|
63
|
+
if (
|
|
64
|
+
stateRef.current.currentIndex !== newState.currentIndex ||
|
|
65
|
+
stateRef.current.totalCount !== newState.totalCount
|
|
66
|
+
) {
|
|
67
|
+
stateRef.current = {
|
|
68
|
+
currentIndex: newState.currentIndex,
|
|
69
|
+
totalCount: newState.totalCount,
|
|
70
|
+
};
|
|
71
|
+
onStoreChange();
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
66
74
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
unsubscribeRef.current = null;
|
|
75
|
+
const subscribe = useCallback(
|
|
76
|
+
(onStoreChange: () => void) => {
|
|
77
|
+
let unsubscribeFromManager: (() => void) | null = null;
|
|
71
78
|
|
|
72
|
-
|
|
79
|
+
const unsubscribeFromRegistry = registry.subscribeToManager(id, (newManager) => {
|
|
80
|
+
unsubscribeFromManager?.();
|
|
81
|
+
unsubscribeFromManager = null;
|
|
82
|
+
managerRef.current = newManager;
|
|
73
83
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
84
|
+
if (newManager) {
|
|
85
|
+
unsubscribeFromManager = newManager.subscribe((newState) => {
|
|
86
|
+
updateState(newState, onStoreChange);
|
|
87
|
+
});
|
|
79
88
|
|
|
80
|
-
|
|
81
|
-
|
|
89
|
+
updateState(newManager.getState(), onStoreChange);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
82
92
|
|
|
83
|
-
|
|
93
|
+
updateState({ currentIndex: 0, totalCount: 0 }, onStoreChange);
|
|
94
|
+
});
|
|
84
95
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
return () => {
|
|
97
|
+
unsubscribeFromRegistry();
|
|
98
|
+
unsubscribeFromManager?.();
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
[id, updateState],
|
|
102
|
+
);
|
|
90
103
|
|
|
91
|
-
const
|
|
104
|
+
const getSnapshot = useCallback(() => {
|
|
105
|
+
return stateRef.current;
|
|
106
|
+
}, []);
|
|
107
|
+
|
|
108
|
+
const state = useSyncExternalStore(subscribe, getSnapshot);
|
|
109
|
+
|
|
110
|
+
const controller = useMemo<Omit<GestureViewerController, 'currentIndex' | 'totalCount'>>(
|
|
111
|
+
() => ({
|
|
112
|
+
goToIndex: (index) => {
|
|
113
|
+
managerRef.current?.goToIndex(index);
|
|
114
|
+
},
|
|
115
|
+
goToPrevious: () => {
|
|
116
|
+
managerRef.current?.goToPrevious();
|
|
117
|
+
},
|
|
118
|
+
goToNext: () => {
|
|
119
|
+
managerRef.current?.goToNext();
|
|
120
|
+
},
|
|
121
|
+
zoomIn: (multiplier) => {
|
|
122
|
+
managerRef.current?.zoomIn(multiplier);
|
|
123
|
+
},
|
|
124
|
+
zoomOut: (multiplier) => {
|
|
125
|
+
managerRef.current?.zoomOut(multiplier);
|
|
126
|
+
},
|
|
127
|
+
resetZoom: (scale) => {
|
|
128
|
+
managerRef.current?.resetZoom(scale);
|
|
129
|
+
},
|
|
130
|
+
rotate: (angle, clockwise) => {
|
|
131
|
+
managerRef.current?.rotate(angle, clockwise);
|
|
132
|
+
},
|
|
133
|
+
}),
|
|
134
|
+
[],
|
|
135
|
+
);
|
|
92
136
|
|
|
93
137
|
return {
|
|
94
|
-
|
|
95
|
-
goToPrevious: manager?.goToPrevious || noopFunction,
|
|
96
|
-
goToNext: manager?.goToNext || noopFunction,
|
|
97
|
-
zoomIn: manager?.zoomIn || noopFunction,
|
|
98
|
-
zoomOut: manager?.zoomOut || noopFunction,
|
|
99
|
-
resetZoom: manager?.resetZoom || noopFunction,
|
|
100
|
-
rotate: manager?.rotate || noopFunction,
|
|
138
|
+
...controller,
|
|
101
139
|
...state,
|
|
102
140
|
};
|
|
103
141
|
};
|