react-native-gesture-image-viewer 2.3.3 → 3.0.0-beta.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 +5 -3
- package/lib/module/GestureViewer.js +88 -140
- package/lib/module/GestureViewer.js.map +1 -1
- package/lib/module/GestureViewerManager.js +49 -105
- package/lib/module/GestureViewerManager.js.map +1 -1
- package/lib/module/gestureViewerAnimation.js +18 -0
- package/lib/module/gestureViewerAnimation.js.map +1 -0
- package/lib/module/gestureViewerPaging.js +66 -0
- package/lib/module/gestureViewerPaging.js.map +1 -0
- package/lib/module/gestureViewerRenderWindow.js +29 -0
- package/lib/module/gestureViewerRenderWindow.js.map +1 -0
- package/lib/module/getWebContentProps.js +6 -0
- package/lib/module/getWebContentProps.js.map +1 -0
- package/lib/module/getWebContentProps.web.js +8 -0
- package/lib/module/getWebContentProps.web.js.map +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/platformTapGestures.js +4 -0
- package/lib/module/platformTapGestures.js.map +1 -0
- package/lib/module/platformTapGestures.web.js +4 -0
- package/lib/module/platformTapGestures.web.js.map +1 -0
- package/lib/module/renderWindow.js +160 -0
- package/lib/module/renderWindow.js.map +1 -0
- package/lib/module/useGestureViewer.js +386 -200
- package/lib/module/useGestureViewer.js.map +1 -1
- package/lib/module/useGestureViewerController.js +3 -3
- package/lib/module/useGestureViewerController.js.map +1 -1
- package/lib/module/useGestureViewerManagerBridge.js +85 -0
- package/lib/module/useGestureViewerManagerBridge.js.map +1 -0
- package/lib/module/useGestureViewerPaging.js +147 -65
- package/lib/module/useGestureViewerPaging.js.map +1 -1
- package/lib/module/useWebClickHandler.js +7 -0
- package/lib/module/useWebClickHandler.js.map +1 -0
- package/lib/module/useWebClickHandler.web.js +85 -0
- package/lib/module/useWebClickHandler.web.js.map +1 -0
- package/lib/module/useWebSingleTapTimer.js +12 -0
- package/lib/module/useWebSingleTapTimer.js.map +1 -0
- package/lib/module/useWebSingleTapTimer.web.js +25 -0
- package/lib/module/useWebSingleTapTimer.web.js.map +1 -0
- package/lib/module/utils/index.js +0 -77
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/tapZoom.js +4 -3
- package/lib/module/utils/tapZoom.js.map +1 -1
- package/lib/typescript/src/GestureViewer.d.ts +1 -1
- package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/GestureViewerManager.d.ts +20 -20
- package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
- package/lib/typescript/src/gestureViewerAnimation.d.ts +15 -0
- package/lib/typescript/src/gestureViewerAnimation.d.ts.map +1 -0
- package/lib/typescript/src/gestureViewerPaging.d.ts +13 -0
- package/lib/typescript/src/gestureViewerPaging.d.ts.map +1 -0
- package/lib/typescript/src/gestureViewerRenderWindow.d.ts +15 -0
- package/lib/typescript/src/gestureViewerRenderWindow.d.ts.map +1 -0
- package/lib/typescript/src/getWebContentProps.d.ts +3 -0
- package/lib/typescript/src/getWebContentProps.d.ts.map +1 -0
- package/lib/typescript/src/getWebContentProps.web.d.ts +5 -0
- package/lib/typescript/src/getWebContentProps.web.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/platformTapGestures.d.ts +2 -0
- package/lib/typescript/src/platformTapGestures.d.ts.map +1 -0
- package/lib/typescript/src/platformTapGestures.web.d.ts +2 -0
- package/lib/typescript/src/platformTapGestures.web.d.ts.map +1 -0
- package/lib/typescript/src/renderWindow.d.ts +44 -0
- package/lib/typescript/src/renderWindow.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +45 -52
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts +9 -8
- package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewerController.d.ts +1 -1
- package/lib/typescript/src/useGestureViewerManagerBridge.d.ts +28 -0
- package/lib/typescript/src/useGestureViewerManagerBridge.d.ts.map +1 -0
- package/lib/typescript/src/useGestureViewerPaging.d.ts +31 -2
- package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
- package/lib/typescript/src/useWebClickHandler.d.ts +35 -0
- package/lib/typescript/src/useWebClickHandler.d.ts.map +1 -0
- package/lib/typescript/src/useWebClickHandler.web.d.ts +36 -0
- package/lib/typescript/src/useWebClickHandler.web.d.ts.map +1 -0
- package/lib/typescript/src/useWebSingleTapTimer.d.ts +6 -0
- package/lib/typescript/src/useWebSingleTapTimer.d.ts.map +1 -0
- package/lib/typescript/src/useWebSingleTapTimer.web.d.ts +6 -0
- package/lib/typescript/src/useWebSingleTapTimer.web.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +0 -20
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/tapZoom.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/GestureViewer.tsx +104 -191
- package/src/GestureViewerManager.ts +77 -122
- package/src/gestureViewerAnimation.ts +18 -0
- package/src/gestureViewerPaging.ts +116 -0
- package/src/gestureViewerRenderWindow.ts +56 -0
- package/src/getWebContentProps.ts +5 -0
- package/src/getWebContentProps.web.ts +5 -0
- package/src/index.tsx +1 -0
- package/src/platformTapGestures.ts +1 -0
- package/src/platformTapGestures.web.ts +1 -0
- package/src/renderWindow.ts +253 -0
- package/src/types.ts +44 -99
- package/src/useGestureViewer.ts +557 -258
- package/src/useGestureViewerController.ts +3 -3
- package/src/useGestureViewerManagerBridge.ts +118 -0
- package/src/useGestureViewerPaging.ts +277 -98
- package/src/useWebClickHandler.ts +44 -0
- package/src/useWebClickHandler.web.ts +146 -0
- package/src/useWebSingleTapTimer.ts +10 -0
- package/src/useWebSingleTapTimer.web.ts +30 -0
- package/src/utils/index.ts +0 -102
- package/src/utils/tapZoom.ts +4 -3
- package/lib/module/WebPagingFixStyle.js +0 -25
- package/lib/module/WebPagingFixStyle.js.map +0 -1
- package/lib/module/scheduleInitialScroll.js +0 -21
- package/lib/module/scheduleInitialScroll.js.map +0 -1
- package/lib/module/useGestureViewerPaging.types.js +0 -4
- package/lib/module/useGestureViewerPaging.types.js.map +0 -1
- package/lib/module/useGestureViewerPaging.web.js +0 -275
- package/lib/module/useGestureViewerPaging.web.js.map +0 -1
- package/lib/module/utils/FlashList.js +0 -9
- package/lib/module/utils/FlashList.js.map +0 -1
- package/lib/module/utils/webScroll.js +0 -70
- package/lib/module/utils/webScroll.js.map +0 -1
- package/lib/typescript/src/WebPagingFixStyle.d.ts +0 -6
- package/lib/typescript/src/WebPagingFixStyle.d.ts.map +0 -1
- package/lib/typescript/src/scheduleInitialScroll.d.ts +0 -3
- package/lib/typescript/src/scheduleInitialScroll.d.ts.map +0 -1
- package/lib/typescript/src/useGestureViewerPaging.types.d.ts +0 -41
- package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +0 -1
- package/lib/typescript/src/useGestureViewerPaging.web.d.ts +0 -3
- package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +0 -1
- package/lib/typescript/src/utils/FlashList.d.ts +0 -2
- package/lib/typescript/src/utils/FlashList.d.ts.map +0 -1
- package/lib/typescript/src/utils/webScroll.d.ts +0 -18
- package/lib/typescript/src/utils/webScroll.d.ts.map +0 -1
- package/src/WebPagingFixStyle.tsx +0 -25
- package/src/scheduleInitialScroll.ts +0 -36
- package/src/useGestureViewerPaging.types.ts +0 -41
- package/src/useGestureViewerPaging.web.ts +0 -434
- package/src/utils/FlashList.ts +0 -7
- package/src/utils/webScroll.ts +0 -96
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Existing libraries often have limited customization options or performance issue
|
|
|
23
23
|
- 🎨 **Full Customization** - Total control over components, styles, and gesture behavior
|
|
24
24
|
- 🎛️ **External Control API** - Trigger actions programmatically from buttons or other UI components
|
|
25
25
|
- 🧩 **Multi-Instance Management** - Manage multiple viewers independently using unique IDs
|
|
26
|
-
- 🧬 **Flexible Integration** - Use with Modal, [React Native Modal](https://www.npmjs.com/package/react-native-modal),
|
|
26
|
+
- 🧬 **Flexible Integration** - Use with Modal, [React Native Modal](https://www.npmjs.com/package/react-native-modal), [Expo Image](https://www.npmjs.com/package/expo-image), [FastImage](https://github.com/DylanVann/react-native-fast-image), videos, and custom content
|
|
27
27
|
- 🧠 **Full TypeScript Support** - Great developer experience with type inference and safety
|
|
28
28
|
- 🌐 **Cross-Platform** - Runs on iOS, Android, and Web with Expo Go and New Architecture compatibility
|
|
29
29
|
- 🪄 **Easy-to-Use API** - Simple and intuitive API that requires minimal setup
|
|
@@ -34,6 +34,8 @@ Existing libraries often have limited customization options or performance issue
|
|
|
34
34
|
|
|
35
35
|
Full documentation is available at: <https://react-native-gesture-image-viewer.pages.dev>
|
|
36
36
|
|
|
37
|
+
> v3 is currently in beta. Install it with `react-native-gesture-image-viewer@beta` and use the [v3 beta docs](https://react-native-gesture-image-viewer.pages.dev/3.x-beta/). The docs root still points to the stable v2 documentation.
|
|
38
|
+
|
|
37
39
|
### Examples & Demo
|
|
38
40
|
|
|
39
41
|
- [📁 Example Project](/example/) - Real implementation code with various use cases
|
|
@@ -50,7 +52,7 @@ Full documentation is available at: <https://react-native-gesture-image-viewer.p
|
|
|
50
52
|
|
|
51
53
|
```tsx
|
|
52
54
|
import { useCallback, useState } from 'react';
|
|
53
|
-
import {
|
|
55
|
+
import { Image, Modal, View, Text, Button, Pressable } from 'react-native';
|
|
54
56
|
import {
|
|
55
57
|
GestureViewer,
|
|
56
58
|
GestureTrigger,
|
|
@@ -95,7 +97,7 @@ function App() {
|
|
|
95
97
|
data={images}
|
|
96
98
|
initialIndex={selectedIndex}
|
|
97
99
|
renderItem={renderImage}
|
|
98
|
-
|
|
100
|
+
pageSpacing={16}
|
|
99
101
|
onDismiss={() => setVisible(false)}
|
|
100
102
|
/>
|
|
101
103
|
<View>
|
|
@@ -1,206 +1,154 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useEffect, useMemo } from 'react';
|
|
4
|
+
import { StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
6
|
-
import Animated from 'react-native-reanimated';
|
|
6
|
+
import Animated, { useAnimatedStyle } from 'react-native-reanimated';
|
|
7
7
|
import { registry } from "./GestureViewerRegistry.js";
|
|
8
|
+
import { getWebContentProps } from './getWebContentProps';
|
|
8
9
|
import { useGestureViewer } from "./useGestureViewer.js";
|
|
9
|
-
import { createLoopData, isFlashListLike, isFlatListLike, isScrollViewLike, shouldUseNativeScrollGesture } from "./utils/index.js";
|
|
10
|
-
import WebPagingFixStyle from "./WebPagingFixStyle.js";
|
|
11
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
function RenderWindowSlotView({
|
|
12
|
+
animatedStyle,
|
|
13
|
+
height,
|
|
14
|
+
isActive,
|
|
15
|
+
pageStride,
|
|
16
|
+
renderItem,
|
|
17
|
+
slot,
|
|
18
|
+
visualPage,
|
|
19
|
+
width
|
|
20
|
+
}) {
|
|
21
|
+
const slotAnimatedStyle = useAnimatedStyle(() => ({
|
|
22
|
+
transform: [{
|
|
23
|
+
translateX: (slot.virtualIndex - visualPage.get()) * pageStride
|
|
24
|
+
}]
|
|
25
|
+
}));
|
|
26
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
27
|
+
style: [styles.slot, {
|
|
28
|
+
height,
|
|
29
|
+
width
|
|
30
|
+
}, slotAnimatedStyle],
|
|
31
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
32
|
+
style: [styles.page, isActive && animatedStyle],
|
|
33
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
34
|
+
style: [styles.item, {
|
|
35
|
+
height,
|
|
36
|
+
width
|
|
37
|
+
}],
|
|
38
|
+
children: renderItem(slot.item, slot.logicalIndex, {
|
|
39
|
+
isActive
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
12
45
|
export function GestureViewer({
|
|
13
46
|
id = 'default',
|
|
14
47
|
data,
|
|
15
|
-
renderItem
|
|
48
|
+
renderItem,
|
|
16
49
|
renderContainer,
|
|
17
|
-
ListComponent,
|
|
18
50
|
width: customWidth,
|
|
19
51
|
height: customHeight,
|
|
20
|
-
listProps,
|
|
21
52
|
backdropStyle: backdropStyleProps,
|
|
22
53
|
containerStyle,
|
|
23
54
|
initialIndex = 0,
|
|
24
|
-
|
|
25
|
-
|
|
55
|
+
pageSpacing = 0,
|
|
56
|
+
windowSize = 3,
|
|
26
57
|
enableLoop = false,
|
|
27
58
|
...props
|
|
28
59
|
}) {
|
|
29
|
-
const Component = ListComponent;
|
|
30
|
-
const dataRef = useRef(data);
|
|
31
60
|
const {
|
|
32
61
|
width: screenWidth,
|
|
33
62
|
height: screenHeight
|
|
34
63
|
} = useWindowDimensions();
|
|
35
64
|
const width = customWidth || screenWidth;
|
|
36
65
|
const height = customHeight || screenHeight;
|
|
37
|
-
const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
|
|
38
|
-
const isScrollView = isScrollViewLike(Component);
|
|
39
66
|
const {
|
|
40
|
-
listRef,
|
|
41
|
-
isZoomed,
|
|
42
|
-
isRotated,
|
|
43
|
-
isPinching,
|
|
44
|
-
dismissGesture,
|
|
45
|
-
zoomGesture,
|
|
46
|
-
nativeScrollGesture,
|
|
47
|
-
onWebClick,
|
|
48
|
-
onMomentumScrollEnd,
|
|
49
|
-
onScroll,
|
|
50
|
-
onScrollBeginDrag,
|
|
51
67
|
animatedStyle,
|
|
52
68
|
backdropStyle,
|
|
53
|
-
|
|
69
|
+
centerVirtualIndex,
|
|
70
|
+
dismissGesture,
|
|
71
|
+
handleDismiss,
|
|
72
|
+
horizontalPagingGesture,
|
|
73
|
+
onWebClick,
|
|
74
|
+
pageStride,
|
|
75
|
+
renderWindowSlots,
|
|
76
|
+
visualPage,
|
|
77
|
+
zoomGesture
|
|
54
78
|
} = useGestureViewer({
|
|
55
79
|
id,
|
|
56
80
|
data,
|
|
57
81
|
width,
|
|
58
82
|
height,
|
|
59
83
|
initialIndex,
|
|
60
|
-
|
|
84
|
+
pageSpacing,
|
|
85
|
+
windowSize,
|
|
61
86
|
enableLoop,
|
|
62
87
|
...props
|
|
63
88
|
});
|
|
64
|
-
const keyExtractor = useCallback((item, index) => {
|
|
65
|
-
if (enableLoop) {
|
|
66
|
-
return typeof item === 'string' ? `${item}-${index}` : `item-${index}`;
|
|
67
|
-
}
|
|
68
|
-
return typeof item === 'string' ? item : `image-${index}`;
|
|
69
|
-
}, [enableLoop]);
|
|
70
|
-
const renderItem = useCallback(({
|
|
71
|
-
item,
|
|
72
|
-
index
|
|
73
|
-
}) => {
|
|
74
|
-
return /*#__PURE__*/_jsx(View, {
|
|
75
|
-
style: [{
|
|
76
|
-
width,
|
|
77
|
-
height,
|
|
78
|
-
marginHorizontal: itemSpacing / 2
|
|
79
|
-
}, styles.item],
|
|
80
|
-
children: renderItemProp(item, index)
|
|
81
|
-
}, isScrollView ? keyExtractor(item, index) : undefined);
|
|
82
|
-
}, [width, itemSpacing, renderItemProp, keyExtractor, isScrollView, height]);
|
|
83
|
-
const getItemLayout = useCallback((_, index) => ({
|
|
84
|
-
length: width + itemSpacing,
|
|
85
|
-
offset: (width + itemSpacing) * index,
|
|
86
|
-
index
|
|
87
|
-
}), [width, itemSpacing]);
|
|
88
89
|
const gesture = useMemo(() => {
|
|
89
|
-
return Gesture.Race(dismissGesture, zoomGesture);
|
|
90
|
-
}, [
|
|
91
|
-
useEffect(() => {
|
|
92
|
-
dataRef.current = data;
|
|
93
|
-
}, [data]);
|
|
90
|
+
return Gesture.Race(dismissGesture, horizontalPagingGesture, zoomGesture);
|
|
91
|
+
}, [dismissGesture, horizontalPagingGesture, zoomGesture]);
|
|
94
92
|
useEffect(() => {
|
|
95
93
|
registry.createManager(id);
|
|
96
94
|
return () => registry.deleteManager(id);
|
|
97
95
|
}, [id]);
|
|
98
|
-
const commonProps = useMemo(() => ({
|
|
99
|
-
horizontal: true,
|
|
100
|
-
scrollEnabled: !isZoomed && !isRotated && !isPinching,
|
|
101
|
-
showsHorizontalScrollIndicator: false,
|
|
102
|
-
onMomentumScrollEnd,
|
|
103
|
-
onScroll,
|
|
104
|
-
onScrollBeginDrag,
|
|
105
|
-
...(enableSnapMode ? {
|
|
106
|
-
snapToInterval: width + itemSpacing,
|
|
107
|
-
snapToAlignment: 'center',
|
|
108
|
-
decelerationRate: 'fast'
|
|
109
|
-
} : {
|
|
110
|
-
pagingEnabled: true
|
|
111
|
-
}),
|
|
112
|
-
scrollEventThrottle: 16,
|
|
113
|
-
removeClippedSubviews: true
|
|
114
|
-
}), [width, itemSpacing, isZoomed, isRotated, isPinching, onMomentumScrollEnd, onScroll, onScrollBeginDrag, enableSnapMode]);
|
|
115
96
|
const control = useMemo(() => ({
|
|
116
97
|
dismiss: handleDismiss
|
|
117
98
|
}), [handleDismiss]);
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
if (!shouldWrapScrollableWithNativeGesture) {
|
|
121
|
-
return children;
|
|
122
|
-
}
|
|
123
|
-
return /*#__PURE__*/_jsx(GestureDetector, {
|
|
124
|
-
gesture: nativeScrollGesture,
|
|
125
|
-
children: children
|
|
126
|
-
});
|
|
127
|
-
}, [nativeScrollGesture, shouldWrapScrollableWithNativeGesture]);
|
|
128
|
-
const listComponent = /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
99
|
+
const webContentProps = getWebContentProps(onWebClick);
|
|
100
|
+
const viewer = /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
129
101
|
children: /*#__PURE__*/_jsx(GestureDetector, {
|
|
130
102
|
gesture: gesture,
|
|
131
103
|
children: /*#__PURE__*/_jsxs(View, {
|
|
132
|
-
style: [{
|
|
133
|
-
|
|
134
|
-
|
|
104
|
+
style: [styles.container, {
|
|
105
|
+
height,
|
|
106
|
+
width
|
|
135
107
|
}, containerStyle],
|
|
136
108
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
137
109
|
style: [styles.background, backdropStyleProps, backdropStyle]
|
|
138
110
|
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
139
|
-
style:
|
|
140
|
-
...
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
}),
|
|
148
|
-
children: isScrollView ? maybeWrapWithNativeScrollGesture(/*#__PURE__*/_jsx(Component, {
|
|
149
|
-
ref: listRef,
|
|
150
|
-
...commonProps,
|
|
151
|
-
...listProps,
|
|
152
|
-
children: loopData.map((item, index) => renderItem({
|
|
153
|
-
item,
|
|
154
|
-
index
|
|
155
|
-
}))
|
|
156
|
-
})) : isFlatListLike(Component) && maybeWrapWithNativeScrollGesture(/*#__PURE__*/_jsx(Component, {
|
|
157
|
-
ref: listRef,
|
|
158
|
-
...commonProps,
|
|
159
|
-
data: loopData,
|
|
111
|
+
style: styles.content,
|
|
112
|
+
...webContentProps,
|
|
113
|
+
children: renderWindowSlots.map(slot => /*#__PURE__*/_jsx(RenderWindowSlotView, {
|
|
114
|
+
animatedStyle: animatedStyle,
|
|
115
|
+
height: height,
|
|
116
|
+
isActive: slot.virtualIndex === centerVirtualIndex,
|
|
117
|
+
pageStride: pageStride,
|
|
160
118
|
renderItem: renderItem,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
{
|
|
166
|
-
estimatedItemSize: width + itemSpacing
|
|
167
|
-
} : {
|
|
168
|
-
windowSize: 3,
|
|
169
|
-
maxToRenderPerBatch: 3,
|
|
170
|
-
getItemLayout
|
|
171
|
-
}),
|
|
172
|
-
...(Platform.OS === 'web' && isFlatListLike(Component) && {
|
|
173
|
-
dataSet: {
|
|
174
|
-
'flat-list-paging-enabled-fix': true
|
|
175
|
-
}
|
|
176
|
-
}),
|
|
177
|
-
...listProps
|
|
178
|
-
}))
|
|
179
|
-
}), /*#__PURE__*/_jsx(WebPagingFixStyle, {
|
|
180
|
-
Component: Component
|
|
119
|
+
slot: slot,
|
|
120
|
+
visualPage: visualPage,
|
|
121
|
+
width: width
|
|
122
|
+
}, slot.slotKey))
|
|
181
123
|
})]
|
|
182
124
|
})
|
|
183
125
|
})
|
|
184
126
|
});
|
|
185
|
-
return renderContainer ? renderContainer(
|
|
127
|
+
return renderContainer ? renderContainer(viewer, control) : viewer;
|
|
186
128
|
}
|
|
187
129
|
const styles = StyleSheet.create({
|
|
130
|
+
background: {
|
|
131
|
+
...StyleSheet.absoluteFill,
|
|
132
|
+
backgroundColor: '#000'
|
|
133
|
+
},
|
|
134
|
+
container: {
|
|
135
|
+
overflow: 'hidden'
|
|
136
|
+
},
|
|
188
137
|
content: {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
height: '100%'
|
|
138
|
+
...StyleSheet.absoluteFill,
|
|
139
|
+
overflow: 'hidden'
|
|
192
140
|
},
|
|
193
141
|
item: {
|
|
194
|
-
|
|
195
|
-
|
|
142
|
+
alignItems: 'center',
|
|
143
|
+
justifyContent: 'center'
|
|
196
144
|
},
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
145
|
+
page: {
|
|
146
|
+
flex: 1
|
|
147
|
+
},
|
|
148
|
+
slot: {
|
|
200
149
|
left: 0,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
backgroundColor: 'black'
|
|
150
|
+
position: 'absolute',
|
|
151
|
+
top: 0
|
|
204
152
|
}
|
|
205
153
|
});
|
|
206
154
|
//# sourceMappingURL=GestureViewer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","useAnimatedStyle","registry","getWebContentProps","useGestureViewer","jsx","_jsx","jsxs","_jsxs","RenderWindowSlotView","animatedStyle","height","isActive","pageStride","renderItem","slot","visualPage","width","slotAnimatedStyle","transform","translateX","virtualIndex","get","style","styles","children","page","item","logicalIndex","GestureViewer","id","data","renderContainer","customWidth","customHeight","backdropStyle","backdropStyleProps","containerStyle","initialIndex","pageSpacing","windowSize","enableLoop","props","screenWidth","screenHeight","centerVirtualIndex","dismissGesture","handleDismiss","horizontalPagingGesture","onWebClick","renderWindowSlots","zoomGesture","gesture","Race","createManager","deleteManager","control","dismiss","webContentProps","viewer","container","background","content","map","slotKey","create","absoluteFill","backgroundColor","overflow","alignItems","justifyContent","flex","left","position","top"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { withTiming } from 'react-native-reanimated';
|
|
4
|
-
import { createBoundsConstraint
|
|
4
|
+
import { createBoundsConstraint } from "./utils/index.js";
|
|
5
|
+
const DEFAULT_STATE_READER = () => ({
|
|
6
|
+
currentIndex: 0,
|
|
7
|
+
totalCount: 0
|
|
8
|
+
});
|
|
5
9
|
class GestureViewerManager {
|
|
6
|
-
currentIndex = 0;
|
|
7
|
-
dataLength = 0;
|
|
8
10
|
width = 0;
|
|
9
11
|
height = 0;
|
|
10
12
|
maxZoomScale = 2;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
listRef = null;
|
|
13
|
+
navigationAdapter = null;
|
|
14
|
+
stateReader = DEFAULT_STATE_READER;
|
|
14
15
|
scale = null;
|
|
15
16
|
rotation = null;
|
|
16
17
|
translateX = null;
|
|
17
18
|
translateY = null;
|
|
18
|
-
resetTransformCallback = null;
|
|
19
|
-
loopCallback = null;
|
|
20
|
-
programmaticScrollVersion = 0;
|
|
21
19
|
listeners = new Set();
|
|
22
20
|
eventListeners = new Map();
|
|
21
|
+
eventListenerPresenceSubscribers = new Set();
|
|
23
22
|
notifyListeners() {
|
|
24
23
|
const state = this.getState();
|
|
25
24
|
this.listeners.forEach(listener => listener(state));
|
|
@@ -35,6 +34,7 @@ class GestureViewerManager {
|
|
|
35
34
|
this.eventListeners.set(eventType, new Set());
|
|
36
35
|
}
|
|
37
36
|
this.eventListeners.get(eventType)?.add(callback);
|
|
37
|
+
this.notifyEventListenerPresence(eventType);
|
|
38
38
|
return () => {
|
|
39
39
|
const listeners = this.eventListeners.get(eventType);
|
|
40
40
|
if (listeners) {
|
|
@@ -43,8 +43,29 @@ class GestureViewerManager {
|
|
|
43
43
|
this.eventListeners.delete(eventType);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
this.notifyEventListenerPresence(eventType);
|
|
46
47
|
};
|
|
47
48
|
}
|
|
49
|
+
subscribeToEventListenerPresence(callback) {
|
|
50
|
+
this.eventListenerPresenceSubscribers.add(callback);
|
|
51
|
+
this.notifyEventListenerPresenceSubscriber(callback, 'zoomChange');
|
|
52
|
+
this.notifyEventListenerPresenceSubscriber(callback, 'rotationChange');
|
|
53
|
+
this.notifyEventListenerPresenceSubscriber(callback, 'tap');
|
|
54
|
+
return () => {
|
|
55
|
+
this.eventListenerPresenceSubscribers.delete(callback);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
hasEventListeners(eventType) {
|
|
59
|
+
return (this.eventListeners.get(eventType)?.size ?? 0) > 0;
|
|
60
|
+
}
|
|
61
|
+
notifyEventListenerPresence(eventType) {
|
|
62
|
+
this.eventListenerPresenceSubscribers.forEach(callback => {
|
|
63
|
+
this.notifyEventListenerPresenceSubscriber(callback, eventType);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
notifyEventListenerPresenceSubscriber(callback, eventType) {
|
|
67
|
+
callback(eventType, this.hasEventListeners(eventType));
|
|
68
|
+
}
|
|
48
69
|
emitEvent(eventType, data) {
|
|
49
70
|
const listeners = this.eventListeners.get(eventType);
|
|
50
71
|
if (listeners) {
|
|
@@ -67,16 +88,7 @@ class GestureViewerManager {
|
|
|
67
88
|
this.emitEvent('tap', data);
|
|
68
89
|
};
|
|
69
90
|
getState() {
|
|
70
|
-
return
|
|
71
|
-
currentIndex: this.currentIndex,
|
|
72
|
-
totalCount: this.dataLength
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
getProgrammaticScrollVersion() {
|
|
76
|
-
return this.programmaticScrollVersion;
|
|
77
|
-
}
|
|
78
|
-
setEnableLoop(enabled) {
|
|
79
|
-
this.enableLoop = enabled;
|
|
91
|
+
return this.stateReader();
|
|
80
92
|
}
|
|
81
93
|
setWidth(width) {
|
|
82
94
|
this.width = width;
|
|
@@ -84,19 +96,11 @@ class GestureViewerManager {
|
|
|
84
96
|
setHeight(height) {
|
|
85
97
|
this.height = height;
|
|
86
98
|
}
|
|
87
|
-
|
|
88
|
-
this.
|
|
89
|
-
}
|
|
90
|
-
setDataLength(length) {
|
|
91
|
-
this.dataLength = length;
|
|
92
|
-
}
|
|
93
|
-
setEnableHorizontalSwipe(enabled) {
|
|
94
|
-
this.enableHorizontalSwipe = enabled;
|
|
99
|
+
setNavigationAdapter(adapter) {
|
|
100
|
+
this.navigationAdapter = adapter;
|
|
95
101
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.currentIndex = index;
|
|
99
|
-
}
|
|
102
|
+
setStateReader(reader) {
|
|
103
|
+
this.stateReader = reader ?? DEFAULT_STATE_READER;
|
|
100
104
|
}
|
|
101
105
|
setZoomSharedValues(scale, translateX, translateY, maxZoomScale) {
|
|
102
106
|
this.scale = scale;
|
|
@@ -104,9 +108,6 @@ class GestureViewerManager {
|
|
|
104
108
|
this.translateY = translateY;
|
|
105
109
|
this.maxZoomScale = maxZoomScale;
|
|
106
110
|
}
|
|
107
|
-
setResetTransformCallback(callback) {
|
|
108
|
-
this.resetTransformCallback = callback;
|
|
109
|
-
}
|
|
110
111
|
notifyStateChange() {
|
|
111
112
|
this.notifyListeners();
|
|
112
113
|
}
|
|
@@ -184,93 +185,36 @@ class GestureViewerManager {
|
|
|
184
185
|
this.translateX.set(withTiming(0));
|
|
185
186
|
this.translateY.set(withTiming(0));
|
|
186
187
|
};
|
|
187
|
-
goToIndex = index => {
|
|
188
|
-
if (!this.
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
this.cancelPendingLoopTransition();
|
|
192
|
-
const {
|
|
193
|
-
scrollTo
|
|
194
|
-
} = createScrollAction(this.listRef, this.width);
|
|
195
|
-
if (this.enableLoop && this.dataLength > 1) {
|
|
196
|
-
if (index < 0) {
|
|
197
|
-
this.loopCallback = () => {
|
|
198
|
-
scrollTo(this.dataLength, false);
|
|
199
|
-
this.updateCurrentIndex(this.dataLength - 1);
|
|
200
|
-
this.cancelPendingLoopTransition();
|
|
201
|
-
};
|
|
202
|
-
this.resetTransformCallback?.();
|
|
203
|
-
this.programmaticScrollVersion += 1;
|
|
204
|
-
scrollTo(0, true);
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
if (index >= this.dataLength) {
|
|
208
|
-
this.loopCallback = () => {
|
|
209
|
-
scrollTo(1, false);
|
|
210
|
-
this.updateCurrentIndex(0);
|
|
211
|
-
this.cancelPendingLoopTransition();
|
|
212
|
-
};
|
|
213
|
-
this.resetTransformCallback?.();
|
|
214
|
-
this.programmaticScrollVersion += 1;
|
|
215
|
-
scrollTo(this.dataLength + 1, true);
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
this.resetTransformCallback?.();
|
|
219
|
-
this.programmaticScrollVersion += 1;
|
|
220
|
-
scrollTo(index + 1, true);
|
|
221
|
-
this.updateCurrentIndex(index);
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
if (index < 0 || index >= this.dataLength) {
|
|
188
|
+
goToIndex = (index, options) => {
|
|
189
|
+
if (!this.navigationAdapter) {
|
|
225
190
|
return;
|
|
226
191
|
}
|
|
227
|
-
this.
|
|
228
|
-
this.programmaticScrollVersion += 1;
|
|
229
|
-
scrollTo(index, true);
|
|
230
|
-
this.updateCurrentIndex(index);
|
|
231
|
-
};
|
|
232
|
-
handleMomentumScrollEnd = scrollIndex => {
|
|
233
|
-
if (!this.loopCallback) {
|
|
234
|
-
return false;
|
|
235
|
-
}
|
|
236
|
-
if (scrollIndex === 0 || scrollIndex === this.dataLength + 1) {
|
|
237
|
-
this.loopCallback();
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
this.cancelPendingLoopTransition();
|
|
241
|
-
return true;
|
|
242
|
-
};
|
|
243
|
-
cancelPendingLoopTransition = () => {
|
|
244
|
-
this.loopCallback = null;
|
|
245
|
-
};
|
|
246
|
-
handleScrollBeginDrag = () => {
|
|
247
|
-
this.cancelPendingLoopTransition();
|
|
192
|
+
this.navigationAdapter.goToIndex(index, options);
|
|
248
193
|
};
|
|
249
194
|
goToPrevious = () => {
|
|
250
|
-
|
|
195
|
+
if (!this.navigationAdapter) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
this.navigationAdapter.goToPrevious();
|
|
251
199
|
};
|
|
252
200
|
goToNext = () => {
|
|
253
|
-
|
|
201
|
+
if (!this.navigationAdapter) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
this.navigationAdapter.goToNext();
|
|
254
205
|
};
|
|
255
206
|
cleanUp() {
|
|
256
|
-
this.cancelPendingLoopTransition();
|
|
257
207
|
this.listeners.clear();
|
|
258
|
-
this.
|
|
259
|
-
this.
|
|
260
|
-
this.currentIndex = 0;
|
|
261
|
-
this.dataLength = 0;
|
|
208
|
+
this.navigationAdapter = null;
|
|
209
|
+
this.stateReader = DEFAULT_STATE_READER;
|
|
262
210
|
this.maxZoomScale = 2;
|
|
263
211
|
this.scale = null;
|
|
264
212
|
this.translateX = null;
|
|
265
213
|
this.translateY = null;
|
|
266
214
|
this.rotation = null;
|
|
267
|
-
this.resetTransformCallback = null;
|
|
268
215
|
this.eventListeners.clear();
|
|
216
|
+
this.eventListenerPresenceSubscribers.clear();
|
|
269
217
|
}
|
|
270
|
-
updateCurrentIndex = targetIndex => {
|
|
271
|
-
this.currentIndex = targetIndex;
|
|
272
|
-
this.notifyListeners();
|
|
273
|
-
};
|
|
274
218
|
}
|
|
275
219
|
export default GestureViewerManager;
|
|
276
220
|
//# sourceMappingURL=GestureViewerManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","enableHorizontalSwipe","enableLoop","listRef","scale","rotation","translateX","translateY","resetTransformCallback","loopCallback","programmaticScrollVersion","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","emitTap","totalCount","getProgrammaticScrollVersion","setEnableLoop","enabled","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableHorizontalSwipe","setCurrentIndex","index","setZoomSharedValues","setResetTransformCallback","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","currentRotation","undefined","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","cancelPendingLoopTransition","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["withTiming","createBoundsConstraint","DEFAULT_STATE_READER","currentIndex","totalCount","GestureViewerManager","width","height","maxZoomScale","navigationAdapter","stateReader","scale","rotation","translateX","translateY","listeners","Set","eventListeners","Map","eventListenerPresenceSubscribers","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","notifyEventListenerPresence","size","subscribeToEventListenerPresence","notifyEventListenerPresenceSubscriber","hasEventListeners","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","emitTap","setWidth","setHeight","setNavigationAdapter","adapter","setStateReader","reader","setZoomSharedValues","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","currentRotation","undefined","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","index","options","goToPrevious","goToNext","cleanUp","clear"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
|