@one-am/react-native-simple-image-slider 0.15.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.
Files changed (58) hide show
  1. package/README.md +12 -6
  2. package/lib/commonjs/@types/pinch-to-zoom.js +0 -4
  3. package/lib/commonjs/AbsoluteComponentContainer.js +34 -0
  4. package/lib/commonjs/AbsoluteComponentContainer.js.map +1 -0
  5. package/lib/commonjs/BaseSimpleImageSlider.js +98 -132
  6. package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -1
  7. package/lib/commonjs/FullScreenImageSlider.js +20 -29
  8. package/lib/commonjs/FullScreenImageSlider.js.map +1 -1
  9. package/lib/commonjs/PageCounter.js +24 -20
  10. package/lib/commonjs/PageCounter.js.map +1 -1
  11. package/lib/commonjs/PinchToZoom.js +5 -5
  12. package/lib/commonjs/PinchToZoom.js.map +1 -1
  13. package/lib/commonjs/SimpleImageSliderThemeProvider.js +19 -11
  14. package/lib/commonjs/SimpleImageSliderThemeProvider.js.map +1 -1
  15. package/lib/commonjs/index.js +9 -1
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/module/@types/pinch-to-zoom.js +0 -2
  18. package/lib/module/AbsoluteComponentContainer.js +28 -0
  19. package/lib/module/AbsoluteComponentContainer.js.map +1 -0
  20. package/lib/module/BaseSimpleImageSlider.js +99 -133
  21. package/lib/module/BaseSimpleImageSlider.js.map +1 -1
  22. package/lib/module/FullScreenImageSlider.js +21 -30
  23. package/lib/module/FullScreenImageSlider.js.map +1 -1
  24. package/lib/module/PageCounter.js +23 -20
  25. package/lib/module/PageCounter.js.map +1 -1
  26. package/lib/module/PinchToZoom.js +5 -5
  27. package/lib/module/PinchToZoom.js.map +1 -1
  28. package/lib/module/SimpleImageSliderThemeProvider.js +19 -12
  29. package/lib/module/SimpleImageSliderThemeProvider.js.map +1 -1
  30. package/lib/module/index.js +2 -2
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/typescript/src/@types/pinch-to-zoom.d.ts +3 -4
  33. package/lib/typescript/src/@types/pinch-to-zoom.d.ts.map +1 -1
  34. package/lib/typescript/src/AbsoluteComponentContainer.d.ts +7 -0
  35. package/lib/typescript/src/AbsoluteComponentContainer.d.ts.map +1 -0
  36. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +1 -1
  37. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -1
  38. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -1
  39. package/lib/typescript/src/PageCounter.d.ts.map +1 -1
  40. package/lib/typescript/src/PinchToZoom.d.ts.map +1 -1
  41. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts +10 -2
  42. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts.map +1 -1
  43. package/lib/typescript/src/index.d.ts +2 -3
  44. package/lib/typescript/src/index.d.ts.map +1 -1
  45. package/package.json +161 -160
  46. package/src/@types/pinch-to-zoom.ts +3 -5
  47. package/src/AbsoluteComponentContainer.tsx +30 -0
  48. package/src/BaseSimpleImageSlider.tsx +118 -150
  49. package/src/FullScreenImageSlider.tsx +39 -34
  50. package/src/PageCounter.tsx +35 -17
  51. package/src/PinchToZoom.tsx +10 -9
  52. package/src/SimpleImageSliderThemeProvider.tsx +32 -13
  53. package/src/index.tsx +7 -2
  54. package/lib/commonjs/@types/styled.d.js +0 -4
  55. package/lib/commonjs/@types/styled.d.js.map +0 -1
  56. package/lib/module/@types/styled.d.js +0 -4
  57. package/lib/module/@types/styled.d.js.map +0 -1
  58. package/src/@types/styled.d.ts +0 -17
package/README.md CHANGED
@@ -13,10 +13,18 @@ Includes a full screen gallery component with gesture support.
13
13
 
14
14
  #### Expo
15
15
 
