react-native-gesture-image-viewer 2.4.0 → 2.5.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 (50) hide show
  1. package/README.md +19 -5
  2. package/lib/module/GestureViewer.js +31 -13
  3. package/lib/module/GestureViewer.js.map +1 -1
  4. package/lib/module/GestureViewerManager.js +43 -14
  5. package/lib/module/GestureViewerManager.js.map +1 -1
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/itemDimensions.js +86 -0
  8. package/lib/module/itemDimensions.js.map +1 -0
  9. package/lib/module/useGestureViewer.js +244 -32
  10. package/lib/module/useGestureViewer.js.map +1 -1
  11. package/lib/module/useGestureViewerPaging.js +1 -3
  12. package/lib/module/useGestureViewerPaging.js.map +1 -1
  13. package/lib/module/useGestureViewerPaging.web.js +26 -18
  14. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  15. package/lib/module/utils/index.js +43 -10
  16. package/lib/module/utils/index.js.map +1 -1
  17. package/lib/module/utils/tapZoom.js +51 -13
  18. package/lib/module/utils/tapZoom.js.map +1 -1
  19. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  20. package/lib/typescript/src/GestureViewerManager.d.ts +16 -3
  21. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +1 -1
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/itemDimensions.d.ts +26 -0
  25. package/lib/typescript/src/itemDimensions.d.ts.map +1 -0
  26. package/lib/typescript/src/types.d.ts +29 -0
  27. package/lib/typescript/src/types.d.ts.map +1 -1
  28. package/lib/typescript/src/useGestureViewer.d.ts +3 -2
  29. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  30. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  31. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +2 -0
  32. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  33. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  34. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/index.d.ts +7 -3
  36. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  37. package/lib/typescript/src/utils/tapZoom.d.ts +17 -1
  38. package/lib/typescript/src/utils/tapZoom.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/GestureViewer.tsx +47 -16
  41. package/src/GestureViewerManager.ts +58 -19
  42. package/src/index.tsx +4 -0
  43. package/src/itemDimensions.ts +162 -0
  44. package/src/types.ts +39 -0
  45. package/src/useGestureViewer.ts +352 -36
  46. package/src/useGestureViewerPaging.ts +1 -3
  47. package/src/useGestureViewerPaging.types.ts +2 -0
  48. package/src/useGestureViewerPaging.web.ts +41 -21
  49. package/src/utils/index.ts +86 -27
  50. package/src/utils/tapZoom.ts +66 -13
@@ -1,17 +1,37 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
4
4
  import { Platform, useWindowDimensions } from 'react-native';
5
5
  import { Gesture } from 'react-native-gesture-handler';
