react-native-gesture-image-viewer 2.0.0-beta.2 → 2.0.0-beta.4
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 +13 -6
- package/lib/module/GestureViewer.js +5 -5
- package/lib/module/GestureViewer.js.map +1 -1
- package/lib/module/GestureViewerManager.js +5 -5
- package/lib/module/GestureViewerManager.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/useGestureViewer.js +40 -63
- package/lib/module/useGestureViewer.js.map +1 -1
- package/lib/module/useGestureViewerController.js +39 -58
- package/lib/module/useGestureViewerController.js.map +1 -1
- package/lib/module/useGestureViewerState.js +78 -0
- package/lib/module/useGestureViewerState.js.map +1 -0
- package/lib/typescript/src/GestureViewer.d.ts +2 -2
- package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/GestureViewerManager.d.ts +5 -8
- package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +60 -57
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerController.d.ts +10 -21
- package/lib/typescript/src/useGestureViewerController.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerState.d.ts +35 -0
- package/lib/typescript/src/useGestureViewerState.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/GestureViewer.tsx +7 -7
- package/src/GestureViewerManager.ts +9 -9
- package/src/index.tsx +2 -1
- package/src/types.ts +60 -59
- package/src/useGestureViewer.ts +41 -69
- package/src/useGestureViewerController.ts +43 -62
- package/src/useGestureViewerState.ts +85 -0
package/README.md
CHANGED
|
@@ -37,22 +37,29 @@ Full documentation is available at: <https://react-native-gesture-image-viewer.p
|
|
|
37
37
|
### Examples & Demo
|
|
38
38
|
|
|
39
39
|
- [📁 Example Project](/example/) - Real implementation code with various use cases
|
|
40
|
-
- [🤖 Expo Go](https://snack.expo.dev/@harang/react-native-gesture-image-viewer) - Try it instantly on Snack
|
|
40
|
+
- [🤖 Expo Go](https://snack.expo.dev/@harang/react-native-gesture-image-viewer-v2) - Try it instantly on Expo Snack
|
|
41
41
|
|
|
42
42
|
### Basic Usage
|
|
43
43
|
|
|
44
|
-
`react-native-gesture-image-viewer` is a library focused purely on gesture interactions for complete customization.
|
|
44
|
+
`react-native-gesture-image-viewer` is a library focused purely on gesture interactions for complete customization.
|
|
45
45
|
|
|
46
46
|
```tsx
|
|
47
47
|
import { useCallback, useState } from 'react';
|
|
48
48
|
import { ScrollView, Image, Modal, View, Text, Button } from 'react-native';
|
|
49
|
-
import {
|
|
49
|
+
import {
|
|
50
|
+
GestureViewer,
|
|
51
|
+
useGestureViewerController,
|
|
52
|
+
useGestureViewerEvent,
|
|
53
|
+
useGestureViewerState,
|
|
54
|
+
} from 'react-native-gesture-image-viewer';
|
|
50
55
|
|
|
51
56
|
function App() {
|
|
52
57
|
const images = [...];
|
|
53
58
|
const [visible, setVisible] = useState(false);
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
const { goToIndex, goToPrevious, goToNext } = useGestureViewerController();
|
|
61
|
+
|
|
62
|
+
const { currentIndex, totalCount } = useGestureViewerState();
|
|
56
63
|
|
|
57
64
|
const renderImage = useCallback((imageUrl: string) => {
|
|
58
65
|
return <Image source={{ uri: imageUrl }} style={{ width: '100%', height: '100%' }} resizeMode="contain" />;
|
|
@@ -71,9 +78,9 @@ function App() {
|
|
|
71
78
|
onDismiss={() => setVisible(false)}
|
|
72
79
|
/>
|
|
73
80
|
<View>
|
|
74
|
-
<Button title="
|
|
81
|
+
<Button title="Prev" onPress={goToPrevious} />
|
|
75
82
|
<Button title="Jump to index 2" onPress={() => goToIndex(2)} />
|
|
76
|
-
<Button title="
|
|
83
|
+
<Button title="Next" onPress={goToNext} />
|
|
77
84
|
<Text>{`${currentIndex + 1} / ${totalCount}`}</Text>
|
|
78
85
|
</View>
|
|
79
86
|
</Modal>
|
|
@@ -21,7 +21,7 @@ export function GestureViewer({
|
|
|
21
21
|
containerStyle,
|
|
22
22
|
initialIndex = 0,
|
|
23
23
|
itemSpacing = 0,
|
|
24
|
-
|
|
24
|
+
enableSnapMode = false,
|
|
25
25
|
enableLoop = false,
|
|
26
26
|
...props
|
|
27
27
|
}) {
|
|
@@ -31,7 +31,7 @@ export function GestureViewer({
|
|
|
31
31
|
const {
|
|
32
32
|
width: screenWidth
|
|
33
33
|
} = useWindowDimensions();
|
|
34
|
-
const width =
|
|
34
|
+
const width = enableSnapMode ? customWidth || screenWidth : screenWidth;
|
|
35
35
|
const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
|
|
36
36
|
const isScrollView = isScrollViewLike(Component);
|
|
37
37
|
const {
|
|
@@ -50,7 +50,7 @@ export function GestureViewer({
|
|
|
50
50
|
width,
|
|
51
51
|
initialIndex,
|
|
52
52
|
itemSpacing,
|
|
53
|
-
|
|
53
|
+
enableSnapMode,
|
|
54
54
|
enableLoop,
|
|
55
55
|
...props
|
|
56
56
|
});
|
|
@@ -93,7 +93,7 @@ export function GestureViewer({
|
|
|
93
93
|
showsHorizontalScrollIndicator: false,
|
|
94
94
|
onMomentumScrollEnd: onMomentumScrollEnd,
|
|
95
95
|
onScrollBeginDrag,
|
|
96
|
-
...(
|
|
96
|
+
...(enableSnapMode ? {
|
|
97
97
|
snapToInterval: width + itemSpacing,
|
|
98
98
|
snapToAlignment: 'center',
|
|
99
99
|
decelerationRate: 'fast'
|
|
@@ -102,7 +102,7 @@ export function GestureViewer({
|
|
|
102
102
|
}),
|
|
103
103
|
scrollEventThrottle: 16,
|
|
104
104
|
removeClippedSubviews: true
|
|
105
|
-
}), [width, itemSpacing, isZoomed, isRotated, onMomentumScrollEnd, onScrollBeginDrag,
|
|
105
|
+
}), [width, itemSpacing, isZoomed, isRotated, onMomentumScrollEnd, onScrollBeginDrag, enableSnapMode]);
|
|
106
106
|
const listComponent = /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
107
107
|
children: /*#__PURE__*/_jsx(GestureDetector, {
|
|
108
108
|
gesture: gesture,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","enableSnapMode","enableLoop","props","Component","dataRef","current","screenWidth","loopData","isScrollView","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","onScrollBeginDrag","animatedStyle","keyExtractor","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","undefined","getItemLayout","_","length","offset","gesture","Race","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","listComponent","styles","container","background","content","OS","dataSet","ref","map","initialScrollIndex","windowSize","maxToRenderPerBatch","estimatedItemSize","create","flex","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ class GestureViewerManager {
|
|
|
8
8
|
width = 0;
|
|
9
9
|
height = 0;
|
|
10
10
|
maxZoomScale = 2;
|
|
11
|
-
|
|
11
|
+
enableHorizontalSwipe = true;
|
|
12
12
|
enableLoop = false;
|
|
13
13
|
listRef = null;
|
|
14
14
|
scale = null;
|
|
@@ -82,8 +82,8 @@ class GestureViewerManager {
|
|
|
82
82
|
setDataLength(length) {
|
|
83
83
|
this.dataLength = length;
|
|
84
84
|
}
|
|
85
|
-
|
|
86
|
-
this.
|
|
85
|
+
setEnableHorizontalSwipe(enabled) {
|
|
86
|
+
this.enableHorizontalSwipe = enabled;
|
|
87
87
|
}
|
|
88
88
|
setCurrentIndex(index) {
|
|
89
89
|
if (index !== this.currentIndex) {
|
|
@@ -173,7 +173,7 @@ class GestureViewerManager {
|
|
|
173
173
|
this.translateY.value = withTiming(0);
|
|
174
174
|
};
|
|
175
175
|
goToIndex = index => {
|
|
176
|
-
if (!this.
|
|
176
|
+
if (!this.enableHorizontalSwipe || !this.listRef) {
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
179
|
this.loopCallback = null;
|
|
@@ -233,7 +233,7 @@ class GestureViewerManager {
|
|
|
233
233
|
this.loopCallback = null;
|
|
234
234
|
this.listeners.clear();
|
|
235
235
|
this.listRef = null;
|
|
236
|
-
this.
|
|
236
|
+
this.enableHorizontalSwipe = true;
|
|
237
237
|
this.currentIndex = 0;
|
|
238
238
|
this.dataLength = 0;
|
|
239
239
|
this.maxZoomScale = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","
|
|
1
|
+
{"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","enableHorizontalSwipe","enableLoop","listRef","scale","rotation","translateX","translateY","loopCallback","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","totalCount","setEnableLoop","enabled","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableHorizontalSwipe","setCurrentIndex","index","setZoomSharedValues","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","value","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,4 +3,5 @@
|
|
|
3
3
|
export { GestureViewer } from "./GestureViewer.js";
|
|
4
4
|
export { useGestureViewerController } from "./useGestureViewerController.js";
|
|
5
5
|
export { useGestureViewerEvent } from "./useGestureViewerEvent.js";
|
|
6
|
+
export { useGestureViewerState } from "./useGestureViewerState.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GestureViewer","useGestureViewerController","useGestureViewerEvent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAS/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GestureViewer","useGestureViewerController","useGestureViewerEvent","useGestureViewerState"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAS/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
|
|
@@ -10,37 +10,28 @@ import { createBoundsConstraint, createScrollAction, getLoopAdjustedIndex } from
|
|
|
10
10
|
export const useGestureViewer = ({
|
|
11
11
|
data,
|
|
12
12
|
initialIndex = 0,
|
|
13
|
-
onIndexChange,
|
|
14
13
|
onDismiss,
|
|
15
14
|
width: customWidth,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
enableDismissGesture = true,
|
|
22
|
-
enableSwipeGesture = true,
|
|
23
|
-
enableZoomGesture = true,
|
|
24
|
-
enableDoubleTapGesture = true,
|
|
25
|
-
enableZoomPanGesture = true,
|
|
15
|
+
dismiss,
|
|
16
|
+
enableDoubleTapZoom = true,
|
|
17
|
+
enablePinchZoom = true,
|
|
18
|
+
enableHorizontalSwipe = true,
|
|
19
|
+
enablePanWhenZoomed = true,
|
|
26
20
|
enableLoop = false,
|
|
27
21
|
maxZoomScale = 2,
|
|
28
22
|
itemSpacing = 0,
|
|
29
|
-
|
|
23
|
+
enableSnapMode = false,
|
|
30
24
|
id = 'default'
|
|
31
25
|
}) => {
|
|
32
26
|
const {
|
|
33
27
|
width: screenWidth,
|
|
34
28
|
height: screenHeight
|
|
35
29
|
} = useWindowDimensions();
|
|
36
|
-
const width =
|
|
30
|
+
const width = enableSnapMode ? customWidth || screenWidth : screenWidth;
|
|
37
31
|
const [isZoomed, setIsZoomed] = useState(false);
|
|
38
32
|
const [isRotated, setIsRotated] = useState(false);
|
|
39
33
|
const [manager, setManager] = useState(null);
|
|
40
34
|
const listRef = useRef(null);
|
|
41
|
-
const unsubscribeRef = useRef(null);
|
|
42
|
-
const onIndexChangeRef = useRef(null);
|
|
43
|
-
const lastEmittedIndexRef = useRef(null);
|
|
44
35
|
const initialTranslateY = useSharedValue(0);
|
|
45
36
|
const initialTranslateX = useSharedValue(0);
|
|
46
37
|
const startScale = useSharedValue(1);
|
|
@@ -50,6 +41,14 @@ export const useGestureViewer = ({
|
|
|
50
41
|
const backdropOpacity = useSharedValue(1);
|
|
51
42
|
const rotation = useSharedValue(0);
|
|
52
43
|
const dataLength = data?.length || 0;
|
|
44
|
+
const dismissOptions = useMemo(() => {
|
|
45
|
+
return {
|
|
46
|
+
enabled: dismiss?.enabled ?? true,
|
|
47
|
+
threshold: dismiss?.threshold ?? 80,
|
|
48
|
+
resistance: dismiss?.resistance ?? 2,
|
|
49
|
+
fadeBackdrop: dismiss?.fadeBackdrop ?? true
|
|
50
|
+
};
|
|
51
|
+
}, [dismiss?.enabled, dismiss?.threshold, dismiss?.resistance, dismiss?.fadeBackdrop]);
|
|
53
52
|
const adjustedInitialIndex = useMemo(() => {
|
|
54
53
|
if (enableLoop && data.length > 1) {
|
|
55
54
|
return initialIndex + 1;
|
|
@@ -65,59 +64,37 @@ export const useGestureViewer = ({
|
|
|
65
64
|
return scrollAction.scrollTo(index, animated);
|
|
66
65
|
}, [width, itemSpacing]);
|
|
67
66
|
const emitZoomChange = useCallback((currentScale, prevScale) => {
|
|
68
|
-
manager
|
|
67
|
+
if (manager) {
|
|
68
|
+
manager.emitZoomChange(currentScale, prevScale);
|
|
69
|
+
}
|
|
69
70
|
}, [manager]);
|
|
70
71
|
const emitRotationChange = useCallback((currentRotation, prevRotation) => {
|
|
71
|
-
manager
|
|
72
|
+
if (manager) {
|
|
73
|
+
manager.emitRotationChange(currentRotation, prevRotation);
|
|
74
|
+
}
|
|
72
75
|
}, [manager]);
|
|
73
76
|
useAnimatedReaction(() => scale.value, (currentScale, previousScale) => {
|
|
74
|
-
if (
|
|
77
|
+
if (currentScale !== previousScale) {
|
|
75
78
|
runOnJS(emitZoomChange)(currentScale, previousScale);
|
|
76
79
|
}
|
|
77
80
|
runOnJS(setIsZoomed)(currentScale > 1);
|
|
78
81
|
});
|
|
79
82
|
useAnimatedReaction(() => rotation.value, (currentRotation, previousRotation) => {
|
|
80
|
-
if (
|
|
83
|
+
if (currentRotation !== previousRotation) {
|
|
81
84
|
runOnJS(emitRotationChange)(currentRotation, previousRotation);
|
|
82
85
|
}
|
|
83
86
|
runOnJS(setIsRotated)(currentRotation % 360 !== 0);
|
|
84
87
|
});
|
|
85
88
|
useEffect(() => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
useEffect(() => {
|
|
89
|
-
return () => {
|
|
90
|
-
onIndexChangeRef.current = null;
|
|
91
|
-
};
|
|
92
|
-
}, []);
|
|
93
|
-
useEffect(() => {
|
|
94
|
-
const handleManagerChange = manager => {
|
|
95
|
-
unsubscribeRef.current?.();
|
|
96
|
-
unsubscribeRef.current = null;
|
|
97
|
-
setManager(manager);
|
|
98
|
-
lastEmittedIndexRef.current = null;
|
|
99
|
-
if (manager) {
|
|
100
|
-
unsubscribeRef.current = manager.subscribe(state => {
|
|
101
|
-
if (lastEmittedIndexRef.current !== state.currentIndex) {
|
|
102
|
-
lastEmittedIndexRef.current = state.currentIndex;
|
|
103
|
-
onIndexChangeRef.current?.(state.currentIndex);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
const unsubscribeFromRegistry = registry.subscribeToManager(id, handleManagerChange);
|
|
110
|
-
return () => {
|
|
111
|
-
unsubscribeFromRegistry();
|
|
112
|
-
unsubscribeRef.current?.();
|
|
113
|
-
};
|
|
89
|
+
const unsubscribe = registry.subscribeToManager(id, setManager);
|
|
90
|
+
return unsubscribe;
|
|
114
91
|
}, [id]);
|
|
115
92
|
useEffect(() => {
|
|
116
93
|
if (!manager) {
|
|
117
94
|
return;
|
|
118
95
|
}
|
|
119
96
|
manager.setDataLength(dataLength);
|
|
120
|
-
manager.
|
|
97
|
+
manager.setEnableHorizontalSwipe(enableHorizontalSwipe);
|
|
121
98
|
manager.setCurrentIndex(initialIndex);
|
|
122
99
|
manager.setWidth(width + itemSpacing);
|
|
123
100
|
manager.setHeight(screenHeight);
|
|
@@ -125,7 +102,7 @@ export const useGestureViewer = ({
|
|
|
125
102
|
manager.setRotation(rotation);
|
|
126
103
|
manager.setEnableLoop(enableLoop);
|
|
127
104
|
manager.notifyStateChange();
|
|
128
|
-
}, [dataLength,
|
|
105
|
+
}, [dataLength, enableHorizontalSwipe, initialIndex, manager, width, itemSpacing, maxZoomScale, enableLoop, scale, screenHeight, translateX, translateY, rotation]);
|
|
129
106
|
useEffect(() => {
|
|
130
107
|
if (!manager || !listRef.current) {
|
|
131
108
|
return;
|
|
@@ -150,7 +127,7 @@ export const useGestureViewer = ({
|
|
|
150
127
|
};
|
|
151
128
|
}, [adjustedInitialIndex, translateY, backdropOpacity, translateX, scale, startScale, rotation, scrollTo]);
|
|
152
129
|
const onMomentumScrollEnd = useCallback(event => {
|
|
153
|
-
if (!
|
|
130
|
+
if (!enableHorizontalSwipe) {
|
|
154
131
|
return;
|
|
155
132
|
}
|
|
156
133
|
const contentOffset = event.nativeEvent.contentOffset;
|
|
@@ -181,12 +158,12 @@ export const useGestureViewer = ({
|
|
|
181
158
|
scale.value = withTiming(1);
|
|
182
159
|
rotation.value = 0;
|
|
183
160
|
}
|
|
184
|
-
}, [scrollTo, manager, dataLength, width, itemSpacing,
|
|
161
|
+
}, [scrollTo, manager, dataLength, width, itemSpacing, enableHorizontalSwipe, enableLoop, translateX, translateY, scale, initialTranslateX, initialTranslateY, startScale, rotation]);
|
|
185
162
|
const dismissGesture = useMemo(() => {
|
|
186
163
|
return Gesture.Pan().minDistance(10).averageTouches(true).activeCursor('grabbing').activeOffsetY([-10, 10]).failOffsetX([-10, 10]).enabled(!isZoomed).onUpdate(event => {
|
|
187
|
-
translateY.value = event.translationY / resistance;
|
|
164
|
+
translateY.value = event.translationY / dismissOptions.resistance;
|
|
188
165
|
}).onEnd(event => {
|
|
189
|
-
if (event.translationY >
|
|
166
|
+
if (event.translationY > dismissOptions.threshold && dismissOptions.enabled && onDismiss) {
|
|
190
167
|
runOnJS(onDismiss)();
|
|
191
168
|
return;
|
|
192
169
|
}
|
|
@@ -198,9 +175,9 @@ export const useGestureViewer = ({
|
|
|
198
175
|
energyThreshold: 6e-9
|
|
199
176
|
});
|
|
200
177
|
});
|
|
201
|
-
}, [translateY,
|
|
178
|
+
}, [translateY, dismissOptions.threshold, dismissOptions.enabled, onDismiss, dismissOptions.resistance, isZoomed]);
|
|
202
179
|
const zoomPinchGesture = useMemo(() => {
|
|
203
|
-
return Gesture.Pinch().enabled(
|
|
180
|
+
return Gesture.Pinch().enabled(enablePinchZoom).onBegin(() => {
|
|
204
181
|
startScale.value = scale.value;
|
|
205
182
|
initialTranslateX.value = translateX.value;
|
|
206
183
|
initialTranslateY.value = translateY.value;
|
|
@@ -269,9 +246,9 @@ export const useGestureViewer = ({
|
|
|
269
246
|
translateX.value = withTiming(constrainedTranslateX);
|
|
270
247
|
translateY.value = withTiming(constrainedTranslateY);
|
|
271
248
|
});
|
|
272
|
-
}, [scale,
|
|
249
|
+
}, [scale, enablePinchZoom, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, screenHeight, constrainTranslation]);
|
|
273
250
|
const zoomPanGesture = useMemo(() => {
|
|
274
|
-
return Gesture.Pan().enabled(
|
|
251
|
+
return Gesture.Pan().enabled(enablePanWhenZoomed && isZoomed).activeCursor('grabbing').averageTouches(true).onBegin(() => {
|
|
275
252
|
initialTranslateX.value = translateX.value;
|
|
276
253
|
initialTranslateY.value = translateY.value;
|
|
277
254
|
}).onUpdate(event => {
|
|
@@ -290,9 +267,9 @@ export const useGestureViewer = ({
|
|
|
290
267
|
translateY.value = constrainedTranslateY;
|
|
291
268
|
}
|
|
292
269
|
});
|
|
293
|
-
}, [translateX, translateY,
|
|
270
|
+
}, [translateX, translateY, enablePanWhenZoomed, isZoomed, scale, initialTranslateX, initialTranslateY, constrainTranslation]);
|
|
294
271
|
const doubleTapGesture = useMemo(() => {
|
|
295
|
-
return Gesture.Tap().enabled(
|
|
272
|
+
return Gesture.Tap().enabled(enableDoubleTapZoom).numberOfTaps(2).onEnd(event => {
|
|
296
273
|
const nextScale = scale.value > 1 ? 1 : maxZoomScale;
|
|
297
274
|
if (nextScale > 1) {
|
|
298
275
|
const centerX = event.x - width / 2;
|
|
@@ -322,7 +299,7 @@ export const useGestureViewer = ({
|
|
|
322
299
|
easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
|
|
323
300
|
});
|
|
324
301
|
});
|
|
325
|
-
}, [scale,
|
|
302
|
+
}, [scale, enableDoubleTapZoom, maxZoomScale, translateX, translateY, width, screenHeight]);
|
|
326
303
|
const zoomGesture = useMemo(() => {
|
|
327
304
|
return Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, doubleTapGesture));
|
|
328
305
|
}, [zoomPinchGesture, zoomPanGesture, doubleTapGesture]);
|
|
@@ -340,7 +317,7 @@ export const useGestureViewer = ({
|
|
|
340
317
|
};
|
|
341
318
|
});
|
|
342
319
|
const backdropStyle = useAnimatedStyle(() => {
|
|
343
|
-
if (!
|
|
320
|
+
if (!dismissOptions.fadeBackdrop || scale.value !== 1) {
|
|
344
321
|
return {
|
|
345
322
|
opacity: 1
|
|
346
323
|
};
|
|
@@ -349,7 +326,7 @@ export const useGestureViewer = ({
|
|
|
349
326
|
return {
|
|
350
327
|
opacity
|
|
351
328
|
};
|
|
352
|
-
}, [
|
|
329
|
+
}, [dismissOptions.fadeBackdrop]);
|
|
353
330
|
const onScrollBeginDrag = useCallback(() => {
|
|
354
331
|
manager?.handleScrollBeginDrag();
|
|
355
332
|
}, [manager]);
|
|
@@ -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","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","stiffness","damping","mass","overshootClamping","energyThreshold","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","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","runOnJS","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","enableSnapMode","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","manager","setManager","listRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","dataLength","length","dismissOptions","enabled","threshold","resistance","fadeBackdrop","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","unsubscribe","subscribeToManager","setDataLength","setEnableHorizontalSwipe","setCurrentIndex","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","Math","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","currentIndex","getState","dismissGesture","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","onUpdate","translationY","onEnd","stiffness","damping","mass","overshootClamping","energyThreshold","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":[]}
|