react-native-gesture-image-viewer 2.1.4 → 2.2.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 (28) hide show
  1. package/lib/module/GestureTrigger.js +22 -5
  2. package/lib/module/GestureTrigger.js.map +1 -1
  3. package/lib/module/GestureViewerRegistry.js +52 -8
  4. package/lib/module/GestureViewerRegistry.js.map +1 -1
  5. package/lib/module/useGestureViewer.js +83 -28
  6. package/lib/module/useGestureViewer.js.map +1 -1
  7. package/lib/module/useGestureViewerPaging.js +15 -1
  8. package/lib/module/useGestureViewerPaging.js.map +1 -1
  9. package/lib/module/useGestureViewerPaging.web.js +15 -2
  10. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  11. package/lib/typescript/src/GestureTrigger.d.ts +9 -3
  12. package/lib/typescript/src/GestureTrigger.d.ts.map +1 -1
  13. package/lib/typescript/src/GestureViewerRegistry.d.ts +11 -4
  14. package/lib/typescript/src/GestureViewerRegistry.d.ts.map +1 -1
  15. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  16. package/lib/typescript/src/useGestureViewerPaging.d.ts +1 -1
  17. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  18. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +1 -0
  19. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  20. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  21. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/GestureTrigger.tsx +31 -6
  24. package/src/GestureViewerRegistry.ts +67 -8
  25. package/src/useGestureViewer.ts +112 -35
  26. package/src/useGestureViewerPaging.ts +17 -1
  27. package/src/useGestureViewerPaging.types.ts +1 -0
  28. package/src/useGestureViewerPaging.web.ts +21 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { Children, cloneElement, isValidElement, useMemo, useRef } from 'react';
3
+ import { Children, cloneElement, isValidElement, useCallback, useMemo, useRef } from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { registry } from "./GestureViewerRegistry.js";
6
6
 
@@ -15,6 +15,7 @@ import { registry } from "./GestureViewerRegistry.js";
15
15
  * @typeParam T - The child's props type. Must include an optional `onPress` handler.
16
16
  *
17
17
  * @property id - Optional identifier to associate this trigger with a `GestureViewer`.
18
+ * @property index - Optional item index used to align dismiss animations with the current viewer index.
18
19
  * @property children - A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`).
19
20
  * @property onPress - Optional handler invoked after the child's own `onPress`.
20
21
  */
@@ -24,15 +25,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
24
25
  *
25
26
  * @remarks
26
27
  * Behavior on press:
27
- * - Registers the child's native node to the internal registry under the given `id`.
28
+ * - Registers the child's native node as the active trigger under the given `id`.
28
29
  * - Invokes the child's own `onPress` first (if provided).
29
30
  * - Invokes the `onPress` passed to `GestureTrigger` next (if provided).
30
31
  *
32
+ * When `index` is provided, the trigger is also registered by item index while mounted,
33
+ * allowing dismiss animations to target the currently visible item instead of only the opening trigger.
34
+ *
31
35
  * Type parameters:
32
36
  * - `T` — The child's props type. Must include an optional `onPress` handler, ensuring the child is pressable.
33
37
  *
34
38
  * Props:
35
39
  * - `id` — Optional identifier to associate this trigger with a `GestureViewer`. Defaults to `"default"`.
40
+ * - `index` — Optional item index used to support dismiss animations back to the current item trigger.
36
41
  * - `children` — A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`, custom button).
37
42
  * - `onPress` — Optional handler invoked after the child's `onPress`. Receives the same arguments as the child's handler.
38
43
  *
@@ -42,7 +47,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
42
47
  *
43
48
  * Example:
