@one-am/react-native-simple-image-slider 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +15 -9
  2. package/lib/commonjs/@types/common.js.map +1 -1
  3. package/lib/commonjs/@types/icons.js.map +1 -1
  4. package/lib/commonjs/@types/pinch-to-zoom.js +0 -4
  5. package/lib/commonjs/@types/pinch-to-zoom.js.map +1 -1
  6. package/lib/commonjs/@types/slider.js.map +1 -1
  7. package/lib/commonjs/AbsoluteComponentContainer.js +34 -0
  8. package/lib/commonjs/AbsoluteComponentContainer.js.map +1 -0
  9. package/lib/commonjs/BaseSimpleImageSlider.js +129 -157
  10. package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -1
  11. package/lib/commonjs/FullScreenImageSlider.js +46 -51
  12. package/lib/commonjs/FullScreenImageSlider.js.map +1 -1
  13. package/lib/commonjs/PageCounter.js +30 -23
  14. package/lib/commonjs/PageCounter.js.map +1 -1
  15. package/lib/commonjs/PinchToZoom.js +16 -13
  16. package/lib/commonjs/PinchToZoom.js.map +1 -1
  17. package/lib/commonjs/SimpleImageSlider.js +31 -25
  18. package/lib/commonjs/SimpleImageSlider.js.map +1 -1
  19. package/lib/commonjs/SimpleImageSliderThemeProvider.js +26 -20
  20. package/lib/commonjs/SimpleImageSliderThemeProvider.js.map +1 -1
  21. package/lib/commonjs/icons/IconX.js +16 -14
  22. package/lib/commonjs/icons/IconX.js.map +1 -1
  23. package/lib/commonjs/index.js +10 -2
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/package.json +1 -0
  26. package/lib/commonjs/utils/clamp.js.map +1 -1
  27. package/lib/commonjs/utils/renderProp.js +3 -2
  28. package/lib/commonjs/utils/renderProp.js.map +1 -1
  29. package/lib/module/@types/common.js +1 -1
  30. package/lib/module/@types/common.js.map +1 -1
  31. package/lib/module/@types/icons.js +2 -0
  32. package/lib/module/@types/icons.js.map +1 -1
  33. package/lib/module/@types/pinch-to-zoom.js +1 -1
  34. package/lib/module/@types/pinch-to-zoom.js.map +1 -1
  35. package/lib/module/@types/slider.js +2 -0
  36. package/lib/module/@types/slider.js.map +1 -1
  37. package/lib/module/AbsoluteComponentContainer.js +28 -0
  38. package/lib/module/AbsoluteComponentContainer.js.map +1 -0
  39. package/lib/module/BaseSimpleImageSlider.js +130 -156
  40. package/lib/module/BaseSimpleImageSlider.js.map +1 -1
  41. package/lib/module/FullScreenImageSlider.js +47 -50
  42. package/lib/module/FullScreenImageSlider.js.map +1 -1
  43. package/lib/module/PageCounter.js +31 -23
  44. package/lib/module/PageCounter.js.map +1 -1
  45. package/lib/module/PinchToZoom.js +17 -12
  46. package/lib/module/PinchToZoom.js.map +1 -1
  47. package/lib/module/SimpleImageSlider.js +31 -23
  48. package/lib/module/SimpleImageSlider.js.map +1 -1
  49. package/lib/module/SimpleImageSliderThemeProvider.js +27 -20
  50. package/lib/module/SimpleImageSliderThemeProvider.js.map +1 -1
  51. package/lib/module/icons/IconX.js +16 -12
  52. package/lib/module/icons/IconX.js.map +1 -1
  53. package/lib/module/index.js +4 -2
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/package.json +1 -0
  56. package/lib/module/utils/clamp.js +2 -0
  57. package/lib/module/utils/clamp.js.map +1 -1
  58. package/lib/module/utils/renderProp.js +4 -1
  59. package/lib/module/utils/renderProp.js.map +1 -1
  60. package/lib/typescript/src/@types/pinch-to-zoom.d.ts +3 -4
  61. package/lib/typescript/src/@types/pinch-to-zoom.d.ts.map +1 -1
  62. package/lib/typescript/src/AbsoluteComponentContainer.d.ts +7 -0
  63. package/lib/typescript/src/AbsoluteComponentContainer.d.ts.map +1 -0
  64. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +1 -1
  65. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -1
  66. package/lib/typescript/src/FullScreenImageSlider.d.ts +4 -4
  67. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -1
  68. package/lib/typescript/src/PageCounter.d.ts.map +1 -1
  69. package/lib/typescript/src/PinchToZoom.d.ts.map +1 -1
  70. package/lib/typescript/src/SimpleImageSlider.d.ts +15 -3
  71. package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -1
  72. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts +10 -2
  73. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts.map +1 -1
  74. package/lib/typescript/src/index.d.ts +2 -3
  75. package/lib/typescript/src/index.d.ts.map +1 -1
  76. package/package.json +161 -161
  77. package/src/@types/pinch-to-zoom.ts +3 -5
  78. package/src/AbsoluteComponentContainer.tsx +30 -0
  79. package/src/BaseSimpleImageSlider.tsx +119 -150
  80. package/src/FullScreenImageSlider.tsx +40 -38
  81. package/src/PageCounter.tsx +35 -17
  82. package/src/PinchToZoom.tsx +10 -9
  83. package/src/SimpleImageSlider.tsx +10 -0
  84. package/src/SimpleImageSliderThemeProvider.tsx +32 -13
  85. package/src/index.tsx +7 -2
  86. package/lib/commonjs/@types/styled.d.js +0 -4
  87. package/lib/commonjs/@types/styled.d.js.map +0 -1
  88. package/lib/module/@types/styled.d.js +0 -2
  89. package/lib/module/@types/styled.d.js.map +0 -1
  90. 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