16
+ ##### npm
17
+
16
18
  ```shell
17
19
  npx expo install @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
18
- react-native-gesture-handler react-native-safe-area-context styled-components \
19
- @one-am/react-native-simple-image-slider
20
+ react-native-gesture-handler react-native-safe-area-context @one-am/react-native-simple-image-slider
21
+ ```
22
+
23
+ ##### yarn
24
+
25
+ ```shell
26
+ yarn dlx expo install @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
27
+ react-native-gesture-handler react-native-safe-area-context @one-am/react-native-simple-image-slider
20
28
  ```
21
29
 
22
30
  #### Non-Expo
@@ -25,16 +33,14 @@ npx expo install @shopify/flash-list expo-image expo-haptics expo-status-bar rea
25
33
 
26
34
  ```shell
27
35
  npm install @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
28
- react-native-gesture-handler react-native-safe-area-context styled-components \
29
- @one-am/react-native-simple-image-slider
36
+ react-native-gesture-handler react-native-safe-area-context @one-am/react-native-simple-image-slider
30
37
  ```
31
38
 
32
39
  ##### yarn
33
40
 
34
41
  ```shell
35
42
  yarn add @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
36
- react-native-gesture-handler react-native-safe-area-context styled-components \
37
- @one-am/react-native-simple-image-slider
43
+ react-native-gesture-handler react-native-safe-area-context @one-am/react-native-simple-image-slider
38
44
  ```
39
45
 
40
46
  ## Usage
@@ -1,6 +1,2 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
2
  //# sourceMappingURL=pinch-to-zoom.js.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AbsoluteComponentContainer = AbsoluteComponentContainer;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
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 && {}.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 AbsoluteComponentContainer({
13
+ position,
14
+ children
15
+ }) {
16
+ const styles = (0, _react.useMemo)(() => makeStyles(position), [position]);
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
18
+ style: styles.container,
19
+ children: children
20
+ });
21
+ }
22
+ const makeStyles = position => {
23
+ return _reactNative.StyleSheet.create({
24
+ container: {
25
+ zIndex: 1000,
26
+ position: 'absolute',
27
+ bottom: position === 'bottom-left' || position === 'bottom-right' ? 16 : 'auto',
28
+ top: position === 'top-left' || position === 'top-right' ? 16 : 'auto',
29
+ left: position === 'top-left' || position === 'bottom-left' ? 16 : 'auto',
30
+ right: position === 'top-right' || position === 'bottom-right' ? 16 : 'auto'
31
+ }
32
+ });
33
+ };
34
+ //# sourceMappingURL=AbsoluteComponentContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AbsoluteComponentContainer","position","children","styles","useMemo","makeStyles","jsx","View","style","container","StyleSheet","create","zIndex","bottom","top","left","right"],"sourceRoot":"../../src","sources":["AbsoluteComponentContainer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,IAAAE,WAAA,GAAAF,OAAA;AAAA,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,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAMzC,SAASW,0BAA0BA,CAAC;EACvCC,QAAQ;EACRC;AAC6B,CAAC,EAAE;EAChC,MAAMC,MAAM,GAAG,IAAAC,cAAO,EAAC,MAAMC,UAAU,CAACJ,QAAQ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAE9D,oBAAO,IAAAtB,WAAA,CAAA2B,GAAA,EAAC5B,YAAA,CAAA6B,IAAI;IAACC,KAAK,EAAEL,MAAM,CAACM,SAAU;IAAAP,QAAA,EAAEA;EAAQ,CAAO,CAAC;AAC3D;AAEA,MAAMG,UAAU,GAAIJ,QAAmE,IAAK;EACxF,OAAOS,uBAAU,CAACC,MAAM,CAAC;IACrBF,SAAS,EAAE;MACPG,MAAM,EAAE,IAAI;MACZX,QAAQ,EAAE,UAAU;MACpBY,MAAM,EAAEZ,QAAQ,KAAK,aAAa,IAAIA,QAAQ,KAAK,cAAc,GAAG,EAAE,GAAG,MAAM;MAC/Ea,GAAG,EAAEb,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,WAAW,GAAG,EAAE,GAAG,MAAM;MACtEc,IAAI,EAAEd,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,aAAa,GAAG,EAAE,GAAG,MAAM;MACzEe,KAAK,EAAEf,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,cAAc,GAAG,EAAE,GAAG;IAC1E;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -9,69 +9,17 @@ var _flashList = require("@shopify/flash-list");
9
9
  var _mergeRefs = _interopRequireDefault(require("merge-refs"));
