react-native-gesture-image-viewer 2.2.0 → 2.3.0

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.
Files changed (44) hide show
  1. package/README.md +6 -1
  2. package/lib/module/GestureViewer.js +2 -2
  3. package/lib/module/GestureViewer.js.map +1 -1
  4. package/lib/module/GestureViewerManager.js +3 -0
  5. package/lib/module/GestureViewerManager.js.map +1 -1
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/useGestureViewer.js +58 -15
  8. package/lib/module/useGestureViewer.js.map +1 -1
  9. package/lib/module/useGestureViewerEvent.js +15 -1
  10. package/lib/module/useGestureViewerEvent.js.map +1 -1
  11. package/lib/module/useGestureViewerPaging.js +1 -1
  12. package/lib/module/useGestureViewerPaging.js.map +1 -1
  13. package/lib/module/useGestureViewerPaging.web.js +47 -26
  14. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  15. package/lib/module/utils/dismiss.js +25 -0
  16. package/lib/module/utils/dismiss.js.map +1 -0
  17. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  18. package/lib/typescript/src/GestureViewerManager.d.ts +2 -1
  19. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  20. package/lib/typescript/src/index.d.ts +1 -1
  21. package/lib/typescript/src/index.d.ts.map +1 -1
  22. package/lib/typescript/src/types.d.ts +33 -4
  23. package/lib/typescript/src/types.d.ts.map +1 -1
  24. package/lib/typescript/src/useGestureViewer.d.ts +2 -2
  25. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  26. package/lib/typescript/src/useGestureViewerEvent.d.ts +15 -1
  27. package/lib/typescript/src/useGestureViewerEvent.d.ts.map +1 -1
  28. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +9 -1
  29. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  30. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  31. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  32. package/lib/typescript/src/utils/dismiss.d.ts +4 -0
  33. package/lib/typescript/src/utils/dismiss.d.ts.map +1 -0
  34. package/package.json +1 -1
  35. package/src/GestureViewer.tsx +4 -2
  36. package/src/GestureViewerManager.ts +4 -0
  37. package/src/index.tsx +1 -0
  38. package/src/types.ts +31 -4
  39. package/src/useGestureViewer.ts +108 -47
  40. package/src/useGestureViewerEvent.ts +15 -1
  41. package/src/useGestureViewerPaging.ts +1 -1
  42. package/src/useGestureViewerPaging.types.ts +7 -1
  43. package/src/useGestureViewerPaging.web.ts +56 -32
  44. package/src/utils/dismiss.ts +36 -0
