react-native-gesture-image-viewer 2.1.4 → 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 (56) hide show
  1. package/README.md +6 -1
  2. package/lib/module/GestureTrigger.js +22 -5
  3. package/lib/module/GestureTrigger.js.map +1 -1
  4. package/lib/module/GestureViewer.js +2 -2
  5. package/lib/module/GestureViewer.js.map +1 -1
  6. package/lib/module/GestureViewerManager.js +3 -0
  7. package/lib/module/GestureViewerManager.js.map +1 -1
  8. package/lib/module/GestureViewerRegistry.js +52 -8
  9. package/lib/module/GestureViewerRegistry.js.map +1 -1
  10. package/lib/module/index.js.map +1 -1
  11. package/lib/module/useGestureViewer.js +141 -43
  12. package/lib/module/useGestureViewer.js.map +1 -1
  13. package/lib/module/useGestureViewerEvent.js +15 -1
  14. package/lib/module/useGestureViewerEvent.js.map +1 -1
  15. package/lib/module/useGestureViewerPaging.js +16 -2
  16. package/lib/module/useGestureViewerPaging.js.map +1 -1
  17. package/lib/module/useGestureViewerPaging.web.js +62 -28
  18. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  19. package/lib/module/utils/dismiss.js +25 -0
  20. package/lib/module/utils/dismiss.js.map +1 -0
  21. package/lib/typescript/src/GestureTrigger.d.ts +9 -3
  22. package/lib/typescript/src/GestureTrigger.d.ts.map +1 -1
  23. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  24. package/lib/typescript/src/GestureViewerManager.d.ts +2 -1
  25. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  26. package/lib/typescript/src/GestureViewerRegistry.d.ts +11 -4
  27. package/lib/typescript/src/GestureViewerRegistry.d.ts.map +1 -1
  28. package/lib/typescript/src/index.d.ts +1 -1
  29. package/lib/typescript/src/index.d.ts.map +1 -1
  30. package/lib/typescript/src/types.d.ts +33 -4
  31. package/lib/typescript/src/types.d.ts.map +1 -1
  32. package/lib/typescript/src/useGestureViewer.d.ts +2 -2
  33. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  34. package/lib/typescript/src/useGestureViewerEvent.d.ts +15 -1
  35. package/lib/typescript/src/useGestureViewerEvent.d.ts.map +1 -1
  36. package/lib/typescript/src/useGestureViewerPaging.d.ts +1 -1
  37. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  38. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +10 -1
  39. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  40. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  41. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  42. package/lib/typescript/src/utils/dismiss.d.ts +4 -0
  43. package/lib/typescript/src/utils/dismiss.d.ts.map +1 -0
  44. package/package.json +1 -1
  45. package/src/GestureTrigger.tsx +31 -6
  46. package/src/GestureViewer.tsx +4 -2
  47. package/src/GestureViewerManager.ts +4 -0
  48. package/src/GestureViewerRegistry.ts +67 -8
  49. package/src/index.tsx +1 -0
  50. package/src/types.ts +31 -4
  51. package/src/useGestureViewer.ts +219 -81
  52. package/src/useGestureViewerEvent.ts +15 -1
  53. package/src/useGestureViewerPaging.ts +18 -2
  54. package/src/useGestureViewerPaging.types.ts +8 -1
  55. package/src/useGestureViewerPaging.web.ts +77 -33
  56. 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,