6
6
  import { Easing, interpolate, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
7
7
  import { scheduleOnRN } from 'react-native-worklets';
8
8
  import { registry } from "./GestureViewerRegistry.js";
9
+ import { pruneItemDimensionsRegistry, registerItemDimensions, resolveItemDimensions } from "./itemDimensions.js";
9
10
  import { scheduleInitialScroll } from "./scheduleInitialScroll.js";
10
11
  import { useGestureViewerPaging } from './useGestureViewerPaging';
11
- import { createBoundsConstraint, createScrollAction } from "./utils/index.js";
12
+ import { clampIndex, clampTranslationToBounds, createScrollAction, getLoopAdjustedIndex, getLoopPhysicalIndex, resolveGeometrySyncTranslationMode } from "./utils/index.js";
12
13
  import { getDismissDistance, shouldDismissByDirection } from "./utils/dismiss.js";
13
14
  import { applyTapZoomAtPoint } from "./utils/tapZoom.js";
14
15
  import { calculateFocalPointTranslation, shouldAcceptFocalPoint } from "./utils/zoom.js";
16
+ function getViewerPositionChanges(previous, current) {
17
+ return {
18
+ isInitial: previous === null,
19
+ didDataLengthChange: previous !== null && previous.dataLength !== current.dataLength,
20
+ didInitialIndexChange: previous !== null && previous.initialIndex !== current.initialIndex,
21
+ didLoopLayoutChange: previous !== null && previous.usesLoopSentinels !== current.usesLoopSentinels,
22
+ didPageStrideChange: previous !== null && previous.pageStride !== current.pageStride
23
+ };
24
+ }
25
+ function fitItemDimensions(dimensions, viewport) {
26
+ if (!dimensions) {
27
+ return viewport;
28
+ }
29
+ const fitScale = Math.min(viewport.width / dimensions.width, viewport.height / dimensions.height);
30
+ return {
31
+ width: dimensions.width * fitScale,
32
+ height: dimensions.height * fitScale
33
+ };
34
+ }
15
35
  export const useGestureViewer = ({
16
36
  data,
17
37
  initialIndex = 0,
@@ -31,7 +51,9 @@ export const useGestureViewer = ({
31
51
  onDismissStart,
32
52
  triggerAnimation,
33
53
  autoPlay = false,
34
- autoPlayInterval = 3000
54
+ autoPlayInterval = 3000,
55
+ getItemDimensions,
56
+ getItemKey
35
57
  }) => {
36
58
  const {
37
59
  width: screenWidth,
@@ -53,7 +75,11 @@ export const useGestureViewer = ({
53
75
  const onAnimationCompleteRef = useRef(triggerAnimation?.onAnimationComplete);
54
76
  const onSingleTapRef = useRef(onSingleTap);
55
77
  const dataRef = useRef(data);
78
+ const getItemDimensionsRef = useRef(getItemDimensions);
79
+ const getItemKeyRef = useRef(getItemKey);
56
80
  const managerRef = useRef(manager);
81
+ const configuredManagerRef = useRef(null);
82
+ const itemDimensionsRef = useRef(new Map());
57
83
  const isValidTriggerRect = useCallback(rect => {
58
84
  return !!rect && rect.width > 0 && rect.height > 0;
59
85
  }, []);
@@ -65,6 +91,8 @@ export const useGestureViewer = ({
65
91
  const scale = useSharedValue(1);
66
92
  const backdropOpacity = useSharedValue(1);
67
93
  const rotation = useSharedValue(0);
94
+ const contentWidth = useSharedValue(width);
95
+ const contentHeight = useSharedValue(height);
68
96
  const triggerScale = useSharedValue(1);
69
97
  const triggerTranslateX = useSharedValue(0);
70
98
  const triggerTranslateY = useSharedValue(0);
@@ -75,7 +103,94 @@ export const useGestureViewer = ({
75
103
  const startFocalY = useSharedValue(0);
76
104
  const hasActiveFocal = useSharedValue(false);
77
105
  const dataLength = data?.length || 0;
78
- const previousDataLengthRef = useRef(dataLength);
106
+ const usesLoopSentinels = enableLoop && dataLength > 1;
107
+ const pageStride = width + itemSpacing;
108
+ const adjustedInitialIndex = getLoopPhysicalIndex(initialIndex, dataLength, enableLoop);
109
+ // Manager setup can rerender before a deferred list scroll runs, so each consumer tracks
110
+ // the last committed position inputs independently.
111
+ const managerPositionSnapshotRef = useRef(null);
112
+ const listPositionSnapshotRef = useRef(null);
113
+ const viewportRef = useRef({
114
+ height,
115
+ width
116
+ });
117
+ const loopConfigRef = useRef({
118
+ dataLength,
119
+ enableLoop
120
+ });
121
+ const activeGeometryRef = useRef(null);
122
+ const activeGeometryIndexRef = useRef(null);
123
+ const syncActiveContentDimensions = useCallback((logicalIndex = pendingIndexRef.current) => {
124
+ const viewport = viewportRef.current;
125
+ const fitted = fitItemDimensions(resolveItemDimensions({
126
+ data: dataRef.current,
127
+ getItemDimensions: getItemDimensionsRef.current,
128
+ getItemKey: getItemKeyRef.current,
129
+ index: logicalIndex,
130
+ registry: itemDimensionsRef.current
131
+ }), viewport);
132
+ const nextGeometry = {
133
+ contentHeight: fitted.height,
134
+ contentWidth: fitted.width,
135
+ height: viewport.height,
136
+ width: viewport.width
137
+ };
138
+ const previousGeometry = activeGeometryRef.current;
139
+ const previousGeometryIndex = activeGeometryIndexRef.current;
140
+ activeGeometryIndexRef.current = logicalIndex;
141
+ const currentScale = scale.get();
142
+ const translationMode = resolveGeometrySyncTranslationMode(previousGeometryIndex, logicalIndex, currentScale);
143
+ if (translationMode === 'reset') {
144
+ // Complete the page-owned reset before the next item's geometry can reuse the old offset.
145
+ translateX.set(0);
146
+ translateY.set(0);
147
+ }
148
+ if (previousGeometry?.contentHeight === nextGeometry.contentHeight && previousGeometry.contentWidth === nextGeometry.contentWidth && previousGeometry.height === nextGeometry.height && previousGeometry.width === nextGeometry.width) {
149
+ return;
150
+ }
151
+ activeGeometryRef.current = nextGeometry;
152
+ if (contentWidth.get() !== fitted.width) {
153
+ contentWidth.set(fitted.width);
154
+ }
155
+ if (contentHeight.get() !== fitted.height) {
156
+ contentHeight.set(fitted.height);
157
+ }
158
+ if (translationMode !== 'constrain') {
159
+ return;
160
+ }
161
+ const {
162
+ translateX: constrainedTranslateX,
163
+ translateY: constrainedTranslateY
164
+ } = clampTranslationToBounds({
165
+ contentHeight: fitted.height,
166
+ contentWidth: fitted.width,
167
+ height: viewport.height,
168
+ scale: currentScale,
169
+ translateX: translateX.get(),
170
+ translateY: translateY.get(),
171
+ width: viewport.width
172
+ });
173
+ translateX.set(withTiming(constrainedTranslateX));
174
+ translateY.set(withTiming(constrainedTranslateY));
175
+ }, [contentHeight, contentWidth, scale, translateX, translateY]);
176
+ const setItemDimensions = useCallback((listIndex, item, dimensions) => {
177
+ const {
178
+ dataLength: currentDataLength,
179
+ enableLoop: currentEnableLoop
180
+ } = loopConfigRef.current;
181
+ const logicalIndex = currentDataLength <= 0 ? listIndex : getLoopAdjustedIndex(listIndex, currentDataLength, currentEnableLoop).realIndex;
182
+ const didUpdateDimensions = registerItemDimensions({
183
+ data: dataRef.current,
184
+ dimensions,
185
+ getItemKey: getItemKeyRef.current,
186
+ index: logicalIndex,
187
+ item,
188
+ registry: itemDimensionsRef.current
189
+ });
190
+ if (didUpdateDimensions && logicalIndex === pendingIndexRef.current) {
191
+ syncActiveContentDimensions(logicalIndex);
192
+ }
193
+ }, [syncActiveContentDimensions]);
79
194
  const animationConfig = useMemo(() => ({
80
195
  duration: triggerAnimation?.duration ?? 300,
81
196
  easing: triggerAnimation?.easing ?? Easing.bezier(0.25, 0.1, 0.25, 1),
@@ -88,20 +203,27 @@ export const useGestureViewer = ({
88
203
  resistance: dismiss?.resistance ?? 2,
89
204
  threshold: dismiss?.threshold ?? 80
90
205
  }), [dismiss?.direction, dismiss?.enabled, dismiss?.threshold, dismiss?.resistance, dismiss?.fadeBackdrop]);
91
- const adjustedInitialIndex = useMemo(() => {
92
- if (enableLoop && dataLength > 1) {
93
- return initialIndex + 1;
94
- }
95
- return initialIndex;
96
- }, [enableLoop, dataLength, initialIndex]);
97
- const constrainTranslation = useMemo(() => createBoundsConstraint({
98
- height,
99
- width
100
- }), [width, height]);
206
+ const constrainTranslation = useCallback(({
207
+ scale: targetScale,
208
+ translateX: targetTranslateX,
209
+ translateY: targetTranslateY
210
+ }) => {
211
+ 'worklet';
212
+
213
+ return clampTranslationToBounds({
214
+ contentHeight: contentHeight.get(),
215
+ contentWidth: contentWidth.get(),
216
+ height,
217
+ scale: targetScale,
218
+ translateX: targetTranslateX,
219
+ translateY: targetTranslateY,
220
+ width
221
+ });
222
+ }, [contentHeight, contentWidth, height, width]);
101
223
  const scrollTo = useCallback((index, animated) => {
102
- const scrollAction = createScrollAction(listRef.current, width + itemSpacing);
224
+ const scrollAction = createScrollAction(listRef.current, pageStride);
103
225
  return scrollAction.scrollTo(index, animated);
104
- }, [width, itemSpacing]);
226
+ }, [pageStride]);
105
227
  const resetTransformState = useCallback(() => {
106
228
  translateX.set(withTiming(0));
107
229
  translateY.set(withTiming(0));
@@ -115,13 +237,18 @@ export const useGestureViewer = ({
115
237
  if (nextIndex < 0 || nextIndex >= dataLength) {
116
238
  return;
117
239
  }
240
+ if (nextIndex === pendingIndexRef.current) {
241
+ return;
242
+ }
118
243
  pendingIndexRef.current = nextIndex;
119
- }, [dataLength]);
244
+ syncActiveContentDimensions(nextIndex);
245
+ }, [dataLength, syncActiveContentDimensions]);
120
246
  const syncCurrentIndex = useCallback(nextIndex => {
121
247
  if (!manager || nextIndex < 0 || nextIndex >= dataLength) {
122
248
  return;
123
249
  }
124
250
  pendingIndexRef.current = nextIndex;
251
+ syncActiveContentDimensions(nextIndex);
125
252
  const managerCurrentIndex = manager.getState().currentIndex;
126
253
  if (nextIndex === managerCurrentIndex) {
127
254
  return;
@@ -129,7 +256,7 @@ export const useGestureViewer = ({
129
256
  manager.setCurrentIndex(nextIndex);
130
257
  manager.notifyStateChange();
131
258
  resetTransformState();
132
- }, [dataLength, manager, resetTransformState]);
259
+ }, [dataLength, manager, resetTransformState, syncActiveContentDimensions]);
133
260
  const emitZoomChange = useCallback((currentScale, prevScale) => {
134
261
  managerRef.current?.emitZoomChange(currentScale, prevScale);
135
262
  }, []);
@@ -169,21 +296,51 @@ export const useGestureViewer = ({
169
296
  return registry.subscribeToActiveTrigger(id, setActiveTriggerNode);
170
297
  }, [id]);
171
298
  useEffect(() => {
172
- pendingIndexRef.current = initialIndex;
299
+ const currentPositionSnapshot = {
300
+ dataLength,
301
+ initialIndex,
302
+ pageStride,
303
+ usesLoopSentinels
304
+ };
305
+ const {
306
+ didDataLengthChange,
307
+ didInitialIndexChange,
308
+ didLoopLayoutChange
309
+ } = getViewerPositionChanges(managerPositionSnapshotRef.current, currentPositionSnapshot);
310
+ managerPositionSnapshotRef.current = currentPositionSnapshot;
173
311
  if (!manager) {
312
+ configuredManagerRef.current = null;
174
313
  return;
175
314
  }
315
+ const isNewManager = configuredManagerRef.current !== manager;
316
+ const shouldApplyInitialIndex = isNewManager || didInitialIndexChange || didDataLengthChange || didLoopLayoutChange;
317
+ const shouldSyncInitialIndex = didInitialIndexChange || didDataLengthChange || didLoopLayoutChange || activeGeometryIndexRef.current !== initialIndex;
176
318
  manager.setDataLength(dataLength);
177
319
  manager.setEnableHorizontalSwipe(enableHorizontalSwipe);
178
- manager.setCurrentIndex(initialIndex);
179
- manager.setWidth(width + itemSpacing);
320
+ manager.setPagingStride(pageStride);
321
+ manager.setViewportWidth(width);
180
322
  manager.setHeight(height);
181
- manager.setZoomSharedValues(scale, translateX, translateY, maxZoomScale);
323
+ manager.setZoomSharedValues({
324
+ contentHeight,
325
+ contentWidth,
326
+ maxZoomScale,
327
+ scale,
328
+ translateX,
329
+ translateY
330
+ });
182
331
  manager.setResetTransformCallback(resetTransformState);
183
332
  manager.setRotation(rotation);
184
333
  manager.setEnableLoop(enableLoop);
334
+ if (shouldApplyInitialIndex) {
335
+ pendingIndexRef.current = initialIndex;
336
+ manager.setCurrentIndex(initialIndex);
337
+ if (shouldSyncInitialIndex) {
338
+ syncActiveContentDimensions(initialIndex);
339
+ }
340
+ }
341
+ configuredManagerRef.current = manager;
185
342
  manager.notifyStateChange();
186
- }, [dataLength, enableHorizontalSwipe, initialIndex, manager, width, itemSpacing, maxZoomScale, enableLoop, scale, height, resetTransformState, translateX, translateY, rotation]);
343
+ }, [dataLength, enableHorizontalSwipe, initialIndex, manager, pageStride, width, maxZoomScale, enableLoop, scale, height, contentWidth, contentHeight, resetTransformState, syncActiveContentDimensions, translateX, translateY, rotation, usesLoopSentinels]);
187
344
  useEffect(() => {
188
345
  if (!manager || !listRef.current) {
189
346
  return;
@@ -191,28 +348,78 @@ export const useGestureViewer = ({
191
348
  manager.setListRef(listRef.current);
192
349
  }, [manager]);
193
350
  useEffect(() => {
194
- const hasDataLengthChanged = previousDataLengthRef.current !== dataLength;
195
- const hasValidInitialIndex = initialIndex >= 0 && initialIndex < dataLength;
196
- previousDataLengthRef.current = dataLength;
351
+ const currentPositionSnapshot = {
352
+ dataLength,
353
+ initialIndex,
354
+ pageStride,
355
+ usesLoopSentinels
356
+ };
357
+ const {
358
+ didDataLengthChange,
359
+ didInitialIndexChange,
360
+ didLoopLayoutChange,
361
+ didPageStrideChange,
362
+ isInitial: isInitialPositionRender
363
+ } = getViewerPositionChanges(listPositionSnapshotRef.current, currentPositionSnapshot);
364
+ const commitPositionSnapshot = () => {
365
+ listPositionSnapshotRef.current = currentPositionSnapshot;
366
+ };
367
+ const shouldResetToInitialIndex = isInitialPositionRender || didInitialIndexChange || didDataLengthChange || didLoopLayoutChange;
368
+ const shouldRealignCurrentIndex = didPageStrideChange && !shouldResetToInitialIndex;
369
+ if (!shouldResetToInitialIndex && !shouldRealignCurrentIndex) {
370
+ commitPositionSnapshot();
371
+ return;
372
+ }
197
373
  translateY.set(0);
198
374
  translateX.set(0);
199
375
  scale.set(1);
200
376
  backdropOpacity.set(1);
201
377
  startScale.set(1);
202
378
  rotation.set(0);
203
- if (!hasValidInitialIndex || !hasDataLengthChanged && adjustedInitialIndex <= 0 || !listRef.current) {
379
+ if (dataLength === 0 || !listRef.current) {
380
+ commitPositionSnapshot();
381
+ return;
382
+ }
383
+ if (isInitialPositionRender && adjustedInitialIndex === 0) {
384
+ commitPositionSnapshot();
385
+ return;
386
+ }
387
+ const logicalIndex = shouldResetToInitialIndex ? initialIndex : clampIndex(managerRef.current?.getState().currentIndex ?? pendingIndexRef.current, dataLength);
388
+ const physicalIndex = getLoopPhysicalIndex(logicalIndex, dataLength, enableLoop);
389
+ if (shouldRealignCurrentIndex) {
390
+ pendingIndexRef.current = logicalIndex;
391
+ syncActiveContentDimensions(logicalIndex);
392
+ }
393
+ if (shouldRealignCurrentIndex && physicalIndex === 0) {
394
+ commitPositionSnapshot();
204
395
  return;
205
396
  }
206
397
  return scheduleInitialScroll(() => {
207
- scrollTo(adjustedInitialIndex, false);
398
+ scrollTo(physicalIndex, false);
399
+ commitPositionSnapshot();
208
400
  });
209
- }, [adjustedInitialIndex, dataLength, initialIndex, translateY, backdropOpacity, translateX, scale, startScale, rotation, scrollTo]);
401
+ }, [adjustedInitialIndex, dataLength, enableLoop, initialIndex, pageStride, translateY, backdropOpacity, translateX, scale, startScale, rotation, scrollTo, syncActiveContentDimensions, usesLoopSentinels]);
210
402
  useEffect(() => {
211
403
  onAnimationCompleteRef.current = triggerAnimation?.onAnimationComplete;
212
404
  }, [triggerAnimation?.onAnimationComplete]);
213
- useEffect(() => {
405
+ useLayoutEffect(() => {
406
+ // Retained virtualized-cell callbacks read only the most recently committed props.
214
407
  dataRef.current = data;
215
- }, [data]);
408
+ getItemDimensionsRef.current = getItemDimensions;
409
+ getItemKeyRef.current = getItemKey;
410
+ viewportRef.current = {
411
+ height,
412
+ width
413
+ };
414
+ loopConfigRef.current = {
415
+ dataLength,
416
+ enableLoop
417
+ };
418
+ syncActiveContentDimensions();
419
+ }, [data, dataLength, enableLoop, getItemDimensions, getItemKey, height, syncActiveContentDimensions, width]);
420
+ useEffect(() => {
421
+ pruneItemDimensionsRegistry(itemDimensionsRef.current, dataLength);
422
+ }, [dataLength]);
216
423
  useEffect(() => {
217
424
  managerRef.current = manager;
218
425
  }, [manager]);
@@ -499,6 +706,8 @@ export const useGestureViewer = ({
499
706
  }), [emitSingleTap]);
500
707
  const doubleTapGesture = useMemo(() => Gesture.Tap().enabled(enableDoubleTapZoom && Platform.OS !== 'web').numberOfTaps(2).onEnd(event => {
501
708
  applyTapZoomAtPoint({
709
+ contentHeight: contentHeight.get(),
710
+ contentWidth: contentWidth.get(),
502
711
  x: event.x,
503
712
  y: event.y,
504
713
  width,
@@ -508,7 +717,7 @@ export const useGestureViewer = ({
508
717
  translateX,
509
718
  translateY
510
719
  });
511
- }), [enableDoubleTapZoom, height, maxZoomScale, scale, translateX, translateY, width]);
720
+ }), [contentHeight, contentWidth, enableDoubleTapZoom, height, maxZoomScale, scale, translateX, translateY, width]);
512
721
  const tapGesture = useMemo(() => Gesture.Exclusive(doubleTapGesture, singleTapGesture), [doubleTapGesture, singleTapGesture]);
513
722
  const zoomGesture = useMemo(() => Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, tapGesture)), [zoomPinchGesture, zoomPanGesture, tapGesture]);
514
723
  const animatedStyle = useAnimatedStyle(() => ({
@@ -555,6 +764,8 @@ export const useGestureViewer = ({
555
764
  adjustedInitialIndex,
556
765
  autoPlay,
557
766
  autoPlayInterval,
767
+ contentHeight,
768
+ contentWidth,
558
769
  currentIndex,
559
770
  dataLength,
560
771
  enableDoubleTapZoom,
@@ -591,6 +802,7 @@ export const useGestureViewer = ({
591
802
  onMomentumScrollEnd,
592
803
  onScroll,
593
804
  onScrollBeginDrag,
805
+ setItemDimensions,
594
806
  zoomGesture
595
807
  };
596
808
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","scheduleInitialScroll","useGestureViewerPaging","createBoundsConstraint","createScrollAction","getDismissDistance","shouldDismissByDirection","applyTapZoomAtPoint","calculateFocalPointTranslation","shouldAcceptFocalPoint","useGestureViewer","data","initialIndex","onDismiss","onSingleTap","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","onSingleTapRef","dataRef","managerRef","isValidTriggerRect","rect","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","startFocalX","startFocalY","hasActiveFocal","dataLength","length","previousDataLengthRef","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","direction","enabled","fadeBackdrop","resistance","threshold","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","resetTransformState","set","syncPendingIndex","nextIndex","syncCurrentIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","get","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","subscribeToActiveTrigger","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","hasDataLengthChanged","hasValidInitialIndex","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","onStart","focalX","focalY","initialScale","newScale","nextLastFocalX","nextLastFocalY","newTranslateX","newTranslateY","currentFocalX","currentFocalY","nextScale","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","onBegin","translationX","emitSingleTap","currentData","emitTap","kind","item","singleTapGesture","Tap","OS","numberOfTaps","success","doubleTapGesture","tapGesture","Exclusive","zoomGesture","Race","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissDistance","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","activeListIndex","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","pruneItemDimensionsRegistry","registerItemDimensions","resolveItemDimensions","scheduleInitialScroll","useGestureViewerPaging","clampIndex","clampTranslationToBounds","createScrollAction","getLoopAdjustedIndex","getLoopPhysicalIndex","resolveGeometrySyncTranslationMode","getDismissDistance","shouldDismissByDirection","applyTapZoomAtPoint","calculateFocalPointTranslation","shouldAcceptFocalPoint","getViewerPositionChanges","previous","current","isInitial","didDataLengthChange","dataLength","didInitialIndexChange","initialIndex","didLoopLayoutChange","usesLoopSentinels","didPageStrideChange","pageStride","fitItemDimensions","dimensions","viewport","fitScale","Math","min","width","height","useGestureViewer","data","onDismiss","onSingleTap","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","getItemDimensions","getItemKey","screenWidth","screenHeight","dismissGestureRef","undefined","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","activeTriggerNode","setActiveTriggerNode","listRef","triggerRectRef","pendingIndexRef","onAnimationCompleteRef","onAnimationComplete","onSingleTapRef","dataRef","getItemDimensionsRef","getItemKeyRef","managerRef","configuredManagerRef","itemDimensionsRef","Map","isValidTriggerRect","rect","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","contentWidth","contentHeight","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","startFocalX","startFocalY","hasActiveFocal","length","adjustedInitialIndex","managerPositionSnapshotRef","listPositionSnapshotRef","viewportRef","loopConfigRef","activeGeometryRef","activeGeometryIndexRef","syncActiveContentDimensions","logicalIndex","fitted","index","nextGeometry","previousGeometry","previousGeometryIndex","currentScale","get","translationMode","set","constrainedTranslateX","constrainedTranslateY","setItemDimensions","listIndex","item","currentDataLength","currentEnableLoop","realIndex","didUpdateDimensions","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","direction","enabled","fadeBackdrop","resistance","threshold","constrainTranslation","targetScale","targetTranslateX","targetTranslateY","scrollTo","animated","scrollAction","resetTransformState","syncPendingIndex","nextIndex","syncCurrentIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","prevScale","emitRotationChange","currentRotation","prevRotation","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","subscribeToActiveTrigger","currentPositionSnapshot","isNewManager","shouldApplyInitialIndex","shouldSyncInitialIndex","setDataLength","setEnableHorizontalSwipe","setPagingStride","setViewportWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","isInitialPositionRender","commitPositionSnapshot","shouldResetToInitialIndex","shouldRealignCurrentIndex","physicalIndex","startX","x","startY","y","initialScaleFromTrigger","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","onStart","focalX","focalY","initialScale","newScale","nextLastFocalX","nextLastFocalY","newTranslateX","newTranslateY","currentFocalX","currentFocalY","nextScale","onTouchesUp","onFinalize","zoomPanGesture","onBegin","translationX","emitSingleTap","currentData","emitTap","kind","singleTapGesture","Tap","OS","numberOfTaps","success","doubleTapGesture","tapGesture","Exclusive","zoomGesture","Race","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissDistance","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","activeListIndex","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -20,11 +20,9 @@ export function useGestureViewerPaging({
20
20
  width
21
21
  }) {
22
22
  const [activeListIndex, setActiveListIndex] = useState(adjustedInitialIndex);
23
- const activeResetItemSpacing = adjustedInitialIndex > 0 ? itemSpacing : 0;
24
- const activeResetWidth = adjustedInitialIndex > 0 ? width : 0;
25
23
  useEffect(() => {
26
24
  setActiveListIndex(adjustedInitialIndex);
27
- }, [adjustedInitialIndex, activeResetItemSpacing, activeResetWidth, dataLength]);
25
+ }, [adjustedInitialIndex, dataLength]);
28
26
  useEffect(() => {
29
27
  if (!autoPlay || !manager || dataLength <= 1 || isZoomed || isRotated || !enableLoop && currentIndex === dataLength - 1) {
30
28
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","getLoopAdjustedIndex","useGestureViewerPaging","adjustedInitialIndex","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","syncPendingIndex","width","activeListIndex","setActiveListIndex","activeResetItemSpacing","activeResetWidth","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","realIndex","needsJump","jumpToIndex","isLoopHandled","handleMomentumScrollEnd","undefined","onScroll","onScrollBeginDrag","handleScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","getLoopAdjustedIndex","useGestureViewerPaging","adjustedInitialIndex","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","syncPendingIndex","width","activeListIndex","setActiveListIndex","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","realIndex","needsJump","jumpToIndex","isLoopHandled","handleMomentumScrollEnd","undefined","onScroll","onScrollBeginDrag","handleScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":"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","ignoreList":[]}