+
18
+ ```shell
19
+ npx expo install @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
20
+ react-native-gesture-handler react-native-safe-area-context @one-am/react-native-simple-image-slider
21
+ ```
22
+
23
+ ##### yarn
24
+
16
25
  ```shell
17
- npx expo install 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
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
@@ -24,17 +32,15 @@ npx expo install expo-image expo-haptics expo-status-bar react-native-reanimated
24
32
  ##### npm
25
33
 
26
34
  ```shell
27
- npm install 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
35
+ npm install @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 @one-am/react-native-simple-image-slider
30
37
  ```
31
38
 
32
39
  ##### yarn
33
40
 
34
41
  ```shell
35
- yarn add 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
42
+ yarn add @shopify/flash-list expo-image expo-haptics expo-status-bar react-native-reanimated react-native-svg \
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 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/common.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/common.ts"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/icons.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/icons.ts"],"mappings":"","ignoreList":[]}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/pinch-to-zoom.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/pinch-to-zoom.ts"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/slider.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/slider.ts"],"mappings":"","ignoreList":[]}
@@ -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,68 +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"));
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ var _AbsoluteComponentContainer = require("./AbsoluteComponentContainer");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
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); }
20
- 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; }
21
- const StyledAbsoluteComponentContainer = _native.default.View`
22
- z-index: 1000;
23
- position: absolute;
24
- bottom: ${({
25
- position
26
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
27
- top: ${({
28
- position
29
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
30
- left: ${({
31
- position
32
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
33
- right: ${({
34
- position
35
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
36
- `;
37
- const StyledPageCounter = (0, _native.default)(_PageCounter.default)`
38
- z-index: 1000;
39
- position: absolute;
40
- bottom: ${({
41
- position
42
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
43
- top: ${({
44
- position
45
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
46
- left: ${({
47
- position
48
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
49
- right: ${({
50
- position
51
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
52
- `;
53
- const StyledContainer = (0, _native.default)(_reactNativeGestureHandler.GestureHandlerRootView)`
54
- aspect-ratio: ${({
55
- aspectRatio
56
- }) => aspectRatio ?? 4 / 3};
57
- width: 100%;
58
- `;
59
- const StyledImage = (0, _native.default)(_expoImage.Image)`
60
- width: ${({
61
- imageWidth
62
- }) => imageWidth ? `${imageWidth}px` : '100%'};
63
- height: ${({
64
- imageHeight
65
- }) => imageHeight ? `${imageHeight}px` : '100%'};
66
- aspect-ratio: ${({
67
- imageAspectRatio
68
- }) => imageAspectRatio};
69
- `;
70
- const AnimatedStyledImage = _reactNativeReanimated.default.createAnimatedComponent(StyledImage);
71
- const StyledPinchToZoom = (0, _native.default)(_PinchToZoom.default)`
72
- z-index: 1000;
73
- `;
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 AnimatedImage = _reactNativeReanimated.default.createAnimatedComponent(_expoImage.Image);
74
23
 
