@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.
Files changed (71) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +74 -0
  3. package/lib/commonjs/@types/styled.d.js +4 -0
  4. package/lib/commonjs/@types/styled.d.js.map +1 -0
  5. package/lib/commonjs/BaseSimpleImageSlider.js +194 -0
  6. package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -0
  7. package/lib/commonjs/FullScreenImageSlider.js +126 -0
  8. package/lib/commonjs/FullScreenImageSlider.js.map +1 -0
  9. package/lib/commonjs/PageCounter.js +39 -0
  10. package/lib/commonjs/PageCounter.js.map +1 -0
  11. package/lib/commonjs/PinchToZoom.js +173 -0
  12. package/lib/commonjs/PinchToZoom.js.map +1 -0
  13. package/lib/commonjs/SimpleImageSlider.js +59 -0
  14. package/lib/commonjs/SimpleImageSlider.js.map +1 -0
  15. package/lib/commonjs/StyledComponentsThemeProvider.js +51 -0
  16. package/lib/commonjs/StyledComponentsThemeProvider.js.map +1 -0
  17. package/lib/commonjs/index.js +35 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/utils/clamp.js +13 -0
  20. package/lib/commonjs/utils/clamp.js.map +1 -0
  21. package/lib/commonjs/utils/renderProp.js +17 -0
  22. package/lib/commonjs/utils/renderProp.js.map +1 -0
  23. package/lib/module/@types/styled.d.js +2 -0
  24. package/lib/module/@types/styled.d.js.map +1 -0
  25. package/lib/module/BaseSimpleImageSlider.js +185 -0
  26. package/lib/module/BaseSimpleImageSlider.js.map +1 -0
  27. package/lib/module/FullScreenImageSlider.js +117 -0
  28. package/lib/module/FullScreenImageSlider.js.map +1 -0
  29. package/lib/module/PageCounter.js +31 -0
  30. package/lib/module/PageCounter.js.map +1 -0
  31. package/lib/module/PinchToZoom.js +165 -0
  32. package/lib/module/PinchToZoom.js.map +1 -0
  33. package/lib/module/SimpleImageSlider.js +50 -0
  34. package/lib/module/SimpleImageSlider.js.map +1 -0
  35. package/lib/module/StyledComponentsThemeProvider.js +43 -0
  36. package/lib/module/StyledComponentsThemeProvider.js.map +1 -0
  37. package/lib/module/index.js +6 -0
  38. package/lib/module/index.js.map +1 -0
  39. package/lib/module/utils/clamp.js +6 -0
  40. package/lib/module/utils/clamp.js.map +1 -0
  41. package/lib/module/utils/renderProp.js +9 -0
  42. package/lib/module/utils/renderProp.js.map +1 -0
  43. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +33 -0
  44. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -0
  45. package/lib/typescript/src/FullScreenImageSlider.d.ts +15 -0
  46. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -0
  47. package/lib/typescript/src/PageCounter.d.ts +10 -0
  48. package/lib/typescript/src/PageCounter.d.ts.map +1 -0
  49. package/lib/typescript/src/PinchToZoom.d.ts +18 -0
  50. package/lib/typescript/src/PinchToZoom.d.ts.map +1 -0
  51. package/lib/typescript/src/SimpleImageSlider.d.ts +11 -0
  52. package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -0
  53. package/lib/typescript/src/StyledComponentsThemeProvider.d.ts +3 -0
  54. package/lib/typescript/src/StyledComponentsThemeProvider.d.ts.map +1 -0
  55. package/lib/typescript/src/index.d.ts +6 -0
  56. package/lib/typescript/src/index.d.ts.map +1 -0
  57. package/lib/typescript/src/utils/clamp.d.ts +2 -0
  58. package/lib/typescript/src/utils/clamp.d.ts.map +1 -0
  59. package/lib/typescript/src/utils/renderProp.d.ts +4 -0
  60. package/lib/typescript/src/utils/renderProp.d.ts.map +1 -0
  61. package/package.json +170 -0
  62. package/src/@types/styled.d.ts +39 -0
  63. package/src/BaseSimpleImageSlider.tsx +281 -0
  64. package/src/FullScreenImageSlider.tsx +164 -0
  65. package/src/PageCounter.tsx +39 -0
  66. package/src/PinchToZoom.tsx +323 -0
  67. package/src/SimpleImageSlider.tsx +72 -0
  68. package/src/StyledComponentsThemeProvider.tsx +48 -0
  69. package/src/index.tsx +14 -0
  70. package/src/utils/clamp.ts +4 -0
  71. 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
+ ![Alt Text](docs/slider-demo.gif)
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,4 @@
1
+ "use strict";
2
+
3
+ require("styled-components/native");
4
+ //# sourceMappingURL=styled.d.js.map
@@ -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":[]}