@@ -13,6 +13,7 @@ export function useGestureViewerPaging({
13
13
  enableHorizontalSwipe,
14
14
  enableLoop,
15
15
  height,
16
+ onSingleTap,
16
17
  isRotated,
17
18
  isZoomed,
18
19
  itemSpacing,
@@ -26,6 +27,7 @@ export function useGestureViewerPaging({
26
27
  translateY,
27
28
  width
28
29
  }) {
30
+ const webSingleTapTimerRef = useRef(null);
29
31
  const webScrollRuntimeRef = useRef({
30
32
  actor: 'idle',
31
33
  isAutoplayPausedByUser: false,
@@ -36,6 +38,12 @@ export function useGestureViewerPaging({
36
38
  settleTimer: null,
37
39
  resumeAutoplayTimer: null
38
40
  });
41
+ const clearWebSingleTapTimer = useCallback(() => {
42
+ if (webSingleTapTimerRef.current) {
43
+ clearTimeout(webSingleTapTimerRef.current);
44
+ webSingleTapTimerRef.current = null;
45
+ }
46
+ }, []);
39
47
  const clearWebSettleTimer = useCallback(() => {
40
48
  const runtime = webScrollRuntimeRef.current;
41
49
  if (runtime.settleTimer) {
@@ -152,10 +160,11 @@ export function useGestureViewerPaging({
152
160
  }, [adjustedInitialIndex, clearWebAutoplayResumeTimer, clearWebSettleTimer, itemSpacing, manager, width]);
153
161
  useEffect(() => {
154
162
  return () => {
163
+ clearWebSingleTapTimer();
155
164
  clearWebSettleTimer();
156
165
  clearWebAutoplayResumeTimer();
157
166
  };
158
- }, [clearWebAutoplayResumeTimer, clearWebSettleTimer]);
167
+ }, [clearWebAutoplayResumeTimer, clearWebSettleTimer, clearWebSingleTapTimer]);
159
168
  useEffect(() => {
160
169
  if (!autoPlay || dataLength <= 1 || isZoomed || isRotated || !enableLoop && currentIndex === dataLength - 1) {
161
170
  return;
@@ -218,37 +227,49 @@ export function useGestureViewerPaging({
218
227
  clearWebSettleTimer();
219
228
  manager?.handleScrollBeginDrag();
220
229
  }, [beginWebUserInteraction, clearWebSettleTimer, manager]);
221
- const onWebDoubleClick = useCallback(event => {
222
- if (!enableDoubleTapZoom || event?.nativeEvent?.detail !== 2) {
230
+ const onWebClick = useCallback(event => {
231
+ const detail = event.detail;
232
+ const rect = event.currentTarget.getBoundingClientRect();
233
+ const resolvedX = event.clientX - rect.left;
234
+ const resolvedY = event.clientY - rect.top;
235
+ if (!enableDoubleTapZoom) {
236
+ if (!onSingleTap) {
237
+ return;
238
+ }
239
+ clearWebSingleTapTimer();
240
+ onSingleTap(resolvedX, resolvedY);
223
241
  return;
224
242
  }
225
- pauseWebAutoplayWithoutPagingInteraction();
226
- scheduleWebAutoplayResume();
227
- const nativeEvent = event?.nativeEvent;
228
- const eventTarget = event?.currentTarget ?? nativeEvent?.currentTarget ?? nativeEvent?.target;
229
- let locationX = nativeEvent?.locationX;
230
- let locationY = nativeEvent?.locationY;
231
- if ((!Number.isFinite(locationX) || !Number.isFinite(locationY)) && typeof eventTarget?.getBoundingClientRect === 'function' && Number.isFinite(nativeEvent?.clientX) && Number.isFinite(nativeEvent?.clientY)) {
232
- const rect = eventTarget.getBoundingClientRect();
233
- locationX = nativeEvent.clientX - rect.left;
234
- locationY = nativeEvent.clientY - rect.top;
235
- }
236
- applyTapZoomAtPoint({
237
- x: Number.isFinite(locationX) ? locationX : width / 2,
238
- y: Number.isFinite(locationY) ? locationY : height / 2,
239
- width,
240
- height,
241
- maxZoomScale,
242
- scale,
243
- translateX,
244
- translateY
245
- });
246
- }, [enableDoubleTapZoom, height, maxZoomScale, pauseWebAutoplayWithoutPagingInteraction, scheduleWebAutoplayResume, scale, translateX, translateY, width]);
243
+ if (detail === 2) {
244
+ clearWebSingleTapTimer();
245
+ pauseWebAutoplayWithoutPagingInteraction();
246
+ scheduleWebAutoplayResume();
247
+ applyTapZoomAtPoint({
248
+ x: resolvedX,
249
+ y: resolvedY,
250
+ width,
251
+ height,
252
+ maxZoomScale,
253
+ scale,
254
+ translateX,
255
+ translateY
256
+ });
257
+ return;
258
+ }
259
+ if (detail !== 1 || !onSingleTap) {
260
+ return;
261
+ }
262
+ clearWebSingleTapTimer();
263
+ webSingleTapTimerRef.current = setTimeout(() => {
264
+ onSingleTap(resolvedX, resolvedY);
265
+ webSingleTapTimerRef.current = null;
266
+ }, 250);
267
+ }, [clearWebSingleTapTimer, enableDoubleTapZoom, height, maxZoomScale, onSingleTap, pauseWebAutoplayWithoutPagingInteraction, scale, scheduleWebAutoplayResume, translateX, translateY, width]);
247
268
  return {
248
269
  onMomentumScrollEnd,
249
270
  onScroll,
250
271
  onScrollBeginDrag,
251
- onWebDoubleClick
272
+ onWebClick
252
273
  };
253
274
  }
254
275
  //# sourceMappingURL=useGestureViewerPaging.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","applyTapZoomAtPoint","getWebAutoPlayTargetPhysicalIndex","getWebScrollPhysicalIndex","resolveWebScrollFinalState","useGestureViewerPaging","adjustedInitialIndex","autoPlay","autoPlayInterval","currentIndex","dataLength","enableDoubleTapZoom","enableHorizontalSwipe","enableLoop","height","isRotated","isZoomed","itemSpacing","manager","maxZoomScale","scale","scrollTo","syncCurrentIndex","syncPendingIndex","translateX","translateY","width","webScrollRuntimeRef","actor","isAutoplayPausedByUser","lastSettledPhysicalIndex","latestOffsetX","latestRawPhysicalIndex","lastProgrammaticScrollVersion","settleTimer","resumeAutoplayTimer","clearWebSettleTimer","runtime","current","clearTimeout","clearWebAutoplayResumeTimer","scheduleWebAutoplayResume","setTimeout","pauseWebAutoplayWithoutPagingInteraction","beginWebUserInteraction","force","beginWebAutoplayScroll","getProgrammaticScrollVersion","syncProgrammaticActorFromManager","nextVersion","finalizeWebScroll","offsetX","source","settledByActor","settledState","pageWidth","logicalIndex","rawPhysicalIndex","settledPhysicalIndex","crossedLoopBoundary","cancelPendingLoopTransition","scheduleWebScrollSettle","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","targetPhysicalIndex","clearInterval","onScroll","event","nativeEvent","contentOffset","x","pendingState","onMomentumScrollEnd","onScrollBeginDrag","handleScrollBeginDrag","onWebDoubleClick","detail","eventTarget","currentTarget","target","locationX","locationY","getBoundingClientRect","clientX","clientY","rect","left","top","y"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","applyTapZoomAtPoint","getWebAutoPlayTargetPhysicalIndex","getWebScrollPhysicalIndex","resolveWebScrollFinalState","useGestureViewerPaging","adjustedInitialIndex","autoPlay","autoPlayInterval","currentIndex","dataLength","enableDoubleTapZoom","enableHorizontalSwipe","enableLoop","height","onSingleTap","isRotated","isZoomed","itemSpacing","manager","maxZoomScale","scale","scrollTo","syncCurrentIndex","syncPendingIndex","translateX","translateY","width","webSingleTapTimerRef","webScrollRuntimeRef","actor","isAutoplayPausedByUser","lastSettledPhysicalIndex","latestOffsetX","latestRawPhysicalIndex","lastProgrammaticScrollVersion","settleTimer","resumeAutoplayTimer","clearWebSingleTapTimer","current","clearTimeout","clearWebSettleTimer","runtime","clearWebAutoplayResumeTimer","scheduleWebAutoplayResume","setTimeout","pauseWebAutoplayWithoutPagingInteraction","beginWebUserInteraction","force","beginWebAutoplayScroll","getProgrammaticScrollVersion","syncProgrammaticActorFromManager","nextVersion","finalizeWebScroll","offsetX","source","settledByActor","settledState","pageWidth","logicalIndex","rawPhysicalIndex","settledPhysicalIndex","crossedLoopBoundary","cancelPendingLoopTransition","scheduleWebScrollSettle","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","targetPhysicalIndex","clearInterval","onScroll","event","nativeEvent","contentOffset","x","pendingState","onMomentumScrollEnd","onScrollBeginDrag","handleScrollBeginDrag","onWebClick","detail","rect","currentTarget","getBoundingClientRect","resolvedX","clientX","left","resolvedY","clientY","top","y"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ export const shouldDismissByDirection = (translationY, threshold, direction) => {
4
+ 'worklet';
5
+
6
+ if (direction === 'up') {
7
+ return translationY < -threshold;
8
+ }
9
+ if (direction === 'both') {
10
+ return Math.abs(translationY) > threshold;
11
+ }
12
+ return translationY > threshold;
13
+ };
14
+ export const getDismissDistance = (translationY, direction) => {
15
+ 'worklet';
16
+
17
+ if (direction === 'up') {
18
+ return Math.max(-translationY, 0);
19
+ }
20
+ if (direction === 'both') {
21
+ return Math.abs(translationY);
22
+ }
23
+ return Math.max(translationY, 0);
24
+ };
25
+ //# sourceMappingURL=dismiss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shouldDismissByDirection","translationY","threshold","direction","Math","abs","getDismissDistance","max"],"sourceRoot":"../../../src","sources":["utils/dismiss.ts"],"mappings":";;AAEA,OAAO,MAAMA,wBAAwB,GAAGA,CACtCC,YAAoB,EACpBC,SAAiB,EACjBC,SAAwC,KAC5B;EACZ,SAAS;;EAET,IAAIA,SAAS,KAAK,IAAI,EAAE;IACtB,OAAOF,YAAY,GAAG,CAACC,SAAS;EAClC;EAEA,IAAIC,SAAS,KAAK,MAAM,EAAE;IACxB,OAAOC,IAAI,CAACC,GAAG,CAACJ,YAAY,CAAC,GAAGC,SAAS;EAC3C;EAEA,OAAOD,YAAY,GAAGC,SAAS;AACjC,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAChCL,YAAoB,EACpBE,SAAwC,KAC7B;EACX,SAAS;;EAET,IAAIA,SAAS,KAAK,IAAI,EAAE;IACtB,OAAOC,IAAI,CAACG,GAAG,CAAC,CAACN,YAAY,EAAE,CAAC,CAAC;EACnC;EAEA,IAAIE,SAAS,KAAK,MAAM,EAAE;IACxB,OAAOC,IAAI,CAACC,GAAG,CAACJ,YAAY,CAAC;EAC/B;EAEA,OAAOG,IAAI,CAACG,GAAG,CAACN,YAAY,EAAE,CAAC,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAWlD,wBAAgB,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EACvC,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,cAAsB,EACtB,UAAkB,EAClB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,2CAmM/B"}
1
+ {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAWlD,wBAAgB,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EACvC,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,cAAsB,EACtB,UAAkB,EAClB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,2CAqM/B"}
@@ -1,5 +1,5 @@
1
1
  import { type SharedValue } from 'react-native-reanimated';
2
- import type { GestureViewerEventCallback, GestureViewerEventType, GestureViewerState } from './types';
2
+ import type { GestureViewerEventCallback, GestureViewerEventData, GestureViewerEventType, GestureViewerState } from './types';
3
3
  declare class GestureViewerManager {
4
4
  private currentIndex;
5
5
  private dataLength;
@@ -24,6 +24,7 @@ declare class GestureViewerManager {
24
24
  private emitEvent;
25
25
  emitZoomChange: (scale: number, previousScale: number | null) => void;
26
26
  emitRotationChange: (rotation: number, previousRotation: number | null) => void;
27
+ emitTap: (data: GestureViewerEventData["tap"]) => void;
27
28
  getState(): GestureViewerState;
28
29
  getProgrammaticScrollVersion(): number;
29
30
  setEnableLoop(enabled: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EACV,0BAA0B,EAE1B,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,cAAM,oBAAoB;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,yBAAyB,CAAK;IAEtC,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,cAAc,CAA+D;IAErF,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;IAQvD,gBAAgB,CAAC,CAAC,SAAS,sBAAsB,EAC/C,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAqBzC,OAAO,CAAC,SAAS;IAWjB,cAAc,GAAI,OAAO,MAAM,EAAE,eAAe,MAAM,GAAG,IAAI,UAE3D;IAEF,kBAAkB,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,GAAG,IAAI,UAErE;IAEF,QAAQ,IAAI,kBAAkB;IAO9B,4BAA4B;IAI5B,aAAa,CAAC,OAAO,EAAE,OAAO;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,wBAAwB,CAAC,OAAO,EAAE,OAAO;IAIzC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,mBAAmB,CACjB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,MAAM;IAQtB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;IAIvD,iBAAiB;IAIjB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;IAIzC,MAAM,GAAI,QAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAQ,EAAE,mBAAgB,UA6B9D;IAEF,MAAM,GAAI,mBAAiB,UA0BzB;IAEF,OAAO,GAAI,mBAAiB,UAgC1B;IAEF,SAAS,GAAI,cAAS,UAcpB;IAEF,SAAS,GAAI,OAAO,MAAM,UAoDxB;IAEF,uBAAuB,GAAI,aAAa,MAAM,aAY5C;IAEF,2BAA2B,aAEzB;IAEF,qBAAqB,aAEnB;IAEF,YAAY,aAEV;IAEF,QAAQ,aAEN;IAEF,OAAO;IAgBP,OAAO,CAAC,kBAAkB,CAGxB;CACH;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,cAAM,oBAAoB;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,yBAAyB,CAAK;IAEtC,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,cAAc,CAA+D;IAErF,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;IAQvD,gBAAgB,CAAC,CAAC,SAAS,sBAAsB,EAC/C,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAqBzC,OAAO,CAAC,SAAS;IAWjB,cAAc,GAAI,OAAO,MAAM,EAAE,eAAe,MAAM,GAAG,IAAI,UAE3D;IAEF,kBAAkB,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,GAAG,IAAI,UAErE;IAEF,OAAO,GAAI,MAAM,sBAAsB,CAAC,KAAK,CAAC,UAE5C;IAEF,QAAQ,IAAI,kBAAkB;IAO9B,4BAA4B;IAI5B,aAAa,CAAC,OAAO,EAAE,OAAO;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,wBAAwB,CAAC,OAAO,EAAE,OAAO;IAIzC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,mBAAmB,CACjB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,MAAM;IAQtB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;IAIvD,iBAAiB;IAIjB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;IAIzC,MAAM,GAAI,QAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAQ,EAAE,mBAAgB,UA6B9D;IAEF,MAAM,GAAI,mBAAiB,UA0BzB;IAEF,OAAO,GAAI,mBAAiB,UAgC1B;IAEF,SAAS,GAAI,cAAS,UAcpB;IAEF,SAAS,GAAI,OAAO,MAAM,UAoDxB;IAEF,uBAAuB,GAAI,aAAa,MAAM,aAY5C;IAEF,2BAA2B,aAEzB;IAEF,qBAAqB,aAEnB;IAEF,YAAY,aAEV;IAEF,QAAQ,aAEN;IAEF,OAAO;IAgBP,OAAO,CAAC,kBAAkB,CAGxB;CACH;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export type { GestureTriggerProps } from './GestureTrigger';
2
2
  export { GestureTrigger } from './GestureTrigger';
3
3
  export { GestureViewer } from './GestureViewer';
4
- export type { GestureViewerController, GestureViewerEventCallback, GestureViewerEventData, GestureViewerEventType, GestureViewerProps, GestureViewerState, } from './types';
4
+ export type { GestureViewerController, GestureViewerEventCallback, GestureViewerEventData, GestureViewerEventType, GestureViewerProps, GestureViewerState, GestureViewerSingleTapEvent, } from './types';
5
5
  export { useGestureViewerController } from './useGestureViewerController';
6
6
  export { useGestureViewerEvent } from './useGestureViewerEvent';
7
7
  export { useGestureViewerState } from './useGestureViewerState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -25,6 +25,13 @@ export type TriggerRect = {
25
25
  width: number;
26
26
  height: number;
27
27
  };
28
+ export type GestureViewerSingleTapEvent<ItemT> = {
29
+ x: number;
30
+ y: number;
31
+ index: number;
32
+ item: ItemT;
33
+ };
34
+ export type GestureViewerDismissDirection = 'down' | 'up' | 'both';
28
35
  export interface TriggerAnimationConfig extends WithTimingConfig {
29
36
  /**
30
37
  * Animation duration in milliseconds
@@ -70,9 +77,18 @@ export interface GestureViewerProps<ItemT, LC> {
70
77
  * A callback function that is called to render the item.
71
78
  */
72
79
  renderItem: (item: ItemT, index: number) => React.ReactElement;
80
+ /**
81
+ * A callback function that is called when a single tap is confirmed on the viewer content.
82
+ * @remarks
83
+ * - The callback runs only after the tap is resolved as a single tap, so it may be slightly delayed when double-tap zoom is enabled.
84
+ * - It is not called for swipe, pinch, dismiss, or double-tap zoom gestures.
85
+ * - Prefer this callback over overlaying a pressable in `renderContainer` for fullscreen tap handling.
86
+ */
87
+ onSingleTap?: (event: GestureViewerSingleTapEvent<ItemT>) => void;
73
88
  /**
74
89
  * A callback function that is called to render the container.
75
90
  * @remarks Useful for composing additional UI (e.g., close button, toolbars) around the viewer.
91
+ * Prefer `onSingleTap` for fullscreen tap handling instead of overlaying a pressable over the viewer content.
76
92
  * The second argument provides control helpers such as `dismiss()` to close the viewer.
77
93
  *
78
94
  * @param children - The viewer content to be rendered inside your container.
@@ -131,8 +147,8 @@ export interface GestureViewerProps<ItemT, LC> {
131
147
  */
132
148
  autoPlayInterval?: number;
133
149
  /**
134
- * Dismiss gesture options. Calls `onDismiss` function when swiping down.
135
- * @remarks Useful for closing modals with downward swipe gestures.
150
+ * Dismiss gesture options.
151
+ * @remarks Useful for closing modals with configurable vertical swipe gestures.
136
152
  */
137
153
  dismiss?: {
138
154
  /**
@@ -140,6 +156,12 @@ export interface GestureViewerProps<ItemT, LC> {
140
156
  * @defaultValue true
141
157
  */
142
158
  enabled?: boolean;
159
+ /**
160
+ * Controls which vertical swipe direction can trigger `onDismiss`.
161
+ * @remarks Use `down` for backward-compatible behavior, `up` for upward-only dismiss, or `both` for either direction.
162
+ * @defaultValue 'down'
163
+ */
164
+ direction?: GestureViewerDismissDirection;
143
165
  /**
144
166
  * `threshold` controls when `onDismiss` is called by applying a threshold value during vertical gestures.
145
167
  * @defaultValue 80
@@ -151,7 +173,7 @@ export interface GestureViewerProps<ItemT, LC> {
151
173
  */
152
174
  resistance?: number;
153
175
  /**
154
- * By default, the background `opacity` gradually decreases from 1 to 0 during downward swipe gestures.
176
+ * By default, the background `opacity` gradually decreases as you drag in the configured dismiss direction.
155
177
  * @remarks When `false`, this animation is disabled.
156
178
  * @defaultValue true
157
179
  */
@@ -362,7 +384,13 @@ export type GestureViewerState = {
362
384
  */
363
385
  readonly totalCount: number;
364
386
  };
365
- export type GestureViewerEventType = 'zoomChange' | 'rotationChange';
387
+ export type GestureViewerEventType = 'zoomChange' | 'rotationChange' | 'tap';
388
+ export type SingleTapEventData = {
389
+ kind: 'single';
390
+ x: number;
391
+ y: number;
392
+ index: number;
393
+ };
366
394
  export type GestureViewerEventData = {
367
395
  zoomChange: {
368
396
  scale: number;
@@ -372,6 +400,7 @@ export type GestureViewerEventData = {
372
400
  rotation: number;
373
401
  previousRotation: number | null;
374
402
  };
403
+ tap: SingleTapEventData;
375
404
  };
376
405
  export type GestureViewerEventCallback<T extends GestureViewerEventType> = (data: GestureViewerEventData[T]) => void;
377
406
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { GestureViewerProps } from './types';
2
2
  type UseGestureViewerProps<ItemT, LC> = Omit<GestureViewerProps<ItemT, LC>, 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle' | 'enableSnapMode'>;
3
- export declare const useGestureViewer: <ItemT, LC>({ data, initialIndex, onDismiss, width: customWidth, dismiss, enableDoubleTapZoom, enablePinchZoom, enableHorizontalSwipe, enablePanWhenZoomed, enableLoop, maxZoomScale, itemSpacing, height: customHeight, id, onDismissStart, triggerAnimation, autoPlay, autoPlayInterval, }: UseGestureViewerProps<ItemT, LC>) => {
3
+ export declare const useGestureViewer: <ItemT, LC>({ data, initialIndex, onDismiss, onSingleTap, width: customWidth, dismiss, enableDoubleTapZoom, enablePinchZoom, enableHorizontalSwipe, enablePanWhenZoomed, enableLoop, maxZoomScale, itemSpacing, height: customHeight, id, onDismissStart, triggerAnimation, autoPlay, autoPlayInterval, }: UseGestureViewerProps<ItemT, LC>) => {
4
4
  animatedStyle: {
5
5
  opacity: number;
6
6
  transform: ({
@@ -36,7 +36,7 @@ export declare const useGestureViewer: <ItemT, LC>({ data, initialIndex, onDismi
36
36
  isZoomed: boolean;
37
37
  listRef: import("react").RefObject<any>;
38
38
  nativeScrollGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/nativeGesture").NativeGesture;
39
- onWebDoubleClick: ((event: any) => void) | undefined;
39
+ onWebClick: ((event: import("react").MouseEvent<import("./useGestureViewerPaging.types").WebClickTarget>) => void) | undefined;
40
40
  onMomentumScrollEnd: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
41
41
  onScroll: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
42
42
  onScrollBeginDrag: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAK/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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyrBlC,CAAC"}
1
+ {"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAM/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,+RAoBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAovBlC,CAAC"}
@@ -3,7 +3,7 @@ import type { GestureViewerEventCallback, GestureViewerEventType } from './types
3
3
  * Hook for subscribing to GestureViewer events on the default instance.
4
4
  *
5
5
  * This hook allows you to listen to specific events from the default GestureViewer instance
6
- * (with ID 'default'), such as zoom changes or rotation changes. Events are automatically
6
+ * (with ID 'default'), such as zoom changes, rotation changes, or confirmed tap events. Events are automatically
7
7
  * throttled to prevent excessive callback invocations during gestures.
8
8
  *
9
9
  * @param eventType - The type of event to listen for
@@ -20,6 +20,13 @@ import type { GestureViewerEventCallback, GestureViewerEventType } from './types
20
20
  * useGestureViewerEvent('rotationChange', (data) => {
21
21
  * console.log(`Rotation changed from ${data.previousRotation}° to ${data.rotation}°`);
22
22
  * });
23
+ *
24
+ * // Listen to confirmed single taps on the default instance (ID: 'default')
25
+ * useGestureViewerEvent('tap', (data) => {
26
+ * if (data.kind === 'single') {
27
+ * console.log(`Tapped item ${data.index} at (${data.x}, ${data.y})`);
28
+ * }
29
+ * });
23
30
  * ```
24
31
  */
25
32
  export declare function useGestureViewerEvent<T extends GestureViewerEventType>(eventType: T, callback: GestureViewerEventCallback<T>): void;
@@ -44,6 +51,13 @@ export declare function useGestureViewerEvent<T extends GestureViewerEventType>(
44
51
  * useGestureViewerEvent('modal-viewer', 'rotationChange', (data) => {
45
52
  * updateRotationIndicator(data.rotation);
46
53
  * });
54
+ *
55
+ * // Listen to confirmed single taps on a specific instance
56
+ * useGestureViewerEvent('gallery', 'tap', (data) => {
57
+ * if (data.kind === 'single') {
58
+ * console.log(`Gallery tap on item ${data.index}`);
59
+ * }
60
+ * });
47
61
  * ```
48
62
  */
49
63
  export declare function useGestureViewerEvent<T extends GestureViewerEventType>(id: string, eventType: T, callback: GestureViewerEventCallback<T>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureViewerEvent.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerEvent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,EACpE,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACtC,IAAI,CAAC;AAER;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,EACpE,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACtC,IAAI,CAAC"}
1
+ {"version":3,"file":"useGestureViewerEvent.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerEvent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,EACpE,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACtC,IAAI,CAAC;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,EACpE,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACtC,IAAI,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { MouseEvent } from 'react';
1
2
  import type { ScrollViewProps } from 'react-native';
2
3
  import type { SharedValue } from 'react-native-reanimated';
3
4
  import type GestureViewerManager from './GestureViewerManager';
@@ -16,6 +17,7 @@ export type UseGestureViewerPagingArgs = {
16
17
  itemSpacing: number;
17
18
  manager: GestureViewerManager | null;
18
19
  maxZoomScale: number;
20
+ onSingleTap?: (x: number, y: number) => void;
19
21
  scale: SharedValue<number>;
20
22
  scrollTo: (index: number, animated: boolean) => void;
21
23
  syncCurrentIndex: (nextIndex: number) => void;
@@ -24,10 +26,16 @@ export type UseGestureViewerPagingArgs = {
24
26
  translateY: SharedValue<number>;
25
27
  width: number;
26
28
  };
29
+ export type WebClickTarget = {
30
+ getBoundingClientRect: () => {
31
+ left: number;
32
+ top: number;
33
+ };
34
+ };
27
35
  export type UseGestureViewerPagingResult = {
28
36
  onMomentumScrollEnd?: ScrollViewProps['onMomentumScrollEnd'];
29
37
  onScroll?: ScrollViewProps['onScroll'];
30
38
  onScrollBeginDrag?: ScrollViewProps['onScrollBeginDrag'];
31
- onWebDoubleClick?: (event: any) => void;
39
+ onWebClick?: (event: MouseEvent<WebClickTarget>) => void;
32
40
  };
33
41
  //# sourceMappingURL=useGestureViewerPaging.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureViewerPaging.types.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACzC,CAAC"}
1
+ {"version":3,"file":"useGestureViewerPaging.types.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,qBAAqB,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { UseGestureViewerPagingArgs, UseGestureViewerPagingResult } from './useGestureViewerPaging.types';
2
- export declare function useGestureViewerPaging({ adjustedInitialIndex, autoPlay, autoPlayInterval, currentIndex, dataLength, enableDoubleTapZoom, enableHorizontalSwipe, enableLoop, height, isRotated, isZoomed, itemSpacing, manager, maxZoomScale, scale, scrollTo, syncCurrentIndex, syncPendingIndex, translateX, translateY, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
2
+ export declare function useGestureViewerPaging({ adjustedInitialIndex, autoPlay, autoPlayInterval, currentIndex, dataLength, enableDoubleTapZoom, enableHorizontalSwipe, enableLoop, height, onSingleTap, isRotated, isZoomed, itemSpacing, manager, maxZoomScale, scale, scrollTo, syncCurrentIndex, syncPendingIndex, translateX, translateY, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
3
3
  //# sourceMappingURL=useGestureViewerPaging.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureViewerPaging.web.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAqBxC,wBAAgB,sBAAsB,CAAC,EACrC,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,CAwW3D"}
1
+ {"version":3,"file":"useGestureViewerPaging.web.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAE7B,MAAM,gCAAgC,CAAC;AAqBxC,wBAAgB,sBAAsB,CAAC,EACrC,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,CA8X3D"}
@@ -0,0 +1,4 @@
1
+ import type { GestureViewerDismissDirection } from '../types';
2
+ export declare const shouldDismissByDirection: (translationY: number, threshold: number, direction: GestureViewerDismissDirection) => boolean;
3
+ export declare const getDismissDistance: (translationY: number, direction: GestureViewerDismissDirection) => number;
4
+ //# sourceMappingURL=dismiss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dismiss.d.ts","sourceRoot":"","sources":["../../../../src/utils/dismiss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE9D,eAAO,MAAM,wBAAwB,GACnC,cAAc,MAAM,EACpB,WAAW,MAAM,EACjB,WAAW,6BAA6B,KACvC,OAYF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,cAAc,MAAM,EACpB,WAAW,6BAA6B,KACvC,MAYF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-image-viewer",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "🖼️ React Native Image Viewer - Reanimated-powered image gestures with full control",
5
5
  "keywords": [
6
6
  "android",
@@ -59,7 +59,7 @@ export function GestureViewer<ItemT, LC>({
59
59
  dismissGesture,
60
60
  zoomGesture,
61
61
  nativeScrollGesture,
62
- onWebDoubleClick,
62
+ onWebClick,
63
63
  onMomentumScrollEnd,
64
64
  onScroll,
65
65
  onScrollBeginDrag,
@@ -191,7 +191,9 @@ export function GestureViewer<ItemT, LC>({
191
191
  <Animated.View style={[styles.background, backdropStyleProps, backdropStyle]} />
192
192
  <Animated.View
193
193
  style={[styles.content, animatedStyle]}
194
- {...(Platform.OS === 'web' && { onClick: onWebDoubleClick })}
194
+ {...(Platform.OS === 'web' && {
195
+ onClick: onWebClick,
196
+ })}
195
197
  {...(Platform.OS === 'web' &&
196
198
  isFlashListLike(Component) && { dataSet: { 'flash-list-paging-enabled-fix': true } })}
197
199
  >
@@ -86,6 +86,10 @@ class GestureViewerManager {
86
86
  this.emitEvent('rotationChange', { rotation, previousRotation });
87
87
  };
88
88
 
89
+ emitTap = (data: GestureViewerEventData['tap']) => {
90
+ this.emitEvent('tap', data);
91
+ };
92
+
89
93
  getState(): GestureViewerState {
90
94
  return {
91
95
  currentIndex: this.currentIndex,
package/src/index.tsx CHANGED
@@ -8,6 +8,7 @@ export type {
8
8
  GestureViewerEventType,
9
9
  GestureViewerProps,
10
10
  GestureViewerState,
11
+ GestureViewerSingleTapEvent,
11
12
  } from './types';
12
13
  export { useGestureViewerController } from './useGestureViewerController';
13
14
  export { useGestureViewerEvent } from './useGestureViewerEvent';