10
10
  var _expoImage = require("expo-image");
11
11
  var _reactNative = require("react-native");
12
- var _native = _interopRequireDefault(require("styled-components/native"));
13
12
  var _PageCounter = _interopRequireDefault(require("./PageCounter"));
14
13
  var _PinchToZoom = _interopRequireDefault(require("./PinchToZoom"));
15
14
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
16
15
  var _renderProp = _interopRequireDefault(require("./utils/renderProp"));
17
16
  var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
17
+ var _AbsoluteComponentContainer = require("./AbsoluteComponentContainer");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
20
  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); }
21
21
  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 && {}.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; }
22
- const StyledAbsoluteComponentContainer = _native.default.View`
23
- z-index: 1000;
24
- position: absolute;
25
- bottom: ${({
26
- position
27
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
28
- top: ${({
29
- position
30
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
31
- left: ${({
32
- position
33
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
34
- right: ${({
35
- position
36
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
37
- `;
38
- const StyledPageCounter = (0, _native.default)(_PageCounter.default)`
39
- z-index: 1000;
40
- position: absolute;
41
- bottom: ${({
42
- position
43
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
44
- top: ${({
45
- position
46
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
47
- left: ${({
48
- position
49
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
50
- right: ${({
51
- position
52
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
53
- `;
54
- const StyledContainer = (0, _native.default)(_reactNativeGestureHandler.GestureHandlerRootView)`
55
- aspect-ratio: ${({
56
- aspectRatio
57
- }) => aspectRatio ?? 4 / 3};
58
- width: 100%;
59
- `;
60
- const StyledImage = (0, _native.default)(_expoImage.Image)`
61
- width: ${({
62
- imageWidth
63
- }) => imageWidth ? `${imageWidth}px` : '100%'};
64
- height: ${({
65
- imageHeight
66
- }) => imageHeight ? `${imageHeight}px` : '100%'};
67
- aspect-ratio: ${({
68
- imageAspectRatio
69
- }) => imageAspectRatio};
70
- `;
71
- const AnimatedStyledImage = _reactNativeReanimated.default.createAnimatedComponent(StyledImage);
72
- const StyledPinchToZoom = (0, _native.default)(_PinchToZoom.default)`
73
- z-index: 1000;
74
- `;
22
+ const AnimatedImage = _reactNativeReanimated.default.createAnimatedComponent(_expoImage.Image);
75
23
 
