react-native-gesture-image-viewer 1.1.0 → 1.2.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.
package/README.md CHANGED
@@ -162,9 +162,9 @@ function App() {
162
162
  |:--:|:-----|:--:|
163
163
  |`enableDismissGesture`|Calls `onDismiss` function when swiping down. Useful for closing modals with downward swipe gestures.|`true`|
164
164
  |`enableSwipeGesture`|Controls left/right swipe gestures. When `false`, horizontal gestures are disabled.|`true`|
165
- |`enableZoomGesture`|Controls two-finger pinch gestures. When `false`, two-finger zoom gestures are disabled.|`true`|
166
- |`enableDoubleTapGesture`|Controls double-tap zoom gestures. When `false`, double-tap zoom gestures are disabled.|`true`|
167
- |`enableZoomPanGesture`|Only works when zoom is active, allows moving item position when zoomed. When `false`, gesture movement is disabled during zoom.|`true`|
165
+ |`enableZoomGesture`|Controls two-finger pinch gestures with focal point zooming. When `false`, pinch zoom is disabled. Zoom centers on the point between your two fingers for intuitive scaling.|`true`|
166
+ |`enableDoubleTapGesture`|Controls double-tap zoom gestures with precision targeting. When `false`, double-tap zoom is disabled. Zoom centers exactly on the tapped location.|`true`|
167
+ |`enableZoomPanGesture`|Enables panning when zoomed in with automatic boundary detection. When `false`, movement is disabled during zoom. Prevents content from moving outside visible screen area.|`true`|
168
168
 
169
169
  ### Custom Components
170
170
 
@@ -44,6 +44,22 @@ export const useGestureViewer = ({
44
44
  const backdropOpacity = useSharedValue(1);
45
45
  const listRef = useRef(null);
46
46
  const dataLength = data?.length || 0;
47
+ const constrainToBounds = useCallback((translateX, translateY, scale) => {
48
+ 'worklet';
49
+
50
+ if (scale <= 1) {
51
+ return {
52
+ x: translateX,
53
+ y: translateY
54
+ };
55
+ }
56
+ const maxTranslateX = (width * scale - width) / 2;
57
+ const maxTranslateY = (screenHeight * scale - screenHeight) / 2;
58
+ return {
59
+ x: Math.max(-maxTranslateX, Math.min(maxTranslateX, translateX)),
60
+ y: Math.max(-maxTranslateY, Math.min(maxTranslateY, translateY))
61
+ };
62
+ }, [width, screenHeight]);
47
63
  useAnimatedReaction(() => scale.value, currentScale => {
48
64
  runOnJS(setIsZoomed)(currentScale > 1);
49
65
  });
@@ -136,8 +152,6 @@ export const useGestureViewer = ({
136
152
  return Gesture.Pan().minDistance(10).averageTouches(true).activeOffsetY([-10, 10]).failOffsetX([-10, 10]).enabled(!isZoomed).onUpdate(event => {
137
153
  translateY.value = event.translationY / resistance;
138
154
  }).onEnd(event => {
139
- 'worklet';
140
-
141
155
  if (event.translationY > dismissThreshold && enableDismissGesture && onDismiss) {
142
156
  runOnJS(onDismiss)();
143
157
  return;
@@ -151,14 +165,34 @@ export const useGestureViewer = ({
151
165
  const zoomPinchGesture = useMemo(() => {
152
166
  return Gesture.Pinch().enabled(enableZoomGesture).onBegin(() => {
153
167
  startScale.value = scale.value;
168
+ initialTranslateX.value = translateX.value;
169
+ initialTranslateY.value = translateY.value;
154
170
  }).onUpdate(event => {
155
- scale.value = startScale.value * event.scale;
171
+ const newScale = startScale.value * event.scale;
172
+ const deltaScale = newScale - startScale.value;
173
+ const centerX = event.focalX - width / 2;
174
+ const centerY = event.focalY - screenHeight / 2;
175
+ scale.value = newScale;
176
+ // NOTE 새로운 이동값 = 기존 이동값 - (중심점 거리 × 스케일 변화량) / 원래 스케일 (중심점이 화면 중심에서 멀수록, 확대 배율이 클수록 더 많이 이동)
177
+ const newTranslateX = initialTranslateX.value - centerX * deltaScale / startScale.value;
178
+ const newTranslateY = initialTranslateY.value - centerY * deltaScale / startScale.value;
179
+ const constrained = constrainToBounds(newTranslateX, newTranslateY, newScale);
180
+ if (newScale <= 1) {
181
+ translateX.value = withTiming(0);
182
+ translateY.value = withTiming(0);
183
+ return;
184
+ }
185
+ translateX.value = constrained.x;
186
+ translateY.value = constrained.y;
156
187
  }).onEnd(() => {
157
188
  if (scale.value > maxZoomScale) {
158
189
  scale.value = withTiming(maxZoomScale, {
159
190
  duration: 300,
160
191
  easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
161
192
  });
193
+ const constrained = constrainToBounds(translateX.value, translateY.value, maxZoomScale);
194
+ translateX.value = withTiming(constrained.x);
195
+ translateY.value = withTiming(constrained.y);
162
196
  return;
163
197
  }
164
198
  if (scale.value < 1) {
@@ -168,43 +202,63 @@ export const useGestureViewer = ({
168
202
  });
169
203
  translateX.value = withTiming(0);
170
204
  translateY.value = withTiming(0);
205
+ initialTranslateX.value = withTiming(0);
206
+ initialTranslateY.value = withTiming(0);
207
+ return;
171
208
  }
209
+ const finalConstrained = constrainToBounds(translateX.value, translateY.value, scale.value);
210
+ translateX.value = withTiming(finalConstrained.x);
211
+ translateY.value = withTiming(finalConstrained.y);
172
212
  });
173
- }, [scale, enableZoomGesture, maxZoomScale, translateX, translateY, startScale]);
213
+ }, [scale, enableZoomGesture, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, screenHeight, constrainToBounds]);
174
214
  const zoomPanGesture = useMemo(() => {
175
- return Gesture.Pan().enabled(enableZoomPanGesture && isZoomed).onBegin(() => {
215
+ return Gesture.Pan().enabled(enableZoomPanGesture && isZoomed).averageTouches(true).onBegin(() => {
176
216
  initialTranslateX.value = translateX.value;
177
217
  initialTranslateY.value = translateY.value;
178
218
  }).onUpdate(event => {
179
- 'worklet';
180
-
181
219
  if (scale.value > 1) {
182
- const maxTranslateX = (width * scale.value - width) / 2;
183
- const maxTranslateY = (screenHeight * scale.value - screenHeight) / 2;
184
- translateX.value = Math.max(-maxTranslateX, Math.min(maxTranslateX, initialTranslateX.value + event.translationX));
185
- translateY.value = Math.max(-maxTranslateY, Math.min(maxTranslateY, initialTranslateY.value + event.translationY));
220
+ const newTranslateX = initialTranslateX.value + event.translationX;
221
+ const newTranslateY = initialTranslateY.value + event.translationY;
222
+ const constrained = constrainToBounds(newTranslateX, newTranslateY, scale.value);
223
+ translateX.value = constrained.x;
224
+ translateY.value = constrained.y;
186
225
  }
187
226
  });
188
- }, [translateX, translateY, enableZoomPanGesture, isZoomed, scale, initialTranslateX, initialTranslateY, width, screenHeight]);
227
+ }, [translateX, translateY, enableZoomPanGesture, isZoomed, scale, initialTranslateX, initialTranslateY, constrainToBounds]);
189
228
  const doubleTapGesture = useMemo(() => {
190
- return Gesture.Tap().enabled(enableDoubleTapGesture).numberOfTaps(2).onEnd(() => {
229
+ return Gesture.Tap().enabled(enableDoubleTapGesture).numberOfTaps(2).onEnd(event => {
191
230
  const nextScale = scale.value > 1 ? 1 : maxZoomScale;
192
- translateX.value = withTiming(0, {
193
- duration: 300,
194
- easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
195
- });
196
- translateY.value = withTiming(0, {
197
- duration: 300,
198
- easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
199
- });
231
+ if (nextScale > 1) {
232
+ const centerX = event.x - width / 2;
233
+ const centerY = event.y - screenHeight / 2;
234
+
235
+ // NOTE 확대로 밀려난 거리만큼 반대로 이동해서 탭 지점을 제자리에 유지
236
+ translateX.value = withTiming(-centerX * (nextScale - 1), {
237
+ duration: 300,
238
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
239
+ });
240
+ translateY.value = withTiming(-centerY * (nextScale - 1), {
241
+ duration: 300,
242
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
243
+ });
244
+ } else {
245
+ translateX.value = withTiming(0, {
246
+ duration: 300,
247
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
248
+ });
249
+ translateY.value = withTiming(0, {
250
+ duration: 300,
251
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
252
+ });
253
+ }
200
254
  scale.value = withTiming(nextScale, {
201
255
  duration: 300,
202
256
  easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
203
257
  });
204
258
  });
205
- }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY]);
259
+ }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY, width, screenHeight]);
206
260
  const zoomGesture = useMemo(() => {
207
- return Gesture.Simultaneous(zoomPinchGesture, zoomPanGesture, doubleTapGesture);
261
+ return Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, doubleTapGesture));
208
262
  }, [zoomPinchGesture, zoomPanGesture, doubleTapGesture]);
209
263
  const animatedStyle = useAnimatedStyle(() => {
210
264
  return {
@@ -218,7 +272,7 @@ export const useGestureViewer = ({
218
272
  };
219
273
  });
220
274
  const backdropStyle = useAnimatedStyle(() => {
221
- if (!animateBackdrop || scale.value > 1) {
275
+ if (!animateBackdrop || scale.value !== 1) {
222
276
  return {
223
277
  opacity: 1
224
278
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","listRef","dataLength","length","value","currentScale","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","x","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","Math","round","dismissGesture","Pan","minDistance","averageTouches","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","duration","easing","bezier","zoomPanGesture","maxTranslateX","maxTranslateY","max","min","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Simultaneous","animatedStyle","transform","backdropStyle","opacity"],"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","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","listRef","dataLength","length","constrainToBounds","x","y","maxTranslateX","maxTranslateY","Math","max","min","value","currentScale","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","round","dismissGesture","Pan","minDistance","averageTouches","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrained","duration","easing","bezier","finalConstrained","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","transform","backdropStyle","opacity"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ export declare const useGestureViewer: <T = any>({ data, initialIndex, onIndexCh
8
8
  listRef: import("react").RefObject<any>;
9
9
  isZoomed: boolean;
10
10
  dismissGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/panGesture").PanGesture;
11
- zoomGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").SimultaneousGesture;
11
+ zoomGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").ComposedGesture;
12
12
  onMomentumScrollEnd: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
13
13
  animatedStyle: {
14
14
  transform: ({
@@ -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;AAElD,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,yQAoBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;iCAgHf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;CA2LlD,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;AAElD,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,yQAoBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;iCAqIf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;CAiPlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-image-viewer",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
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",