react-native-gesture-image-viewer 2.3.3 → 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.
- package/README.md +19 -5
- package/lib/module/GestureViewer.js +39 -15
- package/lib/module/GestureViewer.js.map +1 -1
- package/lib/module/GestureViewerManager.js +43 -14
- package/lib/module/GestureViewerManager.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/itemDimensions.js +86 -0
- package/lib/module/itemDimensions.js.map +1 -0
- package/lib/module/useGestureViewer.js +246 -28
- package/lib/module/useGestureViewer.js.map +1 -1
- package/lib/module/useGestureViewerPaging.js +17 -5
- package/lib/module/useGestureViewerPaging.js.map +1 -1
- package/lib/module/useGestureViewerPaging.web.js +31 -7
- package/lib/module/useGestureViewerPaging.web.js.map +1 -1
- package/lib/module/utils/index.js +43 -10
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/tapZoom.js +51 -13
- package/lib/module/utils/tapZoom.js.map +1 -1
- package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/GestureViewerManager.d.ts +16 -3
- package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/itemDimensions.d.ts +26 -0
- package/lib/typescript/src/itemDimensions.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +40 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts +4 -2
- package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerPaging.d.ts +1 -1
- package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerPaging.types.d.ts +3 -0
- package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
- package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +7 -3
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/tapZoom.d.ts +17 -1
- package/lib/typescript/src/utils/tapZoom.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/GestureViewer.tsx +64 -18
- package/src/GestureViewerManager.ts +58 -19
- package/src/index.tsx +5 -0
- package/src/itemDimensions.ts +162 -0
- package/src/types.ts +51 -1
- package/src/useGestureViewer.ts +381 -52
- package/src/useGestureViewerPaging.ts +21 -7
- package/src/useGestureViewerPaging.types.ts +3 -0
- package/src/useGestureViewerPaging.web.ts +46 -7
- package/src/utils/index.ts +86 -27
- package/src/utils/tapZoom.ts +66 -13
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useEffect, useRef } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { applyTapZoomAtPoint } from "./utils/tapZoom.js";
|
|
5
5
|
import { getWebAutoPlayTargetPhysicalIndex, getWebScrollPhysicalIndex, resolveWebScrollFinalState } from "./utils/webScroll.js";
|
|
6
6
|
export function useGestureViewerPaging({
|
|
7
7
|
adjustedInitialIndex,
|
|
8
8
|
autoPlay,
|
|
9
9
|
autoPlayInterval,
|
|
10
|
+
contentHeight,
|
|
11
|
+
contentWidth,
|
|
10
12
|
currentIndex,
|
|
11
13
|
dataLength,
|
|
12
14
|
enableDoubleTapZoom,
|
|
@@ -27,17 +29,20 @@ export function useGestureViewerPaging({
|
|
|
27
29
|
translateY,
|
|
28
30
|
width
|
|
29
31
|
}) {
|
|
32
|
+
const [activeListIndex, setActiveListIndex] = useState(adjustedInitialIndex);
|
|
33
|
+
const pageStride = width + itemSpacing;
|
|
30
34
|
const webSingleTapTimerRef = useRef(null);
|
|
31
35
|
const webScrollRuntimeRef = useRef({
|
|
32
36
|
actor: 'idle',
|
|
33
37
|
isAutoplayPausedByUser: false,
|
|
34
38
|
lastSettledPhysicalIndex: adjustedInitialIndex,
|
|
35
|
-
latestOffsetX: adjustedInitialIndex *
|
|
39
|
+
latestOffsetX: adjustedInitialIndex * pageStride,
|
|
36
40
|
latestRawPhysicalIndex: adjustedInitialIndex,
|
|
37
41
|
lastProgrammaticScrollVersion: 0,
|
|
38
42
|
settleTimer: null,
|
|
39
43
|
resumeAutoplayTimer: null
|
|
40
44
|
});
|
|
45
|
+
const previousPagingLayoutRef = useRef(null);
|
|
41
46
|
const clearWebSingleTapTimer = useCallback(() => {
|
|
42
47
|
if (webSingleTapTimerRef.current) {
|
|
43
48
|
clearTimeout(webSingleTapTimerRef.current);
|
|
@@ -133,6 +138,7 @@ export function useGestureViewerPaging({
|
|
|
133
138
|
runtime.latestOffsetX = settledPhysicalIndex * (width + itemSpacing);
|
|
134
139
|
runtime.actor = 'idle';
|
|
135
140
|
manager?.cancelPendingLoopTransition();
|
|
141
|
+
setActiveListIndex(settledPhysicalIndex);
|
|
136
142
|
syncCurrentIndex(logicalIndex);
|
|
137
143
|
if (settledByActor === 'user') {
|
|
138
144
|
scheduleWebAutoplayResume();
|
|
@@ -149,15 +155,30 @@ export function useGestureViewerPaging({
|
|
|
149
155
|
}, [clearWebSettleTimer, finalizeWebScroll, itemSpacing, width]);
|
|
150
156
|
useEffect(() => {
|
|
151
157
|
const runtime = webScrollRuntimeRef.current;
|
|
158
|
+
const previousLayout = previousPagingLayoutRef.current;
|
|
159
|
+
const shouldResetToInitialIndex = previousLayout === null || previousLayout.adjustedInitialIndex !== adjustedInitialIndex || previousLayout.dataLength !== dataLength || previousLayout.manager !== manager;
|
|
160
|
+
const didPageStrideChange = previousLayout !== null && previousLayout.pageStride !== pageStride;
|
|
161
|
+
previousPagingLayoutRef.current = {
|
|
162
|
+
adjustedInitialIndex,
|
|
163
|
+
dataLength,
|
|
164
|
+
manager,
|
|
165
|
+
pageStride
|
|
166
|
+
};
|
|
167
|
+
if (!shouldResetToInitialIndex && !didPageStrideChange) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
152
170
|
runtime.actor = 'idle';
|
|
153
171
|
runtime.isAutoplayPausedByUser = false;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
172
|
+
if (shouldResetToInitialIndex) {
|
|
173
|
+
runtime.lastSettledPhysicalIndex = adjustedInitialIndex;
|
|
174
|
+
setActiveListIndex(adjustedInitialIndex);
|
|
175
|
+
}
|
|
176
|
+
runtime.latestOffsetX = runtime.lastSettledPhysicalIndex * pageStride;
|
|
177
|
+
runtime.latestRawPhysicalIndex = runtime.lastSettledPhysicalIndex;
|
|
157
178
|
runtime.lastProgrammaticScrollVersion = manager?.getProgrammaticScrollVersion() ?? 0;
|
|
158
179
|
clearWebSettleTimer();
|
|
159
180
|
clearWebAutoplayResumeTimer();
|
|
160
|
-
}, [adjustedInitialIndex, clearWebAutoplayResumeTimer, clearWebSettleTimer,
|
|
181
|
+
}, [adjustedInitialIndex, clearWebAutoplayResumeTimer, clearWebSettleTimer, dataLength, manager, pageStride]);
|
|
161
182
|
useEffect(() => {
|
|
162
183
|
return () => {
|
|
163
184
|
clearWebSingleTapTimer();
|
|
@@ -245,6 +266,8 @@ export function useGestureViewerPaging({
|
|
|
245
266
|
pauseWebAutoplayWithoutPagingInteraction();
|
|
246
267
|
scheduleWebAutoplayResume();
|
|
247
268
|
applyTapZoomAtPoint({
|
|
269
|
+
contentHeight: contentHeight.get(),
|
|
270
|
+
contentWidth: contentWidth.get(),
|
|
248
271
|
x: resolvedX,
|
|
249
272
|
y: resolvedY,
|
|
250
273
|
width,
|
|
@@ -264,8 +287,9 @@ export function useGestureViewerPaging({
|
|
|
264
287
|
onSingleTap(resolvedX, resolvedY);
|
|
265
288
|
webSingleTapTimerRef.current = null;
|
|
266
289
|
}, 250);
|
|
267
|
-
}, [clearWebSingleTapTimer, enableDoubleTapZoom, height, maxZoomScale, onSingleTap, pauseWebAutoplayWithoutPagingInteraction, scale, scheduleWebAutoplayResume, translateX, translateY, width]);
|
|
290
|
+
}, [clearWebSingleTapTimer, contentHeight, contentWidth, enableDoubleTapZoom, height, maxZoomScale, onSingleTap, pauseWebAutoplayWithoutPagingInteraction, scale, scheduleWebAutoplayResume, translateX, translateY, width]);
|
|
268
291
|
return {
|
|
292
|
+
activeListIndex,
|
|
269
293
|
onMomentumScrollEnd,
|
|
270
294
|
onScroll,
|
|
271
295
|
onScrollBeginDrag,
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","applyTapZoomAtPoint","getWebAutoPlayTargetPhysicalIndex","getWebScrollPhysicalIndex","resolveWebScrollFinalState","useGestureViewerPaging","adjustedInitialIndex","autoPlay","autoPlayInterval","contentHeight","contentWidth","currentIndex","dataLength","enableDoubleTapZoom","enableHorizontalSwipe","enableLoop","height","onSingleTap","isRotated","isZoomed","itemSpacing","manager","maxZoomScale","scale","scrollTo","syncCurrentIndex","syncPendingIndex","translateX","translateY","width","activeListIndex","setActiveListIndex","pageStride","webSingleTapTimerRef","webScrollRuntimeRef","actor","isAutoplayPausedByUser","lastSettledPhysicalIndex","latestOffsetX","latestRawPhysicalIndex","lastProgrammaticScrollVersion","settleTimer","resumeAutoplayTimer","previousPagingLayoutRef","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","previousLayout","shouldResetToInitialIndex","didPageStrideChange","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","get","y"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,10 +25,41 @@ export const isFlashListLike = component => {
|
|
|
25
25
|
export const shouldUseNativeScrollGesture = (platformOS, component) => {
|
|
26
26
|
return platformOS === 'ios' && component !== GestureScrollView && component !== GestureFlatList;
|
|
27
27
|
};
|
|
28
|
-
export const
|
|
28
|
+
export const clampIndex = (index, dataLength) => {
|
|
29
|
+
if (dataLength <= 0) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
const candidateIndex = index ?? 0;
|
|
33
|
+
if (!Number.isFinite(candidateIndex)) {
|
|
34
|
+
return 0;
|
|
35
|
+
}
|
|
36
|
+
return Math.min(Math.max(Math.trunc(candidateIndex), 0), dataLength - 1);
|
|
37
|
+
};
|
|
38
|
+
export const resolveGeometrySyncTranslationMode = (previousIndex, nextIndex, scale) => {
|
|
39
|
+
if (previousIndex !== null && previousIndex !== nextIndex) {
|
|
40
|
+
return 'reset';
|
|
41
|
+
}
|
|
42
|
+
return scale > 1 ? 'constrain' : 'none';
|
|
43
|
+
};
|
|
44
|
+
const isValidDimension = value => {
|
|
45
|
+
'worklet';
|
|
46
|
+
|
|
47
|
+
return Number.isFinite(value) && value > 0;
|
|
48
|
+
};
|
|
49
|
+
const clampTranslation = (value, max) => {
|
|
50
|
+
'worklet';
|
|
51
|
+
|
|
52
|
+
if (max <= 0) {
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
const clamped = Math.max(-max, Math.min(max, value));
|
|
56
|
+
return clamped === 0 ? 0 : clamped;
|
|
57
|
+
};
|
|
58
|
+
export const clampTranslationToBounds = ({
|
|
29
59
|
width,
|
|
30
|
-
height
|
|
31
|
-
|
|
60
|
+
height,
|
|
61
|
+
contentWidth,
|
|
62
|
+
contentHeight,
|
|
32
63
|
scale,
|
|
33
64
|
translateX,
|
|
34
65
|
translateY
|
|
@@ -41,16 +72,17 @@ export const createBoundsConstraint = ({
|
|
|
41
72
|
translateY
|
|
42
73
|
};
|
|
43
74
|
}
|
|
44
|
-
const
|
|
45
|
-
const
|
|
75
|
+
const baseContentWidth = contentWidth !== undefined && isValidDimension(contentWidth) ? contentWidth : width;
|
|
76
|
+
const baseContentHeight = contentHeight !== undefined && isValidDimension(contentHeight) ? contentHeight : height;
|
|
77
|
+
const maxTranslateX = Math.max(0, (baseContentWidth * scale - width) / 2);
|
|
78
|
+
const maxTranslateY = Math.max(0, (baseContentHeight * scale - height) / 2);
|
|
46
79
|
return {
|
|
47
|
-
translateX:
|
|
48
|
-
translateY:
|
|
80
|
+
translateX: clampTranslation(translateX, maxTranslateX),
|
|
81
|
+
translateY: clampTranslation(translateY, maxTranslateY)
|
|
49
82
|
};
|
|
50
83
|
};
|
|
51
|
-
export const createLoopData = (
|
|
52
|
-
|
|
53
|
-
if (!enableLoop || !data?.length || data.length <= 1) {
|
|
84
|
+
export const createLoopData = (data, enableLoop) => {
|
|
85
|
+
if (!enableLoop || data.length <= 1) {
|
|
54
86
|
return data;
|
|
55
87
|
}
|
|
56
88
|
const lastItem = data.at(-1);
|
|
@@ -60,6 +92,7 @@ export const createLoopData = (dataRef, enableLoop) => {
|
|
|
60
92
|
}
|
|
61
93
|
return [lastItem, ...data, firstItem];
|
|
62
94
|
};
|
|
95
|
+
export const getLoopPhysicalIndex = (logicalIndex, dataLength, enableLoop) => enableLoop && dataLength > 1 ? logicalIndex + 1 : logicalIndex;
|
|
63
96
|
export const getLoopAdjustedIndex = (scrollIndex, originalDataLength, enableLoop) => {
|
|
64
97
|
if (!enableLoop || originalDataLength <= 1) {
|
|
65
98
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FlatList","RNFlatList","ScrollView","RNScrollView","GestureFlatList","GestureScrollView","FlashList","isScrollViewLike","component","isFlatListLike","isFlashListLike","displayName","name","shouldUseNativeScrollGesture","platformOS","
|
|
1
|
+
{"version":3,"names":["FlatList","RNFlatList","ScrollView","RNScrollView","GestureFlatList","GestureScrollView","FlashList","isScrollViewLike","component","isFlatListLike","isFlashListLike","displayName","name","shouldUseNativeScrollGesture","platformOS","clampIndex","index","dataLength","candidateIndex","Number","isFinite","Math","min","max","trunc","resolveGeometrySyncTranslationMode","previousIndex","nextIndex","scale","isValidDimension","value","clampTranslation","clamped","clampTranslationToBounds","width","height","contentWidth","contentHeight","translateX","translateY","baseContentWidth","undefined","baseContentHeight","maxTranslateX","maxTranslateY","createLoopData","data","enableLoop","length","lastItem","at","firstItem","getLoopPhysicalIndex","logicalIndex","getLoopAdjustedIndex","scrollIndex","originalDataLength","needsJump","realIndex","jumpToIndex","createScrollAction","listRef","scrollTo","animated","scrollToIndex","x"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Easing, withTiming } from 'react-native-reanimated';
|
|
4
|
+
import { clampTranslationToBounds } from "./index.js";
|
|
5
|
+
export const getTapZoomTarget = ({
|
|
6
|
+
x,
|
|
7
|
+
y,
|
|
8
|
+
width,
|
|
9
|
+
height,
|
|
10
|
+
contentWidth,
|
|
11
|
+
contentHeight,
|
|
12
|
+
maxZoomScale,
|
|
13
|
+
scale
|
|
14
|
+
}) => {
|
|
15
|
+
'worklet';
|
|
16
|
+
|
|
17
|
+
const nextScale = scale > 1 ? 1 : maxZoomScale;
|
|
18
|
+
if (nextScale <= 1) {
|
|
19
|
+
return {
|
|
20
|
+
scale: nextScale,
|
|
21
|
+
translateX: 0,
|
|
22
|
+
translateY: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const centerX = x - width / 2;
|
|
26
|
+
const centerY = y - height / 2;
|
|
27
|
+
return {
|
|
28
|
+
scale: nextScale,
|
|
29
|
+
...clampTranslationToBounds({
|
|
30
|
+
contentHeight,
|
|
31
|
+
contentWidth,
|
|
32
|
+
height,
|
|
33
|
+
scale: nextScale,
|
|
34
|
+
translateX: -centerX * (nextScale - 1),
|
|
35
|
+
translateY: -centerY * (nextScale - 1),
|
|
36
|
+
width
|
|
37
|
+
})
|
|
38
|
+
};
|
|
39
|
+
};
|
|
4
40
|
export const applyTapZoomAtPoint = ({
|
|
5
41
|
x,
|
|
6
42
|
y,
|
|
7
43
|
width,
|
|
8
44
|
height,
|
|
45
|
+
contentWidth,
|
|
46
|
+
contentHeight,
|
|
9
47
|
maxZoomScale,
|
|
10
48
|
scale,
|
|
11
49
|
translateX,
|
|
@@ -13,22 +51,22 @@ export const applyTapZoomAtPoint = ({
|
|
|
13
51
|
}) => {
|
|
14
52
|
'worklet';
|
|
15
53
|
|
|
16
|
-
const
|
|
54
|
+
const target = getTapZoomTarget({
|
|
55
|
+
contentHeight,
|
|
56
|
+
contentWidth,
|
|
57
|
+
height,
|
|
58
|
+
maxZoomScale,
|
|
59
|
+
scale: scale.get(),
|
|
60
|
+
width,
|
|
61
|
+
x,
|
|
62
|
+
y
|
|
63
|
+
});
|
|
17
64
|
const timingConfig = {
|
|
18
65
|
duration: 300,
|
|
19
66
|
easing: Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
20
67
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// NOTE 확대로 밀려난 거리만큼 반대로 이동해서 탭 지점을 제자리에 유지
|
|
26
|
-
translateX.set(withTiming(-centerX * (nextScale - 1), timingConfig));
|
|
27
|
-
translateY.set(withTiming(-centerY * (nextScale - 1), timingConfig));
|
|
28
|
-
} else {
|
|
29
|
-
translateX.set(withTiming(0, timingConfig));
|
|
30
|
-
translateY.set(withTiming(0, timingConfig));
|
|
31
|
-
}
|
|
32
|
-
scale.set(withTiming(nextScale, timingConfig));
|
|
68
|
+
translateX.set(withTiming(target.translateX, timingConfig));
|
|
69
|
+
translateY.set(withTiming(target.translateY, timingConfig));
|
|
70
|
+
scale.set(withTiming(target.scale, timingConfig));
|
|
33
71
|
};
|
|
34
72
|
//# sourceMappingURL=tapZoom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Easing","withTiming","
|
|
1
|
+
{"version":3,"names":["Easing","withTiming","clampTranslationToBounds","getTapZoomTarget","x","y","width","height","contentWidth","contentHeight","maxZoomScale","scale","nextScale","translateX","translateY","centerX","centerY","applyTapZoomAtPoint","target","get","timingConfig","duration","easing","bezier","set"],"sourceRoot":"../../../src","sources":["utils/tapZoom.ts"],"mappings":";;AACA,SAASA,MAAM,EAAEC,UAAU,QAAQ,yBAAyB;AAE5D,SAASC,wBAAwB,QAAQ,YAAG;AAE5C,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,CAAC;EACDC,CAAC;EACDC,KAAK;EACLC,MAAM;EACNC,YAAY;EACZC,aAAa;EACbC,YAAY;EACZC;AAUF,CAAC,KAAK;EACJ,SAAS;;EAET,MAAMC,SAAS,GAAGD,KAAK,GAAG,CAAC,GAAG,CAAC,GAAGD,YAAY;EAE9C,IAAIE,SAAS,IAAI,CAAC,EAAE;IAClB,OAAO;MACLD,KAAK,EAAEC,SAAS;MAChBC,UAAU,EAAE,CAAC;MACbC,UAAU,EAAE;IACd,CAAC;EACH;EAEA,MAAMC,OAAO,GAAGX,CAAC,GAAGE,KAAK,GAAG,CAAC;EAC7B,MAAMU,OAAO,GAAGX,CAAC,GAAGE,MAAM,GAAG,CAAC;EAC9B,OAAO;IACLI,KAAK,EAAEC,SAAS;IAChB,GAAGV,wBAAwB,CAAC;MAC1BO,aAAa;MACbD,YAAY;MACZD,MAAM;MACNI,KAAK,EAAEC,SAAS;MAChBC,UAAU,EAAE,CAACE,OAAO,IAAIH,SAAS,GAAG,CAAC,CAAC;MACtCE,UAAU,EAAE,CAACE,OAAO,IAAIJ,SAAS,GAAG,CAAC,CAAC;MACtCN;IACF,CAAC;EACH,CAAC;AACH,CAAC;AAED,OAAO,MAAMW,mBAAmB,GAAGA,CAAC;EAClCb,CAAC;EACDC,CAAC;EACDC,KAAK;EACLC,MAAM;EACNC,YAAY;EACZC,aAAa;EACbC,YAAY;EACZC,KAAK;EACLE,UAAU;EACVC;AAYF,CAAC,KAAK;EACJ,SAAS;;EAET,MAAMI,MAAM,GAAGf,gBAAgB,CAAC;IAC9BM,aAAa;IACbD,YAAY;IACZD,MAAM;IACNG,YAAY;IACZC,KAAK,EAAEA,KAAK,CAACQ,GAAG,CAAC,CAAC;IAClBb,KAAK;IACLF,CAAC;IACDC;EACF,CAAC,CAAC;EACF,MAAMe,YAAY,GAAG;IACnBC,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEtB,MAAM,CAACuB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;EAC1C,CAAC;EAEDV,UAAU,CAACW,GAAG,CAACvB,UAAU,CAACiB,MAAM,CAACL,UAAU,EAAEO,YAAY,CAAC,CAAC;EAC3DN,UAAU,CAACU,GAAG,CAACvB,UAAU,CAACiB,MAAM,CAACJ,UAAU,EAAEM,YAAY,CAAC,CAAC;EAE3DT,KAAK,CAACa,GAAG,CAACvB,UAAU,CAACiB,MAAM,CAACP,KAAK,EAAES,YAAY,CAAC,CAAC;AACnD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAsCjB,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,2CAoN/B"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { type SharedValue } from 'react-native-reanimated';
|
|
2
2
|
import type { GestureViewerEventCallback, GestureViewerEventData, GestureViewerEventType, GestureViewerState } from './types';
|
|
3
|
+
type ZoomSharedValuesOptions = {
|
|
4
|
+
scale: SharedValue<number>;
|
|
5
|
+
translateX: SharedValue<number>;
|
|
6
|
+
translateY: SharedValue<number>;
|
|
7
|
+
maxZoomScale: number;
|
|
8
|
+
contentWidth?: SharedValue<number>;
|
|
9
|
+
contentHeight?: SharedValue<number>;
|
|
10
|
+
};
|
|
3
11
|
declare class GestureViewerManager {
|
|
4
12
|
private currentIndex;
|
|
5
13
|
private dataLength;
|
|
6
|
-
private
|
|
14
|
+
private pagingStride;
|
|
15
|
+
private viewportWidth;
|
|
7
16
|
private height;
|
|
8
17
|
private maxZoomScale;
|
|
9
18
|
private enableHorizontalSwipe;
|
|
@@ -13,6 +22,8 @@ declare class GestureViewerManager {
|
|
|
13
22
|
private rotation;
|
|
14
23
|
private translateX;
|
|
15
24
|
private translateY;
|
|
25
|
+
private contentWidth;
|
|
26
|
+
private contentHeight;
|
|
16
27
|
private resetTransformCallback;
|
|
17
28
|
private loopCallback;
|
|
18
29
|
private programmaticScrollVersion;
|
|
@@ -28,13 +39,14 @@ declare class GestureViewerManager {
|
|
|
28
39
|
getState(): GestureViewerState;
|
|
29
40
|
getProgrammaticScrollVersion(): number;
|
|
30
41
|
setEnableLoop(enabled: boolean): void;
|
|
31
|
-
|
|
42
|
+
setPagingStride(pagingStride: number): void;
|
|
43
|
+
setViewportWidth(width: number): void;
|
|
32
44
|
setHeight(height: number): void;
|
|
33
45
|
setListRef(ref: any): void;
|
|
34
46
|
setDataLength(length: number): void;
|
|
35
47
|
setEnableHorizontalSwipe(enabled: boolean): void;
|
|
36
48
|
setCurrentIndex(index: number): void;
|
|
37
|
-
setZoomSharedValues(scale
|
|
49
|
+
setZoomSharedValues({ scale, translateX, translateY, maxZoomScale, contentWidth, contentHeight, }: ZoomSharedValuesOptions): void;
|
|
38
50
|
setResetTransformCallback(callback: (() => void) | null): void;
|
|
39
51
|
notifyStateChange(): void;
|
|
40
52
|
setRotation(rotation: SharedValue<number>): void;
|
|
@@ -50,6 +62,7 @@ declare class GestureViewerManager {
|
|
|
50
62
|
goToNext: () => void;
|
|
51
63
|
cleanUp(): void;
|
|
52
64
|
private updateCurrentIndex;
|
|
65
|
+
private constrainZoomTranslation;
|
|
53
66
|
}
|
|
54
67
|
export default GestureViewerManager;
|
|
55
68
|
//# sourceMappingURL=GestureViewerManager.d.ts.map
|
|
@@ -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,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,
|
|
1
|
+
{"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -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, GestureViewerSingleTapEvent, } from './types';
|
|
4
|
+
export type { GestureViewerController, GestureViewerEventCallback, GestureViewerEventData, GestureViewerEventType, GestureViewerItemDimensions, GestureViewerItemDimensionsResolver, GestureViewerItemKey, GestureViewerItemKeyResolver, GestureViewerProps, GestureViewerRenderItemInfo, 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,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"}
|
|
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,2BAA2B,EAC3B,mCAAmC,EACnC,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { GestureViewerItemDimensions, GestureViewerItemDimensionsResolver, GestureViewerItemKey, GestureViewerItemKeyResolver } from './types';
|
|
2
|
+
type ItemDimensionsRegistryEntry<ItemT> = Readonly<{
|
|
3
|
+
item: ItemT;
|
|
4
|
+
itemKey?: GestureViewerItemKey;
|
|
5
|
+
dimensions: GestureViewerItemDimensions;
|
|
6
|
+
}>;
|
|
7
|
+
export type ItemDimensionsRegistry<ItemT> = Map<number, ItemDimensionsRegistryEntry<ItemT>>;
|
|
8
|
+
export declare const isValidItemDimensions: (dimensions: GestureViewerItemDimensions | null | undefined) => dimensions is GestureViewerItemDimensions;
|
|
9
|
+
export declare const pruneItemDimensionsRegistry: <ItemT>(registry: ItemDimensionsRegistry<ItemT>, dataLength: number) => void;
|
|
10
|
+
export declare const resolveItemDimensions: <ItemT>({ registry, data, index, getItemDimensions, getItemKey, }: {
|
|
11
|
+
registry: ItemDimensionsRegistry<ItemT>;
|
|
12
|
+
data: readonly ItemT[];
|
|
13
|
+
index: number;
|
|
14
|
+
getItemDimensions?: GestureViewerItemDimensionsResolver<ItemT>;
|
|
15
|
+
getItemKey?: GestureViewerItemKeyResolver<ItemT>;
|
|
16
|
+
}) => GestureViewerItemDimensions | undefined;
|
|
17
|
+
export declare const registerItemDimensions: <ItemT>({ registry, data, index, item, dimensions, getItemKey, }: {
|
|
18
|
+
registry: ItemDimensionsRegistry<ItemT>;
|
|
19
|
+
data: readonly ItemT[];
|
|
20
|
+
index: number;
|
|
21
|
+
item: ItemT;
|
|
22
|
+
dimensions: GestureViewerItemDimensions;
|
|
23
|
+
getItemKey?: GestureViewerItemKeyResolver<ItemT>;
|
|
24
|
+
}) => boolean;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=itemDimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemDimensions.d.ts","sourceRoot":"","sources":["../../../src/itemDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,mCAAmC,EACnC,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,KAAK,2BAA2B,CAAC,KAAK,IAAI,QAAQ,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,2BAA2B,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,MAAM,sBAAsB,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5F,eAAO,MAAM,qBAAqB,GAChC,YAAY,2BAA2B,GAAG,IAAI,GAAG,SAAS,KACzD,UAAU,IAAI,2BAShB,CAAC;AA4BF,eAAO,MAAM,2BAA2B,GAAI,KAAK,EAC/C,UAAU,sBAAsB,CAAC,KAAK,CAAC,EACvC,YAAY,MAAM,KACjB,IAMF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,KAAK,EAAE,2DAM1C;IACD,QAAQ,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,mCAAmC,CAAC,KAAK,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,4BAA4B,CAAC,KAAK,CAAC,CAAC;CAClD,KAAG,2BAA2B,GAAG,SA0BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,KAAK,EAAE,0DAO3C;IACD,QAAQ,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,2BAA2B,CAAC;IACxC,UAAU,CAAC,EAAE,4BAA4B,CAAC,KAAK,CAAC,CAAC;CAClD,KAAG,OA0CH,CAAC"}
|
|
@@ -31,6 +31,31 @@ export type GestureViewerSingleTapEvent<ItemT> = {
|
|
|
31
31
|
index: number;
|
|
32
32
|
item: ItemT;
|
|
33
33
|
};
|
|
34
|
+
export type GestureViewerItemDimensions = Readonly<{
|
|
35
|
+
/**
|
|
36
|
+
* Natural/source content width. Must be finite and greater than zero.
|
|
37
|
+
*/
|
|
38
|
+
width: number;
|
|
39
|
+
/**
|
|
40
|
+
* Natural/source content height. Must be finite and greater than zero.
|
|
41
|
+
*/
|
|
42
|
+
height: number;
|
|
43
|
+
}>;
|
|
44
|
+
export type GestureViewerItemDimensionsResolver<ItemT> = (item: ItemT, index: number) => GestureViewerItemDimensions | undefined;
|
|
45
|
+
export type GestureViewerItemKey = string | number;
|
|
46
|
+
export type GestureViewerItemKeyResolver<ItemT> = (item: ItemT, index: number) => GestureViewerItemKey;
|
|
47
|
+
export type GestureViewerRenderItemInfo = {
|
|
48
|
+
/**
|
|
49
|
+
* Whether the rendered item is currently active.
|
|
50
|
+
* @remarks The current item remains active during a page transition. When the transition finishes on another item, that item becomes active.
|
|
51
|
+
*/
|
|
52
|
+
readonly isActive: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Registers natural/source dimensions for the rendered item after they become available.
|
|
55
|
+
* @remarks Call this from an image load/event callback or a passive effect after commit. Do not call it directly while rendering or from descendant layout effects.
|
|
56
|
+
*/
|
|
57
|
+
readonly setItemDimensions: (dimensions: GestureViewerItemDimensions) => void;
|
|
58
|
+
};
|
|
34
59
|
export type GestureViewerDismissDirection = 'down' | 'up' | 'both';
|
|
35
60
|
export interface TriggerAnimationConfig extends WithTimingConfig {
|
|
36
61
|
/**
|
|
@@ -61,6 +86,7 @@ export interface GestureViewerProps<ItemT, LC> {
|
|
|
61
86
|
data: ItemT[];
|
|
62
87
|
/**
|
|
63
88
|
* The index of the item to display in the `GestureViewer` when the component is mounted.
|
|
89
|
+
* @remarks The value is normalized to the current data: non-finite or negative values use `0`, values above the available range use the last index, and empty data uses `0`. Updating this prop repositions a mounted viewer.
|
|
64
90
|
* @defaultValue 0
|
|
65
91
|
*/
|
|
66
92
|
initialIndex?: number;
|
|
@@ -75,8 +101,11 @@ export interface GestureViewerProps<ItemT, LC> {
|
|
|
75
101
|
onDismissStart?: () => void;
|
|
76
102
|
/**
|
|
77
103
|
* A callback function that is called to render the item.
|
|
104
|
+
* @param item - The item to render.
|
|
105
|
+
* @param index - The list index of the rendered item.
|
|
106
|
+
* @param info - Render state for this list cell.
|
|
78
107
|
*/
|
|
79
|
-
renderItem: (item: ItemT, index: number) => React.ReactElement;
|
|
108
|
+
renderItem: (item: ItemT, index: number, info: GestureViewerRenderItemInfo) => React.ReactElement;
|
|
80
109
|
/**
|
|
81
110
|
* A callback function that is called when a single tap is confirmed on the viewer content.
|
|
82
111
|
* @remarks
|
|
@@ -85,6 +114,16 @@ export interface GestureViewerProps<ItemT, LC> {
|
|
|
85
114
|
* - Prefer this callback over overlaying a pressable in `renderContainer` for fullscreen tap handling.
|
|
86
115
|
*/
|
|
87
116
|
onSingleTap?: (event: GestureViewerSingleTapEvent<ItemT>) => void;
|
|
117
|
+
/**
|
|
118
|
+
* Returns natural/source dimensions for an item when they are already known.
|
|
119
|
+
* @remarks Return `undefined` while dimensions are unavailable. Invalid dimensions fall back to the viewer cell size.
|
|
120
|
+
*/
|
|
121
|
+
getItemDimensions?: GestureViewerItemDimensionsResolver<ItemT>;
|
|
122
|
+
/**
|
|
123
|
+
* Returns a stable key used to retain loaded dimensions when equivalent item objects are recreated at the same index.
|
|
124
|
+
* @remarks Keys must be unique within `data` and change when the rendered content's natural dimensions can change. Do not use the index by itself. This is only needed when object items are recreated and dimensions are reported through `setItemDimensions`.
|
|
125
|
+
*/
|
|
126
|
+
getItemKey?: GestureViewerItemKeyResolver<ItemT>;
|
|
88
127
|
/**
|
|
89
128
|
* A callback function that is called to render the container.
|
|
90
129
|
* @remarks Useful for composing additional UI (e.g., close button, toolbars) around the viewer.
|
|
@@ -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,7 @@
|
|
|
1
|
-
import type { GestureViewerProps } from './types';
|
|
1
|
+
import type { GestureViewerItemDimensions, 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, onSingleTap, 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, getItemDimensions, getItemKey, }: UseGestureViewerProps<ItemT, LC>) => {
|
|
4
|
+
activeListIndex: number;
|
|
4
5
|
animatedStyle: import("react-native-reanimated/lib/typescript/hook/commonTypes").AnimatedStyleHandle<{
|
|
5
6
|
opacity: number;
|
|
6
7
|
transform: ({
|
|
@@ -40,6 +41,7 @@ export declare const useGestureViewer: <ItemT, LC>({ data, initialIndex, onDismi
|
|
|
40
41
|
onMomentumScrollEnd: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
|
|
41
42
|
onScroll: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
|
|
42
43
|
onScrollBeginDrag: ((event: import("react-native").NativeSyntheticEvent<import("react-native").NativeScrollEvent>) => void) | undefined;
|
|
44
|
+
setItemDimensions: (listIndex: number, item: ItemT, dimensions: GestureViewerItemDimensions) => void;
|
|
43
45
|
zoomGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").ComposedGesture;
|
|
44
46
|
};
|
|
45
47
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAc5F,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;AAuCF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,8TAsBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAqJnB,MAAM,QAAQ,KAAK,cAAc,2BAA2B;;CAk6B3E,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, syncPendingIndex, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
|
|
2
|
+
export declare function useGestureViewerPaging({ adjustedInitialIndex, 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,gBAAgB,EAChB,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,
|
|
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,oBAAoB,EACpB,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,CAoH3D"}
|