75
24
  /**
76
25
  * @description A simple image slider that displays a list of images. This is the component
@@ -89,7 +38,7 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
89
38
  pageCounterPosition = 'bottom-left',
90
39
  pageCounterStyle,
91
40
  pageCounterTextStyle,
92
- PageCounterComponent,
41
+ PageCounterComponent = _PageCounter.default,
93
42
  renderPageCounter,
94
43
  TopRightComponent,
95
44
  TopLeftComponent,
@@ -106,82 +55,92 @@ const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseS
106
55
  if (renderPageCounter !== undefined && PageCounterComponent !== undefined) {
107
56
  throw new Error('You should provide either `renderPageCounter` or `PageCounterComponent`, not both.');
108
57
  }
109
- const ActualPageCounterComponent = PageCounterComponent ? makeStyledPageCounter(PageCounterComponent) : StyledPageCounter;
110
58
  const listRef = (0, _react.useRef)(null);
59
+ const styles = (0, _react.useMemo)(() => makeStyles({
60
+ imageAspectRatio,
61
+ imageWidth,
62
+ imageHeight
63
+ }), [imageAspectRatio, imageHeight, imageWidth]);
64
+ const slicedData = (0, _react.useMemo)(() => maxItems !== undefined ? data?.slice(0, maxItems) ?? [] : data ?? [], [data, maxItems]);
65
+ const estimatedItemSize = (0, _react.useMemo)(() => {
66
+ return imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350);
67
+ }, [imageAspectRatio, imageHeight, imageWidth]);
111
68
  const [currentItem, setCurrentItem] = (0, _react.useState)(0);
112
- const slicedData = (0, _react.useMemo)(() => maxItems !== undefined ? (data === null || data === void 0 ? void 0 : data.slice(0, maxItems)) ?? [] : data ?? [], [data, maxItems]);
113
- (0, _react.useEffect)(() => {
114
- var _listRef$current;
115
- setCurrentItem(indexOverride ?? 0);
116
- (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollToIndex({
117
- index: indexOverride ?? 0,
118
- animated: false
119
- });
120
- }, [indexOverride, slicedData]);
121
- const keyExtractor = (0, _react.useCallback)(item => item.key, []);
122
- const renderItem = (0, _react.useCallback)(({
123
- item,
124
- index
125
- }) => {
126
- const ImageComponent = sharedTransitionTag && index === currentItem ? AnimatedStyledImage : StyledImage;
127
- return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
128
- onPress: () => {
129
- var _listRef$current2;
130
- (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.recordInteraction();
131
- onItemPress === null || onItemPress === void 0 || onItemPress(item, index);
132
- }
133
- }, /*#__PURE__*/_react.default.createElement(ImageComponent, {
134
- sharedTransitionTag: sharedTransitionTag,
135
- transition: 200,
136
- placeholder: item.placeholder,
137
- placeholderContentFit: 'cover',
138
- imageWidth: imageWidth,
139
- imageHeight: imageHeight,
140
- imageAspectRatio: imageAspectRatio,
141
- recyclingKey: item.key,
142
- source: item.source,
143
- contentFit: 'cover',
144
- contentPosition: 'center',
145
- style: imageStyle
146
- }));
147
- }, [currentItem, imageAspectRatio, imageHeight, imageStyle, imageWidth, onItemPress, sharedTransitionTag]);
148
- const onViewableItemsChanged = (0, _react.useCallback)(({
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)(({
149
78
  viewableItems
150
79
  }) => {
151
- var _viewableItems$;
152
- const newIndex = (_viewableItems$ = viewableItems[0]) === null || _viewableItems$ === void 0 ? void 0 : _viewableItems$.index;
80
+ const newIndex = viewableItems[0]?.index;
153
81
  if (newIndex !== undefined && newIndex !== null) {
154
82
  setCurrentItem(newIndex);
155
- onViewableItemChange === null || onViewableItemChange === void 0 || onViewableItemChange(newIndex);
83
+ onViewableItemChange?.(newIndex);
156
84
  }
157
85
  }, [onViewableItemChange]);
158
- const [scrollEnabled, setScrollEnabled] = (0, _react.useState)(true);
159
- const onScaleChange = (0, _react.useCallback)(() => {
160
- setScrollEnabled(false);
161
- }, []);
162
- const onScaleReset = (0, _react.useCallback)(() => {
163
- setScrollEnabled(true);
164
- }, []);
165
- const estimatedItemSize = (0, _react.useMemo)(() => {
166
- return imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350);
167
- }, [imageAspectRatio, imageHeight, imageWidth]);
168
- const internalOnPinchToZoomStatusChange = (0, _react.useCallback)(status => {
169
- var _listRef$current3;
170
- (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.recordInteraction();
171
- onPinchToZoomStatusChange === null || onPinchToZoomStatusChange === void 0 || onPinchToZoomStatusChange(status);
86
+ const handlePinchToZoomStatusChange = (0, _react.useCallback)(status => {
87
+ listRef.current?.recordInteraction();
88
+ onPinchToZoomStatusChange?.(status);
172
89
  }, [onPinchToZoomStatusChange]);
173
- const list = /*#__PURE__*/_react.default.createElement(_flashList.FlashList, {
90
+ const renderItem = (0, _react.useCallback)(({
91
+ item,
92
+ index
93
+ }) => {
94
+ const ImageComponent = sharedTransitionTag && index === currentItem ? AnimatedImage : _expoImage.Image;
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
96
+ onPress: () => {
97
+ listRef.current?.recordInteraction();
98
+ onItemPress?.(item, index);
99
+ },
100
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ImageComponent, {
101
+ sharedTransitionTag: sharedTransitionTag,
102
+ transition: 200
103
+ // https://github.com/expo/expo/issues/34810
104
+ /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */,
105
+ placeholder: item.placeholder,
106
+ placeholderContentFit: 'cover',
107
+ recyclingKey: item.key
108
+ // https://github.com/expo/expo/issues/34810
109
+ /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */,
110
+ source: item.source,
111
+ contentFit: 'cover',
112
+ contentPosition: 'center',
113
+ style: [styles.image, imageStyle]
114
+ })
115
+ });
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);
122
+ }
123
+ }, []);
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,49 +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
156
+ });
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,
161
+ onDismiss: onPinchToZoomRequestClose,
162
+ onStatusChange: handlePinchToZoomStatusChange,
163
+ onScaleChange: handleScaleChange,
164
+ onScaleReset: handleScaleReset,
165
+ maximumZoomScale: 5,
166
+ minimumZoomScale: 1,
167
+ children: list
168
+ }) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
169
+ position: pageCounterPosition,
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, {
177
+ position: 'top-right',
178
+ children: (0, _renderProp.default)(TopRightComponent)
179
+ }) : null, TopLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
180
+ position: 'top-left',
181
+ children: (0, _renderProp.default)(TopLeftComponent)
182
+ }) : null, BottomRightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
183
+ position: 'bottom-right',
184
+ children: (0, _renderProp.default)(BottomRightComponent)
185
+ }) : null, BottomLeftComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AbsoluteComponentContainer.AbsoluteComponentContainer, {
186
+ position: 'bottom-left',
187
+ children: (0, _renderProp.default)(BottomLeftComponent)
188
+ }) : null]
196
189
  });