76
24
  /**
77
25
  * @description A simple image slider that displays a list of images. This is the component
@@ -90,7 +38,7 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
90
38
  pageCounterPosition = 'bottom-left',
91
39
  pageCounterStyle,
92
40
  pageCounterTextStyle,
93
- PageCounterComponent,
41
+ PageCounterComponent = _PageCounter.default,
94
42
  renderPageCounter,
95
43
  TopRightComponent,
96
44
  TopLeftComponent,
@@ -107,23 +55,43 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
107
55
  if (renderPageCounter !== undefined && PageCounterComponent !== undefined) {
108
56
  throw new Error('You should provide either `renderPageCounter` or `PageCounterComponent`, not both.');
109
57
  }
110
- const ActualPageCounterComponent = PageCounterComponent ? makeStyledPageCounter(PageCounterComponent) : StyledPageCounter;
111
58
  const listRef = (0, _react.useRef)(null);
112
- const [currentItem, setCurrentItem] = (0, _react.useState)(0);
59
+ const styles = (0, _react.useMemo)(() => makeStyles({
60
+ imageAspectRatio,
61
+ imageWidth,
62
+ imageHeight
63
+ }), [imageAspectRatio, imageHeight, imageWidth]);
113
64
  const slicedData = (0, _react.useMemo)(() => maxItems !== undefined ? data?.slice(0, maxItems) ?? [] : data ?? [], [data, maxItems]);
114
- (0, _react.useEffect)(() => {
115
- setCurrentItem(indexOverride ?? 0);
116
- listRef.current?.scrollToIndex({
117
- index: indexOverride ?? 0,
118
- animated: false
119
- });
120
- }, [indexOverride, slicedData]);
121
- const keyExtractor = (0, _react.useCallback)(item => item.key, []);
65
+ const estimatedItemSize = (0, _react.useMemo)(() => {
66
+ return imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350);
67
+ }, [imageAspectRatio, imageHeight, imageWidth]);
68
+ const [currentItem, setCurrentItem] = (0, _react.useState)(0);
69
+ const [scrollEnabled, setScrollEnabled] = (0, _react.useState)(true);
70
+ const [snapToInterval, setSnapToInterval] = (0, _react.useState)(undefined);
71
+ const handleScaleChange = (0, _react.useCallback)(() => {
72
+ setScrollEnabled(false);
73
+ }, []);
74
+ const handleScaleReset = (0, _react.useCallback)(() => {
75
+ setScrollEnabled(true);
76
+ }, []);
77
+ const handleViewableItemsChanged = (0, _react.useCallback)(({
78
+ viewableItems
79
+ }) => {
80
+ const newIndex = viewableItems[0]?.index;
81
+ if (newIndex !== undefined && newIndex !== null) {
82
+ setCurrentItem(newIndex);
83
+ onViewableItemChange?.(newIndex);
84
+ }
85
+ }, [onViewableItemChange]);
86
+ const handlePinchToZoomStatusChange = (0, _react.useCallback)(status => {
87
+ listRef.current?.recordInteraction();
88
+ onPinchToZoomStatusChange?.(status);
89
+ }, [onPinchToZoomStatusChange]);
122
90
  const renderItem = (0, _react.useCallback)(({
123
91
  item,
124
92
  index
125
93
  }) => {
126
- const ImageComponent = sharedTransitionTag && index === currentItem ? AnimatedStyledImage : StyledImage;
94
+ const ImageComponent = sharedTransitionTag && index === currentItem ? AnimatedImage : _expoImage.Image;
127
95
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
128
96
  onPress: () => {
129
97
  listRef.current?.recordInteraction();
@@ -131,57 +99,48 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
131
99
  },
132
100
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ImageComponent, {
133
101
  sharedTransitionTag: sharedTransitionTag,
134
- transition: 200,
102
+ transition: 200
103
+ // https://github.com/expo/expo/issues/34810
104
+ /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */,
135
105
  placeholder: item.placeholder,
136
106
  placeholderContentFit: 'cover',
137
- imageWidth: imageWidth,
138
- imageHeight: imageHeight,
139
- imageAspectRatio: imageAspectRatio,
140
- recyclingKey: item.key,
107
+ recyclingKey: item.key
108
+ // https://github.com/expo/expo/issues/34810
109
+ /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */,
141
110
  source: item.source,
142
111
  contentFit: 'cover',
143
112
  contentPosition: 'center',
144
- style: imageStyle
113
+ style: [styles.image, imageStyle]
145
114
  })
146
115
  });
