@one-am/react-native-simple-image-slider 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -45
- package/lib/commonjs/BaseSimpleImageSlider.js +11 -7
- package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -1
- package/lib/commonjs/PageCounter.js +5 -2
- package/lib/commonjs/PageCounter.js.map +1 -1
- package/lib/commonjs/SimpleImageSlider.js +5 -1
- package/lib/commonjs/SimpleImageSlider.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/BaseSimpleImageSlider.js +11 -7
- package/lib/module/BaseSimpleImageSlider.js.map +1 -1
- package/lib/module/PageCounter.js +5 -2
- package/lib/module/PageCounter.js.map +1 -1
- package/lib/module/SimpleImageSlider.js +5 -1
- package/lib/module/SimpleImageSlider.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts +81 -4
- package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -1
- package/lib/typescript/src/PageCounter.d.ts +7 -4
- package/lib/typescript/src/PageCounter.d.ts.map +1 -1
- package/lib/typescript/src/SimpleImageSlider.d.ts +17 -0
- package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/BaseSimpleImageSlider.tsx +91 -10
- package/src/PageCounter.tsx +13 -4
- package/src/SimpleImageSlider.tsx +20 -2
- package/src/index.tsx +3 -0
package/README.md
CHANGED
|
@@ -40,51 +40,20 @@ yarn add expo-image expo-haptics expo-status-bar react-native-reanimated react-n
|
|
|
40
40
|
## Usage
|
|
41
41
|
|
|
42
42
|
```typescript jsx
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
|
|
58
|
-
import { useWindowDimensions } from 'react-native';
|
|
59
|
-
|
|
60
|
-
const photos = [pictureOne, pictureTwo, pictureThree, pictureFour, pictureFive];
|
|
61
|
-
|
|
62
|
-
const StyledContainer = styled(SafeAreaView)`
|
|
63
|
-
flex: 1;
|
|
64
|
-
align-items: center;
|
|
65
|
-
justify-content: center;
|
|
66
|
-
`;
|
|
67
|
-
|
|
68
|
-
export default function App() {
|
|
69
|
-
const { width } = useWindowDimensions();
|
|
70
|
-
return (
|
|
71
|
-
<SafeAreaProvider>
|
|
72
|
-
<StyledContainer>
|
|
73
|
-
<SimpleImageSliderThemeProvider>
|
|
74
|
-
<SimpleImageSlider
|
|
75
|
-
data={photos.map((photo, index) => ({
|
|
76
|
-
source: photo,
|
|
77
|
-
key: index.toString(),
|
|
78
|
-
}))}
|
|
79
|
-
imageWidth={width}
|
|
80
|
-
imageAspectRatio={16 / 9}
|
|
81
|
-
fullScreenEnabled={true}
|
|
82
|
-
/>
|
|
83
|
-
</SimpleImageSliderThemeProvider>
|
|
84
|
-
</StyledContainer>
|
|
85
|
-
</SafeAreaProvider>
|
|
86
|
-
);
|
|
87
|
-
}
|
|
43
|
+
<SimpleImageSliderThemeProvider>
|
|
44
|
+
<SimpleImageSlider
|
|
45
|
+
data={photos.map((photo, index) => ({
|
|
46
|
+
source: photo,
|
|
47
|
+
key: index.toString(),
|
|
48
|
+
}))}
|
|
49
|
+
imageWidth={width}
|
|
50
|
+
imageAspectRatio={16 / 9}
|
|
51
|
+
fullScreenEnabled={true}
|
|
52
|
+
renderFullScreenDescription={(_, index) => (
|
|
53
|
+
<Text style={{ color: '#ffffff' }}>Picture {index}</Text>
|
|
54
|
+
)}
|
|
55
|
+
/>
|
|
56
|
+
</SimpleImageSliderThemeProvider>
|
|
88
57
|
```
|
|
89
58
|
|
|
90
59
|
## Contributing
|
|
@@ -64,7 +64,7 @@ const StyledImage = (0, _native.default)(_expoImage.Image)`
|
|
|
64
64
|
}) => imageHeight ? `${imageHeight}px` : '100%'};
|
|
65
65
|
aspect-ratio: ${({
|
|
66
66
|
imageAspectRatio
|
|
67
|
-
}) => imageAspectRatio
|
|
67
|
+
}) => imageAspectRatio};
|
|
68
68
|
`;
|
|
69
69
|
const StyledPinchToZoom = (0, _native.default)(_PinchToZoom.default)`
|
|
70
70
|
z-index: 1000;
|
|
@@ -75,16 +75,18 @@ const StyledPinchToZoom = (0, _native.default)(_PinchToZoom.default)`
|
|
|
75
75
|
* that {@link SimpleImageSlider} and {@link FullScreenImageSlider}
|
|
76
76
|
* are built upon. You should normally use one of those two components instead of this one.
|
|
77
77
|
*/
|
|
78
|
-
const
|
|
78
|
+
const BaseSimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseSimpleImageSlider({
|
|
79
79
|
data,
|
|
80
80
|
style,
|
|
81
81
|
imageWidth,
|
|
82
82
|
imageHeight,
|
|
83
|
-
imageAspectRatio,
|
|
83
|
+
imageAspectRatio = 4 / 3,
|
|
84
84
|
onItemPress,
|
|
85
|
-
|
|
85
|
+
maxItems,
|
|
86
86
|
showPageCounter = true,
|
|
87
87
|
pageCounterPosition = 'bottom-left',
|
|
88
|
+
pageCounterStyle,
|
|
89
|
+
pageCounterTextStyle,
|
|
88
90
|
renderPageCounter,
|
|
89
91
|
TopRightComponent,
|
|
90
92
|
TopLeftComponent,
|
|
@@ -98,7 +100,7 @@ const BaseListImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseLis
|
|
|
98
100
|
}, ref) {
|
|
99
101
|
const listRef = (0, _react.useRef)(null);
|
|
100
102
|
const [currentItem, setCurrentItem] = (0, _react.useState)(0);
|
|
101
|
-
const slicedData = (0, _react.useMemo)(() =>
|
|
103
|
+
const slicedData = (0, _react.useMemo)(() => maxItems !== undefined ? (data === null || data === void 0 ? void 0 : data.slice(0, maxItems)) ?? [] : data ?? [], [data, maxItems]);
|
|
102
104
|
(0, _react.useEffect)(() => {
|
|
103
105
|
var _listRef$current;
|
|
104
106
|
setCurrentItem(indexOverride ?? 0);
|
|
@@ -177,7 +179,9 @@ const BaseListImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseLis
|
|
|
177
179
|
}, list) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/_react.default.createElement(StyledPageCounter, {
|
|
178
180
|
position: pageCounterPosition,
|
|
179
181
|
totalPages: slicedData.length,
|
|
180
|
-
currentPage: currentItem + 1
|
|
182
|
+
currentPage: currentItem + 1,
|
|
183
|
+
style: pageCounterStyle,
|
|
184
|
+
textStyle: pageCounterTextStyle
|
|
181
185
|
}) : null, TopRightComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
182
186
|
position: 'top-right'
|
|
183
187
|
}, (0, _renderProp.default)(TopRightComponent)) : null, TopLeftComponent ? /*#__PURE__*/_react.default.createElement(StyledAbsoluteComponentContainer, {
|
|
@@ -188,5 +192,5 @@ const BaseListImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function BaseLis
|
|
|
188
192
|
position: 'bottom-left'
|
|
189
193
|
}, (0, _renderProp.default)(BottomLeftComponent)) : null);
|
|
190
194
|
});
|
|
191
|
-
var _default = exports.default =
|
|
195
|
+
var _default = exports.default = BaseSimpleImageSlider;
|
|
192
196
|
//# sourceMappingURL=BaseSimpleImageSlider.js.map
|
|
@@ -1 +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","undefined","StyledPageCounter","PageCounter","StyledContainer","GestureHandlerRootView","aspectRatio","StyledImage","Image","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","PinchToZoom","
|
|
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","undefined","StyledPageCounter","PageCounter","StyledContainer","GestureHandlerRootView","aspectRatio","StyledImage","Image","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","PinchToZoom","BaseSimpleImageSlider","forwardRef","data","style","onItemPress","maxItems","showPageCounter","pageCounterPosition","pageCounterStyle","pageCounterTextStyle","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomStatusChange","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","onDismiss","onTranslationChange","maximumZoomScale","minimumZoomScale","length","totalPages","currentPage","textStyle","renderProp","_default","exports"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,YAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,YAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,0BAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAP,sBAAA,CAAAH,OAAA;AAAiE,SAAAG,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;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,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAsGjE,MAAMY,gCAAgC,GAAGC,eAAM,CAACC,IAE7C;AACH;AACA;AACA,cAAc,CAAC;EAAEC;AAAS,CAAC,KACnBA,QAAQ,KAAK,aAAa,IAAIA,QAAQ,KAAK,cAAc,GAAI,MAAK,GAAGC,SAAU;AACvF,WAAW,CAAC;EAAED;AAAS,CAAC,KAChBA,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,WAAW,GAAI,MAAK,GAAGC,SAAU;AACjF,YAAY,CAAC;EAAED;AAAS,CAAC,KACjBA,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,aAAa,GAAI,MAAK,GAAGC,SAAU;AACnF,aAAa,CAAC;EAAED;AAAS,CAAC,KAClBA,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,cAAc,GAAI,MAAK,GAAGC,SAAU;AACrF,CAAC;AAED,MAAMC,iBAAiB,GAAG,IAAAJ,eAAM,EAACK,oBAAW,CAEzC;AACH;AACA;AACA,cAAc,CAAC;EAAEH;AAAS,CAAC,KACnBA,QAAQ,KAAK,aAAa,IAAIA,QAAQ,KAAK,cAAc,GAAI,MAAK,GAAGC,SAAU;AACvF,WAAW,CAAC;EAAED;AAAS,CAAC,KAChBA,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,WAAW,GAAI,MAAK,GAAGC,SAAU;AACjF,YAAY,CAAC;EAAED;AAAS,CAAC,KACjBA,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,aAAa,GAAI,MAAK,GAAGC,SAAU;AACnF,aAAa,CAAC;EAAED;AAAS,CAAC,KAClBA,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,cAAc,GAAI,MAAK,GAAGC,SAAU;AACrF,CAAC;AAED,MAAMG,eAAe,GAAG,IAAAN,eAAM,EAACO,iDAAsB,CAA4B;AACjF,oBAAoB,CAAC;EAAEC;AAAY,CAAC,KAAKA,WAAW,IAAI,CAAC,GAAG,CAAE;AAC9D;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,IAAAT,eAAM,EAACU,gBAAK,CAM9B;AACF,aAAa,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,GAAI,GAAEA,UAAW,IAAG,GAAG,MAAQ;AAC3E,cAAc,CAAC;EAAEC;AAAY,CAAC,KAAMA,WAAW,GAAI,GAAEA,WAAY,IAAG,GAAG,MAAQ;AAC/E,oBAAoB,CAAC;EAAEC;AAAiB,CAAC,KAAKA,gBAAiB;AAC/D,CAAC;AAED,MAAMC,iBAAiB,GAAG,IAAAd,eAAM,EAACe,oBAAW,CAAE;AAC9C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,gBAAG,IAAAC,iBAAU,EAGtC,SAASD,qBAAqBA,CAC5B;EACIE,IAAI;EACJC,KAAK;EACLR,UAAU;EACVC,WAAW;EACXC,gBAAgB,GAAG,CAAC,GAAG,CAAC;EACxBO,WAAW;EACXC,QAAQ;EACRC,eAAe,GAAG,IAAI;EACtBC,mBAAmB,GAAG,aAAa;EACnCC,gBAAgB;EAChBC,oBAAoB;EACpBC,iBAAiB;EACjBC,iBAAiB;EACjBC,gBAAgB;EAChBC,oBAAoB;EACpBC,mBAAmB;EACnBC,aAAa;EACbC,oBAAoB;EACpBC,iBAAiB,GAAG,KAAK;EACzBC,yBAAyB;EACzBC;AACJ,CAAC,EACDC,GAAG,EACL;EACE,MAAMC,OAAO,GAAG,IAAAC,aAAM,EAAmC,IAAI,CAAC;EAC9D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EAEjD,MAAMC,UAAU,GAAG,IAAAC,cAAO,EACtB,MAAOtB,QAAQ,KAAKlB,SAAS,GAAG,CAAAe,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0B,KAAK,CAAC,CAAC,EAAEvB,QAAQ,CAAC,KAAI,EAAE,GAAGH,IAAI,IAAI,EAAG,EAC5E,CAACA,IAAI,EAAEG,QAAQ,CACnB,CAAC;EAED,IAAAwB,gBAAS,EAAC,MAAM;IAAA,IAAAC,gBAAA;IACZN,cAAc,CAACT,aAAa,IAAI,CAAC,CAAC;IAElC,CAAAe,gBAAA,GAAAT,OAAO,CAACU,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,aAAa,CAAC;MAAEC,KAAK,EAAElB,aAAa,IAAI,CAAC;MAAEmB,QAAQ,EAAE;IAAM,CAAC,CAAC;EAClF,CAAC,EAAE,CAACnB,aAAa,EAAEW,UAAU,CAAC,CAAC;EAE/B,MAAMS,YAAY,GAAG,IAAAC,kBAAW,EAAEC,IAA2B,IAAKA,IAAI,CAACC,GAAG,EAAE,EAAE,CAAC;EAE/E,MAAMC,UAAU,GAAG,IAAAH,kBAAW,EAC1B,CAAC;IAAEC,IAAI;IAAEJ;EAAiD,CAAC,KAAK;IAC5D,oBACIrF,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACrF,YAAA,CAAAsF,SAAS;MAACC,OAAO,EAAEA,CAAA,KAAMtC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGiC,IAAI,EAAEJ,KAAK;IAAE,gBACjDrF,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAAC/C,WAAW;MACRkD,UAAU,EAAE,GAAI;MAChBC,WAAW,EAAEP,IAAI,CAACO,WAAY;MAC9BC,qBAAqB,EAAE,OAAQ;MAC/BlD,UAAU,EAAEA,UAAW;MACvBC,WAAW,EAAEA,WAAY;MACzBC,gBAAgB,EAAEA,gBAAiB;MACnCiD,YAAY,EAAET,IAAI,CAACC,GAAI;MACvBS,MAAM,EAAEV,IAAI,CAACU,MAAO;MACpBC,UAAU,EAAE,OAAQ;MACpBC,eAAe,EAAE;IAAS,CAC7B,CACM,CAAC;EAEpB,CAAC,EACD,CAACpD,gBAAgB,EAAED,WAAW,EAAED,UAAU,EAAES,WAAW,CAC3D,CAAC;EAED,MAAM8C,sBAAsB,GAAG,IAAAd,kBAAW,EACtC,CAAC;IAAEe;EAAoE,CAAC,KAAK;IAAA,IAAAC,eAAA;IACzE,MAAMC,QAAQ,IAAAD,eAAA,GAAGD,aAAa,CAAC,CAAC,CAAC,cAAAC,eAAA,uBAAhBA,eAAA,CAAkBnB,KAAK;IACxC,IAAIoB,QAAQ,KAAKlE,SAAS,IAAIkE,QAAQ,KAAK,IAAI,EAAE;MAC7C7B,cAAc,CAAC6B,QAAQ,CAAC;MACxBrC,oBAAoB,aAApBA,oBAAoB,eAApBA,oBAAoB,CAAGqC,QAAQ,CAAC;IACpC;EACJ,CAAC,EACD,CAACrC,oBAAoB,CACzB,CAAC;EAED,MAAM,CAACsC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAA9B,eAAQ,EAAC,IAAI,CAAC;EAExD,MAAM+B,aAAa,GAAG,IAAApB,kBAAW,EAAC,MAAM;IACpCmB,gBAAgB,CAAC,KAAK,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,YAAY,GAAG,IAAArB,kBAAW,EAAC,MAAM;IACnCmB,gBAAgB,CAAC,IAAI,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,IAAI,gBACN9G,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACzF,UAAA,CAAA4G,SAAS;IACNC,qBAAqB,EAAEC,qCAAW;IAClCP,aAAa,EAAEA,aAAc;IAC7BQ,6BAA6B,EAAE7C,iBAAiB,GAAG,CAACqC,aAAa,GAAG,KAAM;IAC1ElC,GAAG,EAAE,IAAA2C,kBAAS,EAAC3C,GAAG,EAAEC,OAAO,CAAE;IAC7B2C,kBAAkB,EAAEjD,aAAa,IAAIQ,WAAW,IAAI,CAAE;IACtD2B,sBAAsB,EAAEA,sBAAuB;IAC/Ce,iBAAiB,EAAE;MACfC,2BAA2B,EAAE;IACjC,CAAE;IACFC,gBAAgB,EAAE,MAAO;IACzBC,aAAa,EAAE,IAAK;IACpBC,8BAA8B,EAAE,KAAM;IACtCC,4BAA4B,EAAE,KAAM;IACpCC,UAAU,EAAE,IAAK;IACjBpC,YAAY,EAAEA,YAAa;IAC3BI,UAAU,EAAEA,UAAW;IACvBrC,IAAI,EAAEwB,UAAW;IACjB8C,iBAAiB,EACb7E,UAAU,KAAKC,WAAW,GAAGA,WAAW,IAAIC,gBAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;EAC/E,CACJ,CACJ;EAED,oBACIjD,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAAClD,eAAe;IAACE,WAAW,EAAEK,gBAAiB;IAACM,KAAK,EAAEA;EAAM,GACxDc,iBAAiB,gBACdrE,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAAC1C,iBAAiB;IACd2E,SAAS,EAAEtD,yBAA0B;IACrCuD,mBAAmB,EAAExD,yBAA0B;IAC/CsC,aAAa,EAAEA,aAAc;IAC7BC,YAAY,EAAEA,YAAa;IAC3BkB,gBAAgB,EAAE,CAAE;IACpBC,gBAAgB,EAAE;EAAE,GAEnBlB,IACc,CAAC,GAEpBA,IACH,EACApD,eAAe,GACZI,iBAAiB,GACbA,iBAAiB,CAACa,WAAW,GAAG,CAAC,EAAEG,UAAU,CAACmD,MAAM,CAAC,gBAErDjI,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACpD,iBAAiB;IACdF,QAAQ,EAAEqB,mBAAoB;IAC9BuE,UAAU,EAAEpD,UAAU,CAACmD,MAAO;IAC9BE,WAAW,EAAExD,WAAW,GAAG,CAAE;IAC7BpB,KAAK,EAAEK,gBAAiB;IACxBwE,SAAS,EAAEvE;EAAqB,CACnC,CACJ,GACD,IAAI,EACPE,iBAAiB,gBACd/D,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACzD,gCAAgC;IAACG,QAAQ,EAAE;EAAY,GACnD,IAAA+F,mBAAU,EAACtE,iBAAiB,CACC,CAAC,GACnC,IAAI,EACPC,gBAAgB,gBACbhE,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACzD,gCAAgC;IAACG,QAAQ,EAAE;EAAW,GAClD,IAAA+F,mBAAU,EAACrE,gBAAgB,CACE,CAAC,GACnC,IAAI,EACPC,oBAAoB,gBACjBjE,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACzD,gCAAgC;IAACG,QAAQ,EAAE;EAAe,GACtD,IAAA+F,mBAAU,EAACpE,oBAAoB,CACF,CAAC,GACnC,IAAI,EACPC,mBAAmB,gBAChBlE,MAAA,CAAAe,OAAA,CAAA6E,aAAA,CAACzD,gCAAgC;IAACG,QAAQ,EAAE;EAAc,GACrD,IAAA+F,mBAAU,EAACnE,mBAAmB,CACD,CAAC,GACnC,IACS,CAAC;AAE1B,CAAC,CAAC;AAAC,IAAAoE,QAAA,GAAAC,OAAA,CAAAxH,OAAA,GAEYqC,qBAAqB","ignoreList":[]}
|
|
@@ -26,10 +26,13 @@ const StyledContainer = _native.default.View`
|
|
|
26
26
|
function PageCounter({
|
|
27
27
|
currentPage,
|
|
28
28
|
totalPages,
|
|
29
|
-
style
|
|
29
|
+
style,
|
|
30
|
+
textStyle
|
|
30
31
|
}) {
|
|
31
32
|
return /*#__PURE__*/_react.default.createElement(StyledContainer, {
|
|
32
33
|
style: style
|
|
33
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text,
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
35
|
+
style: textStyle
|
|
36
|
+
}, currentPage, " / ", totalPages));
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=PageCounter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_native","obj","__esModule","default","StyledContainer","styled","View","theme","colors","simpleImageSlider","pageCounterBackground","pageCounterBorder","PageCounter","currentPage","totalPages","style","createElement","Text"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_native","obj","__esModule","default","StyledContainer","styled","View","theme","colors","simpleImageSlider","pageCounterBackground","pageCounterBorder","PageCounter","currentPage","totalPages","style","textStyle","createElement","Text"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAqB9C,MAAMG,eAAe,GAAGC,eAAM,CAACC,IAAK;AACpC,wBAAwB,CAAC;EAAEC;AAAM,CAAC,KAAKA,KAAK,CAACC,MAAM,CAACC,iBAAiB,CAACC,qBAAsB;AAC5F;AACA,oBAAoB,CAAC;EAAEH;AAAM,CAAC,KAAKA,KAAK,CAACC,MAAM,CAACC,iBAAiB,CAACE,iBAAkB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEc,SAASC,WAAWA,CAAC;EAChCC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,oBACIpB,MAAA,CAAAO,OAAA,CAAAc,aAAA,CAACb,eAAe;IAACW,KAAK,EAAEA;EAAM,gBAC1BnB,MAAA,CAAAO,OAAA,CAAAc,aAAA,CAAClB,YAAA,CAAAmB,IAAI;IAACH,KAAK,EAAEC;EAAU,GAClBH,WAAW,EAAC,KAAG,EAACC,UACf,CACO,CAAC;AAE1B","ignoreList":[]}
|
|
@@ -20,6 +20,8 @@ const SimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function ListImage
|
|
|
20
20
|
fullScreenEnabled = false,
|
|
21
21
|
onItemPress,
|
|
22
22
|
onViewableItemChange,
|
|
23
|
+
FullScreenCloseButtonIcon,
|
|
24
|
+
renderFullScreenDescription,
|
|
23
25
|
...props
|
|
24
26
|
}, ref) {
|
|
25
27
|
const listRef = (0, _react.useRef)(null);
|
|
@@ -55,7 +57,9 @@ const SimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function ListImage
|
|
|
55
57
|
data: data,
|
|
56
58
|
showPageCounter: false,
|
|
57
59
|
indexOverride: currentIndex,
|
|
58
|
-
onViewableItemChange: onFullScreenViewableItemChange
|
|
60
|
+
onViewableItemChange: onFullScreenViewableItemChange,
|
|
61
|
+
renderDescription: renderFullScreenDescription,
|
|
62
|
+
CloseButtonIcon: FullScreenCloseButtonIcon
|
|
59
63
|
})) : null);
|
|
60
64
|
});
|
|
61
65
|
var _default = exports.default = SimpleImageSlider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_mergeRefs","_interopRequireDefault","_FullScreenImageSlider","_BaseSimpleImageSlider","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","SimpleImageSlider","forwardRef","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","props","ref","listRef","useRef","fullScreenListRef","fullScreen","setFullScreen","useState","currentIndex","setCurrentIndex","internalOnViewableItemChange","useCallback","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","_listRef$current","current","scrollToIndex","createElement","Fragment","mergeRefs","open","showPageCounter","indexOverride","_default","exports"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA+F,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;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,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_mergeRefs","_interopRequireDefault","_FullScreenImageSlider","_BaseSimpleImageSlider","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","SimpleImageSlider","forwardRef","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","FullScreenCloseButtonIcon","renderFullScreenDescription","props","ref","listRef","useRef","fullScreenListRef","fullScreen","setFullScreen","useState","currentIndex","setCurrentIndex","internalOnViewableItemChange","useCallback","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","_listRef$current","current","scrollToIndex","createElement","Fragment","mergeRefs","open","showPageCounter","indexOverride","renderDescription","CloseButtonIcon","_default","exports"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "FullScreenImageSlider", {
|
|
|
15
15
|
return _FullScreenImageSlider.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "PageCounter", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _PageCounter.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "PinchToZoom", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -38,5 +44,6 @@ var _BaseSimpleImageSlider = _interopRequireDefault(require("./BaseSimpleImageSl
|
|
|
38
44
|
var _SimpleImageSlider = _interopRequireDefault(require("./SimpleImageSlider"));
|
|
39
45
|
var _FullScreenImageSlider = _interopRequireDefault(require("./FullScreenImageSlider"));
|
|
40
46
|
var _PinchToZoom = _interopRequireDefault(require("./PinchToZoom"));
|
|
47
|
+
var _PageCounter = _interopRequireDefault(require("./PageCounter"));
|
|
41
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
42
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SimpleImageSliderThemeProvider","_interopRequireDefault","require","_BaseSimpleImageSlider","_SimpleImageSlider","_FullScreenImageSlider","_PinchToZoom","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_SimpleImageSliderThemeProvider","_interopRequireDefault","require","_BaseSimpleImageSlider","_SimpleImageSlider","_FullScreenImageSlider","_PinchToZoom","_PageCounter","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,+BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,sBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,YAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAmE,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
|
|
@@ -55,7 +55,7 @@ const StyledImage = styled(Image)`
|
|
|
55
55
|
}) => imageHeight ? `${imageHeight}px` : '100%'};
|
|
56
56
|
aspect-ratio: ${({
|
|
57
57
|
imageAspectRatio
|
|
58
|
-
}) => imageAspectRatio
|
|
58
|
+
}) => imageAspectRatio};
|
|
59
59
|
`;
|
|
60
60
|
const StyledPinchToZoom = styled(PinchToZoom)`
|
|
61
61
|
z-index: 1000;
|
|
@@ -66,16 +66,18 @@ const StyledPinchToZoom = styled(PinchToZoom)`
|
|
|
66
66
|
* that {@link SimpleImageSlider} and {@link FullScreenImageSlider}
|
|
67
67
|
* are built upon. You should normally use one of those two components instead of this one.
|
|
68
68
|
*/
|
|
69
|
-
const
|
|
69
|
+
const BaseSimpleImageSlider = /*#__PURE__*/forwardRef(function BaseSimpleImageSlider({
|
|
70
70
|
data,
|
|
71
71
|
style,
|
|
72
72
|
imageWidth,
|
|
73
73
|
imageHeight,
|
|
74
|
-
imageAspectRatio,
|
|
74
|
+
imageAspectRatio = 4 / 3,
|
|
75
75
|
onItemPress,
|
|
76
|
-
|
|
76
|
+
maxItems,
|
|
77
77
|
showPageCounter = true,
|
|
78
78
|
pageCounterPosition = 'bottom-left',
|
|
79
|
+
pageCounterStyle,
|
|
80
|
+
pageCounterTextStyle,
|
|
79
81
|
renderPageCounter,
|
|
80
82
|
TopRightComponent,
|
|
81
83
|
TopLeftComponent,
|
|
@@ -89,7 +91,7 @@ const BaseListImageSlider = /*#__PURE__*/forwardRef(function BaseListImageSlider
|
|
|
89
91
|
}, ref) {
|
|
90
92
|
const listRef = useRef(null);
|
|
91
93
|
const [currentItem, setCurrentItem] = useState(0);
|
|
92
|
-
const slicedData = useMemo(() =>
|
|
94
|
+
const slicedData = useMemo(() => maxItems !== undefined ? (data === null || data === void 0 ? void 0 : data.slice(0, maxItems)) ?? [] : data ?? [], [data, maxItems]);
|
|
93
95
|
useEffect(() => {
|
|
94
96
|
var _listRef$current;
|
|
95
97
|
setCurrentItem(indexOverride ?? 0);
|
|
@@ -168,7 +170,9 @@ const BaseListImageSlider = /*#__PURE__*/forwardRef(function BaseListImageSlider
|
|
|
168
170
|
}, list) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/React.createElement(StyledPageCounter, {
|
|
169
171
|
position: pageCounterPosition,
|
|
170
172
|
totalPages: slicedData.length,
|
|
171
|
-
currentPage: currentItem + 1
|
|
173
|
+
currentPage: currentItem + 1,
|
|
174
|
+
style: pageCounterStyle,
|
|
175
|
+
textStyle: pageCounterTextStyle
|
|
172
176
|
}) : null, TopRightComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
|
|
173
177
|
position: 'top-right'
|
|
174
178
|
}, renderProp(TopRightComponent)) : null, TopLeftComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
|
|
@@ -179,5 +183,5 @@ const BaseListImageSlider = /*#__PURE__*/forwardRef(function BaseListImageSlider
|
|
|
179
183
|
position: 'bottom-left'
|
|
180
184
|
}, renderProp(BottomLeftComponent)) : null);
|
|
181
185
|
});
|
|
182
|
-
export default
|
|
186
|
+
export default BaseSimpleImageSlider;
|
|
183
187
|
//# sourceMappingURL=BaseSimpleImageSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","FlashList","mergeRefs","Image","Pressable","styled","PageCounter","PinchToZoom","GestureHandlerRootView","ScrollView","renderProp","StyledAbsoluteComponentContainer","View","position","undefined","StyledPageCounter","StyledContainer","aspectRatio","StyledImage","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","FlashList","mergeRefs","Image","Pressable","styled","PageCounter","PinchToZoom","GestureHandlerRootView","ScrollView","renderProp","StyledAbsoluteComponentContainer","View","position","undefined","StyledPageCounter","StyledContainer","aspectRatio","StyledImage","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","BaseSimpleImageSlider","data","style","onItemPress","maxItems","showPageCounter","pageCounterPosition","pageCounterStyle","pageCounterTextStyle","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomStatusChange","onPinchToZoomRequestClose","ref","listRef","currentItem","setCurrentItem","slicedData","slice","_listRef$current","current","scrollToIndex","index","animated","keyExtractor","item","key","renderItem","createElement","onPress","transition","placeholder","placeholderContentFit","recyclingKey","source","contentFit","contentPosition","onViewableItemsChanged","viewableItems","_viewableItems$","newIndex","scrollEnabled","setScrollEnabled","onScaleChange","onScaleReset","list","renderScrollComponent","disableScrollViewPanResponder","initialScrollIndex","viewabilityConfig","itemVisiblePercentThreshold","decelerationRate","pagingEnabled","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","horizontal","estimatedItemSize","onDismiss","onTranslationChange","maximumZoomScale","minimumZoomScale","length","totalPages","currentPage","textStyle"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,10 +19,13 @@ const StyledContainer = styled.View`
|
|
|
19
19
|
export default function PageCounter({
|
|
20
20
|
currentPage,
|
|
21
21
|
totalPages,
|
|
22
|
-
style
|
|
22
|
+
style,
|
|
23
|
+
textStyle
|
|
23
24
|
}) {
|
|
24
25
|
return /*#__PURE__*/React.createElement(StyledContainer, {
|
|
25
26
|
style: style
|
|
26
|
-
}, /*#__PURE__*/React.createElement(Text,
|
|
27
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
28
|
+
style: textStyle
|
|
29
|
+
}, currentPage, " / ", totalPages));
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=PageCounter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","styled","StyledContainer","View","theme","colors","simpleImageSlider","pageCounterBackground","pageCounterBorder","PageCounter","currentPage","totalPages","style","createElement"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,
|
|
1
|
+
{"version":3,"names":["React","Text","styled","StyledContainer","View","theme","colors","simpleImageSlider","pageCounterBackground","pageCounterBorder","PageCounter","currentPage","totalPages","style","textStyle","createElement"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwC,cAAc;AACnF,OAAOC,MAAM,MAAM,0BAA0B;AAqB7C,MAAMC,eAAe,GAAGD,MAAM,CAACE,IAAK;AACpC,wBAAwB,CAAC;EAAEC;AAAM,CAAC,KAAKA,KAAK,CAACC,MAAM,CAACC,iBAAiB,CAACC,qBAAsB;AAC5F;AACA,oBAAoB,CAAC;EAAEH;AAAM,CAAC,KAAKA,KAAK,CAACC,MAAM,CAACC,iBAAiB,CAACE,iBAAkB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAe,SAASC,WAAWA,CAAC;EAChCC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,oBACId,KAAA,CAAAe,aAAA,CAACZ,eAAe;IAACU,KAAK,EAAEA;EAAM,gBAC1Bb,KAAA,CAAAe,aAAA,CAACd,IAAI;IAACY,KAAK,EAAEC;EAAU,GAClBH,WAAW,EAAC,KAAG,EAACC,UACf,CACO,CAAC;AAE1B","ignoreList":[]}
|
|
@@ -11,6 +11,8 @@ const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
|
|
|
11
11
|
fullScreenEnabled = false,
|
|
12
12
|
onItemPress,
|
|
13
13
|
onViewableItemChange,
|
|
14
|
+
FullScreenCloseButtonIcon,
|
|
15
|
+
renderFullScreenDescription,
|
|
14
16
|
...props
|
|
15
17
|
}, ref) {
|
|
16
18
|
const listRef = useRef(null);
|
|
@@ -46,7 +48,9 @@ const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
|
|
|
46
48
|
data: data,
|
|
47
49
|
showPageCounter: false,
|
|
48
50
|
indexOverride: currentIndex,
|
|
49
|
-
onViewableItemChange: onFullScreenViewableItemChange
|
|
51
|
+
onViewableItemChange: onFullScreenViewableItemChange,
|
|
52
|
+
renderDescription: renderFullScreenDescription,
|
|
53
|
+
CloseButtonIcon: FullScreenCloseButtonIcon
|
|
50
54
|
})) : null);
|
|
51
55
|
});
|
|
52
56
|
export default SimpleImageSlider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useRef","useState","mergeRefs","FullScreenImageSlider","BaseListImageSlider","SimpleImageSlider","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","props","ref","listRef","fullScreenListRef","fullScreen","setFullScreen","currentIndex","setCurrentIndex","internalOnViewableItemChange","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","_listRef$current","current","scrollToIndex","createElement","Fragment","_extends","open","showPageCounter","indexOverride"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAExE,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,qBAAqB,
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useRef","useState","mergeRefs","FullScreenImageSlider","BaseListImageSlider","SimpleImageSlider","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","FullScreenCloseButtonIcon","renderFullScreenDescription","props","ref","listRef","fullScreenListRef","fullScreen","setFullScreen","currentIndex","setCurrentIndex","internalOnViewableItemChange","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","_listRef$current","current","scrollToIndex","createElement","Fragment","_extends","open","showPageCounter","indexOverride","renderDescription","CloseButtonIcon"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAExE,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,qBAAqB,MAA2C,yBAAyB;AAChG,OAAOC,mBAAmB,MAA2C,yBAAyB;AAmB9F;AACA;AACA;AACA,MAAMC,iBAAiB,gBAAGP,UAAU,CAChC,SAASQ,eAAeA,CACpB;EACIC,IAAI;EACJC,iBAAiB,GAAG,KAAK;EACzBC,WAAW;EACXC,oBAAoB;EACpBC,yBAAyB;EACzBC,2BAA2B;EAC3B,GAAGC;AACP,CAAC,EACDC,GAAG,EACL;EACE,MAAMC,OAAO,GAAGf,MAAM,CAAmC,IAAI,CAAC;EAC9D,MAAMgB,iBAAiB,GAAGhB,MAAM,CAAmC,IAAI,CAAC;EAExE,MAAM,CAACiB,UAAU,EAAEC,aAAa,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACkB,YAAY,EAAEC,eAAe,CAAC,GAAGnB,QAAQ,CAAC,CAAC,CAAC;EAEnD,MAAMoB,4BAA4B,GAAGtB,WAAW,CAC3CuB,KAAa,IAAK;IACfF,eAAe,CAACE,KAAK,CAAC;IACtBZ,oBAAoB,aAApBA,oBAAoB,eAApBA,oBAAoB,CAAGY,KAAK,CAAC;EACjC,CAAC,EACD,CAACZ,oBAAoB,CACzB,CAAC;EAED,MAAMa,8BAA8B,GAAGxB,WAAW,CAAEuB,KAAa,IAAK;IAClEF,eAAe,CAACE,KAAK,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,cAAc,GAAGzB,WAAW,CAAC,MAAM;IACrCmB,aAAa,CAAC,IAAI,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,cAAc,GAAG1B,WAAW,CAAC,MAAM;IAAA,IAAA2B,gBAAA;IACrC,CAAAA,gBAAA,GAAAX,OAAO,CAACY,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,aAAa,CAAC;MAAEN,KAAK,EAAEH;IAAa,CAAC,CAAC;IACvDD,aAAa,CAAC,KAAK,CAAC;EACxB,CAAC,EAAE,CAACC,YAAY,CAAC,CAAC;EAElB,oBACItB,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAiC,QAAA,qBACIjC,KAAA,CAAAgC,aAAA,CAACzB,mBAAmB,EAAA2B,QAAA,KACZlB,KAAK;IACTN,IAAI,EAAEA,IAAK;IACXO,GAAG,EAAEZ,SAAS,CAACY,GAAG,EAAEC,OAAO,CAAE;IAC7BN,WAAW,EAAED,iBAAiB,GAAGgB,cAAc,GAAGf,WAAY;IAC9DC,oBAAoB,EAAEW;EAA6B,EACtD,CAAC,EACDb,iBAAiB,gBACdX,KAAA,CAAAgC,aAAA,CAAC1B,qBAAqB,EAAA4B,QAAA,KACdlB,KAAK;IACTC,GAAG,EAAEE,iBAAkB;IACvBgB,IAAI,EAAEf,UAAW;IACjBQ,cAAc,EAAEA,cAAe;IAC/BlB,IAAI,EAAEA,IAAK;IACX0B,eAAe,EAAE,KAAM;IACvBC,aAAa,EAAEf,YAAa;IAC5BT,oBAAoB,EAAEa,8BAA+B;IACrDY,iBAAiB,EAAEvB,2BAA4B;IAC/CwB,eAAe,EAAEzB;EAA0B,EAC9C,CAAC,GACF,IACN,CAAC;AAEX,CACJ,CAAC;AAED,eAAeN,iBAAiB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,5 +3,6 @@ import BaseListImageSlider from './BaseSimpleImageSlider';
|
|
|
3
3
|
import SimpleImageSlider from './SimpleImageSlider';
|
|
4
4
|
import FullScreenImageSlider from './FullScreenImageSlider';
|
|
5
5
|
import PinchToZoom from './PinchToZoom';
|
|
6
|
-
|
|
6
|
+
import PageCounter from './PageCounter';
|
|
7
|
+
export { SimpleImageSliderThemeProvider, BaseListImageSlider, SimpleImageSlider, FullScreenImageSlider, PinchToZoom, PageCounter };
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SimpleImageSliderThemeProvider","BaseListImageSlider","SimpleImageSlider","FullScreenImageSlider","PinchToZoom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,8BAA8B,MAAM,kCAAkC;AAE7E,OAAOC,mBAAmB,MAA2C,yBAAyB;AAC9F,OAAOC,iBAAiB,MAAuC,qBAAqB;AACpF,OAAOC,qBAAqB,MAA2C,yBAAyB;AAChG,OAAOC,WAAW,MAAiC,eAAe;
|
|
1
|
+
{"version":3,"names":["SimpleImageSliderThemeProvider","BaseListImageSlider","SimpleImageSlider","FullScreenImageSlider","PinchToZoom","PageCounter"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,8BAA8B,MAAM,kCAAkC;AAE7E,OAAOC,mBAAmB,MAA2C,yBAAyB;AAC9F,OAAOC,iBAAiB,MAAuC,qBAAqB;AACpF,OAAOC,qBAAqB,MAA2C,yBAAyB;AAChG,OAAOC,WAAW,MAAiC,eAAe;AAElE,OAAOC,WAAW,MAAiC,eAAe;AAElE,SACIL,8BAA8B,EAE9BC,mBAAmB,EAEnBC,iBAAiB,EAEjBC,qBAAqB,EAErBC,WAAW,EAGXC,WAAW","ignoreList":[]}
|
|
@@ -1,28 +1,105 @@
|
|
|
1
1
|
import React, { type ReactElement } from 'react';
|
|
2
2
|
import { FlashList } from '@shopify/flash-list';
|
|
3
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
4
4
|
import { type PinchToZoomProps } from './PinchToZoom';
|
|
5
5
|
import { type RenderProp } from './utils/renderProp';
|
|
6
6
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
7
7
|
export type BaseSimpleImageSliderProps = {
|
|
8
|
+
/**
|
|
9
|
+
* @description The list of images to be displayed.
|
|
10
|
+
*/
|
|
8
11
|
data: SimpleImageSliderItem[];
|
|
12
|
+
/**
|
|
13
|
+
* @description The style of the container.
|
|
14
|
+
*/
|
|
9
15
|
style?: StyleProp<ViewStyle>;
|
|
16
|
+
/**
|
|
17
|
+
* @description The width of the images. If not provided, the image will take the full width of the container.
|
|
18
|
+
* Will be calculated automatically if `imageHeight` and `imageAspectRatio` are provided.
|
|
19
|
+
*/
|
|
10
20
|
imageWidth?: number;
|
|
21
|
+
/**
|
|
22
|
+
* @description The height of the images. If not provided, the image will take the full height of the container.
|
|
23
|
+
* Will be calculated automatically if `imageWidth` and `imageAspectRatio` are provided.
|
|
24
|
+
*/
|
|
11
25
|
imageHeight?: number;
|
|
26
|
+
/**
|
|
27
|
+
* @description The aspect ratio of the images. Will be ignored if `imageWidth` and `imageHeight` are provided.
|
|
28
|
+
* @default 4 / 3
|
|
29
|
+
*/
|
|
12
30
|
imageAspectRatio?: number;
|
|
31
|
+
/**
|
|
32
|
+
* @description Callback that is called when an item is pressed.
|
|
33
|
+
* @param item The item that was pressed.
|
|
34
|
+
* @param index The index of the item that was pressed.
|
|
35
|
+
*/
|
|
13
36
|
onItemPress?: (item: SimpleImageSliderItem, index: number) => void;
|
|
14
|
-
|
|
37
|
+
/**
|
|
38
|
+
* @description The maximum number of items to be displayed.
|
|
39
|
+
*/
|
|
40
|
+
maxItems?: number;
|
|
41
|
+
/**
|
|
42
|
+
* @description Whether the page counter should be displayed or not.
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
15
45
|
showPageCounter?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* @description The position of the page counter.
|
|
48
|
+
* @default 'bottom-left'
|
|
49
|
+
*/
|
|
16
50
|
pageCounterPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
51
|
+
/**
|
|
52
|
+
* @description The style of the page counter.
|
|
53
|
+
*/
|
|
54
|
+
pageCounterStyle?: StyleProp<ViewStyle>;
|
|
55
|
+
/**
|
|
56
|
+
* @description The style of the text of the page counter.
|
|
57
|
+
*/
|
|
58
|
+
pageCounterTextStyle?: StyleProp<TextStyle>;
|
|
59
|
+
/**
|
|
60
|
+
* @description Callback that renders the page counter. If provided, this will replace the default page counter.
|
|
61
|
+
* @param currentPage The current page number.
|
|
62
|
+
* @param totalPages The total number of pages.
|
|
63
|
+
*/
|
|
17
64
|
renderPageCounter?: (currentPage: number, totalPages: number) => ReactElement;
|
|
65
|
+
/**
|
|
66
|
+
* @description A component to be displayed in the top right corner.
|
|
67
|
+
*/
|
|
18
68
|
TopRightComponent?: RenderProp;
|
|
69
|
+
/**
|
|
70
|
+
* @description A component to be displayed in the top left corner.
|
|
71
|
+
*/
|
|
19
72
|
TopLeftComponent?: RenderProp;
|
|
73
|
+
/**
|
|
74
|
+
* @description A component to be displayed in the bottom right corner.
|
|
75
|
+
*/
|
|
20
76
|
BottomRightComponent?: RenderProp;
|
|
77
|
+
/**
|
|
78
|
+
* @description A component to be displayed in the bottom left corner.
|
|
79
|
+
*/
|
|
21
80
|
BottomLeftComponent?: RenderProp;
|
|
81
|
+
/**
|
|
82
|
+
* @description The index of the item to be displayed initially.
|
|
83
|
+
*/
|
|
22
84
|
indexOverride?: number;
|
|
85
|
+
/**
|
|
86
|
+
* @description Callback that is called when the viewable item changes.
|
|
87
|
+
* @param index The index of the new viewable item.
|
|
88
|
+
*/
|
|
23
89
|
onViewableItemChange?: (index: number) => void;
|
|
90
|
+
/**
|
|
91
|
+
* @description Whether the pinch to zoom feature is enabled or not.
|
|
92
|
+
* @default false
|
|
93
|
+
*/
|
|
24
94
|
enablePinchToZoom?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* @description Callback that is called when the pinch to zoom status changes.
|
|
97
|
+
* @param status The new status of the pinch to zoom.
|
|
98
|
+
*/
|
|
25
99
|
onPinchToZoomStatusChange?: PinchToZoomProps['onTranslationChange'];
|
|
100
|
+
/**
|
|
101
|
+
* @description Callback that is called when gestures should lead to a dismissal.
|
|
102
|
+
*/
|
|
26
103
|
onPinchToZoomRequestClose?: PinchToZoomProps['onDismiss'];
|
|
27
104
|
};
|
|
28
105
|
/**
|
|
@@ -30,6 +107,6 @@ export type BaseSimpleImageSliderProps = {
|
|
|
30
107
|
* that {@link SimpleImageSlider} and {@link FullScreenImageSlider}
|
|
31
108
|
* are built upon. You should normally use one of those two components instead of this one.
|
|
32
109
|
*/
|
|
33
|
-
declare const
|
|
34
|
-
export default
|
|
110
|
+
declare const BaseSimpleImageSlider: React.ForwardRefExoticComponent<BaseSimpleImageSliderProps & React.RefAttributes<FlashList<SimpleImageSliderItem>>>;
|
|
111
|
+
export default BaseSimpleImageSlider;
|
|
35
112
|
//# sourceMappingURL=BaseSimpleImageSlider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSimpleImageSlider.d.ts","sourceRoot":"","sources":["../../../src/BaseSimpleImageSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEV,KAAK,YAAY,EAMpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseSimpleImageSlider.d.ts","sourceRoot":"","sources":["../../../src/BaseSimpleImageSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEV,KAAK,YAAY,EAMpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzF,OAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,MAAM,0BAA0B,GAAG;IACrC;;OAEG;IACH,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAChF;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,YAAY,CAAC;IAC9E;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACpE;;OAEG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC7D,CAAC;AAqDF;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,qHAoKzB,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
type PageCounterProps = {
|
|
2
|
+
import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
|
+
export type PageCounterProps = {
|
|
4
4
|
/**
|
|
5
5
|
* @description The current page number (**counting from 1**).
|
|
6
6
|
*/
|
|
@@ -13,7 +13,10 @@ type PageCounterProps = {
|
|
|
13
13
|
* @description Additional styles or styles to override default style of the container View.
|
|
14
14
|
*/
|
|
15
15
|
style?: StyleProp<ViewStyle>;
|
|
16
|
+
/**
|
|
17
|
+
* @description Additional styles or styles to override default style of the Text component.
|
|
18
|
+
*/
|
|
19
|
+
textStyle?: StyleProp<TextStyle>;
|
|
16
20
|
};
|
|
17
|
-
export default function PageCounter({ currentPage, totalPages, style }: PageCounterProps): React.JSX.Element;
|
|
18
|
-
export {};
|
|
21
|
+
export default function PageCounter({ currentPage, totalPages, style, textStyle, }: PageCounterProps): React.JSX.Element;
|
|
19
22
|
//# sourceMappingURL=PageCounter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageCounter.d.ts","sourceRoot":"","sources":["../../../src/PageCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"PageCounter.d.ts","sourceRoot":"","sources":["../../../src/PageCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpF,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpC,CAAC;AAcF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAChC,WAAW,EACX,UAAU,EACV,KAAK,EACL,SAAS,GACZ,EAAE,gBAAgB,qBAQlB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FlashList } from '@shopify/flash-list';
|
|
3
|
+
import { type FullScreenImageSliderProps } from './FullScreenImageSlider';
|
|
3
4
|
import { type BaseSimpleImageSliderProps } from './BaseSimpleImageSlider';
|
|
4
5
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
5
6
|
export type SimpleImageSliderProps = BaseSimpleImageSliderProps & {
|
|
@@ -8,6 +9,14 @@ export type SimpleImageSliderProps = BaseSimpleImageSliderProps & {
|
|
|
8
9
|
* @default false
|
|
9
10
|
*/
|
|
10
11
|
fullScreenEnabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
14
|
+
*/
|
|
15
|
+
renderFullScreenDescription?: FullScreenImageSliderProps['renderDescription'];
|
|
16
|
+
/**
|
|
17
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
18
|
+
*/
|
|
19
|
+
FullScreenCloseButtonIcon?: FullScreenImageSliderProps['CloseButtonIcon'];
|
|
11
20
|
};
|
|
12
21
|
/**
|
|
13
22
|
* @description A simple image slider that displays images in a list and can show a {@link FullScreenImageSlider} on press.
|
|
@@ -18,6 +27,14 @@ declare const SimpleImageSlider: React.ForwardRefExoticComponent<BaseSimpleImage
|
|
|
18
27
|
* @default false
|
|
19
28
|
*/
|
|
20
29
|
fullScreenEnabled?: boolean | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
32
|
+
*/
|
|
33
|
+
renderFullScreenDescription?: FullScreenImageSliderProps['renderDescription'];
|
|
34
|
+
/**
|
|
35
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
36
|
+
*/
|
|
37
|
+
FullScreenCloseButtonIcon?: FullScreenImageSliderProps['CloseButtonIcon'];
|
|
21
38
|
} & React.RefAttributes<FlashList<SimpleImageSliderItem>>>;
|
|
22
39
|
export default SimpleImageSlider;
|
|
23
40
|
//# sourceMappingURL=SimpleImageSlider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleImageSlider.d.ts","sourceRoot":"","sources":["../../../src/SimpleImageSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"SimpleImageSlider.d.ts","sourceRoot":"","sources":["../../../src/SimpleImageSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAA8B,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAA4B,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,2BAA2B,CAAC,EAAE,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;IAC9E;;OAEG;IACH,yBAAyB,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,iBAAiB;IAlBnB;;;OAGG;;IAEH;;OAEG;kCAC2B,0BAA0B,CAAC,mBAAmB,CAAC;IAC7E;;OAEG;gCACyB,0BAA0B,CAAC,iBAAiB,CAAC;0DAwE5E,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,5 +5,6 @@ import SimpleImageSlider, { type SimpleImageSliderProps } from './SimpleImageSli
|
|
|
5
5
|
import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
|
|
6
6
|
import PinchToZoom, { type PinchToZoomProps } from './PinchToZoom';
|
|
7
7
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
8
|
-
|
|
8
|
+
import PageCounter, { type PageCounterProps } from './PageCounter';
|
|
9
|
+
export { SimpleImageSliderThemeProvider, type SimpleImageSliderTheme, BaseListImageSlider, type BaseSimpleImageSliderProps, SimpleImageSlider, type SimpleImageSliderProps, FullScreenImageSlider, type FullScreenImageSliderProps, PinchToZoom, type PinchToZoomProps, type SimpleImageSliderItem, PageCounter, type PageCounterProps, };
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,iBAAiB,EAAE,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,qBAAqB,EAAE,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,WAAW,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,mBAAmB,EAAE,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,iBAAiB,EAAE,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,qBAAqB,EAAE,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,WAAW,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,WAAW,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EACH,8BAA8B,EAC9B,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,gBAAgB,GACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@one-am/react-native-simple-image-slider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "A simple and performant image slider made with FlashList. Includes a full screen gallery component with gesture support.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -10,7 +10,7 @@ import React, {
|
|
|
10
10
|
import { FlashList, type ListRenderItemInfo } from '@shopify/flash-list';
|
|
11
11
|
import mergeRefs from 'merge-refs';
|
|
12
12
|
import { Image, type ImageProps } from 'expo-image';
|
|
13
|
-
import { Pressable, type StyleProp, type ViewStyle } from 'react-native';
|
|
13
|
+
import { Pressable, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
14
14
|
import type ViewToken from '@shopify/flash-list/src/viewability/ViewToken';
|
|
15
15
|
import styled from 'styled-components/native';
|
|
16
16
|
import PageCounter from './PageCounter';
|
|
@@ -20,24 +20,101 @@ import renderProp, { type RenderProp } from './utils/renderProp';
|
|
|
20
20
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
21
21
|
|
|
22
22
|
export type BaseSimpleImageSliderProps = {
|
|
23
|
+
/**
|
|
24
|
+
* @description The list of images to be displayed.
|
|
25
|
+
*/
|
|
23
26
|
data: SimpleImageSliderItem[];
|
|
27
|
+
/**
|
|
28
|
+
* @description The style of the container.
|
|
29
|
+
*/
|
|
24
30
|
style?: StyleProp<ViewStyle>;
|
|
31
|
+
/**
|
|
32
|
+
* @description The width of the images. If not provided, the image will take the full width of the container.
|
|
33
|
+
* Will be calculated automatically if `imageHeight` and `imageAspectRatio` are provided.
|
|
34
|
+
*/
|
|
25
35
|
imageWidth?: number;
|
|
36
|
+
/**
|
|
37
|
+
* @description The height of the images. If not provided, the image will take the full height of the container.
|
|
38
|
+
* Will be calculated automatically if `imageWidth` and `imageAspectRatio` are provided.
|
|
39
|
+
*/
|
|
26
40
|
imageHeight?: number;
|
|
41
|
+
/**
|
|
42
|
+
* @description The aspect ratio of the images. Will be ignored if `imageWidth` and `imageHeight` are provided.
|
|
43
|
+
* @default 4 / 3
|
|
44
|
+
*/
|
|
27
45
|
imageAspectRatio?: number;
|
|
46
|
+
/**
|
|
47
|
+
* @description Callback that is called when an item is pressed.
|
|
48
|
+
* @param item The item that was pressed.
|
|
49
|
+
* @param index The index of the item that was pressed.
|
|
50
|
+
*/
|
|
28
51
|
onItemPress?: (item: SimpleImageSliderItem, index: number) => void;
|
|
29
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @description The maximum number of items to be displayed.
|
|
54
|
+
*/
|
|
55
|
+
maxItems?: number;
|
|
56
|
+
/**
|
|
57
|
+
* @description Whether the page counter should be displayed or not.
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
30
60
|
showPageCounter?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* @description The position of the page counter.
|
|
63
|
+
* @default 'bottom-left'
|
|
64
|
+
*/
|
|
31
65
|
pageCounterPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
66
|
+
/**
|
|
67
|
+
* @description The style of the page counter.
|
|
68
|
+
*/
|
|
69
|
+
pageCounterStyle?: StyleProp<ViewStyle>;
|
|
70
|
+
/**
|
|
71
|
+
* @description The style of the text of the page counter.
|
|
72
|
+
*/
|
|
73
|
+
pageCounterTextStyle?: StyleProp<TextStyle>;
|
|
74
|
+
/**
|
|
75
|
+
* @description Callback that renders the page counter. If provided, this will replace the default page counter.
|
|
76
|
+
* @param currentPage The current page number.
|
|
77
|
+
* @param totalPages The total number of pages.
|
|
78
|
+
*/
|
|
32
79
|
renderPageCounter?: (currentPage: number, totalPages: number) => ReactElement;
|
|
80
|
+
/**
|
|
81
|
+
* @description A component to be displayed in the top right corner.
|
|
82
|
+
*/
|
|
33
83
|
TopRightComponent?: RenderProp;
|
|
84
|
+
/**
|
|
85
|
+
* @description A component to be displayed in the top left corner.
|
|
86
|
+
*/
|
|
34
87
|
TopLeftComponent?: RenderProp;
|
|
88
|
+
/**
|
|
89
|
+
* @description A component to be displayed in the bottom right corner.
|
|
90
|
+
*/
|
|
35
91
|
BottomRightComponent?: RenderProp;
|
|
92
|
+
/**
|
|
93
|
+
* @description A component to be displayed in the bottom left corner.
|
|
94
|
+
*/
|
|
36
95
|
BottomLeftComponent?: RenderProp;
|
|
96
|
+
/**
|
|
97
|
+
* @description The index of the item to be displayed initially.
|
|
98
|
+
*/
|
|
37
99
|
indexOverride?: number;
|
|
100
|
+
/**
|
|
101
|
+
* @description Callback that is called when the viewable item changes.
|
|
102
|
+
* @param index The index of the new viewable item.
|
|
103
|
+
*/
|
|
38
104
|
onViewableItemChange?: (index: number) => void;
|
|
105
|
+
/**
|
|
106
|
+
* @description Whether the pinch to zoom feature is enabled or not.
|
|
107
|
+
* @default false
|
|
108
|
+
*/
|
|
39
109
|
enablePinchToZoom?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* @description Callback that is called when the pinch to zoom status changes.
|
|
112
|
+
* @param status The new status of the pinch to zoom.
|
|
113
|
+
*/
|
|
40
114
|
onPinchToZoomStatusChange?: PinchToZoomProps['onTranslationChange'];
|
|
115
|
+
/**
|
|
116
|
+
* @description Callback that is called when gestures should lead to a dismissal.
|
|
117
|
+
*/
|
|
41
118
|
onPinchToZoomRequestClose?: PinchToZoomProps['onDismiss'];
|
|
42
119
|
};
|
|
43
120
|
|
|
@@ -85,7 +162,7 @@ const StyledImage = styled(Image)<
|
|
|
85
162
|
>`
|
|
86
163
|
width: ${({ imageWidth }) => (imageWidth ? `${imageWidth}px` : '100%')};
|
|
87
164
|
height: ${({ imageHeight }) => (imageHeight ? `${imageHeight}px` : '100%')};
|
|
88
|
-
aspect-ratio: ${({ imageAspectRatio }) =>
|
|
165
|
+
aspect-ratio: ${({ imageAspectRatio }) => imageAspectRatio};
|
|
89
166
|
`;
|
|
90
167
|
|
|
91
168
|
const StyledPinchToZoom = styled(PinchToZoom)`
|
|
@@ -97,20 +174,22 @@ const StyledPinchToZoom = styled(PinchToZoom)`
|
|
|
97
174
|
* that {@link SimpleImageSlider} and {@link FullScreenImageSlider}
|
|
98
175
|
* are built upon. You should normally use one of those two components instead of this one.
|
|
99
176
|
*/
|
|
100
|
-
const
|
|
177
|
+
const BaseSimpleImageSlider = forwardRef<
|
|
101
178
|
FlashList<SimpleImageSliderItem>,
|
|
102
179
|
BaseSimpleImageSliderProps
|
|
103
|
-
>(function
|
|
180
|
+
>(function BaseSimpleImageSlider(
|
|
104
181
|
{
|
|
105
182
|
data,
|
|
106
183
|
style,
|
|
107
184
|
imageWidth,
|
|
108
185
|
imageHeight,
|
|
109
|
-
imageAspectRatio,
|
|
186
|
+
imageAspectRatio = 4 / 3,
|
|
110
187
|
onItemPress,
|
|
111
|
-
|
|
188
|
+
maxItems,
|
|
112
189
|
showPageCounter = true,
|
|
113
190
|
pageCounterPosition = 'bottom-left',
|
|
191
|
+
pageCounterStyle,
|
|
192
|
+
pageCounterTextStyle,
|
|
114
193
|
renderPageCounter,
|
|
115
194
|
TopRightComponent,
|
|
116
195
|
TopLeftComponent,
|
|
@@ -128,8 +207,8 @@ const BaseListImageSlider = forwardRef<
|
|
|
128
207
|
const [currentItem, setCurrentItem] = useState(0);
|
|
129
208
|
|
|
130
209
|
const slicedData = useMemo(
|
|
131
|
-
() => (
|
|
132
|
-
[data,
|
|
210
|
+
() => (maxItems !== undefined ? data?.slice(0, maxItems) ?? [] : data ?? []),
|
|
211
|
+
[data, maxItems]
|
|
133
212
|
);
|
|
134
213
|
|
|
135
214
|
useEffect(() => {
|
|
@@ -232,6 +311,8 @@ const BaseListImageSlider = forwardRef<
|
|
|
232
311
|
position={pageCounterPosition}
|
|
233
312
|
totalPages={slicedData.length}
|
|
234
313
|
currentPage={currentItem + 1}
|
|
314
|
+
style={pageCounterStyle}
|
|
315
|
+
textStyle={pageCounterTextStyle}
|
|
235
316
|
/>
|
|
236
317
|
)
|
|
237
318
|
) : null}
|
|
@@ -259,4 +340,4 @@ const BaseListImageSlider = forwardRef<
|
|
|
259
340
|
);
|
|
260
341
|
});
|
|
261
342
|
|
|
262
|
-
export default
|
|
343
|
+
export default BaseSimpleImageSlider;
|
package/src/PageCounter.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type StyleProp, Text, type ViewStyle } from 'react-native';
|
|
2
|
+
import { type StyleProp, Text, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
3
|
import styled from 'styled-components/native';
|
|
4
4
|
|
|
5
|
-
type PageCounterProps = {
|
|
5
|
+
export type PageCounterProps = {
|
|
6
6
|
/**
|
|
7
7
|
* @description The current page number (**counting from 1**).
|
|
8
8
|
*/
|
|
@@ -15,6 +15,10 @@ type PageCounterProps = {
|
|
|
15
15
|
* @description Additional styles or styles to override default style of the container View.
|
|
16
16
|
*/
|
|
17
17
|
style?: StyleProp<ViewStyle>;
|
|
18
|
+
/**
|
|
19
|
+
* @description Additional styles or styles to override default style of the Text component.
|
|
20
|
+
*/
|
|
21
|
+
textStyle?: StyleProp<TextStyle>;
|
|
18
22
|
};
|
|
19
23
|
|
|
20
24
|
const StyledContainer = styled.View`
|
|
@@ -29,10 +33,15 @@ const StyledContainer = styled.View`
|
|
|
29
33
|
justify-content: center;
|
|
30
34
|
`;
|
|
31
35
|
|
|
32
|
-
export default function PageCounter({
|
|
36
|
+
export default function PageCounter({
|
|
37
|
+
currentPage,
|
|
38
|
+
totalPages,
|
|
39
|
+
style,
|
|
40
|
+
textStyle,
|
|
41
|
+
}: PageCounterProps) {
|
|
33
42
|
return (
|
|
34
43
|
<StyledContainer style={style}>
|
|
35
|
-
<Text>
|
|
44
|
+
<Text style={textStyle}>
|
|
36
45
|
{currentPage} / {totalPages}
|
|
37
46
|
</Text>
|
|
38
47
|
</StyledContainer>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef, useCallback, useRef, useState } from 'react';
|
|
2
2
|
import { FlashList } from '@shopify/flash-list';
|
|
3
3
|
import mergeRefs from 'merge-refs';
|
|
4
|
-
import FullScreenImageSlider from './FullScreenImageSlider';
|
|
4
|
+
import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
|
|
5
5
|
import BaseListImageSlider, { type BaseSimpleImageSliderProps } from './BaseSimpleImageSlider';
|
|
6
6
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
7
7
|
|
|
@@ -11,6 +11,14 @@ export type SimpleImageSliderProps = BaseSimpleImageSliderProps & {
|
|
|
11
11
|
* @default false
|
|
12
12
|
*/
|
|
13
13
|
fullScreenEnabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
16
|
+
*/
|
|
17
|
+
renderFullScreenDescription?: FullScreenImageSliderProps['renderDescription'];
|
|
18
|
+
/**
|
|
19
|
+
* @description Passed to the {@link FullScreenImageSlider} component.
|
|
20
|
+
*/
|
|
21
|
+
FullScreenCloseButtonIcon?: FullScreenImageSliderProps['CloseButtonIcon'];
|
|
14
22
|
};
|
|
15
23
|
|
|
16
24
|
/**
|
|
@@ -18,7 +26,15 @@ export type SimpleImageSliderProps = BaseSimpleImageSliderProps & {
|
|
|
18
26
|
*/
|
|
19
27
|
const SimpleImageSlider = forwardRef<FlashList<SimpleImageSliderItem>, SimpleImageSliderProps>(
|
|
20
28
|
function ListImageSlider(
|
|
21
|
-
{
|
|
29
|
+
{
|
|
30
|
+
data,
|
|
31
|
+
fullScreenEnabled = false,
|
|
32
|
+
onItemPress,
|
|
33
|
+
onViewableItemChange,
|
|
34
|
+
FullScreenCloseButtonIcon,
|
|
35
|
+
renderFullScreenDescription,
|
|
36
|
+
...props
|
|
37
|
+
},
|
|
22
38
|
ref
|
|
23
39
|
) {
|
|
24
40
|
const listRef = useRef<FlashList<SimpleImageSliderItem>>(null);
|
|
@@ -67,6 +83,8 @@ const SimpleImageSlider = forwardRef<FlashList<SimpleImageSliderItem>, SimpleIma
|
|
|
67
83
|
showPageCounter={false}
|
|
68
84
|
indexOverride={currentIndex}
|
|
69
85
|
onViewableItemChange={onFullScreenViewableItemChange}
|
|
86
|
+
renderDescription={renderFullScreenDescription}
|
|
87
|
+
CloseButtonIcon={FullScreenCloseButtonIcon}
|
|
70
88
|
/>
|
|
71
89
|
) : null}
|
|
72
90
|
</>
|
package/src/index.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import SimpleImageSlider, { type SimpleImageSliderProps } from './SimpleImageSli
|
|
|
5
5
|
import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
|
|
6
6
|
import PinchToZoom, { type PinchToZoomProps } from './PinchToZoom';
|
|
7
7
|
import type { SimpleImageSliderItem } from './@types/slider';
|
|
8
|
+
import PageCounter, { type PageCounterProps } from './PageCounter';
|
|
8
9
|
|
|
9
10
|
export {
|
|
10
11
|
SimpleImageSliderThemeProvider,
|
|
@@ -18,4 +19,6 @@ export {
|
|
|
18
19
|
PinchToZoom,
|
|
19
20
|
type PinchToZoomProps,
|
|
20
21
|
type SimpleImageSliderItem,
|
|
22
|
+
PageCounter,
|
|
23
|
+
type PageCounterProps,
|
|
21
24
|
};
|