44
49
  * ```tsx
45
- * <GestureTrigger id="gallery" onPress={() => openModal(index)}>
50
+ * <GestureTrigger id="gallery" index={index} onPress={() => openModal(index)}>
46
51
  * <Pressable style={styles.thumb}>
47
52
  * <Image source={{ uri }} style={styles.thumbImage} />
48
53
  * </Pressable>
@@ -51,10 +56,22 @@ import { jsx as _jsx } from "react/jsx-runtime";
51
56
  */
52
57
  export function GestureTrigger({
53
58
  id = 'default',
59
+ index,
54
60
  children,
55
61
  onPress
56
62
  }) {
57
63
  const ref = useRef(null);
64
+ const handleRef = useCallback(node => {
65
+ ref.current = node;
66
+ if (index === undefined) {
67
+ return;
68
+ }
69
+ if (node) {
70
+ registry.setIndexedTriggerNode(id, index, node);
71
+ return;
72
+ }
73
+ registry.clearIndexedTriggerNode(id, index);
74
+ }, [id, index]);
58
75
  const wrapped = useMemo(() => {
59
76
  const child = Children.only(children);
60
77
  if (! /*#__PURE__*/isValidElement(child)) {
@@ -62,7 +79,7 @@ export function GestureTrigger({
62
79
  }
63
80
  const originalOnPress = child.props?.onPress;
64
81
  const handlePress = (...args) => {
65
- registry.setTriggerNode(id, ref.current);
82
+ registry.setActiveTriggerNode(id, ref.current);
66
83
  originalOnPress?.(...args);
67
84
  onPress?.(...args);
68
85
  if (__DEV__ && !originalOnPress && !onPress) {
@@ -75,7 +92,7 @@ export function GestureTrigger({
75
92
  });
76
93
  }, [id, onPress, children]);
77
94
  return /*#__PURE__*/_jsx(View, {
78
- ref: ref,
95
+ ref: handleRef,
79
96
  collapsable: false,
80
97
  children: wrapped
81
98
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Children","cloneElement","isValidElement","useMemo","useRef","View","registry","jsx","_jsx","GestureTrigger","id","children","onPress","ref","wrapped","child","only","originalOnPress","props","handlePress","args","setTriggerNode","current","__DEV__","console","warn","collapsable"],"sourceRoot":"../../src","sources":["GestureTrigger.tsx"],"mappings":";;AACA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC/E,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,4BAAyB;;AAElD;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,SAAAC,GAAA,IAAAC,IAAA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAwB;EACpDC,EAAE,GAAG,SAAS;EACdC,QAAQ;EACRC;AACsB,CAAC,EAAE;EACzB,MAAMC,GAAG,GAAGT,MAAM,CAAO,IAAI,CAAC;EAE9B,MAAMU,OAAO,GAAGX,OAAO,CAAC,MAAM;IAC5B,MAAMY,KAAK,GAAGf,QAAQ,CAACgB,IAAI,CAACL,QAAQ,CAAC;IAErC,IAAI,eAACT,cAAc,CAACa,KAAK,CAAC,EAAE;MAC1B,OAAOJ,QAAQ;IACjB;IAEA,MAAMM,eAAe,GAAGF,KAAK,CAACG,KAAK,EAAEN,OAAO;IAE5C,MAAMO,WAAW,GAAGA,CAAC,GAAGC,IAAe,KAAK;MAC1Cd,QAAQ,CAACe,cAAc,CAACX,EAAE,EAAEG,GAAG,CAACS,OAAO,CAAC;MACxCL,eAAe,GAAG,GAAGG,IAAI,CAAC;MAC1BR,OAAO,GAAG,GAAGQ,IAAI,CAAC;MAElB,IAAIG,OAAO,IAAI,CAACN,eAAe,IAAI,CAACL,OAAO,EAAE;QAC3CY,OAAO,CAACC,IAAI,CACV,oFACF,CAAC;MACH;IACF,CAAC;IAED,oBAAOxB,YAAY,CAACc,KAAK,EAAE;MACzB,GAAGA,KAAK,CAACG,KAAK;MACdN,OAAO,EAAEO;IACX,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,EAAE,EAAEE,OAAO,EAAED,QAAQ,CAAC,CAAC;EAE3B,oBACEH,IAAA,CAACH,IAAI;IAACQ,GAAG,EAAEA,GAAI;IAACa,WAAW,EAAE,KAAM;IAAAf,QAAA,EAChCG;EAAO,CACJ,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["Children","cloneElement","isValidElement","useCallback","useMemo","useRef","View","registry","jsx","_jsx","GestureTrigger","id","index","children","onPress","ref","handleRef","node","current","undefined","setIndexedTriggerNode","clearIndexedTriggerNode","wrapped","child","only","originalOnPress","props","handlePress","args","setActiveTriggerNode","__DEV__","console","warn","collapsable"],"sourceRoot":"../../src","sources":["GestureTrigger.tsx"],"mappings":";;AACA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC5F,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,4BAAyB;;AAElD;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,SAAAC,GAAA,IAAAC,IAAA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAwB;EACpDC,EAAE,GAAG,SAAS;EACdC,KAAK;EACLC,QAAQ;EACRC;AACsB,CAAC,EAAE;EACzB,MAAMC,GAAG,GAAGV,MAAM,CAAc,IAAI,CAAC;EAErC,MAAMW,SAAS,GAAGb,WAAW,CAC1Bc,IAAiB,IAAK;IACrBF,GAAG,CAACG,OAAO,GAAGD,IAAI;IAElB,IAAIL,KAAK,KAAKO,SAAS,EAAE;MACvB;IACF;IAEA,IAAIF,IAAI,EAAE;MACRV,QAAQ,CAACa,qBAAqB,CAACT,EAAE,EAAEC,KAAK,EAAEK,IAAI,CAAC;MAC/C;IACF;IAEAV,QAAQ,CAACc,uBAAuB,CAACV,EAAE,EAAEC,KAAK,CAAC;EAC7C,CAAC,EACD,CAACD,EAAE,EAAEC,KAAK,CACZ,CAAC;EAED,MAAMU,OAAO,GAAGlB,OAAO,CAAC,MAAM;IAC5B,MAAMmB,KAAK,GAAGvB,QAAQ,CAACwB,IAAI,CAACX,QAAQ,CAAC;IAErC,IAAI,eAACX,cAAc,CAACqB,KAAK,CAAC,EAAE;MAC1B,OAAOV,QAAQ;IACjB;IAEA,MAAMY,eAAe,GAAGF,KAAK,CAACG,KAAK,EAAEZ,OAAO;IAE5C,MAAMa,WAAW,GAAGA,CAAC,GAAGC,IAAe,KAAK;MAC1CrB,QAAQ,CAACsB,oBAAoB,CAAClB,EAAE,EAAEI,GAAG,CAACG,OAAO,CAAC;MAC9CO,eAAe,GAAG,GAAGG,IAAI,CAAC;MAC1Bd,OAAO,GAAG,GAAGc,IAAI,CAAC;MAElB,IAAIE,OAAO,IAAI,CAACL,eAAe,IAAI,CAACX,OAAO,EAAE;QAC3CiB,OAAO,CAACC,IAAI,CACV,oFACF,CAAC;MACH;IACF,CAAC;IAED,oBAAO/B,YAAY,CAACsB,KAAK,EAAE;MACzB,GAAGA,KAAK,CAACG,KAAK;MACdZ,OAAO,EAAEa;IACX,CAAC,CAAC;EACJ,CAAC,EAAE,CAAChB,EAAE,EAAEG,OAAO,EAAED,QAAQ,CAAC,CAAC;EAE3B,oBACEJ,IAAA,CAACH,IAAI;IAACS,GAAG,EAAEC,SAAU;IAACiB,WAAW,EAAE,KAAM;IAAApB,QAAA,EACtCS;EAAO,CACJ,CAAC;AAEX","ignoreList":[]}
@@ -4,7 +4,9 @@ import GestureViewerManager from "./GestureViewerManager.js";
4
4
  class GestureViewerRegistry {
5
5
  managers = new Map();
6
6
  subscribers = new Map();
7
- triggers = new Map();
7
+ activeTriggerSubscribers = new Map();
8
+ activeTriggers = new Map();
9
+ indexedTriggers = new Map();
8
10
  subscribeToManager(id, callback) {
9
11
  if (!this.subscribers.has(id)) {
10
12
  this.subscribers.set(id, new Set());
@@ -20,6 +22,20 @@ class GestureViewerRegistry {
20
22
  }
21
23
  };
22
24
  }
25
+ subscribeToActiveTrigger(id, callback) {
26
+ if (!this.activeTriggerSubscribers.has(id)) {
27
+ this.activeTriggerSubscribers.set(id, new Set());
28
+ }
29
+ this.activeTriggerSubscribers.get(id)?.add(callback);
30
+ callback(this.getActiveTriggerNode(id));
31
+ return () => {
32
+ const subscribers = this.activeTriggerSubscribers.get(id);
33
+ subscribers?.delete(callback);
34
+ if (subscribers && subscribers.size === 0) {
35
+ this.activeTriggerSubscribers.delete(id);
36
+ }
37
+ };
38
+ }
23
39
  createManager(id) {
24
40
  if (this.managers.has(id)) {
25
41
  return this.managers.get(id) || null;
@@ -38,7 +54,8 @@ class GestureViewerRegistry {
38
54
  manager.cleanUp();
39
55
  this.managers.delete(id);
40
56
  this.notifySubscribers(id, null);
41
- this.triggers.delete(id);
57
+ this.activeTriggers.delete(id);
58
+ this.notifyActiveTriggerSubscribers(id, null);
42
59
  }
43
60
  }
44
61
  notifySubscribers(id, manager) {
@@ -47,14 +64,41 @@ class GestureViewerRegistry {
47
64
  [...listeners].forEach(callback => callback(manager));
48
65
  }
49
66
  }
50
- setTriggerNode(id, node) {
51
- this.triggers.set(id, node);
67
+ notifyActiveTriggerSubscribers(id, node) {
68
+ const listeners = this.activeTriggerSubscribers.get(id);
69
+ if (listeners) {
70
+ [...listeners].forEach(callback => callback(node));
71
+ }
72
+ }
73
+ setActiveTriggerNode(id, node) {
74
+ this.activeTriggers.set(id, node);
75
+ this.notifyActiveTriggerSubscribers(id, node);
76
+ }
77
+ getActiveTriggerNode(id) {
78
+ return this.activeTriggers.get(id) ?? null;
79
+ }
80
+ clearActiveTriggerNode(id) {
81
+ this.activeTriggers.delete(id);
82
+ this.notifyActiveTriggerSubscribers(id, null);
52
83
  }
53
- getTriggerNode(id) {
54
- return this.triggers.get(id) ?? null;
84
+ setIndexedTriggerNode(id, index, node) {
85
+ if (!this.indexedTriggers.has(id)) {
86
+ this.indexedTriggers.set(id, new Map());
87
+ }
88
+ this.indexedTriggers.get(id)?.set(index, node);
89
+ }
90
+ getIndexedTriggerNode(id, index) {
91
+ return this.indexedTriggers.get(id)?.get(index) ?? null;
55
92
  }
56
- clearTriggerNode(id) {
57
- this.triggers.delete(id);
93
+ clearIndexedTriggerNode(id, index) {
94
+ const triggersByIndex = this.indexedTriggers.get(id);
95
+ if (!triggersByIndex) {
96
+ return;
97
+ }
98
+ triggersByIndex.delete(index);
99
+ if (triggersByIndex.size === 0) {
100
+ this.indexedTriggers.delete(id);
101
+ }
58
102
  }
59
103
  }
60
104
  export const registry = new GestureViewerRegistry();
@@ -1 +1 @@
1
- {"version":3,"names":["GestureViewerManager","GestureViewerRegistry","managers","Map","subscribers","triggers","subscribeToManager","id","callback","has","set","Set","get","add","manager","delete","size","createManager","notifySubscribers","getManager","deleteManager","cleanUp","listeners","forEach","setTriggerNode","node","getTriggerNode","clearTriggerNode","registry"],"sourceRoot":"../../src","sources":["GestureViewerRegistry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["GestureViewerManager","GestureViewerRegistry","managers","Map","subscribers","activeTriggerSubscribers","activeTriggers","indexedTriggers","subscribeToManager","id","callback","has","set","Set","get","add","manager","delete","size","subscribeToActiveTrigger","getActiveTriggerNode","createManager","notifySubscribers","getManager","deleteManager","cleanUp","notifyActiveTriggerSubscribers","listeners","forEach","node","setActiveTriggerNode","clearActiveTriggerNode","setIndexedTriggerNode","index","getIndexedTriggerNode","clearIndexedTriggerNode","triggersByIndex","registry"],"sourceRoot":"../../src","sources":["GestureViewerRegistry.ts"],"mappings":"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","ignoreList":[]}
@@ -42,9 +42,14 @@ export const useGestureViewer = ({
42
42
  const [shouldStartTriggerAnimation, setShouldStartTriggerAnimation] = useState(false);
43
43
  const [manager, setManager] = useState(null);
44
44
  const [currentIndex, setCurrentIndex] = useState(initialIndex);
45
+ const [activeTriggerNode, setActiveTriggerNode] = useState(null);
45
46
  const listRef = useRef(null);
46
47
  const triggerRectRef = useRef(null);
48
+ const pendingIndexRef = useRef(initialIndex);
47
49
  const onAnimationCompleteRef = useRef(triggerAnimation?.onAnimationComplete);
50
+ const isValidTriggerRect = useCallback(rect => {
51
+ return !!rect && rect.width > 0 && rect.height > 0;
52
+ }, []);
48
53
  const initialTranslateY = useSharedValue(0);
49
54
  const initialTranslateX = useSharedValue(0);
50
55
  const startScale = useSharedValue(1);
@@ -94,10 +99,17 @@ export const useGestureViewer = ({
94
99
  scale.value = withTiming(1);
95
100
  rotation.value = 0;
96
101
  }, [initialTranslateX, initialTranslateY, rotation, scale, startScale, translateX, translateY]);
102
+ const syncPendingIndex = useCallback(nextIndex => {
103
+ if (nextIndex < 0 || nextIndex >= dataLength) {
104
+ return;
105
+ }
106
+ pendingIndexRef.current = nextIndex;
107
+ }, [dataLength]);
97
108
  const syncCurrentIndex = useCallback(nextIndex => {
98
109
  if (!manager || nextIndex < 0 || nextIndex >= dataLength) {
99
110
  return;
100
111
  }
112
+ pendingIndexRef.current = nextIndex;
101
113
  const managerCurrentIndex = manager.getState().currentIndex;
102
114
  if (nextIndex === managerCurrentIndex) {
103
115
  return;
@@ -135,7 +147,10 @@ export const useGestureViewer = ({
135
147
  let unsubscribe;
136
148
  const unsubscribeFromRegistry = registry.subscribeToManager(id, managerInstance => {
137
149
  setManager(managerInstance);
138
- unsubscribe = managerInstance?.subscribe(state => setCurrentIndex(state.currentIndex));
150
+ unsubscribe = managerInstance?.subscribe(state => {
151
+ pendingIndexRef.current = state.currentIndex;
152
+ setCurrentIndex(state.currentIndex);
153
+ });
139
154
  });
140
155
  return () => {
141
156
  unsubscribeFromRegistry();
@@ -143,6 +158,10 @@ export const useGestureViewer = ({
143
158
  };
144
159
  }, [id]);
145
160
  useEffect(() => {
161
+ return registry.subscribeToActiveTrigger(id, setActiveTriggerNode);
162
+ }, [id]);
163
+ useEffect(() => {
164
+ pendingIndexRef.current = initialIndex;
146
165
  if (!manager) {
147
166
  return;
148
167
  }
@@ -208,44 +227,79 @@ export const useGestureViewer = ({
208
227
  }
209
228
  }, [shouldStartTriggerAnimation, animationConfig, width, height, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, onAnimationComplete]);
210
229
  useEffect(() => {
211
- const node = registry.getTriggerNode(id);
212
- if (node && typeof node.measure === 'function') {
213
- node.measure((_x, _y, width, height, pageX, pageY) => {
214
- triggerRectRef.current = {
215
- height,
216
- width,
217
- x: pageX,
218
- y: pageY
219
- };
220
- triggerOpacity.value = 0;
221
- setShouldStartTriggerAnimation(true);
222
- registry.clearTriggerNode(id);
223
- });
230
+ if (!activeTriggerNode || typeof activeTriggerNode.measure !== 'function') {
231
+ return;
224
232
  }
233
+ activeTriggerNode.measure((_x, _y, measuredWidth, measuredHeight, pageX, pageY) => {
234
+ const nextTriggerRect = {
235
+ height: measuredHeight,
236
+ width: measuredWidth,
237
+ x: pageX,
238
+ y: pageY
239
+ };
240
+ if (!isValidTriggerRect(nextTriggerRect)) {
241
+ registry.clearActiveTriggerNode(id);
242
+ return;
243
+ }
244
+ triggerRectRef.current = nextTriggerRect;
245
+ triggerOpacity.value = 0;
246
+ setShouldStartTriggerAnimation(true);
247
+ registry.clearActiveTriggerNode(id);
248
+ });
249
+ }, [activeTriggerNode, id, isValidTriggerRect, triggerOpacity]);
250
+ useEffect(() => {
225
251
  return () => {
226
252
  triggerRectRef.current = null;
227
253
  };
228
- }, [id, triggerOpacity]);
254
+ }, []);
255
+ const animateDismissToRect = useCallback(rect => {
256
+ const endX = rect.x + rect.width / 2 - width / 2;
257
+ const endY = rect.y + rect.height / 2 - height / 2;
258
+ const endScale = Math.min(rect.width / width, rect.height / height);
259
+ triggerScale.value = withTiming(endScale, animationConfig);
260
+ triggerTranslateX.value = withTiming(endX, animationConfig);
261
+ triggerTranslateY.value = withTiming(endY, animationConfig);
262
+ triggerOpacity.value = withTiming(0, animationConfig, finished => {
263
+ if (finished && onDismiss) {
264
+ scheduleOnRN(onDismiss);
265
+ }
266
+ });
267
+ }, [animationConfig, height, onDismiss, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, width]);
268
+ const dismissWithoutTrigger = useCallback(() => {
269
+ if (onDismiss) {
270
+ scheduleOnRN(onDismiss);
271
+ }
272
+ }, [onDismiss]);
229
273
  const handleDismiss = useCallback(() => {
230
274
  onDismissStart?.();
231
- if (triggerRectRef.current) {
232
- const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
233
- const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
234
- const endScale = Math.min(triggerRectRef.current.width / width, triggerRectRef.current.height / height);
235
- triggerScale.value = withTiming(endScale, animationConfig);
236
- triggerTranslateX.value = withTiming(endX, animationConfig);
237
- triggerTranslateY.value = withTiming(endY, animationConfig);
238
- triggerOpacity.value = withTiming(0, animationConfig, finished => {
239
- if (finished && onDismiss) {
240
- scheduleOnRN(onDismiss);
275
+ const dismissTargetIndex = pendingIndexRef.current;
276
+ const indexedTriggerNode = registry.getIndexedTriggerNode(id, dismissTargetIndex);
277
+ if (indexedTriggerNode && typeof indexedTriggerNode.measure === 'function') {
278
+ indexedTriggerNode.measure((_x, _y, measuredWidth, measuredHeight, pageX, pageY) => {
279
+ const currentTriggerRect = {
280
+ height: measuredHeight,
281
+ width: measuredWidth,
282
+ x: pageX,
283
+ y: pageY
284
+ };
285
+ if (isValidTriggerRect(currentTriggerRect)) {
286
+ animateDismissToRect(currentTriggerRect);
287
+ return;
288
+ }
289
+ if (isValidTriggerRect(triggerRectRef.current)) {
290
+ animateDismissToRect(triggerRectRef.current);
291
+ return;
241
292
  }
293
+ dismissWithoutTrigger();
242
294
  });
243
295
  return;
244
296
  }
245
- if (onDismiss) {
246
- scheduleOnRN(onDismiss);
297
+ if (isValidTriggerRect(triggerRectRef.current)) {
298
+ animateDismissToRect(triggerRectRef.current);
299
+ return;
247
300
  }
248
- }, [animationConfig, onDismiss, onDismissStart, width, height, triggerTranslateX, triggerScale, triggerTranslateY, triggerOpacity]);
301
+ dismissWithoutTrigger();
302
+ }, [animateDismissToRect, dismissWithoutTrigger, id, isValidTriggerRect, onDismissStart]);
249
303
  const dismissGesture = useMemo(() => {
250
304
  const canDismiss = !isZoomed && dismissOptions.enabled;
251
305
  return Gesture.Pan().minDistance(10).averageTouches(true).activeCursor('grabbing').activeOffsetY([-10, 10]).failOffsetX([-10, 10]).withRef(dismissGestureRef).enabled(canDismiss).onUpdate(event => {
@@ -438,6 +492,7 @@ export const useGestureViewer = ({
438
492
  scale,
439
493
  scrollTo,
440
494
  syncCurrentIndex,
495
+ syncPendingIndex,
441
496
  translateX,
442
497
  translateY,
443
498
  width
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","useGestureViewerPaging","createBoundsConstraint","createScrollAction","applyTapZoomAtPoint","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","dismissGestureRef","undefined","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","fadeBackdrop","resistance","threshold","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","resetTransformState","value","syncCurrentIndex","nextIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","runAfterInteractions","cancel","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","withRef","onUpdate","event","translationY","onEnd","damping","energyThreshold","mass","overshootClamping","stiffness","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","focalX","focalY","newScale","focalDeltaX","abs","focalDeltaY","deltaScale","centerX","centerY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","OS","numberOfTaps","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","useGestureViewerPaging","createBoundsConstraint","createScrollAction","applyTapZoomAtPoint","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","dismissGestureRef","undefined","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","activeTriggerNode","setActiveTriggerNode","listRef","triggerRectRef","pendingIndexRef","onAnimationCompleteRef","onAnimationComplete","isValidTriggerRect","rect","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","fadeBackdrop","resistance","threshold","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","resetTransformState","value","syncPendingIndex","nextIndex","syncCurrentIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","subscribeToActiveTrigger","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","runAfterInteractions","cancel","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","measure","_x","_y","measuredWidth","measuredHeight","pageX","pageY","nextTriggerRect","clearActiveTriggerNode","animateDismissToRect","endX","endY","endScale","dismissWithoutTrigger","handleDismiss","dismissTargetIndex","indexedTriggerNode","getIndexedTriggerNode","currentTriggerRect","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","withRef","onUpdate","event","translationY","onEnd","damping","energyThreshold","mass","overshootClamping","stiffness","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","focalX","focalY","newScale","focalDeltaX","abs","focalDeltaY","deltaScale","centerX","centerY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","OS","numberOfTaps","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ export function useGestureViewerPaging({
15
15
  manager,
16
16
  scrollTo,
17
17
  syncCurrentIndex,
18
+ syncPendingIndex,
18
19
  width
19
20
  }) {
20
21
  useEffect(() => {
@@ -55,12 +56,25 @@ export function useGestureViewerPaging({
55
56
  }
56
57
  syncCurrentIndex(realIndex);
57
58
  }, [dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, manager, scrollTo, syncCurrentIndex, width]);
59
+ const onScroll = useCallback(event => {
60
+ if (!enableHorizontalSwipe) {
61
+ return;
62
+ }
63
+ const {
64
+ contentOffset
65
+ } = event.nativeEvent;
66
+ const scrollIndex = Math.round(contentOffset.x / (width + itemSpacing));
67
+ const {
68
+ realIndex
69
+ } = getLoopAdjustedIndex(scrollIndex, dataLength, enableLoop);
70
+ syncPendingIndex(realIndex);
71
+ }, [dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, syncPendingIndex, width]);
58
72
  const onScrollBeginDrag = useCallback(() => {
59
73
  manager?.handleScrollBeginDrag();
60
74
  }, [manager]);
61
75
  return {
62
76
  onMomentumScrollEnd,
63
- onScroll: undefined,
77
+ onScroll,
64
78
  onScrollBeginDrag,
65
79
  onWebDoubleClick: undefined
66
80
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","getLoopAdjustedIndex","useGestureViewerPaging","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","width","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","onScrollBeginDrag","handleScrollBeginDrag","onScroll","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAO9C,SAASC,oBAAoB,QAAQ,kBAAS;AAE9C,OAAO,SAASC,sBAAsBA,CAAC;EACrCC,QAAQ;EACRC,gBAAgB;EAChBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,UAAU;EACVC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC;AAC0B,CAAC,EAAgC;EAC3Df,SAAS,CAAC,MAAM;IACd,IACE,CAACG,QAAQ,IACT,CAACS,OAAO,IACRN,UAAU,IAAI,CAAC,IACfI,QAAQ,IACRD,SAAS,IACR,CAACD,UAAU,IAAIH,YAAY,KAAKC,UAAU,GAAG,CAAE,EAChD;MACA;IACF;IAEA,MAAMU,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACf,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,CAACgB,MAAM,CAACC,QAAQ,CAACL,UAAU,CAAC,EAAE;MAChC;IACF;IAEA,MAAMM,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAIb,QAAQ,IAAID,SAAS,EAAE;QACzB;MACF;MAEAG,OAAO,CAACY,QAAQ,CAAC,CAAC;IACpB,CAAC,EAAER,UAAU,CAAC;IAEd,OAAO,MAAMS,aAAa,CAACH,QAAQ,CAAC;EACtC,CAAC,EAAE,CACDnB,QAAQ,EACRC,gBAAgB,EAChBC,YAAY,EACZC,UAAU,EACVE,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRE,OAAO,CACR,CAAC;EAEF,MAAMc,mBAAmB,GAAG3B,WAAW,CACpC4B,KAA8C,IAAK;IAClD,IAAI,CAACpB,qBAAqB,EAAE;MAC1B;IACF;IAEA,MAAM;MAAEqB;IAAc,CAAC,GAAGD,KAAK,CAACE,WAAW;IAC3C,MAAMC,WAAW,GAAGb,IAAI,CAACc,KAAK,CAACH,aAAa,CAACI,CAAC,IAAIjB,KAAK,GAAGJ,WAAW,CAAC,CAAC;IAEvE,MAAMsB,aAAa,GAAGrB,OAAO,EAAEsB,uBAAuB,CAACJ,WAAW,CAAC;IAEnE,IAAIG,aAAa,EAAE;MACjB;IACF;IAEA,MAAM;MAAEE,SAAS;MAAEC,SAAS;MAAEC;IAAY,CAAC,GAAGpC,oBAAoB,CAChE6B,WAAW,EACXxB,UAAU,EACVE,UACF,CAAC;IAED,IAAI4B,SAAS,IAAIC,WAAW,KAAKC,SAAS,EAAE;MAC1CzB,QAAQ,CAACwB,WAAW,EAAE,KAAK,CAAC;IAC9B;IAEAvB,gBAAgB,CAACqB,SAAS,CAAC;EAC7B,CAAC,EACD,CACE7B,UAAU,EACVC,qBAAqB,EACrBC,UAAU,EACVG,WAAW,EACXC,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,KAAK,CAET,CAAC;EAED,MAAMwB,iBAAiB,GAAGxC,WAAW,CAAC,MAAM;IAC1Ca,OAAO,EAAE4B,qBAAqB,CAAC,CAAC;EAClC,CAAC,EAAE,CAAC5B,OAAO,CAAC,CAAC;EAEb,OAAO;IACLc,mBAAmB;IACnBe,QAAQ,EAAEH,SAAS;IACnBC,iBAAiB;IACjBG,gBAAgB,EAAEJ;EACpB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","getLoopAdjustedIndex","useGestureViewerPaging","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","syncPendingIndex","width","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","onScroll","onScrollBeginDrag","handleScrollBeginDrag","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,7 @@ export function useGestureViewerPaging({
21
21
  scale,
22
22
  scrollTo,
23
23
  syncCurrentIndex,
24
+ syncPendingIndex,
24
25
  translateX,
25
26
  translateY,
26
27
  width
@@ -190,10 +191,22 @@ export function useGestureViewerPaging({
190
191
  if (!enableHorizontalSwipe) {
191
192
  return;
192
193
  }
194
+ const offsetX = event.nativeEvent.contentOffset.x;
195
+ const runtime = webScrollRuntimeRef.current;
196
+ const pendingState = resolveWebScrollFinalState({
197
+ dataLength,
198
+ enableLoop,
199
+ lastSettledPhysicalIndex: runtime.lastSettledPhysicalIndex,
200
+ offsetX,
201
+ pageWidth: width + itemSpacing
202
+ });
203
+ if (pendingState) {
204
+ syncPendingIndex(pendingState.logicalIndex);
205
+ }
193
206
  syncProgrammaticActorFromManager();
194
207
  beginWebUserInteraction();
195
- scheduleWebScrollSettle(event.nativeEvent.contentOffset.x);
196
- }, [beginWebUserInteraction, enableHorizontalSwipe, scheduleWebScrollSettle, syncProgrammaticActorFromManager]);
208
+ scheduleWebScrollSettle(offsetX);
209
+ }, [beginWebUserInteraction, dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, scheduleWebScrollSettle, syncPendingIndex, syncProgrammaticActorFromManager, width]);
197
210
  const onMomentumScrollEnd = useCallback(event => {
198
211
  if (!enableHorizontalSwipe) {
199
212
  return;
@@ -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":"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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","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":[]}