147
- }, [currentItem, imageAspectRatio, imageHeight, imageStyle, imageWidth, onItemPress, sharedTransitionTag]);
148
- const onViewableItemsChanged = (0, _react.useCallback)(({
149
- viewableItems
150
- }) => {
151
- const newIndex = viewableItems[0]?.index;
152
- if (newIndex !== undefined && newIndex !== null) {
153
- setCurrentItem(newIndex);
154
- onViewableItemChange?.(newIndex);
116
+ }, [currentItem, imageStyle, onItemPress, sharedTransitionTag, styles.image]);
117
+ const keyExtractor = (0, _react.useCallback)(item => item.key, []);
118
+ const handleListLayout = (0, _react.useCallback)(event => {
119
+ if (_reactNative.Platform.OS === 'ios') {
120
+ // temporary workaround for iOS scrolling a bit more than expected
121
+ setSnapToInterval(event.nativeEvent.layout.width - 0.5);
155
122
  }
156
- }, [onViewableItemChange]);
157
- const [scrollEnabled, setScrollEnabled] = (0, _react.useState)(true);
158
- const onScaleChange = (0, _react.useCallback)(() => {
159
- setScrollEnabled(false);
160
123
  }, []);
161
- const onScaleReset = (0, _react.useCallback)(() => {
162
- setScrollEnabled(true);
163
- }, []);
164
- const estimatedItemSize = (0, _react.useMemo)(() => {
165
- return imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350);
166
- }, [imageAspectRatio, imageHeight, imageWidth]);
167
- const internalOnPinchToZoomStatusChange = (0, _react.useCallback)(status => {
168
- listRef.current?.recordInteraction();
169
- onPinchToZoomStatusChange?.(status);
170
- }, [onPinchToZoomStatusChange]);
171
- const list = /*#__PURE__*/(0, _jsxRuntime.jsx)(_flashList.FlashList
172
- // @ts-expect-error - there's just a small inconsistency with hitSlop typing
173
- , {
124
+ (0, _react.useEffect)(() => {
125
+ setCurrentItem(indexOverride ?? 0);
126
+ listRef.current?.scrollToIndex({
127
+ index: indexOverride ?? 0,
128
+ animated: false
129
+ });
130
+ }, [indexOverride, slicedData]);
131
+ const list = /*#__PURE__*/(0, _jsxRuntime.jsx)(_flashList.FlashList, {
174
132
  renderScrollComponent: _reactNativeGestureHandler.ScrollView,
175
133
  scrollEnabled: scrollEnabled,
176
134
  disableScrollViewPanResponder: enablePinchToZoom ? !scrollEnabled : false,
177
135
  ref: (0, _mergeRefs.default)(ref, listRef),
178
136
  initialScrollIndex: indexOverride ?? currentItem ?? 0,
179
- onViewableItemsChanged: onViewableItemsChanged,
137
+ onViewableItemsChanged: handleViewableItemsChanged,
180
138
  viewabilityConfig: {
181
139
  itemVisiblePercentThreshold: 55
182
140
  },
183
141
  decelerationRate: 'fast',
184
- pagingEnabled: true,
142
+ pagingEnabled: snapToInterval === undefined,
143
+ snapToInterval: snapToInterval,
185
144
  showsHorizontalScrollIndicator: false,
186
145
  showsVerticalScrollIndicator: false,
187
146
  horizontal: true,
@@ -192,55 +151,62 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
192
151
  estimatedListSize: {
193
152
  width: estimatedItemSize,
194
153
  height: imageHeight ?? estimatedItemSize / imageAspectRatio
195
- }
154
+ },
155
+ onLayout: handleListLayout
196
156
  });
197
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledContainer, {
198
- aspectRatio: imageAspectRatio,
199
- style: style,
200
- children: [enablePinchToZoom ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPinchToZoom, {
157
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeGestureHandler.GestureHandlerRootView, {
158
+ style: [styles.container, style],
159
+ children: [enablePinchToZoom ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PinchToZoom.default, {
160
+ style: styles.pinchToZoom,
201
161
  onDismiss: onPinchToZoomRequestClose,
202
- onStatusChange: internalOnPinchToZoomStatusChange,
203
- onScaleChange: onScaleChange,
204
- onScaleReset: onScaleReset,
162
+ onStatusChange: handlePinchToZoomStatusChange,
163
+ onScaleChange: handleScaleChange,
164
+ onScaleReset: handleScaleReset,
205
165
  maximumZoomScale: 5,
206
166
  minimumZoomScale: 1,
207
167
  children: list
208
- }) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/(0, _jsxRuntime.jsx)(ActualPageCounterComponent, {
168
+ }) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
209
169
  position: pageCounterPosition,
210
- totalPages: slicedData.length,
211
- currentPage: currentItem + 1,
212
- style: pageCounterStyle,
213
- textStyle: pageCounterTextStyle
214
- }) : null, TopRightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledAbsoluteComponentContainer, {
170
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PageCounterComponent, {
171
+ totalPages: slicedData.length,
172
+ currentPage: currentItem + 1,
173
+ style: pageCounterStyle,
174
+ textStyle: pageCounterTextStyle
175
+ })
176
+ }) : null, TopRightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
215
177
  position: 'top-right',
216
178
  children: (0, _renderProp.default)(TopRightComponent)
217
- }) : null, TopLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledAbsoluteComponentContainer, {
179
+ }) : null, TopLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
218
180
  position: 'top-left',
219
181
  children: (0, _renderProp.default)(TopLeftComponent)
220
- }) : null, BottomRightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledAbsoluteComponentContainer, {
182
+ }) : null, BottomRightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
221
183
  position: 'bottom-right',
222
184
  children: (0, _renderProp.default)(BottomRightComponent)
223
- }) : null, BottomLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledAbsoluteComponentContainer, {
185
+ }) : null, BottomLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
224
186
  position: 'bottom-left',
