@one-am/react-native-simple-image-slider 0.2.2
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/LICENSE +20 -0
- package/README.md +74 -0
- package/lib/commonjs/@types/styled.d.js +4 -0
- package/lib/commonjs/@types/styled.d.js.map +1 -0
- package/lib/commonjs/BaseSimpleImageSlider.js +194 -0
- package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -0
- package/lib/commonjs/FullScreenImageSlider.js +126 -0
- package/lib/commonjs/FullScreenImageSlider.js.map +1 -0
- package/lib/commonjs/PageCounter.js +39 -0
- package/lib/commonjs/PageCounter.js.map +1 -0
- package/lib/commonjs/PinchToZoom.js +173 -0
- package/lib/commonjs/PinchToZoom.js.map +1 -0
- package/lib/commonjs/SimpleImageSlider.js +59 -0
- package/lib/commonjs/SimpleImageSlider.js.map +1 -0
- package/lib/commonjs/StyledComponentsThemeProvider.js +51 -0
- package/lib/commonjs/StyledComponentsThemeProvider.js.map +1 -0
- package/lib/commonjs/index.js +35 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/utils/clamp.js +13 -0
- package/lib/commonjs/utils/clamp.js.map +1 -0
- package/lib/commonjs/utils/renderProp.js +17 -0
- package/lib/commonjs/utils/renderProp.js.map +1 -0
- package/lib/module/@types/styled.d.js +2 -0
- package/lib/module/@types/styled.d.js.map +1 -0
- package/lib/module/BaseSimpleImageSlider.js +185 -0
- package/lib/module/BaseSimpleImageSlider.js.map +1 -0
- package/lib/module/FullScreenImageSlider.js +117 -0
- package/lib/module/FullScreenImageSlider.js.map +1 -0
- package/lib/module/PageCounter.js +31 -0
- package/lib/module/PageCounter.js.map +1 -0
- package/lib/module/PinchToZoom.js +165 -0
- package/lib/module/PinchToZoom.js.map +1 -0
- package/lib/module/SimpleImageSlider.js +50 -0
- package/lib/module/SimpleImageSlider.js.map +1 -0
- package/lib/module/StyledComponentsThemeProvider.js +43 -0
- package/lib/module/StyledComponentsThemeProvider.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/utils/clamp.js +6 -0
- package/lib/module/utils/clamp.js.map +1 -0
- package/lib/module/utils/renderProp.js +9 -0
- package/lib/module/utils/renderProp.js.map +1 -0
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts +33 -0
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -0
- package/lib/typescript/src/FullScreenImageSlider.d.ts +15 -0
- package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -0
- package/lib/typescript/src/PageCounter.d.ts +10 -0
- package/lib/typescript/src/PageCounter.d.ts.map +1 -0
- package/lib/typescript/src/PinchToZoom.d.ts +18 -0
- package/lib/typescript/src/PinchToZoom.d.ts.map +1 -0
- package/lib/typescript/src/SimpleImageSlider.d.ts +11 -0
- package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -0
- package/lib/typescript/src/StyledComponentsThemeProvider.d.ts +3 -0
- package/lib/typescript/src/StyledComponentsThemeProvider.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/utils/clamp.d.ts +2 -0
- package/lib/typescript/src/utils/clamp.d.ts.map +1 -0
- package/lib/typescript/src/utils/renderProp.d.ts +4 -0
- package/lib/typescript/src/utils/renderProp.d.ts.map +1 -0
- package/package.json +170 -0
- package/src/@types/styled.d.ts +39 -0
- package/src/BaseSimpleImageSlider.tsx +281 -0
- package/src/FullScreenImageSlider.tsx +164 -0
- package/src/PageCounter.tsx +39 -0
- package/src/PinchToZoom.tsx +323 -0
- package/src/SimpleImageSlider.tsx +72 -0
- package/src/StyledComponentsThemeProvider.tsx +48 -0
- package/src/index.tsx +14 -0
- package/src/utils/clamp.ts +4 -0
- package/src/utils/renderProp.tsx +22 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 one-am
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
in the Software without restriction, including without limitation the rights
|
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# react-native-simple-image-slider
|
|
2
|
+
|
|
3
|
+
A simple and performant image slider made with [`@shopify/flash-list`](https://github.com/Shopify/flash-list).
|
|
4
|
+
Includes a full screen gallery component with gesture support.
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
npm install @one-am/react-native-simple-image-slider
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```typescript jsx
|
|
17
|
+
import * as React from 'react';
|
|
18
|
+
|
|
19
|
+
import {
|
|
20
|
+
SimpleImageSliderThemeProvider,
|
|
21
|
+
SimpleImageSlider,
|
|
22
|
+
} from '@one-am/react-native-simple-image-slider';
|
|
23
|
+
import styled from 'styled-components/native';
|
|
24
|
+
|
|
25
|
+
import pictureOne from '../assets/photos/1.jpg';
|
|
26
|
+
import pictureTwo from '../assets/photos/2.jpg';
|
|
27
|
+
import pictureThree from '../assets/photos/3.jpg';
|
|
28
|
+
import pictureFour from '../assets/photos/4.jpg';
|
|
29
|
+
import pictureFive from '../assets/photos/5.jpg';
|
|
30
|
+
|
|
31
|
+
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
|
|
32
|
+
import { useWindowDimensions } from 'react-native';
|
|
33
|
+
|
|
34
|
+
const photos = [pictureOne, pictureTwo, pictureThree, pictureFour, pictureFive];
|
|
35
|
+
|
|
36
|
+
const StyledContainer = styled(SafeAreaView)`
|
|
37
|
+
flex: 1;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
`;
|
|
41
|
+
|
|
42
|
+
export default function App() {
|
|
43
|
+
const { width } = useWindowDimensions();
|
|
44
|
+
return (
|
|
45
|
+
<SafeAreaProvider>
|
|
46
|
+
<StyledContainer>
|
|
47
|
+
<SimpleImageSliderThemeProvider>
|
|
48
|
+
<SimpleImageSlider
|
|
49
|
+
data={photos.map((photo, index) => ({
|
|
50
|
+
source: photo,
|
|
51
|
+
key: index.toString(),
|
|
52
|
+
}))}
|
|
53
|
+
imageWidth={width}
|
|
54
|
+
imageAspectRatio={16 / 9}
|
|
55
|
+
fullScreenEnabled={true}
|
|
56
|
+
/>
|
|
57
|
+
</SimpleImageSliderThemeProvider>
|
|
58
|
+
</StyledContainer>
|
|
59
|
+
</SafeAreaProvider>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Contributing
|
|
65
|
+
|
|
66
|
+
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
|
|
67
|
+
|
|
68
|
+
## License
|
|
69
|
+
|
|
70
|
+
MIT
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["require"],"sourceRoot":"../../../src","sources":["@types/styled.d.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _flashList = require("@shopify/flash-list");
|
|
9
|
+
var _mergeRefs = _interopRequireDefault(require("merge-refs"));
|
|
10
|
+
var _expoImage = require("expo-image");
|
|
11
|
+
var _reactNative = require("react-native");
|
|
12
|
+
var _native = _interopRequireDefault(require("styled-components/native"));
|
|
13
|
+
var _PageCounter = _interopRequireDefault(require("./PageCounter"));
|
|
14
|
+
var _PinchToZoom = _interopRequireDefault(require("./PinchToZoom"));
|
|
15
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
16
|
+
var _renderProp = _interopRequireDefault(require("./utils/renderProp"));
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
const StyledAbsoluteComponentContainer = _native.default.View`
|
|
21
|
+
z-index: 1000;
|
|
22
|
+
position: absolute;
|
|
23
|
+
bottom: ${({
|
|
24
|
+
position,
|
|
25
|
+
theme
|
|
26
|
+
}) => position === 'bottom-left' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
27
|
+
top: ${({
|
|
28
|
+
position,
|
|
29
|
+
theme
|
|
30
|
+
}) => position === 'top-left' || position === 'top-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
31
|
+
left: ${({
|
|
32
|
+
position,
|
|
33
|
+
theme
|
|
34
|
+
}) => position === 'top-left' || position === 'bottom-left' ? `${theme.styles.spacing.m}px` : undefined};
|
|
35
|
+
right: ${({
|
|
36
|
+
position,
|
|
37
|
+
theme
|
|
38
|
+
}) => position === 'top-right' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
39
|
+
`;
|
|
40
|
+
const StyledPageCounter = (0, _native.default)(_PageCounter.default)`
|
|
41
|
+
z-index: 1000;
|
|
42
|
+
position: absolute;
|
|
43
|
+
bottom: ${({
|
|
44
|
+
position,
|
|
45
|
+
theme
|
|
46
|
+
}) => position === 'bottom-left' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
47
|
+
top: ${({
|
|
48
|
+
position,
|
|
49
|
+
theme
|
|
50
|
+
}) => position === 'top-left' || position === 'top-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
51
|
+
left: ${({
|
|
52
|
+
position,
|
|
53
|
+
theme
|
|
54
|
+
}) => position === 'top-left' || position === 'bottom-left' ? `${theme.styles.spacing.m}px` : undefined};
|
|
55
|
+
right: ${({
|
|
56
|
+
position,
|
|
57
|
+
theme
|
|
58
|
+
}) => position === 'top-right' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
|
|
59
|
+
`;
|
|
60
|
+
const StyledContainer = (0, _native.default)(_reactNativeGestureHandler.GestureHandlerRootView)`
|
|
61
|
+
aspect-ratio: ${({
|
|
62
|
+
aspectRatio
|
|
63
|
+
}) => aspectRatio ?? 4 / 3};
|
|
64
|
+
width: 100%;
|
|
65
|
+
`;
|
|
66
|
+
const StyledImage = (0, _native.default)(_expoImage.Image)`
|
|
67
|
+
width: ${({
|
|
68
|
+
imageWidth
|
|
69
|
+
}) => imageWidth ? `${imageWidth}px` : '100%'};
|
|
70
|
+
height: ${({
|
|
71
|
+
imageHeight
|
|
72
|
+
}) => imageHeight ? `${imageHeight}px` : '100%'};
|
|
73
|
+
aspect-ratio: ${({
|
|
74
|
+
imageAspectRatio
|
|
75
|
+
}) => imageAspectRatio ? imageAspectRatio : 4 / 3};
|
|
76
|
+
`;
|
|
77
|
+
const StyledPinchToZoom = (0, _native.default)(_PinchToZoom.default)`
|
|
78
|
+
z-index: 1000;
|
|
79
|
+
`;
|
|
80
|
+
const BaseListImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseListImageSlider({
|
|
81
|
+
data,
|
|
82
|
+
style,
|
|
83
|
+
imageWidth,
|
|
84
|
+
imageHeight,
|
|
85
|
+
imageAspectRatio,
|
|
86
|
+
onItemPress,
|
|
87
|
+
maxPreviewItems,
|
|
88
|
+
showPageCounter = true,
|
|
89
|
+
pageCounterPosition = 'bottom-left',
|
|
90
|
+
renderPageCounter,
|
|
91
|
+
TopRightComponent,
|
|
92
|
+
TopLeftComponent,
|
|
93
|
+
BottomRightComponent,
|
|
94
|
+
BottomLeftComponent,
|
|
95
|
+
indexOverride,
|
|
96
|
+
onViewableItemChange,
|
|
97
|
+
enablePinchToZoom = false,
|
|
98
|
+
onPinchToZoomTranslationChange,
|
|
99
|
+
onPinchToZoomRequestClose
|
|
100
|
+
}, ref) {
|
|
101
|
+
const listRef = (0, _react.useRef)(null);
|
|
102
|
+
const [currentItem, setCurrentItem] = (0, _react.useState)(0);
|
|
103
|
+
const slicedData = (0, _react.useMemo)(() => maxPreviewItems !== undefined ? (data === null || data === void 0 ? void 0 : data.slice(0, maxPreviewItems)) ?? [] : data ?? [], [data, maxPreviewItems]);
|
|
104
|
+
(0, _react.useEffect)(() => {
|
|
105
|
+
var _listRef$current;
|
|
106
|
+
setCurrentItem(indexOverride ?? 0);
|
|
107
|
+
(_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollToIndex({
|
|
108
|
+
index: indexOverride ?? 0,
|
|
109
|
+
animated: false
|
|
110
|
+
});
|
|
111
|
+
}, [indexOverride, slicedData]);
|
|
112
|
+
const keyExtractor = (0, _react.useCallback)(item => item.key, []);
|
|
113
|
+
const renderItem = (0, _react.useCallback)(({
|
|
114
|
+
item,
|
|
115
|
+
index
|
|
116
|
+
}) => {
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
|
|
118
|
+
onPress: () => onItemPress === null || onItemPress === void 0 ? void 0 : onItemPress(item, index)
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(StyledImage, {
|
|
120
|
+
transition: 200,
|
|
121
|
+
placeholder: item.placeholder,
|
|
122
|
+
placeholderContentFit: 'cover',
|
|
123
|
+
imageWidth: imageWidth,
|
|
124
|
+
imageHeight: imageHeight,
|
|
125
|
+
imageAspectRatio: imageAspectRatio,
|
|
126
|
+
recyclingKey: item.key,
|
|
127
|
+
source: item.source,
|
|
128
|
+
contentFit: 'cover',
|
|
129
|
+
contentPosition: 'center'
|
|
130
|
+
}));
|
|
131
|
+
}, [imageAspectRatio, imageHeight, imageWidth, onItemPress]);
|
|
132
|
+
const onViewableItemsChanged = (0, _react.useCallback)(({
|
|
133
|
+
viewableItems
|
|
134
|
+
}) => {
|
|
135
|
+
var _viewableItems$;
|
|
136
|
+
const newIndex = (_viewableItems$ = viewableItems[0]) === null || _viewableItems$ === void 0 ? void 0 : _viewableItems$.index;
|
|
137
|
+
if (newIndex !== undefined && newIndex !== null) {
|
|
138
|
+
setCurrentItem(newIndex);
|
|
139
|
+
onViewableItemChange === null || onViewableItemChange === void 0 || onViewableItemChange(newIndex);
|
|
140
|
+
}
|
|
141
|
+
}, [onViewableItemChange]);
|
|
142
|
+
const [scrollEnabled, setScrollEnabled] = (0, _react.useState)(true);
|
|
143
|
+
const onScaleChange = (0, _react.useCallback)(() => {
|
|
144
|
+
setScrollEnabled(false);
|
|
145
|
+
}, []);
|
|
146
|
+
const onScaleReset = (0, _react.useCallback)(() => {
|
|
147
|
+
setScrollEnabled(true);
|
|
148
|
+
}, []);
|
|
149
|
+
const list = /*#__PURE__*/_react.default.createElement(_flashList.FlashList, {
|
|
150
|
+
renderScrollComponent: _reactNativeGestureHandler.ScrollView,
|
|
151
|
+
scrollEnabled: scrollEnabled,
|
|
152
|
+
disableScrollViewPanResponder: enablePinchToZoom ? !scrollEnabled : false,
|
|
153
|
+
ref: (0, _mergeRefs.default)(ref, listRef),
|
|
154
|
+
initialScrollIndex: indexOverride ?? currentItem ?? 0,
|
|
155
|
+
onViewableItemsChanged: onViewableItemsChanged,
|
|
156
|
+
viewabilityConfig: {
|
|
157
|
+
itemVisiblePercentThreshold: 55
|
|
158
|
+
},
|
|
159
|
+
decelerationRate: 'fast',
|
|
160
|
+
pagingEnabled: true,
|
|
161
|
+
showsHorizontalScrollIndicator: false,
|
|
162
|
+
showsVerticalScrollIndicator: false,
|
|
163
|
+
horizontal: true,
|
|
164
|
+
keyExtractor: keyExtractor,
|
|
165
|
+
renderItem: renderItem,
|
|
166
|
+
data: slicedData,
|
|
167
|
+
estimatedItemSize: imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350)
|
|
168
|
+
});
|
|
169
|
+
return /*#__PURE__*/_react.default.createElement(StyledContainer, {
|
|
170
|
+
aspectRatio: imageAspectRatio,
|
|
171
|
+
style: style
|
|
172
|
+
}, enablePinchToZoom ? /*#__PURE__*/_react.default.createElement(StyledPinchToZoom, {
|
|
173
|
+
onRequestClose: onPinchToZoomRequestClose,
|
|
174
|
+
onTranslationChange: onPinchToZoomTranslationChange,
|
|
175
|
+
onScaleChange: onScaleChange,
|
|
176
|
+
onScaleReset: onScaleReset,
|
|
177
|
+
maximumZoomScale: 5,
|
|
178
|
+
minimumZoomScale: 1
|
|
179
|
+
}, list) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/_react.default.createElement(StyledPageCounter, {
|
|
180
|
+
position: pageCounterPosition,
|
|
181
|
+
totalPages: slicedData.length,
|
|
182
|
+
currentPage: currentItem + 1
|
|
183
|
+
}) : null, TopRightComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
184
|
+
position: 'top-right'
|
|
185
|
+
}, (0, _renderProp.default)(TopRightComponent)) : null, TopLeftComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
186
|
+
position: 'top-left'
|
|
187
|
+
}, (0, _renderProp.default)(TopLeftComponent)) : null, BottomRightComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
188
|
+
position: 'bottom-right'
|
|
189
|
+
}, (0, _renderProp.default)(BottomRightComponent)) : null, BottomLeftComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
190
|
+
position: 'bottom-left'
|
|
191
|
+
}, (0, _renderProp.default)(BottomLeftComponent)) : null);
|
|
192
|
+
});
|
|
193
|
+
var _default = exports.default = BaseListImageSlider;
|
|
194
|
+
//# sourceMappingURL=BaseSimpleImageSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_flashList","_mergeRefs","_interopRequireDefault","_expoImage","_reactNative","_native","_PageCounter","_PinchToZoom","_reactNativeGestureHandler","_renderProp","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledAbsoluteComponentContainer","styled","View","position","theme","styles","spacing","m","undefined","StyledPageCounter","PageCounter","StyledContainer","GestureHandlerRootView","aspectRatio","StyledImage","Image","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","PinchToZoom","BaseListImageSlider","forwardRef","data","style","onItemPress","maxPreviewItems","showPageCounter","pageCounterPosition","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomTranslationChange","onPinchToZoomRequestClose","ref","listRef","useRef","currentItem","setCurrentItem","useState","slicedData","useMemo","slice","useEffect","_listRef$current","current","scrollToIndex","index","animated","keyExtractor","useCallback","item","key","renderItem","createElement","Pressable","onPress","transition","placeholder","placeholderContentFit","recyclingKey","source","contentFit","contentPosition","onViewableItemsChanged","viewableItems","_viewableItems$","newIndex","scrollEnabled","setScrollEnabled","onScaleChange","onScaleReset","list","FlashList","renderScrollComponent","ScrollView","disableScrollViewPanResponder","mergeRefs","initialScrollIndex","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedItemSize","onRequestClose","onTranslationChange","maximumZoomScale","minimumZoomScale","length","totalPages","currentPage","renderProp","_default","exports"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _tablerIconsReactNative = require("tabler-icons-react-native");
|
|
10
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
11
|
+
var _expoStatusBar = require("expo-status-bar");
|
|
12
|
+
var _native = _interopRequireWildcard(require("styled-components/native"));
|
|
13
|
+
var _BaseSimpleImageSlider = _interopRequireDefault(require("./BaseSimpleImageSlider"));
|
|
14
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
const StyledDescriptionContainer = _native.default.View`
|
|
20
|
+
position: absolute;
|
|
21
|
+
border-top-width: 1px;
|
|
22
|
+
border-top-color: ${({
|
|
23
|
+
theme
|
|
24
|
+
}) => theme.colors.descriptionContainerBorder};
|
|
25
|
+
width: 100%;
|
|
26
|
+
padding-top: ${({
|
|
27
|
+
theme
|
|
28
|
+
}) => theme.styles.spacing.l}px;
|
|
29
|
+
`;
|
|
30
|
+
const StyledModalCloseButton = _native.default.TouchableOpacity`
|
|
31
|
+
position: absolute;
|
|
32
|
+
z-index: 1000;
|
|
33
|
+
`;
|
|
34
|
+
const StyledModalContentContainer = (0, _native.default)(_reactNativeReanimated.default.View)`
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
gap: ${({
|
|
38
|
+
theme
|
|
39
|
+
}) => theme.styles.spacing.m}px;
|
|
40
|
+
`;
|
|
41
|
+
const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullScreenImageSlider({
|
|
42
|
+
open,
|
|
43
|
+
onRequestClose,
|
|
44
|
+
renderDescription,
|
|
45
|
+
onViewableItemChange,
|
|
46
|
+
...props
|
|
47
|
+
}, ref) {
|
|
48
|
+
const windowDimensions = (0, _reactNative.useWindowDimensions)();
|
|
49
|
+
const theme = (0, _native.useTheme)();
|
|
50
|
+
const safeAreaInsets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
51
|
+
const styles = (0, _react.useMemo)(() => makeStyles(theme, safeAreaInsets, windowDimensions), [theme, safeAreaInsets, windowDimensions]);
|
|
52
|
+
const [internalIndex, setInternalIndex] = (0, _react.useState)(0);
|
|
53
|
+
const internalOnViewableItemChange = (0, _react.useCallback)(index => {
|
|
54
|
+
setInternalIndex(index);
|
|
55
|
+
onViewableItemChange === null || onViewableItemChange === void 0 || onViewableItemChange(index);
|
|
56
|
+
}, [onViewableItemChange]);
|
|
57
|
+
(0, _react.useEffect)(() => {
|
|
58
|
+
if (open) {
|
|
59
|
+
(0, _expoStatusBar.setStatusBarStyle)('light');
|
|
60
|
+
} else {
|
|
61
|
+
(0, _expoStatusBar.setStatusBarStyle)('dark');
|
|
62
|
+
}
|
|
63
|
+
}, [open]);
|
|
64
|
+
const backgroundOpacity = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
65
|
+
const modalContentStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
66
|
+
return {
|
|
67
|
+
backgroundColor: `rgba(0, 0, 0, ${backgroundOpacity.value})`
|
|
68
|
+
};
|
|
69
|
+
}, []);
|
|
70
|
+
const onPinchToZoomTranslationChange = (0, _react.useCallback)((x, y, scale) => {
|
|
71
|
+
if (scale.value <= 1) {
|
|
72
|
+
if (x.value === 0 && y.value === 0) {
|
|
73
|
+
(0, _reactNativeReanimated.runOnJS)(_expoStatusBar.setStatusBarStyle)('light');
|
|
74
|
+
backgroundOpacity.value = (0, _reactNativeReanimated.withTiming)(1);
|
|
75
|
+
} else {
|
|
76
|
+
(0, _reactNativeReanimated.runOnJS)(_expoStatusBar.setStatusBarStyle)('dark');
|
|
77
|
+
backgroundOpacity.value = (0, _reactNativeReanimated.withTiming)(0);
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
backgroundOpacity.value = 1;
|
|
81
|
+
}
|
|
82
|
+
}, [backgroundOpacity]);
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
|
|
84
|
+
animationType: "fade",
|
|
85
|
+
onRequestClose: onRequestClose,
|
|
86
|
+
transparent: true,
|
|
87
|
+
visible: open
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement(StyledModalContentContainer, {
|
|
89
|
+
style: [styles.modalContent, modalContentStyle]
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement(StyledModalCloseButton, {
|
|
91
|
+
style: styles.closeButton,
|
|
92
|
+
onPress: onRequestClose
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_tablerIconsReactNative.IconX, {
|
|
94
|
+
color: theme.colors.fullScreenCloseButton
|
|
95
|
+
})), /*#__PURE__*/_react.default.createElement(_BaseSimpleImageSlider.default, _extends({
|
|
96
|
+
enablePinchToZoom: true,
|
|
97
|
+
onPinchToZoomTranslationChange: onPinchToZoomTranslationChange,
|
|
98
|
+
onPinchToZoomRequestClose: onRequestClose
|
|
99
|
+
}, props, {
|
|
100
|
+
onViewableItemChange: internalOnViewableItemChange,
|
|
101
|
+
showPageCounter: false,
|
|
102
|
+
imageWidth: windowDimensions.width,
|
|
103
|
+
ref: ref
|
|
104
|
+
})), renderDescription ? /*#__PURE__*/_react.default.createElement(StyledDescriptionContainer, {
|
|
105
|
+
style: styles.descriptionContainer
|
|
106
|
+
}, renderDescription(internalIndex)) : null));
|
|
107
|
+
});
|
|
108
|
+
var _default = exports.default = FullScreenImageSlider;
|
|
109
|
+
const makeStyles = (theme, safeAreaInsets, windowDimensions) => {
|
|
110
|
+
return _reactNative.StyleSheet.create({
|
|
111
|
+
closeButton: {
|
|
112
|
+
top: safeAreaInsets.top,
|
|
113
|
+
right: safeAreaInsets.right + theme.styles.spacing.l
|
|
114
|
+
},
|
|
115
|
+
modalContent: {
|
|
116
|
+
height: windowDimensions.height,
|
|
117
|
+
width: windowDimensions.width
|
|
118
|
+
},
|
|
119
|
+
descriptionContainer: {
|
|
120
|
+
bottom: safeAreaInsets.bottom + 100,
|
|
121
|
+
paddingLeft: safeAreaInsets.left + theme.styles.spacing.l,
|
|
122
|
+
paddingRight: safeAreaInsets.right + theme.styles.spacing.l
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=FullScreenImageSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_tablerIconsReactNative","_reactNativeReanimated","_expoStatusBar","_native","_BaseSimpleImageSlider","_interopRequireDefault","_reactNativeSafeAreaContext","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","StyledDescriptionContainer","styled","View","theme","colors","descriptionContainerBorder","styles","spacing","l","StyledModalCloseButton","TouchableOpacity","StyledModalContentContainer","Animated","m","FullScreenImageSlider","forwardRef","open","onRequestClose","renderDescription","onViewableItemChange","props","ref","windowDimensions","useWindowDimensions","useTheme","safeAreaInsets","useSafeAreaInsets","useMemo","makeStyles","internalIndex","setInternalIndex","useState","internalOnViewableItemChange","useCallback","index","useEffect","setStatusBarStyle","backgroundOpacity","useSharedValue","modalContentStyle","useAnimatedStyle","backgroundColor","value","onPinchToZoomTranslationChange","x","y","scale","runOnJS","withTiming","createElement","Modal","animationType","transparent","visible","style","modalContent","closeButton","onPress","IconX","color","fullScreenCloseButton","enablePinchToZoom","onPinchToZoomRequestClose","showPageCounter","imageWidth","width","descriptionContainer","_default","exports","StyleSheet","create","top","right","height","bottom","paddingLeft","left","paddingRight"],"sourceRoot":"../../src","sources":["FullScreenImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = PageCounter;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _native = require("styled-components/native");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function PageCounter({
|
|
13
|
+
currentPage,
|
|
14
|
+
totalPages,
|
|
15
|
+
style
|
|
16
|
+
}) {
|
|
17
|
+
const theme = (0, _native.useTheme)();
|
|
18
|
+
const styles = (0, _react.useMemo)(() => makeStyles(theme), [theme]);
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
20
|
+
style: [styles.container, style]
|
|
21
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, currentPage, " / ", totalPages));
|
|
22
|
+
}
|
|
23
|
+
const makeStyles = theme => {
|
|
24
|
+
return _reactNative.StyleSheet.create({
|
|
25
|
+
container: {
|
|
26
|
+
backgroundColor: theme.colors.pageCounterBackground,
|
|
27
|
+
borderWidth: 1,
|
|
28
|
+
borderColor: theme.colors.pageCounterBorder,
|
|
29
|
+
borderRadius: 8,
|
|
30
|
+
paddingHorizontal: 5,
|
|
31
|
+
paddingVertical: 6,
|
|
32
|
+
width: 75,
|
|
33
|
+
flexDirection: 'row',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
justifyContent: 'center'
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=PageCounter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_native","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PageCounter","currentPage","totalPages","style","theme","useTheme","styles","useMemo","makeStyles","createElement","View","container","Text","StyleSheet","create","backgroundColor","colors","pageCounterBackground","borderWidth","borderColor","pageCounterBorder","borderRadius","paddingHorizontal","paddingVertical","width","flexDirection","alignItems","justifyContent"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAuE,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQxD,SAASY,WAAWA,CAAC;EAAEC,WAAW;EAAEC,UAAU;EAAEC;AAAwB,CAAC,EAAE;EACtF,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAMC,MAAM,GAAG,IAAAC,cAAO,EAAC,MAAMC,UAAU,CAACJ,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAExD,oBACI9B,MAAA,CAAAW,OAAA,CAAAwB,aAAA,CAAChC,YAAA,CAAAiC,IAAI;IAACP,KAAK,EAAE,CAACG,MAAM,CAACK,SAAS,EAAER,KAAK;EAAE,gBACnC7B,MAAA,CAAAW,OAAA,CAAAwB,aAAA,CAAChC,YAAA,CAAAmC,IAAI,QACAX,WAAW,EAAC,KAAG,EAACC,UACf,CACJ,CAAC;AAEf;AAEA,MAAMM,UAAU,GAAIJ,KAAmB,IAAK;EACxC,OAAOS,uBAAU,CAACC,MAAM,CAAC;IACrBH,SAAS,EAAE;MACPI,eAAe,EAAEX,KAAK,CAACY,MAAM,CAACC,qBAAqB;MACnDC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEf,KAAK,CAACY,MAAM,CAACI,iBAAiB;MAC3CC,YAAY,EAAE,CAAC;MACfC,iBAAiB,EAAE,CAAC;MACpBC,eAAe,EAAE,CAAC;MAClBC,KAAK,EAAE,EAAE;MACTC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IACpB;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|