@@ -21,10 +22,12 @@ export function useGestureViewerPaging({
21
22
  scale,
22
23
  scrollTo,
23
24
  syncCurrentIndex,
25
+ syncPendingIndex,
24
26
  translateX,
25
27
  translateY,
26
28
  width
27
29
  }) {
30
+ const webSingleTapTimerRef = useRef(null);
28
31
  const webScrollRuntimeRef = useRef({
29
32
  actor: 'idle',
30
33
  isAutoplayPausedByUser: false,
@@ -35,6 +38,12 @@ export function useGestureViewerPaging({
35
38
  settleTimer: null,
36
39
  resumeAutoplayTimer: null
37
40
  });
41
+ const clearWebSingleTapTimer = useCallback(() => {
42
+ if (webSingleTapTimerRef.current) {
43
+ clearTimeout(webSingleTapTimerRef.current);
44
+ webSingleTapTimerRef.current = null;
45
+ }
46
+ }, []);
38
47
  const clearWebSettleTimer = useCallback(() => {
39
48
  const runtime = webScrollRuntimeRef.current;
40
49
  if (runtime.settleTimer) {
@@ -151,10 +160,11 @@ export function useGestureViewerPaging({
151
160
  }, [adjustedInitialIndex, clearWebAutoplayResumeTimer, clearWebSettleTimer, itemSpacing, manager, width]);
152
161
  useEffect(() => {
153
162
  return () => {
163
+ clearWebSingleTapTimer();
154
164
  clearWebSettleTimer();
155
165
  clearWebAutoplayResumeTimer();
156
166
  };
157
- }, [clearWebAutoplayResumeTimer, clearWebSettleTimer]);
167
+ }, [clearWebAutoplayResumeTimer, clearWebSettleTimer, clearWebSingleTapTimer]);
158
168
  useEffect(() => {
159
169
  if (!autoPlay || dataLength <= 1 || isZoomed || isRotated || !enableLoop && currentIndex === dataLength - 1) {
160
170
  return;
@@ -190,10 +200,22 @@ export function useGestureViewerPaging({
190
200
  if (!enableHorizontalSwipe) {
191
201
  return;
192
202
  }
203
+ const offsetX = event.nativeEvent.contentOffset.x;
204
+ const runtime = webScrollRuntimeRef.current;
205
+ const pendingState = resolveWebScrollFinalState({
206
+ dataLength,
207
+ enableLoop,
208
+ lastSettledPhysicalIndex: runtime.lastSettledPhysicalIndex,
209
+ offsetX,
210
+ pageWidth: width + itemSpacing
211
+ });
212
+ if (pendingState) {
213
+ syncPendingIndex(pendingState.logicalIndex);
214
+ }
193
215
  syncProgrammaticActorFromManager();
194
216
  beginWebUserInteraction();
195
- scheduleWebScrollSettle(event.nativeEvent.contentOffset.x);
196
- }, [beginWebUserInteraction, enableHorizontalSwipe, scheduleWebScrollSettle, syncProgrammaticActorFromManager]);
217
+ scheduleWebScrollSettle(offsetX);
218
+ }, [beginWebUserInteraction, dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, scheduleWebScrollSettle, syncPendingIndex, syncProgrammaticActorFromManager, width]);
197
219
  const onMomentumScrollEnd = useCallback(event => {
198
220
  if (!enableHorizontalSwipe) {
199
221
  return;
@@ -205,37 +227,49 @@ export function useGestureViewerPaging({
205
227
  clearWebSettleTimer();
206
228
  manager?.handleScrollBeginDrag();
207
229
  }, [beginWebUserInteraction, clearWebSettleTimer, manager]);
208
- const onWebDoubleClick = useCallback(event => {
209
- 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);
210
241
  return;
211
242
  }
212
- pauseWebAutoplayWithoutPagingInteraction();
213
- scheduleWebAutoplayResume();
214
- const nativeEvent = event?.nativeEvent;
215
- const eventTarget = event?.currentTarget ?? nativeEvent?.currentTarget ?? nativeEvent?.target;
216
- let locationX = nativeEvent?.locationX;
217
- let locationY = nativeEvent?.locationY;
218
- if ((!Number.isFinite(locationX) || !Number.isFinite(locationY)) && typeof eventTarget?.getBoundingClientRect === 'function' && Number.isFinite(nativeEvent?.clientX) && Number.isFinite(nativeEvent?.clientY)) {
219
- const rect = eventTarget.getBoundingClientRect();
220
- locationX = nativeEvent.clientX - rect.left;
221
- locationY = nativeEvent.clientY - rect.top;
222
- }
223
- applyTapZoomAtPoint({
224
- x: Number.isFinite(locationX) ? locationX : width / 2,
225
- y: Number.isFinite(locationY) ? locationY : height / 2,
226
- width,
227
- height,
228
- maxZoomScale,
229
- scale,
230
- translateX,
231
- translateY
232
- });
233
- }, [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]);
234
268
  return {
235
269
  onMomentumScrollEnd,
236
270
  onScroll,
237
271
  onScrollBeginDrag,
238
- onWebDoubleClick
272
+ onWebClick
239
273
  };
240
274
  }
241
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","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","onMomentumScrollEnd","onScrollBeginDrag","handleScrollBeginDrag","onWebDoubleClick","detail","eventTarget","currentTarget","target","locationX","locationY","getBoundingClientRect","clientX","clientY","rect","left","top","y"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.web.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAOtD,SAASC,mBAAmB,QAAQ,oBAAiB;AACrD,SACEC,iCAAiC,EACjCC,yBAAyB,EACzBC,0BAA0B,QACrB,sBAAmB;AAe1B,OAAO,SAASC,sBAAsBA,CAAC;EACrCC,oBAAoB;EACpBC,QAAQ;EACRC,gBAAgB;EAChBC,YAAY;EACZC,UAAU;EACVC,mBAAmB;EACnBC,qBAAqB;EACrBC,UAAU;EACVC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,YAAY;EACZC,KAAK;EACLC,QAAQ;EACRC,gBAAgB;EAChBC,UAAU;EACVC,UAAU;EACVC;AAC0B,CAAC,EAAgC;EAC3D,MAAMC,mBAAmB,GAAG1B,MAAM,CAAmB;IACnD2B,KAAK,EAAE,MAAM;IACbC,sBAAsB,EAAE,KAAK;IAC7BC,wBAAwB,EAAEvB,oBAAoB;IAC9CwB,aAAa,EAAExB,oBAAoB,IAAImB,KAAK,GAAGR,WAAW,CAAC;IAC3Dc,sBAAsB,EAAEzB,oBAAoB;IAC5C0B,6BAA6B,EAAE,CAAC;IAChCC,WAAW,EAAE,IAAI;IACjBC,mBAAmB,EAAE;EACvB,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGrC,WAAW,CAAC,MAAM;IAC5C,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3C,IAAID,OAAO,CAACH,WAAW,EAAE;MACvBK,YAAY,CAACF,OAAO,CAACH,WAAW,CAAC;MACjCG,OAAO,CAACH,WAAW,GAAG,IAAI;IAC5B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMM,2BAA2B,GAAGzC,WAAW,CAAC,MAAM;IACpD,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3C,IAAID,OAAO,CAACF,mBAAmB,EAAE;MAC/BI,YAAY,CAACF,OAAO,CAACF,mBAAmB,CAAC;MACzCE,OAAO,CAACF,mBAAmB,GAAG,IAAI;IACpC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMM,yBAAyB,GAAG1C,WAAW,CAAC,MAAM;IAClD,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3CE,2BAA2B,CAAC,CAAC;IAC7BH,OAAO,CAACF,mBAAmB,GAAGO,UAAU,CAAC,MAAM;MAC7CL,OAAO,CAACR,sBAAsB,GAAG,KAAK;MACtCQ,OAAO,CAACF,mBAAmB,GAAG,IAAI;IACpC,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EAAE,CAACK,2BAA2B,CAAC,CAAC;EAEjC,MAAMG,wCAAwC,GAAG5C,WAAW,CAAC,MAAM;IACjE,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3CD,OAAO,CAACR,sBAAsB,GAAG,IAAI;IACrCQ,OAAO,CAACT,KAAK,GAAG,MAAM;IACtBY,2BAA2B,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACA,2BAA2B,CAAC,CAAC;EAEjC,MAAMI,uBAAuB,GAAG7C,WAAW,CACzC,CAAC8C,KAAK,GAAG,KAAK,KAAK;IACjB,MAAMR,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3C,IAAI,CAACO,KAAK,IAAIR,OAAO,CAACT,KAAK,KAAK,UAAU,EAAE;MAC1C;IACF;IAEAS,OAAO,CAACT,KAAK,GAAG,MAAM;IACtBS,OAAO,CAACR,sBAAsB,GAAG,IAAI;IACrCW,2BAA2B,CAAC,CAAC;EAC/B,CAAC,EACD,CAACA,2BAA2B,CAC9B,CAAC;EAED,MAAMM,sBAAsB,GAAG/C,WAAW,CAAC,MAAM;IAC/C,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3CD,OAAO,CAACT,KAAK,GAAG,UAAU;IAC1BS,OAAO,CAACR,sBAAsB,GAAG,KAAK;IACtCQ,OAAO,CAACJ,6BAA6B,GAAGd,OAAO,EAAE4B,4BAA4B,CAAC,CAAC,IAAI,CAAC;IACpFP,2BAA2B,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACA,2BAA2B,EAAErB,OAAO,CAAC,CAAC;EAE1C,MAAM6B,gCAAgC,GAAGjD,WAAW,CAAC,MAAM;IACzD,MAAMsC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAC3C,MAAMW,WAAW,GAAG9B,OAAO,EAAE4B,4BAA4B,CAAC,CAAC,IAAI,CAAC;IAEhE,IAAIE,WAAW,KAAKZ,OAAO,CAACJ,6BAA6B,EAAE;MACzD;IACF;IAEAI,OAAO,CAACT,KAAK,GAAG,UAAU;IAC1BS,OAAO,CAACR,sBAAsB,GAAG,KAAK;IACtCQ,OAAO,CAACJ,6BAA6B,GAAGgB,WAAW;IACnDT,2BAA2B,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACA,2BAA2B,EAAErB,OAAO,CAAC,CAAC;EAE1C,MAAM+B,iBAAiB,GAAGnD,WAAW,CACnC,CAACoD,OAAe,EAAEC,MAA6B,GAAG,QAAQ,KAAK;IAC7D,IAAI,CAACvC,qBAAqB,IAAIF,UAAU,IAAI,CAAC,EAAE;MAC7C;IACF;IAEA,MAAM0B,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAC3C,MAAMe,cAAc,GAAGhB,OAAO,CAACT,KAAK;IAEpCQ,mBAAmB,CAAC,CAAC;IACrBC,OAAO,CAACN,aAAa,GAAGoB,OAAO;IAE/B,MAAMG,YAAY,GAAGjD,0BAA0B,CAAC;MAC9CM,UAAU;MACVG,UAAU;MACVgB,wBAAwB,EAAEO,OAAO,CAACP,wBAAwB;MAC1DqB,OAAO;MACPI,SAAS,EAAE7B,KAAK,GAAGR;IACrB,CAAC,CAAC;IAEF,IAAI,CAACoC,YAAY,EAAE;MACjB;IACF;IAEA,MAAM;MAAEE,YAAY;MAAEC,gBAAgB;MAAEC;IAAqB,CAAC,GAAGJ,YAAY;IAE7E,IAAIF,MAAM,KAAK,QAAQ,IAAIf,OAAO,CAACL,sBAAsB,KAAKyB,gBAAgB,EAAE;MAC9E;IACF;IAEA,IAAIA,gBAAgB,KAAKC,oBAAoB,EAAE;MAC7C,MAAMC,mBAAmB,GACvB7C,UAAU,IACVH,UAAU,GAAG,CAAC,KACb8C,gBAAgB,KAAK,CAAC,IAAIA,gBAAgB,KAAK9C,UAAU,GAAG,CAAC,CAAC;MAEjEW,QAAQ,CAACoC,oBAAoB,EAAE,CAACC,mBAAmB,CAAC;IACtD;IAEAtB,OAAO,CAACP,wBAAwB,GAAG4B,oBAAoB;IACvDrB,OAAO,CAACN,aAAa,GAAG2B,oBAAoB,IAAIhC,KAAK,GAAGR,WAAW,CAAC;IACpEmB,OAAO,CAACT,KAAK,GAAG,MAAM;IACtBT,OAAO,EAAEyC,2BAA2B,CAAC,CAAC;IACtCrC,gBAAgB,CAACiC,YAAY,CAAC;IAE9B,IAAIH,cAAc,KAAK,MAAM,EAAE;MAC7BZ,yBAAyB,CAAC,CAAC;IAC7B;EACF,CAAC,EACD,CACEL,mBAAmB,EACnBzB,UAAU,EACVE,qBAAqB,EACrBC,UAAU,EACVI,WAAW,EACXC,OAAO,EACPsB,yBAAyB,EACzBnB,QAAQ,EACRC,gBAAgB,EAChBG,KAAK,CAET,CAAC;EAED,MAAMmC,uBAAuB,GAAG9D,WAAW,CACxCoD,OAAe,IAAK;IACnB,MAAMd,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3CD,OAAO,CAACN,aAAa,GAAGoB,OAAO;IAC/Bd,OAAO,CAACL,sBAAsB,GAAG5B,yBAAyB,CAAC+C,OAAO,EAAEzB,KAAK,GAAGR,WAAW,CAAC;IACxFkB,mBAAmB,CAAC,CAAC;IACrBC,OAAO,CAACH,WAAW,GAAGQ,UAAU,CAAC,MAAM;MACrCQ,iBAAiB,CAACb,OAAO,CAACN,aAAa,EAAE,QAAQ,CAAC;IACpD,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EACD,CAACK,mBAAmB,EAAEc,iBAAiB,EAAEhC,WAAW,EAAEQ,KAAK,CAC7D,CAAC;EAED1B,SAAS,CAAC,MAAM;IACd,MAAMqC,OAAO,GAAGV,mBAAmB,CAACW,OAAO;IAE3CD,OAAO,CAACT,KAAK,GAAG,MAAM;IACtBS,OAAO,CAACR,sBAAsB,GAAG,KAAK;IACtCQ,OAAO,CAACP,wBAAwB,GAAGvB,oBAAoB;IACvD8B,OAAO,CAACN,aAAa,GAAGxB,oBAAoB,IAAImB,KAAK,GAAGR,WAAW,CAAC;IACpEmB,OAAO,CAACL,sBAAsB,GAAGzB,oBAAoB;IACrD8B,OAAO,CAACJ,6BAA6B,GAAGd,OAAO,EAAE4B,4BAA4B,CAAC,CAAC,IAAI,CAAC;IACpFX,mBAAmB,CAAC,CAAC;IACrBI,2BAA2B,CAAC,CAAC;EAC/B,CAAC,EAAE,CACDjC,oBAAoB,EACpBiC,2BAA2B,EAC3BJ,mBAAmB,EACnBlB,WAAW,EACXC,OAAO,EACPO,KAAK,CACN,CAAC;EAEF1B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXoC,mBAAmB,CAAC,CAAC;MACrBI,2BAA2B,CAAC,CAAC;IAC/B,CAAC;EACH,CAAC,EAAE,CAACA,2BAA2B,EAAEJ,mBAAmB,CAAC,CAAC;EAEtDpC,SAAS,CAAC,MAAM;IACd,IACE,CAACQ,QAAQ,IACTG,UAAU,IAAI,CAAC,IACfM,QAAQ,IACRD,SAAS,IACR,CAACF,UAAU,IAAIJ,YAAY,KAAKC,UAAU,GAAG,CAAE,EAChD;MACA;IACF;IAEA,MAAMmD,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACxD,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,CAACyD,MAAM,CAACC,QAAQ,CAACL,UAAU,CAAC,EAAE;MAChC;IACF;IAEA,MAAMM,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAIpD,QAAQ,IAAID,SAAS,EAAE;QACzB;MACF;MAEA,MAAMqB,OAAO,GAAGV,mBAAmB,CAACW,OAAO;MAE3C,IAAID,OAAO,CAACT,KAAK,KAAK,MAAM,IAAIS,OAAO,CAACR,sBAAsB,IAAIQ,OAAO,CAACH,WAAW,EAAE;QACrF;MACF;MAEA,MAAMoC,mBAAmB,GAAGnE,iCAAiC,CAAC;QAC5DO,YAAY;QACZC,UAAU;QACVG;MACF,CAAC,CAAC;MAEF,IAAIwD,mBAAmB,KAAK,IAAI,EAAE;QAChC;MACF;MAEAxB,sBAAsB,CAAC,CAAC;MACxBT,OAAO,CAACN,aAAa,GAAGuC,mBAAmB,IAAI5C,KAAK,GAAGR,WAAW,CAAC;MACnEI,QAAQ,CAACgD,mBAAmB,EAAE,IAAI,CAAC;MACnCT,uBAAuB,CAACxB,OAAO,CAACN,aAAa,CAAC;IAChD,CAAC,EAAE+B,UAAU,CAAC;IAEd,OAAO,MAAMS,aAAa,CAACH,QAAQ,CAAC;EACtC,CAAC,EAAE,CACD5D,QAAQ,EACRC,gBAAgB,EAChBqC,sBAAsB,EACtBpC,YAAY,EACZC,UAAU,EACVG,UAAU,EACVE,SAAS,EACTC,QAAQ,EACRC,WAAW,EACX2C,uBAAuB,EACvBvC,QAAQ,EACRI,KAAK,CACN,CAAC;EAEF,MAAM8C,QAAQ,GAAGzE,WAAW,CACzB0E,KAA8C,IAAK;IAClD,IAAI,CAAC5D,qBAAqB,EAAE;MAC1B;IACF;IAEAmC,gCAAgC,CAAC,CAAC;IAClCJ,uBAAuB,CAAC,CAAC;IACzBiB,uBAAuB,CAACY,KAAK,CAACC,WAAW,CAACC,aAAa,CAACC,CAAC,CAAC;EAC5D,CAAC,EACD,CACEhC,uBAAuB,EACvB/B,qBAAqB,EACrBgD,uBAAuB,EACvBb,gCAAgC,CAEpC,CAAC;EAED,MAAM6B,mBAAmB,GAAG9E,WAAW,CACpC0E,KAA8C,IAAK;IAClD,IAAI,CAAC5D,qBAAqB,EAAE;MAC1B;IACF;IAEAqC,iBAAiB,CAACuB,KAAK,CAACC,WAAW,CAACC,aAAa,CAACC,CAAC,EAAE,UAAU,CAAC;EAClE,CAAC,EACD,CAAC/D,qBAAqB,EAAEqC,iBAAiB,CAC3C,CAAC;EAED,MAAM4B,iBAAiB,GAAG/E,WAAW,CAAC,MAAM;IAC1C6C,uBAAuB,CAAC,IAAI,CAAC;IAC7BR,mBAAmB,CAAC,CAAC;IACrBjB,OAAO,EAAE4D,qBAAqB,CAAC,CAAC;EAClC,CAAC,EAAE,CAACnC,uBAAuB,EAAER,mBAAmB,EAAEjB,OAAO,CAAC,CAAC;EAE3D,MAAM6D,gBAAgB,GAAGjF,WAAW,CACjC0E,KAAU,IAAK;IACd,IAAI,CAAC7D,mBAAmB,IAAI6D,KAAK,EAAEC,WAAW,EAAEO,MAAM,KAAK,CAAC,EAAE;MAC5D;IACF;IAEAtC,wCAAwC,CAAC,CAAC;IAC1CF,yBAAyB,CAAC,CAAC;IAE3B,MAAMiC,WAAW,GAAGD,KAAK,EAAEC,WAAW;IACtC,MAAMQ,WAAW,GAAGT,KAAK,EAAEU,aAAa,IAAIT,WAAW,EAAES,aAAa,IAAIT,WAAW,EAAEU,MAAM;IAC7F,IAAIC,SAAS,GAAGX,WAAW,EAAEW,SAAS;IACtC,IAAIC,SAAS,GAAGZ,WAAW,EAAEY,SAAS;IAEtC,IACE,CAAC,CAACpB,MAAM,CAACC,QAAQ,CAACkB,SAAS,CAAC,IAAI,CAACnB,MAAM,CAACC,QAAQ,CAACmB,SAAS,CAAC,KAC3D,OAAOJ,WAAW,EAAEK,qBAAqB,KAAK,UAAU,IACxDrB,MAAM,CAACC,QAAQ,CAACO,WAAW,EAAEc,OAAO,CAAC,IACrCtB,MAAM,CAACC,QAAQ,CAACO,WAAW,EAAEe,OAAO,CAAC,EACrC;MACA,MAAMC,IAAI,GAAGR,WAAW,CAACK,qBAAqB,CAAC,CAAC;MAEhDF,SAAS,GAAGX,WAAW,CAACc,OAAO,GAAGE,IAAI,CAACC,IAAI;MAC3CL,SAAS,GAAGZ,WAAW,CAACe,OAAO,GAAGC,IAAI,CAACE,GAAG;IAC5C;IAEA1F,mBAAmB,CAAC;MAClB0E,CAAC,EAAEV,MAAM,CAACC,QAAQ,CAACkB,SAAS,CAAC,GAAGA,SAAS,GAAG3D,KAAK,GAAG,CAAC;MACrDmE,CAAC,EAAE3B,MAAM,CAACC,QAAQ,CAACmB,SAAS,CAAC,GAAGA,SAAS,GAAGvE,MAAM,GAAG,CAAC;MACtDW,KAAK;MACLX,MAAM;MACNK,YAAY;MACZC,KAAK;MACLG,UAAU;MACVC;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACEb,mBAAmB,EACnBG,MAAM,EACNK,YAAY,EACZuB,wCAAwC,EACxCF,yBAAyB,EACzBpB,KAAK,EACLG,UAAU,EACVC,UAAU,EACVC,KAAK,CAET,CAAC;EAED,OAAO;IACLmD,mBAAmB;IACnBL,QAAQ;IACRM,iBAAiB;IACjBE;EACF,CAAC;AACH","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":[]}
@@ -12,11 +12,13 @@ type WithOnPress = {
12
12
  * @typeParam T - The child's props type. Must include an optional `onPress` handler.
13
13
  *
14
14
  * @property id - Optional identifier to associate this trigger with a `GestureViewer`.
15
+ * @property index - Optional item index used to align dismiss animations with the current viewer index.
15
16
  * @property children - A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`).
16
17
  * @property onPress - Optional handler invoked after the child's own `onPress`.
17
18
  */
18
19
  export type GestureTriggerProps<T extends WithOnPress> = {
19
20
  id?: string;
21
+ index?: number;
20
22
  children: ReactElement<T>;
21
23
  onPress?: (...args: unknown[]) => void;
22
24
  };
@@ -25,15 +27,19 @@ export type GestureTriggerProps<T extends WithOnPress> = {
25
27
  *
26
28
  * @remarks
27
29
  * Behavior on press:
28
- * - Registers the child's native node to the internal registry under the given `id`.
30
+ * - Registers the child's native node as the active trigger under the given `id`.
29
31
  * - Invokes the child's own `onPress` first (if provided).
30
32
  * - Invokes the `onPress` passed to `GestureTrigger` next (if provided).
31
33
  *
34
+ * When `index` is provided, the trigger is also registered by item index while mounted,
35
+ * allowing dismiss animations to target the currently visible item instead of only the opening trigger.
36
+ *
32
37
  * Type parameters:
33
38
  * - `T` — The child's props type. Must include an optional `onPress` handler, ensuring the child is pressable.
34
39
  *
35
40
  * Props:
36
41
  * - `id` — Optional identifier to associate this trigger with a `GestureViewer`. Defaults to `"default"`.
42
+ * - `index` — Optional item index used to support dismiss animations back to the current item trigger.
37
43
  * - `children` — A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`, custom button).
38
44
  * - `onPress` — Optional handler invoked after the child's `onPress`. Receives the same arguments as the child's handler.
39
45
  *
@@ -43,13 +49,13 @@ export type GestureTriggerProps<T extends WithOnPress> = {
43
49
  *
44
50
  * Example:
45
51
  * ```tsx
46
- * <GestureTrigger id="gallery" onPress={() => openModal(index)}>
52
+ * <GestureTrigger id="gallery" index={index} onPress={() => openModal(index)}>
47
53
  * <Pressable style={styles.thumb}>
48
54
  * <Image source={{ uri }} style={styles.thumbImage} />
49
55
  * </Pressable>
50
56
  * </GestureTrigger>
51
57
  * ```
52
58
  */
53
- export declare function GestureTrigger<T extends WithOnPress>({ id, children, onPress, }: GestureTriggerProps<T>): import("react/jsx-runtime").JSX.Element;
59
+ export declare function GestureTrigger<T extends WithOnPress>({ id, index, children, onPress, }: GestureTriggerProps<T>): import("react/jsx-runtime").JSX.Element;
54
60
  export {};
55
61
  //# sourceMappingURL=GestureTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GestureTrigger.d.ts","sourceRoot":"","sources":["../../../src/GestureTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C;;;GAGG;AACH,KAAK,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,WAAW,IAAI;IACvD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,EACpD,EAAc,EACd,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAmCxB"}
1
+ {"version":3,"file":"GestureTrigger.d.ts","sourceRoot":"","sources":["../../../src/GestureTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C;;;GAGG;AACH,KAAK,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,WAAW,IAAI;IACvD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,EACpD,EAAc,EACd,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAqDxB"}
@@ -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"}
@@ -3,15 +3,22 @@ import GestureViewerManager from './GestureViewerManager';
3
3
  declare class GestureViewerRegistry {
4
4
  private managers;
5
5
  private subscribers;
6
- private triggers;
6
+ private activeTriggerSubscribers;
7
+ private activeTriggers;
8
+ private indexedTriggers;
7
9
  subscribeToManager(id: string, callback: (manager: GestureViewerManager | null) => void): () => void;
10
+ subscribeToActiveTrigger(id: string, callback: (node: View | null) => void): () => void;
8
11
  createManager(id: string): GestureViewerManager | null;
9
12
  getManager(id: string): GestureViewerManager | null;
10
13
  deleteManager(id: string): void;
11
14
  notifySubscribers(id: string, manager: GestureViewerManager | null): void;
12
- setTriggerNode(id: string, node: View | null): void;
13
- getTriggerNode(id: string): View | null;
14
- clearTriggerNode(id: string): void;
15
+ notifyActiveTriggerSubscribers(id: string, node: View | null): void;
16
+ setActiveTriggerNode(id: string, node: View | null): void;
17
+ getActiveTriggerNode(id: string): View | null;
18
+ clearActiveTriggerNode(id: string): void;
19
+ setIndexedTriggerNode(id: string, index: number, node: View | null): void;
20
+ getIndexedTriggerNode(id: string, index: number): View | null;
21
+ clearIndexedTriggerNode(id: string, index: number): void;
15
22
  }
16
23
  export declare const registry: GestureViewerRegistry;
17
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewerRegistry.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,cAAM,qBAAqB;IACzB,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,QAAQ,CAAkC;IAElD,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI;IAsBvF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAatD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAInD,aAAa,CAAC,EAAE,EAAE,MAAM;IAaxB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAQlE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAI5C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIvC,gBAAgB,CAAC,EAAE,EAAE,MAAM;CAG5B;AAED,eAAO,MAAM,QAAQ,uBAA8B,CAAC"}
1
+ {"version":3,"file":"GestureViewerRegistry.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,cAAM,qBAAqB;IACzB,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,wBAAwB,CAAuD;IACvF,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,eAAe,CAA+C;IAEtE,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI;IAsBvF,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI;IAoB1E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAatD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAInD,aAAa,CAAC,EAAE,EAAE,MAAM;IAcxB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAQlE,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ5D,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAKlD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI7C,sBAAsB,CAAC,EAAE,EAAE,MAAM;IAKjC,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAQlE,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI7D,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAalD;AAED,eAAO,MAAM,QAAQ,uBAA8B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4mBlC,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,3 @@
1
1
  import type { UseGestureViewerPagingArgs, UseGestureViewerPagingResult } from './useGestureViewerPaging.types';
2
- export declare function useGestureViewerPaging({ autoPlay, autoPlayInterval, currentIndex, dataLength, enableHorizontalSwipe, enableLoop, isRotated, isZoomed, itemSpacing, manager, scrollTo, syncCurrentIndex, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
2
+ export declare function useGestureViewerPaging({ autoPlay, autoPlayInterval, currentIndex, dataLength, enableHorizontalSwipe, enableLoop, isRotated, isZoomed, itemSpacing, manager, scrollTo, syncCurrentIndex, syncPendingIndex, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
3
3
  //# sourceMappingURL=useGestureViewerPaging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureViewerPaging.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAGxC,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,CAwF3D"}
1
+ {"version":3,"file":"useGestureViewerPaging.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAGxC,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,CAuG3D"}
@@ -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,17 +17,25 @@ 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
+ syncPendingIndex: (nextIndex: number) => void;
22
25
  translateX: SharedValue<number>;
23
26
  translateY: SharedValue<number>;
24
27
  width: number;
25
28
  };
29
+ export type WebClickTarget = {
30
+ getBoundingClientRect: () => {
31
+ left: number;
32
+ top: number;
33
+ };
34
+ };
26
35
  export type UseGestureViewerPagingResult = {
27
36
  onMomentumScrollEnd?: ScrollViewProps['onMomentumScrollEnd'];
28
37
  onScroll?: ScrollViewProps['onScroll'];
29
38
  onScrollBeginDrag?: ScrollViewProps['onScrollBeginDrag'];
30
- onWebDoubleClick?: (event: any) => void;
39
+ onWebClick?: (event: MouseEvent<WebClickTarget>) => void;
31
40
  };
32
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,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, 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