225
187
  children: (0, _renderProp.default)(BottomLeftComponent)
226
188
  }) : null]
227
189
  });
228
190
  });
229
- const makeStyledPageCounter = PageCounterComponent => (0, _native.default)(PageCounterComponent)`
230
- z-index: 1000;
231
- position: absolute;
232
- bottom: ${({
233
- position
234
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
235
- top: ${({
236
- position
237
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
238
- left: ${({
239
- position
240
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
241
- right: ${({
242
- position
243
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
244
- `;
191
+ const makeStyles = ({
192
+ imageAspectRatio,
193
+ imageWidth,
194
+ imageHeight
195
+ }) => {
196
+ return _reactNative.StyleSheet.create({
197
+ container: {
198
+ width: '100%',
199
+ aspectRatio: imageAspectRatio ?? 4 / 3
200
+ },
201
+ pinchToZoom: {
202
+ zIndex: 1000
203
+ },
204
+ image: {
205
+ width: imageWidth ?? '100%',
206
+ height: imageHeight ?? '100%',
207
+ aspectRatio: imageAspectRatio ?? 4 / 3
208
+ }
209
+ });
210
+ };
245
211
  var _default = exports.default = BaseSimpleImageSlider;
246
212
  //# sourceMappingURL=BaseSimpleImageSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_flashList","_mergeRefs","_interopRequireDefault","_expoImage","_reactNative","_native","_PageCounter","_PinchToZoom","_reactNativeGestureHandler","_renderProp","_reactNativeReanimated","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledAbsoluteComponentContainer","styled","View","position","StyledPageCounter","PageCounter","StyledContainer","GestureHandlerRootView","aspectRatio","StyledImage","Image","imageWidth","imageHeight","imageAspectRatio","AnimatedStyledImage","Animated","createAnimatedComponent","StyledPinchToZoom","PinchToZoom","BaseSimpleImageSlider","forwardRef","data","style","onItemPress","maxItems","showPageCounter","pageCounterPosition","pageCounterStyle","pageCounterTextStyle","PageCounterComponent","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomStatusChange","onPinchToZoomRequestClose","sharedTransitionTag","imageStyle","ref","undefined","Error","ActualPageCounterComponent","makeStyledPageCounter","listRef","useRef","currentItem","setCurrentItem","useState","slicedData","useMemo","slice","useEffect","current","scrollToIndex","index","animated","keyExtractor","useCallback","item","key","renderItem","ImageComponent","jsx","Pressable","onPress","recordInteraction","children","transition","placeholder","placeholderContentFit","recyclingKey","source","contentFit","contentPosition","onViewableItemsChanged","viewableItems","newIndex","scrollEnabled","setScrollEnabled","onScaleChange","onScaleReset","estimatedItemSize","internalOnPinchToZoomStatusChange","status","list","FlashList","renderScrollComponent","ScrollView","disableScrollViewPanResponder","mergeRefs","initialScrollIndex","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedListSize","width","height","jsxs","onDismiss","onStatusChange","maximumZoomScale","minimumZoomScale","length","totalPages","currentPage","textStyle","renderProp","_default","exports"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_flashList","_mergeRefs","_interopRequireDefault","_expoImage","_reactNative","_PageCounter","_PinchToZoom","_reactNativeGestureHandler","_renderProp","_reactNativeReanimated","_AbsoluteComponentContainer","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AnimatedImage","Animated","createAnimatedComponent","Image","BaseSimpleImageSlider","forwardRef","data","style","imageWidth","imageHeight","imageAspectRatio","onItemPress","maxItems","showPageCounter","pageCounterPosition","pageCounterStyle","pageCounterTextStyle","PageCounterComponent","PageCounter","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomStatusChange","onPinchToZoomRequestClose","sharedTransitionTag","imageStyle","ref","undefined","Error","listRef","useRef","styles","useMemo","makeStyles","slicedData","slice","estimatedItemSize","currentItem","setCurrentItem","useState","scrollEnabled","setScrollEnabled","snapToInterval","setSnapToInterval","handleScaleChange","useCallback","handleScaleReset","handleViewableItemsChanged","viewableItems","newIndex","index","handlePinchToZoomStatusChange","status","current","recordInteraction","renderItem","item","ImageComponent","jsx","Pressable","onPress","children","transition","placeholder","placeholderContentFit","recyclingKey","key","source","contentFit","contentPosition","image","keyExtractor","handleListLayout","event","Platform","OS","nativeEvent","layout","width","useEffect","scrollToIndex","animated","list","FlashList","renderScrollComponent","ScrollView","disableScrollViewPanResponder","mergeRefs","initialScrollIndex","onViewableItemsChanged","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedListSize","height","onLayout","jsxs","GestureHandlerRootView","container","pinchToZoom","onDismiss","onStatusChange","onScaleChange","onScaleReset","maximumZoomScale","minimumZoomScale","length","AbsoluteComponentContainer","position","totalPages","currentPage","textStyle","renderProp","StyleSheet","create","aspectRatio","zIndex","_default","exports"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,33 +9,14 @@ var _reactNative = require("react-native");
