@one-am/react-native-simple-image-slider 0.14.0 → 0.16.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 +15 -9
- package/lib/commonjs/@types/common.js.map +1 -1
- package/lib/commonjs/@types/icons.js.map +1 -1
- package/lib/commonjs/@types/pinch-to-zoom.js +0 -4
- package/lib/commonjs/@types/pinch-to-zoom.js.map +1 -1
- package/lib/commonjs/@types/slider.js.map +1 -1
- package/lib/commonjs/AbsoluteComponentContainer.js +34 -0
- package/lib/commonjs/AbsoluteComponentContainer.js.map +1 -0
- package/lib/commonjs/BaseSimpleImageSlider.js +129 -157
- package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -1
- package/lib/commonjs/FullScreenImageSlider.js +46 -51
- package/lib/commonjs/FullScreenImageSlider.js.map +1 -1
- package/lib/commonjs/PageCounter.js +30 -23
- package/lib/commonjs/PageCounter.js.map +1 -1
- package/lib/commonjs/PinchToZoom.js +16 -13
- package/lib/commonjs/PinchToZoom.js.map +1 -1
- package/lib/commonjs/SimpleImageSlider.js +31 -25
- package/lib/commonjs/SimpleImageSlider.js.map +1 -1
- package/lib/commonjs/SimpleImageSliderThemeProvider.js +26 -20
- package/lib/commonjs/SimpleImageSliderThemeProvider.js.map +1 -1
- package/lib/commonjs/icons/IconX.js +16 -14
- package/lib/commonjs/icons/IconX.js.map +1 -1
- package/lib/commonjs/index.js +10 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/clamp.js.map +1 -1
- package/lib/commonjs/utils/renderProp.js +3 -2
- package/lib/commonjs/utils/renderProp.js.map +1 -1
- package/lib/module/@types/common.js +1 -1
- package/lib/module/@types/common.js.map +1 -1
- package/lib/module/@types/icons.js +2 -0
- package/lib/module/@types/icons.js.map +1 -1
- package/lib/module/@types/pinch-to-zoom.js +1 -1
- package/lib/module/@types/pinch-to-zoom.js.map +1 -1
- package/lib/module/@types/slider.js +2 -0
- package/lib/module/@types/slider.js.map +1 -1
- package/lib/module/AbsoluteComponentContainer.js +28 -0
- package/lib/module/AbsoluteComponentContainer.js.map +1 -0
- package/lib/module/BaseSimpleImageSlider.js +130 -156
- package/lib/module/BaseSimpleImageSlider.js.map +1 -1
- package/lib/module/FullScreenImageSlider.js +47 -50
- package/lib/module/FullScreenImageSlider.js.map +1 -1
- package/lib/module/PageCounter.js +31 -23
- package/lib/module/PageCounter.js.map +1 -1
- package/lib/module/PinchToZoom.js +17 -12
- package/lib/module/PinchToZoom.js.map +1 -1
- package/lib/module/SimpleImageSlider.js +31 -23
- package/lib/module/SimpleImageSlider.js.map +1 -1
- package/lib/module/SimpleImageSliderThemeProvider.js +27 -20
- package/lib/module/SimpleImageSliderThemeProvider.js.map +1 -1
- package/lib/module/icons/IconX.js +16 -12
- package/lib/module/icons/IconX.js.map +1 -1
- package/lib/module/index.js +4 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/utils/clamp.js +2 -0
- package/lib/module/utils/clamp.js.map +1 -1
- package/lib/module/utils/renderProp.js +4 -1
- package/lib/module/utils/renderProp.js.map +1 -1
- package/lib/typescript/src/@types/pinch-to-zoom.d.ts +3 -4
- package/lib/typescript/src/@types/pinch-to-zoom.d.ts.map +1 -1
- package/lib/typescript/src/AbsoluteComponentContainer.d.ts +7 -0
- package/lib/typescript/src/AbsoluteComponentContainer.d.ts.map +1 -0
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts +1 -1
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -1
- package/lib/typescript/src/FullScreenImageSlider.d.ts +4 -4
- package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -1
- package/lib/typescript/src/PageCounter.d.ts.map +1 -1
- package/lib/typescript/src/PinchToZoom.d.ts.map +1 -1
- package/lib/typescript/src/SimpleImageSlider.d.ts +15 -3
- package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -1
- package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts +10 -2
- package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +161 -161
- package/src/@types/pinch-to-zoom.ts +3 -5
- package/src/AbsoluteComponentContainer.tsx +30 -0
- package/src/BaseSimpleImageSlider.tsx +119 -150
- package/src/FullScreenImageSlider.tsx +40 -38
- package/src/PageCounter.tsx +35 -17
- package/src/PinchToZoom.tsx +10 -9
- package/src/SimpleImageSlider.tsx +10 -0
- package/src/SimpleImageSliderThemeProvider.tsx +32 -13
- package/src/index.tsx +7 -2
- package/lib/commonjs/@types/styled.d.js +0 -4
- package/lib/commonjs/@types/styled.d.js.map +0 -1
- package/lib/module/@types/styled.d.js +0 -2
- package/lib/module/@types/styled.d.js.map +0 -1
- package/src/@types/styled.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","FlashList","mergeRefs","Image","Pressable","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","FlashList","mergeRefs","Image","Platform","Pressable","StyleSheet","PageCounter","PinchToZoom","GestureHandlerRootView","ScrollView","renderProp","Animated","AbsoluteComponentContainer","jsx","_jsx","jsxs","_jsxs","AnimatedImage","createAnimatedComponent","BaseSimpleImageSlider","data","style","imageWidth","imageHeight","imageAspectRatio","onItemPress","maxItems","showPageCounter","pageCounterPosition","pageCounterStyle","pageCounterTextStyle","PageCounterComponent","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomStatusChange","onPinchToZoomRequestClose","sharedTransitionTag","imageStyle","ref","undefined","Error","listRef","styles","makeStyles","slicedData","slice","estimatedItemSize","currentItem","setCurrentItem","scrollEnabled","setScrollEnabled","snapToInterval","setSnapToInterval","handleScaleChange","handleScaleReset","handleViewableItemsChanged","viewableItems","newIndex","index","handlePinchToZoomStatusChange","status","current","recordInteraction","renderItem","item","ImageComponent","onPress","children","transition","placeholder","placeholderContentFit","recyclingKey","key","source","contentFit","contentPosition","image","keyExtractor","handleListLayout","event","OS","nativeEvent","layout","width","scrollToIndex","animated","list","renderScrollComponent","disableScrollViewPanResponder","initialScrollIndex","onViewableItemsChanged","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedListSize","height","onLayout","container","pinchToZoom","onDismiss","onStatusChange","onScaleChange","onScaleReset","maximumZoomScale","minimumZoomScale","length","position","totalPages","currentPage","textStyle","create","aspectRatio","zIndex"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,32 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import React, { forwardRef, useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
|
-
import { Modal, StyleSheet, useWindowDimensions } from 'react-native';
|
|
4
|
+
import { Modal, StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';
|
|
4
5
|
import IconX from './icons/IconX';
|
|
5
6
|
import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
6
7
|
import { setStatusBarStyle } from 'expo-status-bar';
|
|
7
|
-
import styled, { useTheme } from 'styled-components/native';
|
|
8
8
|
import BaseListImageSlider from './BaseSimpleImageSlider';
|
|
9
9
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
10
10
|
import renderProp from './utils/renderProp';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
border-top-width: 1px;
|
|
14
|
-
border-top-color: ${({
|
|
15
|
-
theme
|
|
16
|
-
}) => theme.colors.simpleImageSlider.descriptionContainerBorder};
|
|
17
|
-
width: 100%;
|
|
18
|
-
padding-top: 20px;
|
|
19
|
-
`;
|
|
20
|
-
const StyledModalCloseButton = styled.TouchableOpacity`
|
|
21
|
-
position: absolute;
|
|
22
|
-
z-index: 1000;
|
|
23
|
-
`;
|
|
24
|
-
const StyledModalContentContainer = styled(Animated.View)`
|
|
25
|
-
align-items: center;
|
|
26
|
-
justify-content: center;
|
|
27
|
-
gap: 16px;
|
|
28
|
-
`;
|
|
29
|
-
|
|
11
|
+
import { useSimpleImageSliderTheme } from './SimpleImageSliderThemeProvider';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
30
13
|
/**
|
|
31
14
|
* @description A full screen image slider that displays images in a modal.
|
|
32
15
|
*/
|
|
@@ -41,13 +24,13 @@ const FullScreenImageSlider = /*#__PURE__*/forwardRef(function FullScreenImageSl
|
|
|
41
24
|
...props
|
|
42
25
|
}, ref) {
|
|
43
26
|
const windowDimensions = useWindowDimensions();
|
|
44
|
-
const theme =
|
|
27
|
+
const theme = useSimpleImageSliderTheme();
|
|
45
28
|
const safeAreaInsets = useSafeAreaInsets();
|
|
46
|
-
const styles = useMemo(() => makeStyles(safeAreaInsets, windowDimensions), [safeAreaInsets, windowDimensions]);
|
|
29
|
+
const styles = useMemo(() => makeStyles(safeAreaInsets, windowDimensions, theme), [safeAreaInsets, windowDimensions, theme]);
|
|
47
30
|
const [internalIndex, setInternalIndex] = useState(0);
|
|
48
31
|
const internalOnViewableItemChange = useCallback(index => {
|
|
49
32
|
setInternalIndex(index);
|
|
50
|
-
onViewableItemChange
|
|
33
|
+
onViewableItemChange?.(index);
|
|
51
34
|
}, [onViewableItemChange]);
|
|
52
35
|
useEffect(() => {
|
|
53
36
|
if (open) {
|
|
@@ -66,8 +49,8 @@ const FullScreenImageSlider = /*#__PURE__*/forwardRef(function FullScreenImageSl
|
|
|
66
49
|
translation,
|
|
67
50
|
scale
|
|
68
51
|
}) => {
|
|
69
|
-
if (scale
|
|
70
|
-
if (translation.x
|
|
52
|
+
if (scale <= 1) {
|
|
53
|
+
if (translation.x === 0 && translation.y === 0) {
|
|
71
54
|
runOnJS(setStatusBarStyle)('light');
|
|
72
55
|
backgroundOpacity.value = withTiming(1);
|
|
73
56
|
} else {
|
|
@@ -81,44 +64,58 @@ const FullScreenImageSlider = /*#__PURE__*/forwardRef(function FullScreenImageSl
|
|
|
81
64
|
backgroundOpacity.value = 1;
|
|
82
65
|
}
|
|
83
66
|
}, [backgroundOpacity, onFadeOut]);
|
|
84
|
-
return /*#__PURE__*/
|
|
67
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
85
68
|
animationType: "fade",
|
|
86
69
|
onRequestClose: onRequestClose,
|
|
87
70
|
transparent: true,
|
|
88
|
-
visible: open
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
71
|
+
visible: open,
|
|
72
|
+
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
73
|
+
style: [styles.modalContent, modalContentStyle],
|
|
74
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
75
|
+
style: styles.closeButton,
|
|
76
|
+
onPress: onRequestClose,
|
|
77
|
+
children: CloseButtonIcon ? renderProp(CloseButtonIcon) : /*#__PURE__*/_jsx(IconX, {
|
|
78
|
+
color: theme.colors.fullScreenCloseButton
|
|
79
|
+
})
|
|
80
|
+
}), /*#__PURE__*/_jsx(BaseListImageSlider, {
|
|
81
|
+
data: data,
|
|
82
|
+
enablePinchToZoom: true,
|
|
83
|
+
onPinchToZoomStatusChange: onPinchToZoomStatusChange,
|
|
84
|
+
onPinchToZoomRequestClose: onRequestClose,
|
|
85
|
+
showPageCounter: false,
|
|
86
|
+
...props,
|
|
87
|
+
onViewableItemChange: internalOnViewableItemChange,
|
|
88
|
+
imageWidth: windowDimensions.width,
|
|
89
|
+
ref: ref
|
|
90
|
+
}), renderDescription && data[internalIndex] ? /*#__PURE__*/_jsx(View, {
|
|
91
|
+
style: styles.descriptionContainer,
|
|
92
|
+
children: renderDescription(data[internalIndex], internalIndex)
|
|
93
|
+
}) : null]
|
|
94
|
+
})
|
|
95
|
+
});
|
|
109
96
|
});
|
|
110
97
|
export default FullScreenImageSlider;
|
|
111
|
-
const makeStyles = (safeAreaInsets, windowDimensions) => {
|
|
98
|
+
const makeStyles = (safeAreaInsets, windowDimensions, theme) => {
|
|
112
99
|
return StyleSheet.create({
|
|
113
100
|
closeButton: {
|
|
101
|
+
position: 'absolute',
|
|
102
|
+
zIndex: 1000,
|
|
114
103
|
top: safeAreaInsets.top,
|
|
115
104
|
right: safeAreaInsets.right + 20
|
|
116
105
|
},
|
|
117
106
|
modalContent: {
|
|
107
|
+
alignItems: 'center',
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
gap: 16,
|
|
118
110
|
height: windowDimensions.height,
|
|
119
111
|
width: windowDimensions.width
|
|
120
112
|
},
|
|
121
113
|
descriptionContainer: {
|
|
114
|
+
position: 'absolute',
|
|
115
|
+
borderTopWidth: 1,
|
|
116
|
+
borderTopColor: theme.colors.descriptionContainerBorder,
|
|
117
|
+
width: '100%',
|
|
118
|
+
paddingTop: 20,
|
|
122
119
|
bottom: safeAreaInsets.bottom + 100,
|
|
123
120
|
paddingLeft: safeAreaInsets.left + 20,
|
|
124
121
|
paddingRight: safeAreaInsets.right + 20
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useState","Modal","StyleSheet","useWindowDimensions","IconX","Animated","runOnJS","useAnimatedStyle","useSharedValue","withTiming","setStatusBarStyle","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useState","Modal","StyleSheet","TouchableOpacity","useWindowDimensions","View","IconX","Animated","runOnJS","useAnimatedStyle","useSharedValue","withTiming","setStatusBarStyle","BaseListImageSlider","useSafeAreaInsets","renderProp","useSimpleImageSliderTheme","jsx","_jsx","jsxs","_jsxs","FullScreenImageSlider","CloseButtonIcon","open","onRequestClose","renderDescription","onViewableItemChange","onFadeOut","data","props","ref","windowDimensions","theme","safeAreaInsets","styles","makeStyles","internalIndex","setInternalIndex","internalOnViewableItemChange","index","backgroundOpacity","modalContentStyle","backgroundColor","value","onPinchToZoomStatusChange","translation","scale","x","y","animationType","transparent","visible","children","style","modalContent","closeButton","onPress","color","colors","fullScreenCloseButton","enablePinchToZoom","onPinchToZoomRequestClose","showPageCounter","imageWidth","width","descriptionContainer","create","position","zIndex","top","right","alignItems","justifyContent","gap","height","borderTopWidth","borderTopColor","descriptionContainerBorder","paddingTop","bottom","paddingLeft","left","paddingRight"],"sourceRoot":"../../src","sources":["FullScreenImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}) => theme.colors.simpleImageSlider.pageCounterBackground};
|
|
8
|
-
border-width: 1px;
|
|
9
|
-
border-color: ${({
|
|
10
|
-
theme
|
|
11
|
-
}) => theme.colors.simpleImageSlider.pageCounterBorder};
|
|
12
|
-
border-radius: 8px;
|
|
13
|
-
padding: 6px 5px;
|
|
14
|
-
width: 75px;
|
|
15
|
-
flex-direction: row;
|
|
16
|
-
align-items: center;
|
|
17
|
-
justify-content: center;
|
|
18
|
-
`;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import { useSimpleImageSliderTheme } from './SimpleImageSliderThemeProvider';
|
|
6
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
19
7
|
export default function PageCounter({
|
|
20
8
|
currentPage,
|
|
21
9
|
totalPages,
|
|
22
10
|
style,
|
|
23
11
|
textStyle
|
|
24
12
|
}) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
style:
|
|
29
|
-
|
|
13
|
+
const theme = useSimpleImageSliderTheme();
|
|
14
|
+
const styles = useMemo(() => makeStyles(theme), [theme]);
|
|
15
|
+
return /*#__PURE__*/_jsx(View, {
|
|
16
|
+
style: [styles.container, style],
|
|
17
|
+
children: /*#__PURE__*/_jsxs(Text, {
|
|
18
|
+
style: textStyle,
|
|
19
|
+
children: [currentPage, " / ", totalPages]
|
|
20
|
+
})
|
|
21
|
+
});
|
|
30
22
|
}
|
|
23
|
+
const makeStyles = theme => {
|
|
24
|
+
return StyleSheet.create({
|
|
25
|
+
container: {
|
|
26
|
+
backgroundColor: theme.colors.pageCounterBackground,
|
|
27
|
+
borderWidth: 1,
|
|
28
|
+
borderColor: theme.colors.pageCounterBorder,
|
|
29
|
+
borderRadius: 8,
|
|
30
|
+
paddingVertical: 6,
|
|
31
|
+
paddingHorizontal: 5,
|
|
32
|
+
width: 75,
|
|
33
|
+
flexDirection: 'row',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
justifyContent: 'center'
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
31
39
|
//# sourceMappingURL=PageCounter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useMemo","StyleSheet","Text","View","useSimpleImageSliderTheme","jsxs","_jsxs","jsx","_jsx","PageCounter","currentPage","totalPages","style","textStyle","theme","styles","makeStyles","container","children","create","backgroundColor","colors","pageCounterBackground","borderWidth","borderColor","pageCounterBorder","borderRadius","paddingVertical","paddingHorizontal","width","flexDirection","alignItems","justifyContent"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAEIC,UAAU,EACVC,IAAI,EAEJC,IAAI,QAED,cAAc;AACrB,SAEIC,yBAAyB,QACtB,kCAAkC;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAqB1C,eAAe,SAASC,WAAWA,CAAC;EAChCC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,MAAMC,KAAK,GAAGV,yBAAyB,CAAC,CAAC;EACzC,MAAMW,MAAM,GAAGf,OAAO,CAAC,MAAMgB,UAAU,CAACF,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAExD,oBACIN,IAAA,CAACL,IAAI;IAACS,KAAK,EAAE,CAACG,MAAM,CAACE,SAAS,EAAEL,KAAK,CAAE;IAAAM,QAAA,eACnCZ,KAAA,CAACJ,IAAI;MAACU,KAAK,EAAEC,SAAU;MAAAK,QAAA,GAClBR,WAAW,EAAC,KAAG,EAACC,UAAU;IAAA,CACzB;EAAC,CACL,CAAC;AAEf;AAEA,MAAMK,UAAU,GAAIF,KAA6B,IAAK;EAClD,OAAOb,UAAU,CAACkB,MAAM,CAAC;IACrBF,SAAS,EAAE;MACPG,eAAe,EAAEN,KAAK,CAACO,MAAM,CAACC,qBAAqB;MACnDC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEV,KAAK,CAACO,MAAM,CAACI,iBAAiB;MAC3CC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,KAAK,EAAE,EAAE;MACTC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IACpB;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import React, { useCallback, useMemo } from 'react';
|
|
2
4
|
import { useWindowDimensions } from 'react-native';
|
|
3
5
|
import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
4
6
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
5
7
|
import { clamp } from './utils/clamp';
|
|
6
8
|
import * as Haptics from 'expo-haptics';
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
10
|
export default function PinchToZoom({
|
|
8
11
|
minimumZoomScale = 1,
|
|
9
12
|
maximumZoomScale = 8,
|
|
@@ -75,7 +78,7 @@ export default function PinchToZoom({
|
|
|
75
78
|
prevScale.value = 0;
|
|
76
79
|
prevTranslationX.value = translationX.value;
|
|
77
80
|
prevTranslationY.value = translationY.value;
|
|
78
|
-
}), [disabled, translationX, translationY, scale, prevScale, offsetScale, onScaleChange, maximumZoomScale, isPinching, originX, originY, prevTranslationX, prevTranslationY, viewWidth
|
|
81
|
+
}), [disabled, translationX, translationY, scale, prevScale, offsetScale, onScaleChange, maximumZoomScale, isPinching, originX, originY, prevTranslationX, prevTranslationY, viewWidth, viewHeight, minimumZoomScale, onDismiss, onScaleReset]);
|
|
79
82
|
const panGesture = useMemo(() => Gesture.Pan().enabled(!disabled).onStart(() => {
|
|
80
83
|
cancelAnimation(translationX);
|
|
81
84
|
cancelAnimation(translationY);
|
|
@@ -104,7 +107,7 @@ export default function PinchToZoom({
|
|
|
104
107
|
translationX.value = withTiming(clamp(translationX.value, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2));
|
|
105
108
|
translationY.value = withTiming(clamp(translationY.value, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2));
|
|
106
109
|
}
|
|
107
|
-
}), [disabled, minimumZoomScale, onDismiss, prevScale
|
|
110
|
+
}), [disabled, minimumZoomScale, onDismiss, prevScale, prevTranslationX, prevTranslationY, scale, windowHeight, translationX, translationY, viewHeight, viewWidth]);
|
|
108
111
|
const tapGesture = useMemo(() => Gesture.Tap().enabled(!disabled).numberOfTaps(2).onStart(() => {
|
|
109
112
|
if (scale.value > minimumZoomScale) {
|
|
110
113
|
translationX.value = withTiming(0);
|
|
@@ -125,10 +128,10 @@ export default function PinchToZoom({
|
|
|
125
128
|
}, [panGesture, pinchGesture, tapGesture]);
|
|
126
129
|
useAnimatedReaction(() => {
|
|
127
130
|
return {
|
|
128
|
-
scale: scale,
|
|
131
|
+
scale: scale.value,
|
|
129
132
|
translation: {
|
|
130
|
-
x: translationX,
|
|
131
|
-
y: translationY
|
|
133
|
+
x: translationX.value,
|
|
134
|
+
y: translationY.value
|
|
132
135
|
}
|
|
133
136
|
};
|
|
134
137
|
}, prepared => {
|
|
@@ -150,14 +153,16 @@ export default function PinchToZoom({
|
|
|
150
153
|
const internalOnLayout = useCallback(e => {
|
|
151
154
|
viewHeight.value = e.nativeEvent.layout.height;
|
|
152
155
|
viewWidth.value = e.nativeEvent.layout.width;
|
|
153
|
-
onLayout
|
|
156
|
+
onLayout?.(e);
|
|
154
157
|
}, [viewHeight, viewWidth, onLayout]);
|
|
155
158
|
const finalStyle = useMemo(() => [style, propStyle], [style, propStyle]);
|
|
156
|
-
return /*#__PURE__*/
|
|
157
|
-
gesture: compositeGesture
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
return /*#__PURE__*/_jsx(GestureDetector, {
|
|
160
|
+
gesture: compositeGesture,
|
|
161
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
162
|
+
onLayout: internalOnLayout,
|
|
163
|
+
style: finalStyle,
|
|
164
|
+
children: children
|
|
165
|
+
})
|
|
166
|
+
});
|
|
162
167
|
}
|
|
163
168
|
//# sourceMappingURL=PinchToZoom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","useWindowDimensions","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","Gesture","GestureDetector","clamp","Haptics","PinchToZoom","minimumZoomScale","maximumZoomScale","style","propStyle","disabled","onLayout","onStatusChange","onScaleChange","onScaleReset","children","onDismiss","height","windowHeight","translationX","translationY","originX","originY","scale","isPinching","viewHeight","viewWidth","prevScale","offsetScale","prevTranslationX","prevTranslationY","pinchGesture","Pinch","enabled","onStart","value","onUpdate","e","numberOfPointers","Math","min","focalX","focalY","onEnd","impactAsync","ImpactFeedbackStyle","Light","panGesture","Pan","abs","tapGesture","Tap","numberOfTaps","compositeGesture","Exclusive","Simultaneous","translation","x","y","prepared","transform","translateX","translateY","internalOnLayout","nativeEvent","layout","width","finalStyle","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useWindowDimensions","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","Gesture","GestureDetector","clamp","Haptics","jsx","_jsx","PinchToZoom","minimumZoomScale","maximumZoomScale","style","propStyle","disabled","onLayout","onStatusChange","onScaleChange","onScaleReset","children","onDismiss","height","windowHeight","translationX","translationY","originX","originY","scale","isPinching","viewHeight","viewWidth","prevScale","offsetScale","prevTranslationX","prevTranslationY","pinchGesture","Pinch","enabled","onStart","value","onUpdate","e","numberOfPointers","Math","min","focalX","focalY","onEnd","impactAsync","ImpactFeedbackStyle","Light","panGesture","Pan","abs","tapGesture","Tap","numberOfTaps","compositeGesture","Exclusive","Simultaneous","translation","x","y","prepared","transform","translateX","translateY","internalOnLayout","nativeEvent","layout","width","finalStyle","gesture","View"],"sourceRoot":"../../src","sources":["PinchToZoom.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import React, { forwardRef, useCallback, useRef, useState } from 'react';
|
|
3
4
|
import mergeRefs from 'merge-refs';
|
|
4
5
|
import FullScreenImageSlider from './FullScreenImageSlider';
|
|
5
6
|
import BaseListImageSlider from './BaseSimpleImageSlider';
|
|
7
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
8
|
/**
|
|
7
9
|
* @description A simple image slider that displays images in a list and can show a {@link FullScreenImageSlider} on press.
|
|
8
10
|
*/
|
|
@@ -13,6 +15,8 @@ const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
|
|
|
13
15
|
onViewableItemChange,
|
|
14
16
|
FullScreenCloseButtonIcon,
|
|
15
17
|
renderFullScreenDescription,
|
|
18
|
+
imageAspectRatio,
|
|
19
|
+
fullScreenImageAspectRatio,
|
|
16
20
|
...props
|
|
17
21
|
}, ref) {
|
|
18
22
|
const listRef = useRef(null);
|
|
@@ -21,7 +25,7 @@ const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
|
|
|
21
25
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
22
26
|
const internalOnViewableItemChange = useCallback(index => {
|
|
23
27
|
setCurrentIndex(index);
|
|
24
|
-
onViewableItemChange
|
|
28
|
+
onViewableItemChange?.(index);
|
|
25
29
|
}, [onViewableItemChange]);
|
|
26
30
|
const onFullScreenViewableItemChange = useCallback(index => {
|
|
27
31
|
setCurrentIndex(index);
|
|
@@ -30,35 +34,39 @@ const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
|
|
|
30
34
|
setFullScreen(true);
|
|
31
35
|
}, []);
|
|
32
36
|
const onRequestClose = useCallback(() => {
|
|
33
|
-
|
|
34
|
-
(_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollToIndex({
|
|
37
|
+
listRef.current?.scrollToIndex({
|
|
35
38
|
index: currentIndex
|
|
36
39
|
});
|
|
37
40
|
setFullScreen(false);
|
|
38
41
|
}, [currentIndex]);
|
|
39
42
|
const onFadeOut = useCallback(() => {
|
|
40
|
-
|
|
41
|
-
(_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.scrollToIndex({
|
|
43
|
+
listRef.current?.scrollToIndex({
|
|
42
44
|
index: currentIndex
|
|
43
45
|
});
|
|
44
46
|
}, [currentIndex]);
|
|
45
|
-
return /*#__PURE__*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
48
|
+
children: [/*#__PURE__*/_jsx(BaseListImageSlider, {
|
|
49
|
+
...props,
|
|
50
|
+
imageAspectRatio: imageAspectRatio,
|
|
51
|
+
data: data,
|
|
52
|
+
ref: mergeRefs(ref, listRef),
|
|
53
|
+
onItemPress: fullScreenEnabled ? openFullScreen : onItemPress,
|
|
54
|
+
onViewableItemChange: internalOnViewableItemChange
|
|
55
|
+
}), fullScreenEnabled ? /*#__PURE__*/_jsx(FullScreenImageSlider, {
|
|
56
|
+
...props,
|
|
57
|
+
imageAspectRatio: fullScreenImageAspectRatio ?? imageAspectRatio,
|
|
58
|
+
ref: fullScreenListRef,
|
|
59
|
+
open: fullScreen,
|
|
60
|
+
onRequestClose: onRequestClose,
|
|
61
|
+
data: data,
|
|
62
|
+
showPageCounter: false,
|
|
63
|
+
indexOverride: currentIndex,
|
|
64
|
+
onViewableItemChange: onFullScreenViewableItemChange,
|
|
65
|
+
renderDescription: renderFullScreenDescription,
|
|
66
|
+
CloseButtonIcon: FullScreenCloseButtonIcon,
|
|
67
|
+
onFadeOut: onFadeOut
|
|
68
|
+
}) : null]
|
|
69
|
+
});
|
|
62
70
|
});
|
|
63
71
|
export default SimpleImageSlider;
|
|
64
72
|
//# sourceMappingURL=SimpleImageSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useRef","useState","mergeRefs","FullScreenImageSlider","BaseListImageSlider","SimpleImageSlider","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","FullScreenCloseButtonIcon","renderFullScreenDescription","props","ref","listRef","fullScreenListRef","fullScreen","setFullScreen","currentIndex","setCurrentIndex","internalOnViewableItemChange","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useRef","useState","mergeRefs","FullScreenImageSlider","BaseListImageSlider","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SimpleImageSlider","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","FullScreenCloseButtonIcon","renderFullScreenDescription","imageAspectRatio","fullScreenImageAspectRatio","props","ref","listRef","fullScreenListRef","fullScreen","setFullScreen","currentIndex","setCurrentIndex","internalOnViewableItemChange","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","current","scrollToIndex","onFadeOut","children","open","showPageCounter","indexOverride","renderDescription","CloseButtonIcon"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|