197
- return /*#__PURE__*/_react.default.createElement(StyledContainer, {
198
- aspectRatio: imageAspectRatio,
199
- style: style
200
- }, enablePinchToZoom ? /*#__PURE__*/_react.default.createElement(StyledPinchToZoom, {
201
- onDismiss: onPinchToZoomRequestClose,
202
- onStatusChange: internalOnPinchToZoomStatusChange,
203
- onScaleChange: onScaleChange,
204
- onScaleReset: onScaleReset,
205
- maximumZoomScale: 5,
206
- minimumZoomScale: 1
207
- }, list) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/_react.default.createElement(ActualPageCounterComponent, {
208
- position: pageCounterPosition,
209
- totalPages: slicedData.length,
210
- currentPage: currentItem + 1,
211
- style: pageCounterStyle,
212
- textStyle: pageCounterTextStyle
213
- }) : null, TopRightComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
214
- position: 'top-right'
215
- }, (0, _renderProp.default)(TopRightComponent)) : null, TopLeftComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
216
- position: 'top-left'
217
- }, (0, _renderProp.default)(TopLeftComponent)) : null, BottomRightComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
218
- position: 'bottom-right'
219
- }, (0, _renderProp.default)(BottomRightComponent)) : null, BottomLeftComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
220
- position: 'bottom-left'
221
- }, (0, _renderProp.default)(BottomLeftComponent)) : null);
222
190
  });
223
- const makeStyledPageCounter = PageCounterComponent => (0, _native.default)(PageCounterComponent)`
224
- z-index: 1000;
225
- position: absolute;
226
- bottom: ${({
227
- position
228
- }) => position === 'bottom-left' || position === 'bottom-right' ? `16px` : 'auto'};
229
- top: ${({
230
- position
231
- }) => position === 'top-left' || position === 'top-right' ? `16px` : 'auto'};
232
- left: ${({
233
- position
234
- }) => position === 'top-left' || position === 'bottom-left' ? `16px` : 'auto'};
235
- right: ${({
236
- position
237
- }) => position === 'top-right' || position === 'bottom-right' ? `16px` : 'auto'};
238
- `;
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
+ };
239
211
  var _default = exports.default = BaseSimpleImageSlider;
240
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","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","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","_listRef$current","current","scrollToIndex","index","animated","keyExtractor","useCallback","item","key","renderItem","ImageComponent","createElement","Pressable","onPress","_listRef$current2","recordInteraction","transition","placeholder","placeholderContentFit","recyclingKey","source","contentFit","contentPosition","onViewableItemsChanged","viewableItems","_viewableItems$","newIndex","scrollEnabled","setScrollEnabled","onScaleChange","onScaleReset","estimatedItemSize","internalOnPinchToZoomStatusChange","status","_listRef$current3","list","FlashList","renderScrollComponent","ScrollView","disableScrollViewPanResponder","mergeRefs","initialScrollIndex","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedListSize","width","height","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":[]}