9
9
  var _IconX = _interopRequireDefault(require("./icons/IconX"));
10
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
11
  var _expoStatusBar = require("expo-status-bar");
12
- var _native = _interopRequireWildcard(require("styled-components/native"));
13
12
  var _BaseSimpleImageSlider = _interopRequireDefault(require("./BaseSimpleImageSlider"));
14
13
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
15
14
  var _renderProp = _interopRequireDefault(require("./utils/renderProp"));
15
+ var _SimpleImageSliderThemeProvider = require("./SimpleImageSliderThemeProvider");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
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
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 && {}.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 StyledDescriptionContainer = _native.default.View`
21
- position: absolute;
22
- border-top-width: 1px;
23
- border-top-color: ${({
24
- theme
25
- }) => theme.colors.simpleImageSlider.descriptionContainerBorder};
26
- width: 100%;
27
- padding-top: 20px;
28
- `;
29
- const StyledModalCloseButton = _native.default.TouchableOpacity`
30
- position: absolute;
31
- z-index: 1000;
32
- `;
33
- const StyledModalContentContainer = (0, _native.default)(_reactNativeReanimated.default.View)`
34
- align-items: center;
35
- justify-content: center;
36
- gap: 16px;
37
- `;
38
-
39
20
  /**
40
21
  * @description A full screen image slider that displays images in a modal.
41
22
  */
@@ -50,9 +31,9 @@ const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullS
50
31
  ...props
51
32
  }, ref) {
52
33
  const windowDimensions = (0, _reactNative.useWindowDimensions)();
53
- const theme = (0, _native.useTheme)();
34
+ const theme = (0, _SimpleImageSliderThemeProvider.useSimpleImageSliderTheme)();
54
35
  const safeAreaInsets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
55
- const styles = (0, _react.useMemo)(() => makeStyles(safeAreaInsets, windowDimensions), [safeAreaInsets, windowDimensions]);
36
+ const styles = (0, _react.useMemo)(() => makeStyles(safeAreaInsets, windowDimensions, theme), [safeAreaInsets, windowDimensions, theme]);
56
37
  const [internalIndex, setInternalIndex] = (0, _react.useState)(0);
57
38
  const internalOnViewableItemChange = (0, _react.useCallback)(index => {
58
39
  setInternalIndex(index);
@@ -75,8 +56,8 @@ const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullS
75
56
  translation,
76
57
  scale
77
58
  }) => {
78
- if (scale.value <= 1) {
79
- if (translation.x.value === 0 && translation.y.value === 0) {
59
+ if (scale <= 1) {
60
+ if (translation.x === 0 && translation.y === 0) {
80
61
  (0, _reactNativeReanimated.runOnJS)(_expoStatusBar.setStatusBarStyle)('light');
81
62
  backgroundOpacity.value = (0, _reactNativeReanimated.withTiming)(1);
82
63
  } else {
@@ -95,13 +76,13 @@ const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullS
95
76
  onRequestClose: onRequestClose,
96
77
  transparent: true,
97
78
  visible: open,
98
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledModalContentContainer, {
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
99
80
  style: [styles.modalContent, modalContentStyle],
100
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledModalCloseButton, {
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
101
82
  style: styles.closeButton,
102
83
  onPress: onRequestClose,
103
84
  children: CloseButtonIcon ? (0, _renderProp.default)(CloseButtonIcon) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconX.default, {
104
- color: theme.colors.simpleImageSlider.fullScreenCloseButton
85
+ color: theme.colors.fullScreenCloseButton
105
86
  })
106
87
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseSimpleImageSlider.default, {
107
88
  data: data,
@@ -113,7 +94,7 @@ const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullS
113
94
  onViewableItemChange: internalOnViewableItemChange,
114
95
  imageWidth: windowDimensions.width,
115
96
  ref: ref
116
- }), renderDescription && data[internalIndex] ? /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDescriptionContainer, {
97
+ }), renderDescription && data[internalIndex] ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
117
98
  style: styles.descriptionContainer,
118
99
  children: renderDescription(data[internalIndex], internalIndex)
119
100
  }) : null]
@@ -121,17 +102,27 @@ const FullScreenImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function FullS
121
102
  });
122
103
  });
123
104
  var _default = exports.default = FullScreenImageSlider;
124
- const makeStyles = (safeAreaInsets, windowDimensions) => {
105
+ const makeStyles = (safeAreaInsets, windowDimensions, theme) => {
125
106
  return _reactNative.StyleSheet.create({
126
107
  closeButton: {
108
+ position: 'absolute',
109
+ zIndex: 1000,
127
110
  top: safeAreaInsets.top,
128
111
  right: safeAreaInsets.right + 20
129
112
  },
130
113
  modalContent: {
114
+ alignItems: 'center',
115
+ justifyContent: 'center',
116
+ gap: 16,
131
117
  height: windowDimensions.height,
132
118
  width: windowDimensions.width
133
119
  },
134
120
  descriptionContainer: {
121
+ position: 'absolute',
122
+ borderTopWidth: 1,
123
+ borderTopColor: theme.colors.descriptionContainerBorder,
124
+ width: '100%',
125
+ paddingTop: 20,
135
126
  bottom: safeAreaInsets.bottom + 100,
136
127
  paddingLeft: safeAreaInsets.left + 20,
137
128
  paddingRight: safeAreaInsets.right + 20
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_IconX","_interopRequireDefault","_reactNativeReanimated","_expoStatusBar","_native","_BaseSimpleImageSlider","_reactNativeSafeAreaContext","_renderProp","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledDescriptionContainer","styled","View","theme","colors","simpleImageSlider","descriptionContainerBorder","StyledModalCloseButton","TouchableOpacity","StyledModalContentContainer","Animated","FullScreenImageSlider","forwardRef","CloseButtonIcon","open","onRequestClose","renderDescription","onViewableItemChange","onFadeOut","data","props","ref","windowDimensions","useWindowDimensions","useTheme","safeAreaInsets","useSafeAreaInsets","styles","useMemo","makeStyles","internalIndex","setInternalIndex","useState","internalOnViewableItemChange","useCallback","index","useEffect","setStatusBarStyle","backgroundOpacity","useSharedValue","modalContentStyle","useAnimatedStyle","backgroundColor","value","onPinchToZoomStatusChange","translation","scale","x","y","runOnJS","withTiming","jsx","Modal","animationType","transparent","visible","children","jsxs","style","modalContent","closeButton","onPress","renderProp","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":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_IconX","_interopRequireDefault","_reactNativeReanimated","_expoStatusBar","_BaseSimpleImageSlider","_reactNativeSafeAreaContext","_renderProp","_SimpleImageSliderThemeProvider","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FullScreenImageSlider","forwardRef","CloseButtonIcon","open","onRequestClose","renderDescription","onViewableItemChange","onFadeOut","data","props","ref","windowDimensions","useWindowDimensions","theme","useSimpleImageSliderTheme","safeAreaInsets","useSafeAreaInsets","styles","useMemo","makeStyles","internalIndex","setInternalIndex","useState","internalOnViewableItemChange","useCallback","index","useEffect","setStatusBarStyle","backgroundOpacity","useSharedValue","modalContentStyle","useAnimatedStyle","backgroundColor","value","onPinchToZoomStatusChange","translation","scale","x","y","runOnJS","withTiming","jsx","Modal","animationType","transparent","visible","children","jsxs","View","style","modalContent","TouchableOpacity","closeButton","onPress","renderProp","color","colors","fullScreenCloseButton","enablePinchToZoom","onPinchToZoomRequestClose","showPageCounter","imageWidth","width","descriptionContainer","_default","exports","StyleSheet","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":[]}