@one-am/react-native-simple-image-slider 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +74 -0
  3. package/lib/commonjs/@types/styled.d.js +4 -0
  4. package/lib/commonjs/@types/styled.d.js.map +1 -0
  5. package/lib/commonjs/BaseSimpleImageSlider.js +194 -0
  6. package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -0
  7. package/lib/commonjs/FullScreenImageSlider.js +126 -0
  8. package/lib/commonjs/FullScreenImageSlider.js.map +1 -0
  9. package/lib/commonjs/PageCounter.js +39 -0
  10. package/lib/commonjs/PageCounter.js.map +1 -0
  11. package/lib/commonjs/PinchToZoom.js +173 -0
  12. package/lib/commonjs/PinchToZoom.js.map +1 -0
  13. package/lib/commonjs/SimpleImageSlider.js +59 -0
  14. package/lib/commonjs/SimpleImageSlider.js.map +1 -0
  15. package/lib/commonjs/StyledComponentsThemeProvider.js +51 -0
  16. package/lib/commonjs/StyledComponentsThemeProvider.js.map +1 -0
  17. package/lib/commonjs/index.js +35 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/utils/clamp.js +13 -0
  20. package/lib/commonjs/utils/clamp.js.map +1 -0
  21. package/lib/commonjs/utils/renderProp.js +17 -0
  22. package/lib/commonjs/utils/renderProp.js.map +1 -0
  23. package/lib/module/@types/styled.d.js +2 -0
  24. package/lib/module/@types/styled.d.js.map +1 -0
  25. package/lib/module/BaseSimpleImageSlider.js +185 -0
  26. package/lib/module/BaseSimpleImageSlider.js.map +1 -0
  27. package/lib/module/FullScreenImageSlider.js +117 -0
  28. package/lib/module/FullScreenImageSlider.js.map +1 -0
  29. package/lib/module/PageCounter.js +31 -0
  30. package/lib/module/PageCounter.js.map +1 -0
  31. package/lib/module/PinchToZoom.js +165 -0
  32. package/lib/module/PinchToZoom.js.map +1 -0
  33. package/lib/module/SimpleImageSlider.js +50 -0
  34. package/lib/module/SimpleImageSlider.js.map +1 -0
  35. package/lib/module/StyledComponentsThemeProvider.js +43 -0
  36. package/lib/module/StyledComponentsThemeProvider.js.map +1 -0
  37. package/lib/module/index.js +6 -0
  38. package/lib/module/index.js.map +1 -0
  39. package/lib/module/utils/clamp.js +6 -0
  40. package/lib/module/utils/clamp.js.map +1 -0
  41. package/lib/module/utils/renderProp.js +9 -0
  42. package/lib/module/utils/renderProp.js.map +1 -0
  43. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +33 -0
  44. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -0
  45. package/lib/typescript/src/FullScreenImageSlider.d.ts +15 -0
  46. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -0
  47. package/lib/typescript/src/PageCounter.d.ts +10 -0
  48. package/lib/typescript/src/PageCounter.d.ts.map +1 -0
  49. package/lib/typescript/src/PinchToZoom.d.ts +18 -0
  50. package/lib/typescript/src/PinchToZoom.d.ts.map +1 -0
  51. package/lib/typescript/src/SimpleImageSlider.d.ts +11 -0
  52. package/lib/typescript/src/SimpleImageSlider.d.ts.map +1 -0
  53. package/lib/typescript/src/StyledComponentsThemeProvider.d.ts +3 -0
  54. package/lib/typescript/src/StyledComponentsThemeProvider.d.ts.map +1 -0
  55. package/lib/typescript/src/index.d.ts +6 -0
  56. package/lib/typescript/src/index.d.ts.map +1 -0
  57. package/lib/typescript/src/utils/clamp.d.ts +2 -0
  58. package/lib/typescript/src/utils/clamp.d.ts.map +1 -0
  59. package/lib/typescript/src/utils/renderProp.d.ts +4 -0
  60. package/lib/typescript/src/utils/renderProp.d.ts.map +1 -0
  61. package/package.json +170 -0
  62. package/src/@types/styled.d.ts +39 -0
  63. package/src/BaseSimpleImageSlider.tsx +281 -0
  64. package/src/FullScreenImageSlider.tsx +164 -0
  65. package/src/PageCounter.tsx +39 -0
  66. package/src/PinchToZoom.tsx +323 -0
  67. package/src/SimpleImageSlider.tsx +72 -0
  68. package/src/StyledComponentsThemeProvider.tsx +48 -0
  69. package/src/index.tsx +14 -0
  70. package/src/utils/clamp.ts +4 -0
  71. package/src/utils/renderProp.tsx +22 -0
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PinchToZoom;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
11
+ var _clamp = require("./utils/clamp");
12
+ var Haptics = _interopRequireWildcard(require("expo-haptics"));
13
+ 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); }
14
+ 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; }
15
+ function PinchToZoom({
16
+ minimumZoomScale = 1,
17
+ maximumZoomScale = 8,
18
+ style: propStyle,
19
+ onPinchStart,
20
+ onPinchEnd,
21
+ disabled,
22
+ onLayout,
23
+ onTranslationChange,
24
+ onScaleChange,
25
+ onScaleReset,
26
+ children,
27
+ onRequestClose
28
+ }) {
29
+ const {
30
+ height: windowHeight
31
+ } = (0, _reactNative.useWindowDimensions)();
32
+ const translationX = (0, _reactNativeReanimated.useSharedValue)(0);
33
+ const translationY = (0, _reactNativeReanimated.useSharedValue)(0);
34
+ const originX = (0, _reactNativeReanimated.useSharedValue)(0);
35
+ const originY = (0, _reactNativeReanimated.useSharedValue)(0);
36
+ const scale = (0, _reactNativeReanimated.useSharedValue)(1);
37
+ const isPinching = (0, _reactNativeReanimated.useSharedValue)(false);
38
+ const viewHeight = (0, _reactNativeReanimated.useSharedValue)(0);
39
+ const viewWidth = (0, _reactNativeReanimated.useSharedValue)(0);
40
+ const prevScale = (0, _reactNativeReanimated.useSharedValue)(0);
41
+ const offsetScale = (0, _reactNativeReanimated.useSharedValue)(0);
42
+ const prevTranslationX = (0, _reactNativeReanimated.useSharedValue)(0);
43
+ const prevTranslationY = (0, _reactNativeReanimated.useSharedValue)(0);
44
+ const pinchGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pinch().enabled(!disabled).onStart(() => {
45
+ (0, _reactNativeReanimated.cancelAnimation)(translationX);
46
+ (0, _reactNativeReanimated.cancelAnimation)(translationY);
47
+ (0, _reactNativeReanimated.cancelAnimation)(scale);
48
+ prevScale.value = scale.value;
49
+ offsetScale.value = scale.value;
50
+ if (onPinchStart) (0, _reactNativeReanimated.runOnJS)(onPinchStart)();
51
+ if (onScaleChange) (0, _reactNativeReanimated.runOnJS)(onScaleChange)();
52
+ }).onUpdate(e => {
53
+ if (e.numberOfPointers === 2) {
54
+ scale.value = Math.min(prevScale.value * e.scale, maximumZoomScale);
55
+
56
+ // reset the origin
57
+ if (!isPinching.value) {
58
+ isPinching.value = true;
59
+ originX.value = e.focalX;
60
+ originY.value = e.focalY;
61
+ prevTranslationX.value = translationX.value;
62
+ prevTranslationY.value = translationY.value;
63
+ offsetScale.value = scale.value;
64
+ }
65
+ if (isPinching.value) {
66
+ // translate the image to the focal point as we're zooming
67
+ translationX.value = (0, _clamp.clamp)(prevTranslationX.value + -1 * ((scale.value - offsetScale.value) * (originX.value - viewWidth.value / 2)), -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2);
68
+ translationY.value = (0, _clamp.clamp)(prevTranslationY.value + -1 * ((scale.value - offsetScale.value) * (originY.value - viewHeight.value / 2)), -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2);
69
+ }
70
+ }
71
+ }).onEnd(() => {
72
+ isPinching.value = false;
73
+ if (scale.value < minimumZoomScale / 2 && prevScale.value <= minimumZoomScale) {
74
+ if (onRequestClose) {
75
+ (0, _reactNativeReanimated.runOnJS)(onRequestClose)();
76
+ }
77
+ } else if (scale.value < minimumZoomScale) {
78
+ (0, _reactNativeReanimated.runOnJS)(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
79
+ translationX.value = (0, _reactNativeReanimated.withTiming)(0);
80
+ translationY.value = (0, _reactNativeReanimated.withTiming)(0);
81
+ scale.value = (0, _reactNativeReanimated.withTiming)(minimumZoomScale);
82
+ if (onScaleReset) {
83
+ (0, _reactNativeReanimated.runOnJS)(onScaleReset)();
84
+ }
85
+ }
86
+ prevScale.value = 0;
87
+ prevTranslationX.value = translationX.value;
88
+ prevTranslationY.value = translationY.value;
89
+ if (onPinchEnd) (0, _reactNativeReanimated.runOnJS)(onPinchEnd)();
90
+ }), [disabled, translationX, translationY, scale, prevScale, offsetScale, onPinchStart, onScaleChange, maximumZoomScale, isPinching, originX, originY, prevTranslationX, prevTranslationY, viewWidth.value, viewHeight.value, minimumZoomScale, onPinchEnd, onRequestClose, onScaleReset]);
91
+ const panGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().enabled(!disabled).onStart(() => {
92
+ (0, _reactNativeReanimated.cancelAnimation)(translationX);
93
+ (0, _reactNativeReanimated.cancelAnimation)(translationY);
94
+ prevTranslationX.value = translationX.value;
95
+ prevTranslationY.value = translationY.value;
96
+ }).onUpdate(e => {
97
+ if (prevScale.value <= minimumZoomScale) {
98
+ translationX.value = prevTranslationX.value + e.translationX;
99
+ translationY.value = prevTranslationY.value + e.translationY;
100
+ } else {
101
+ translationX.value = (0, _clamp.clamp)(prevTranslationX.value + e.translationX, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2);
102
+ translationY.value = (0, _clamp.clamp)(prevTranslationY.value + e.translationY, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2);
103
+ }
104
+ }).onEnd(() => {
105
+ if (scale.value <= minimumZoomScale && prevScale.value <= minimumZoomScale) {
106
+ if (Math.abs(translationX.value) > viewWidth.value / 2 || Math.abs(translationY.value) > viewHeight.value / 2) {
107
+ if (onRequestClose) {
108
+ (0, _reactNativeReanimated.runOnJS)(onRequestClose)();
109
+ }
110
+ } else {
111
+ (0, _reactNativeReanimated.runOnJS)(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
112
+ translationX.value = (0, _reactNativeReanimated.withTiming)(0);
113
+ translationY.value = (0, _reactNativeReanimated.withTiming)(0);
114
+ }
115
+ } else if (viewHeight.value * (scale.value - minimumZoomScale) <= windowHeight) {
116
+ translationX.value = (0, _reactNativeReanimated.withTiming)((0, _clamp.clamp)(translationX.value, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2));
117
+ translationY.value = (0, _reactNativeReanimated.withTiming)((0, _clamp.clamp)(translationY.value, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2));
118
+ }
119
+ }), [disabled, minimumZoomScale, onRequestClose, prevScale.value, prevTranslationX, prevTranslationY, scale.value, windowHeight, translationX, translationY, viewHeight.value, viewWidth.value]);
120
+ const tapGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Tap().enabled(!disabled).numberOfTaps(2).onStart(() => {
121
+ if (scale.value > minimumZoomScale) {
122
+ translationX.value = (0, _reactNativeReanimated.withTiming)(0);
123
+ translationY.value = (0, _reactNativeReanimated.withTiming)(0);
124
+ scale.value = (0, _reactNativeReanimated.withTiming)(minimumZoomScale);
125
+ if (onScaleReset) {
126
+ (0, _reactNativeReanimated.runOnJS)(onScaleReset)();
127
+ }
128
+ } else {
129
+ scale.value = (0, _reactNativeReanimated.withTiming)(maximumZoomScale / 2);
130
+ if (onScaleChange) {
131
+ (0, _reactNativeReanimated.runOnJS)(onScaleChange)();
132
+ }
133
+ }
134
+ }), [disabled, maximumZoomScale, minimumZoomScale, onScaleChange, onScaleReset, scale, translationX, translationY]);
135
+ const compositeGesture = (0, _react.useMemo)(() => {
136
+ return _reactNativeGestureHandler.Gesture.Exclusive(_reactNativeGestureHandler.Gesture.Simultaneous(pinchGesture, panGesture), tapGesture);
137
+ }, [panGesture, pinchGesture, tapGesture]);
138
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => {
139
+ return {
140
+ scale: scale.value,
141
+ translationX: translationX.value,
142
+ translationY: translationY.value
143
+ };
144
+ }, () => {
145
+ if (onTranslationChange) {
146
+ (0, _reactNativeReanimated.runOnJS)(onTranslationChange)(translationX, translationY, scale);
147
+ }
148
+ }, [onTranslationChange]);
149
+ const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
150
+ return {
151
+ transform: [{
152
+ translateX: translationX.value
153
+ }, {
154
+ translateY: translationY.value
155
+ }, {
156
+ scale: scale.value
157
+ }]
158
+ };
159
+ }, []);
160
+ const internalOnLayout = (0, _react.useCallback)(e => {
161
+ viewHeight.value = e.nativeEvent.layout.height;
162
+ viewWidth.value = e.nativeEvent.layout.width;
163
+ onLayout === null || onLayout === void 0 || onLayout(e);
164
+ }, [viewHeight, viewWidth, onLayout]);
165
+ const finalStyle = (0, _react.useMemo)(() => [style, propStyle], [style, propStyle]);
166
+ return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
167
+ gesture: compositeGesture
168
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
169
+ onLayout: internalOnLayout,
170
+ style: finalStyle
171
+ }, children));
172
+ }
173
+ //# sourceMappingURL=PinchToZoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_reactNativeGestureHandler","_clamp","Haptics","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PinchToZoom","minimumZoomScale","maximumZoomScale","style","propStyle","onPinchStart","onPinchEnd","disabled","onLayout","onTranslationChange","onScaleChange","onScaleReset","children","onRequestClose","height","windowHeight","useWindowDimensions","translationX","useSharedValue","translationY","originX","originY","scale","isPinching","viewHeight","viewWidth","prevScale","offsetScale","prevTranslationX","prevTranslationY","pinchGesture","useMemo","Gesture","Pinch","enabled","onStart","cancelAnimation","value","runOnJS","onUpdate","numberOfPointers","Math","min","focalX","focalY","clamp","onEnd","impactAsync","ImpactFeedbackStyle","Light","withTiming","panGesture","Pan","abs","tapGesture","Tap","numberOfTaps","compositeGesture","Exclusive","Simultaneous","useAnimatedReaction","useAnimatedStyle","transform","translateX","translateY","internalOnLayout","useCallback","nativeEvent","layout","width","finalStyle","createElement","GestureDetector","gesture","View"],"sourceRoot":"../../src","sources":["PinchToZoom.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AASA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAN,uBAAA,CAAAC,OAAA;AAAwC,SAAAM,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,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAoBzB,SAASY,WAAWA,CAAC;EAChCC,gBAAgB,GAAG,CAAC;EACpBC,gBAAgB,GAAG,CAAC;EACpBC,KAAK,EAAEC,SAAS;EAChBC,YAAY;EACZC,UAAU;EACVC,QAAQ;EACRC,QAAQ;EACRC,mBAAmB;EACnBC,aAAa;EACbC,YAAY;EACZC,QAAQ;EACRC;AACc,CAAC,EAAE;EACjB,MAAM;IAAEC,MAAM,EAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAEtD,MAAMC,YAAY,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACtC,MAAMC,YAAY,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EACtC,MAAME,OAAO,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EACjC,MAAMG,OAAO,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;EACjC,MAAMI,KAAK,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EAC/B,MAAMK,UAAU,GAAG,IAAAL,qCAAc,EAAC,KAAK,CAAC;EACxC,MAAMM,UAAU,GAAG,IAAAN,qCAAc,EAAC,CAAC,CAAC;EACpC,MAAMO,SAAS,GAAG,IAAAP,qCAAc,EAAC,CAAC,CAAC;EAEnC,MAAMQ,SAAS,GAAG,IAAAR,qCAAc,EAAC,CAAC,CAAC;EACnC,MAAMS,WAAW,GAAG,IAAAT,qCAAc,EAAC,CAAC,CAAC;EACrC,MAAMU,gBAAgB,GAAG,IAAAV,qCAAc,EAAC,CAAC,CAAC;EAC1C,MAAMW,gBAAgB,GAAG,IAAAX,qCAAc,EAAC,CAAC,CAAC;EAE1C,MAAMY,YAAY,GAAG,IAAAC,cAAO,EACxB,MACIC,kCAAO,CAACC,KAAK,CAAC,CAAC,CACVC,OAAO,CAAC,CAAC3B,QAAQ,CAAC,CAClB4B,OAAO,CAAC,MAAM;IACX,IAAAC,sCAAe,EAACnB,YAAY,CAAC;IAC7B,IAAAmB,sCAAe,EAACjB,YAAY,CAAC;IAC7B,IAAAiB,sCAAe,EAACd,KAAK,CAAC;IACtBI,SAAS,CAACW,KAAK,GAAGf,KAAK,CAACe,KAAK;IAC7BV,WAAW,CAACU,KAAK,GAAGf,KAAK,CAACe,KAAK;IAC/B,IAAIhC,YAAY,EAAE,IAAAiC,8BAAO,EAACjC,YAAY,CAAC,CAAC,CAAC;IACzC,IAAIK,aAAa,EAAE,IAAA4B,8BAAO,EAAC5B,aAAa,CAAC,CAAC,CAAC;EAC/C,CAAC,CAAC,CACD6B,QAAQ,CAAE3D,CAAC,IAAK;IACb,IAAIA,CAAC,CAAC4D,gBAAgB,KAAK,CAAC,EAAE;MAC1BlB,KAAK,CAACe,KAAK,GAAGI,IAAI,CAACC,GAAG,CAAChB,SAAS,CAACW,KAAK,GAAGzD,CAAC,CAAC0C,KAAK,EAAEpB,gBAAgB,CAAC;;MAEnE;MACA,IAAI,CAACqB,UAAU,CAACc,KAAK,EAAE;QACnBd,UAAU,CAACc,KAAK,GAAG,IAAI;QACvBjB,OAAO,CAACiB,KAAK,GAAGzD,CAAC,CAAC+D,MAAM;QACxBtB,OAAO,CAACgB,KAAK,GAAGzD,CAAC,CAACgE,MAAM;QACxBhB,gBAAgB,CAACS,KAAK,GAAGpB,YAAY,CAACoB,KAAK;QAC3CR,gBAAgB,CAACQ,KAAK,GAAGlB,YAAY,CAACkB,KAAK;QAC3CV,WAAW,CAACU,KAAK,GAAGf,KAAK,CAACe,KAAK;MACnC;MAEA,IAAId,UAAU,CAACc,KAAK,EAAE;QAClB;QACApB,YAAY,CAACoB,KAAK,GAAG,IAAAQ,YAAK,EACtBjB,gBAAgB,CAACS,KAAK,GAClB,CAAC,CAAC,IACG,CAACf,KAAK,CAACe,KAAK,GAAGV,WAAW,CAACU,KAAK,KAC5BjB,OAAO,CAACiB,KAAK,GAAGZ,SAAS,CAACY,KAAK,GAAG,CAAC,CAAC,CAAC,EACjD,CAACZ,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACxDwB,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC3D,CAAC;QACDkB,YAAY,CAACkB,KAAK,GAAG,IAAAQ,YAAK,EACtBhB,gBAAgB,CAACQ,KAAK,GAClB,CAAC,CAAC,IACG,CAACf,KAAK,CAACe,KAAK,GAAGV,WAAW,CAACU,KAAK,KAC5BhB,OAAO,CAACgB,KAAK,GAAGb,UAAU,CAACa,KAAK,GAAG,CAAC,CAAC,CAAC,EAClD,CAACb,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACzDuB,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC5D,CAAC;MACL;IACJ;EACJ,CAAC,CAAC,CACD6C,KAAK,CAAC,MAAM;IACTvB,UAAU,CAACc,KAAK,GAAG,KAAK;IAExB,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,GAAG,CAAC,IAAIyB,SAAS,CAACW,KAAK,IAAIpC,gBAAgB,EAAE;MAC3E,IAAIY,cAAc,EAAE;QAChB,IAAAyB,8BAAO,EAACzB,cAAc,CAAC,CAAC,CAAC;MAC7B;IACJ,CAAC,MAAM,IAAIS,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,EAAE;MACvC,IAAAqC,8BAAO,EAAC5D,OAAO,CAACqE,WAAW,CAAC,CAACrE,OAAO,CAACsE,mBAAmB,CAACC,KAAK,CAAC;MAC/DhC,YAAY,CAACoB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;MAClC/B,YAAY,CAACkB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;MAClC5B,KAAK,CAACe,KAAK,GAAG,IAAAa,iCAAU,EAACjD,gBAAgB,CAAC;MAC1C,IAAIU,YAAY,EAAE;QACd,IAAA2B,8BAAO,EAAC3B,YAAY,CAAC,CAAC,CAAC;MAC3B;IACJ;IAEAe,SAAS,CAACW,KAAK,GAAG,CAAC;IACnBT,gBAAgB,CAACS,KAAK,GAAGpB,YAAY,CAACoB,KAAK;IAC3CR,gBAAgB,CAACQ,KAAK,GAAGlB,YAAY,CAACkB,KAAK;IAE3C,IAAI/B,UAAU,EAAE,IAAAgC,8BAAO,EAAChC,UAAU,CAAC,CAAC,CAAC;EACzC,CAAC,CAAC,EAEV,CACIC,QAAQ,EACRU,YAAY,EACZE,YAAY,EACZG,KAAK,EACLI,SAAS,EACTC,WAAW,EACXtB,YAAY,EACZK,aAAa,EACbR,gBAAgB,EAChBqB,UAAU,EACVH,OAAO,EACPC,OAAO,EACPO,gBAAgB,EAChBC,gBAAgB,EAChBJ,SAAS,CAACY,KAAK,EACfb,UAAU,CAACa,KAAK,EAChBpC,gBAAgB,EAChBK,UAAU,EACVO,cAAc,EACdF,YAAY,CAEpB,CAAC;EAED,MAAMwC,UAAU,GAAG,IAAApB,cAAO,EACtB,MACIC,kCAAO,CAACoB,GAAG,CAAC,CAAC,CACRlB,OAAO,CAAC,CAAC3B,QAAQ,CAAC,CAClB4B,OAAO,CAAC,MAAM;IACX,IAAAC,sCAAe,EAACnB,YAAY,CAAC;IAC7B,IAAAmB,sCAAe,EAACjB,YAAY,CAAC;IAE7BS,gBAAgB,CAACS,KAAK,GAAGpB,YAAY,CAACoB,KAAK;IAC3CR,gBAAgB,CAACQ,KAAK,GAAGlB,YAAY,CAACkB,KAAK;EAC/C,CAAC,CAAC,CACDE,QAAQ,CAAE3D,CAAC,IAAK;IACb,IAAI8C,SAAS,CAACW,KAAK,IAAIpC,gBAAgB,EAAE;MACrCgB,YAAY,CAACoB,KAAK,GAAGT,gBAAgB,CAACS,KAAK,GAAGzD,CAAC,CAACqC,YAAY;MAC5DE,YAAY,CAACkB,KAAK,GAAGR,gBAAgB,CAACQ,KAAK,GAAGzD,CAAC,CAACuC,YAAY;IAChE,CAAC,MAAM;MACHF,YAAY,CAACoB,KAAK,GAAG,IAAAQ,YAAK,EACtBjB,gBAAgB,CAACS,KAAK,GAAGzD,CAAC,CAACqC,YAAY,EACtC,CAACQ,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACxDwB,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC3D,CAAC;MACDkB,YAAY,CAACkB,KAAK,GAAG,IAAAQ,YAAK,EACtBhB,gBAAgB,CAACQ,KAAK,GAAGzD,CAAC,CAACuC,YAAY,EACtC,CAACK,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACzDuB,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC5D,CAAC;IACL;EACJ,CAAC,CAAC,CACD6C,KAAK,CAAC,MAAM;IACT,IAAIxB,KAAK,CAACe,KAAK,IAAIpC,gBAAgB,IAAIyB,SAAS,CAACW,KAAK,IAAIpC,gBAAgB,EAAE;MACxE,IACIwC,IAAI,CAACY,GAAG,CAACpC,YAAY,CAACoB,KAAK,CAAC,GAAGZ,SAAS,CAACY,KAAK,GAAG,CAAC,IAClDI,IAAI,CAACY,GAAG,CAAClC,YAAY,CAACkB,KAAK,CAAC,GAAGb,UAAU,CAACa,KAAK,GAAG,CAAC,EACrD;QACE,IAAIxB,cAAc,EAAE;UAChB,IAAAyB,8BAAO,EAACzB,cAAc,CAAC,CAAC,CAAC;QAC7B;MACJ,CAAC,MAAM;QACH,IAAAyB,8BAAO,EAAC5D,OAAO,CAACqE,WAAW,CAAC,CAACrE,OAAO,CAACsE,mBAAmB,CAACC,KAAK,CAAC;QAC/DhC,YAAY,CAACoB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;QAClC/B,YAAY,CAACkB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;MACtC;IACJ,CAAC,MAAM,IACH1B,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,IACnDc,YAAY,EACd;MACEE,YAAY,CAACoB,KAAK,GAAG,IAAAa,iCAAU,EAC3B,IAAAL,YAAK,EACD5B,YAAY,CAACoB,KAAK,EACjB,CAACZ,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACxDwB,SAAS,CAACY,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC3D,CACJ,CAAC;MACDkB,YAAY,CAACkB,KAAK,GAAG,IAAAa,iCAAU,EAC3B,IAAAL,YAAK,EACD1B,YAAY,CAACkB,KAAK,EACjB,CAACb,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAAC,EACzDuB,UAAU,CAACa,KAAK,IAAIf,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,CAAC,GAAI,CAC5D,CACJ,CAAC;IACL;EACJ,CAAC,CAAC,EACV,CACIM,QAAQ,EACRN,gBAAgB,EAChBY,cAAc,EACda,SAAS,CAACW,KAAK,EACfT,gBAAgB,EAChBC,gBAAgB,EAChBP,KAAK,CAACe,KAAK,EACXtB,YAAY,EACZE,YAAY,EACZE,YAAY,EACZK,UAAU,CAACa,KAAK,EAChBZ,SAAS,CAACY,KAAK,CAEvB,CAAC;EAED,MAAMiB,UAAU,GAAG,IAAAvB,cAAO,EACtB,MACIC,kCAAO,CAACuB,GAAG,CAAC,CAAC,CACRrB,OAAO,CAAC,CAAC3B,QAAQ,CAAC,CAClBiD,YAAY,CAAC,CAAC,CAAC,CACfrB,OAAO,CAAC,MAAM;IACX,IAAIb,KAAK,CAACe,KAAK,GAAGpC,gBAAgB,EAAE;MAChCgB,YAAY,CAACoB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;MAClC/B,YAAY,CAACkB,KAAK,GAAG,IAAAa,iCAAU,EAAC,CAAC,CAAC;MAClC5B,KAAK,CAACe,KAAK,GAAG,IAAAa,iCAAU,EAACjD,gBAAgB,CAAC;MAC1C,IAAIU,YAAY,EAAE;QACd,IAAA2B,8BAAO,EAAC3B,YAAY,CAAC,CAAC,CAAC;MAC3B;IACJ,CAAC,MAAM;MACHW,KAAK,CAACe,KAAK,GAAG,IAAAa,iCAAU,EAAChD,gBAAgB,GAAG,CAAC,CAAC;MAC9C,IAAIQ,aAAa,EAAE;QACf,IAAA4B,8BAAO,EAAC5B,aAAa,CAAC,CAAC,CAAC;MAC5B;IACJ;EACJ,CAAC,CAAC,EACV,CACIH,QAAQ,EACRL,gBAAgB,EAChBD,gBAAgB,EAChBS,aAAa,EACbC,YAAY,EACZW,KAAK,EACLL,YAAY,EACZE,YAAY,CAEpB,CAAC;EAED,MAAMsC,gBAAgB,GAAG,IAAA1B,cAAO,EAAC,MAAM;IACnC,OAAOC,kCAAO,CAAC0B,SAAS,CAAC1B,kCAAO,CAAC2B,YAAY,CAAC7B,YAAY,EAAEqB,UAAU,CAAC,EAAEG,UAAU,CAAC;EACxF,CAAC,EAAE,CAACH,UAAU,EAAErB,YAAY,EAAEwB,UAAU,CAAC,CAAC;EAE1C,IAAAM,0CAAmB,EACf,MAAM;IACF,OAAO;MACHtC,KAAK,EAAEA,KAAK,CAACe,KAAK;MAClBpB,YAAY,EAAEA,YAAY,CAACoB,KAAK;MAChClB,YAAY,EAAEA,YAAY,CAACkB;IAC/B,CAAC;EACL,CAAC,EACD,MAAM;IACF,IAAI5B,mBAAmB,EAAE;MACrB,IAAA6B,8BAAO,EAAC7B,mBAAmB,CAAC,CAACQ,YAAY,EAAEE,YAAY,EAAEG,KAAK,CAAC;IACnE;EACJ,CAAC,EACD,CAACb,mBAAmB,CACxB,CAAC;EAED,MAAMN,KAAK,GAAG,IAAA0D,uCAAgB,EAAC,MAAM;IACjC,OAAO;MACHC,SAAS,EAAE,CACP;QAAEC,UAAU,EAAE9C,YAAY,CAACoB;MAAM,CAAC,EAClC;QAAE2B,UAAU,EAAE7C,YAAY,CAACkB;MAAM,CAAC,EAClC;QAAEf,KAAK,EAAEA,KAAK,CAACe;MAAM,CAAC;IAE9B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM4B,gBAAgB,GAAG,IAAAC,kBAAW,EAC/BtF,CAAoB,IAAK;IACtB4C,UAAU,CAACa,KAAK,GAAGzD,CAAC,CAACuF,WAAW,CAACC,MAAM,CAACtD,MAAM;IAC9CW,SAAS,CAACY,KAAK,GAAGzD,CAAC,CAACuF,WAAW,CAACC,MAAM,CAACC,KAAK;IAC5C7D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG5B,CAAC,CAAC;EACjB,CAAC,EACD,CAAC4C,UAAU,EAAEC,SAAS,EAAEjB,QAAQ,CACpC,CAAC;EAED,MAAM8D,UAAU,GAAG,IAAAvC,cAAO,EAAC,MAAM,CAAC5B,KAAK,EAAEC,SAAS,CAAC,EAAE,CAACD,KAAK,EAAEC,SAAS,CAAC,CAAC;EAExE,oBACIjC,MAAA,CAAAc,OAAA,CAAAsF,aAAA,CAAC/F,0BAAA,CAAAgG,eAAe;IAACC,OAAO,EAAEhB;EAAiB,gBACvCtF,MAAA,CAAAc,OAAA,CAAAsF,aAAA,CAAChG,sBAAA,CAAAU,OAAQ,CAACyF,IAAI;IAAClE,QAAQ,EAAEyD,gBAAiB;IAAC9D,KAAK,EAAEmE;EAAW,GACxD1D,QACU,CACF,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _mergeRefs = _interopRequireDefault(require("merge-refs"));
9
+ var _FullScreenImageSlider = _interopRequireDefault(require("./FullScreenImageSlider"));
10
+ var _BaseSimpleImageSlider = _interopRequireDefault(require("./BaseSimpleImageSlider"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ 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); }
13
+ 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; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ const SimpleImageSlider = /*#__PURE__*/(0, _react.forwardRef)(function ListImageSlider({
16
+ data,
17
+ fullScreenEnabled = false,
18
+ onItemPress,
19
+ onViewableItemChange,
20
+ ...props
21
+ }, ref) {
22
+ const listRef = (0, _react.useRef)(null);
23
+ const fullScreenListRef = (0, _react.useRef)(null);
24
+ const [fullScreen, setFullScreen] = (0, _react.useState)(false);
25
+ const [currentIndex, setCurrentIndex] = (0, _react.useState)(0);
26
+ const internalOnViewableItemChange = (0, _react.useCallback)(index => {
27
+ setCurrentIndex(index);
28
+ onViewableItemChange === null || onViewableItemChange === void 0 || onViewableItemChange(index);
29
+ }, [onViewableItemChange]);
30
+ const onFullScreenViewableItemChange = (0, _react.useCallback)(index => {
31
+ setCurrentIndex(index);
32
+ }, []);
33
+ const openFullScreen = (0, _react.useCallback)(() => {
34
+ setFullScreen(true);
35
+ }, []);
36
+ const onRequestClose = (0, _react.useCallback)(() => {
37
+ var _listRef$current;
38
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollToIndex({
39
+ index: currentIndex
40
+ });
41
+ setFullScreen(false);
42
+ }, [currentIndex]);
43
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseSimpleImageSlider.default, _extends({}, props, {
44
+ data: data,
45
+ ref: (0, _mergeRefs.default)(ref, listRef),
46
+ onItemPress: onItemPress ?? openFullScreen,
47
+ onViewableItemChange: internalOnViewableItemChange
48
+ })), fullScreenEnabled ? /*#__PURE__*/_react.default.createElement(_FullScreenImageSlider.default, _extends({}, props, {
49
+ ref: fullScreenListRef,
50
+ open: fullScreen,
51
+ onRequestClose: onRequestClose,
52
+ data: data,
53
+ showPageCounter: false,
54
+ indexOverride: currentIndex,
55
+ onViewableItemChange: onFullScreenViewableItemChange
56
+ })) : null);
57
+ });
58
+ var _default = exports.default = SimpleImageSlider;
59
+ //# sourceMappingURL=SimpleImageSlider.js.map
@@ -0,0 +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":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = StyledComponentsThemeProvider;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _native = require("styled-components/native");
9
+ 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); }
10
+ 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; }
11
+ function StyledComponentsThemeProvider({
12
+ children
13
+ }) {
14
+ const styles = (0, _react.useMemo)(() => ({
15
+ spacing: {
16
+ xxs: 2,
17
+ xs: 4,
18
+ s: 8,
19
+ m: 16,
20
+ l: 20,
21
+ xl: 40
22
+ },
23
+ borderRadius: {
24
+ xs: 2,
25
+ s: 4,
26
+ m: 8,
27
+ l: 16,
28
+ xl: 24
29
+ },
30
+ borderWidth: {
31
+ xs: 1,
32
+ s: 2,
33
+ m: 4,
34
+ l: 8,
35
+ xl: 16
36
+ }
37
+ }), []);
38
+ const theme = (0, _react.useMemo)(() => ({
39
+ colors: {
40
+ pageCounterBackground: '#D3D3D3',
41
+ pageCounterBorder: '#000000',
42
+ fullScreenCloseButton: '#FFFFFF',
43
+ descriptionContainerBorder: '#FFFFFF'
44
+ },
45
+ styles
46
+ }), [styles]);
47
+ return /*#__PURE__*/_react.default.createElement(_native.ThemeProvider, {
48
+ theme: theme
49
+ }, children);
50
+ }
51
+ //# sourceMappingURL=StyledComponentsThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_native","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledComponentsThemeProvider","children","styles","useMemo","spacing","xxs","xs","s","m","l","xl","borderRadius","borderWidth","theme","colors","pageCounterBackground","pageCounterBorder","fullScreenCloseButton","descriptionContainerBorder","createElement","ThemeProvider"],"sourceRoot":"../../src","sources":["StyledComponentsThemeProvider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAA4E,SAAAE,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,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7D,SAASY,6BAA6BA,CAAC;EAAEC;AAA4B,CAAC,EAAE;EACnF,MAAMC,MAAM,GAAG,IAAAC,cAAO,EAClB,OAAO;IACHC,OAAO,EAAE;MACLC,GAAG,EAAE,CAAC;MACNC,EAAE,EAAE,CAAC;MACLC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,EAAE;MACLC,CAAC,EAAE,EAAE;MACLC,EAAE,EAAE;IACR,CAAC;IACDC,YAAY,EAAE;MACVL,EAAE,EAAE,CAAC;MACLC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,EAAE;MACLC,EAAE,EAAE;IACR,CAAC;IACDE,WAAW,EAAE;MACTN,EAAE,EAAE,CAAC;MACLC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,EAAE,EAAE;IACR;EACJ,CAAC,CAAC,EAEF,EACJ,CAAC;EAED,MAAMG,KAAmB,GAAG,IAAAV,cAAO,EAC/B,OAAO;IACHW,MAAM,EAAE;MACJC,qBAAqB,EAAE,SAAS;MAChCC,iBAAiB,EAAE,SAAS;MAC5BC,qBAAqB,EAAE,SAAS;MAChCC,0BAA0B,EAAE;IAChC,CAAC;IACDhB;EACJ,CAAC,CAAC,EACF,CAACA,MAAM,CACX,CAAC;EAED,oBAAO3B,MAAA,CAAAU,OAAA,CAAAkC,aAAA,CAACzC,OAAA,CAAA0C,aAAa;IAACP,KAAK,EAAEA;EAAM,GAAEZ,QAAwB,CAAC;AAClE","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BaseListImageSlider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _BaseSimpleImageSlider.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FullScreenImageSlider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _FullScreenImageSlider.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "SimpleImageSlider", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _SimpleImageSlider.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "SimpleImageSliderThemeProvider", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _StyledComponentsThemeProvider.default;
28
+ }
29
+ });
30
+ var _StyledComponentsThemeProvider = _interopRequireDefault(require("./StyledComponentsThemeProvider"));
31
+ var _BaseSimpleImageSlider = _interopRequireDefault(require("./BaseSimpleImageSlider"));
32
+ var _SimpleImageSlider = _interopRequireDefault(require("./SimpleImageSlider"));
33
+ var _FullScreenImageSlider = _interopRequireDefault(require("./FullScreenImageSlider"));
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_StyledComponentsThemeProvider","_interopRequireDefault","require","_BaseSimpleImageSlider","_SimpleImageSlider","_FullScreenImageSlider","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,8BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,sBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAiG,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clamp = void 0;
7
+ const clamp = (value, min, max) => {
8
+ 'worklet';
9
+
10
+ return Math.min(Math.max(value, min), max);
11
+ };
12
+ exports.clamp = clamp;
13
+ //# sourceMappingURL=clamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clamp","value","min","max","Math","exports"],"sourceRoot":"../../../src","sources":["utils/clamp.ts"],"mappings":";;;;;;AAAO,MAAMA,KAAK,GAAGA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,KAAK;EAC9D,SAAS;;EACT,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC9C,CAAC;AAACE,OAAA,CAAAL,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = renderProp;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ 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); }
9
+ 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; }
10
+ function renderProp(Component) {
11
+ return Component ? typeof Component === 'string' ? Component : /*#__PURE__*/(0, _react.isValidElement)(Component) ? Component :
12
+ /*#__PURE__*/
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ _react.default.createElement(Component, null) : null;
16
+ }
17
+ //# sourceMappingURL=renderProp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","renderProp","Component","isValidElement","createElement"],"sourceRoot":"../../../src","sources":["utils/renderProp.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8C,SAAAC,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,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAS/B,SAASY,UAAUA,CAACC,SAAqB,EAAE;EACtD,OAAOA,SAAS,GACZ,OAAOA,SAAS,KAAK,QAAQ,GACzBA,SAAS,GACT,iBAAAC,qBAAc,EAACD,SAAS,CAAC,GACzBA,SAAS;EAAA;EAET;EACA;EACAzB,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACF,SAAS,MAAE,CACf,GACD,IAAI;AACZ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import 'styled-components/native';
2
+ //# sourceMappingURL=styled.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/styled.d.ts"],"mappings":"AAAA,OAAO,0BAA0B","ignoreList":[]}
@@ -0,0 +1,185 @@
1
+ import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { FlashList } from '@shopify/flash-list';
3
+ import mergeRefs from 'merge-refs';
4
+ import { Image } from 'expo-image';
5
+ import { Pressable } from 'react-native';
6
+ import styled from 'styled-components/native';
7
+ import PageCounter from './PageCounter';
8
+ import PinchToZoom from './PinchToZoom';
9
+ import { GestureHandlerRootView, ScrollView } from 'react-native-gesture-handler';
10
+ import renderProp from './utils/renderProp';
11
+ const StyledAbsoluteComponentContainer = styled.View`
12
+ z-index: 1000;
13
+ position: absolute;
14
+ bottom: ${({
15
+ position,
16
+ theme
17
+ }) => position === 'bottom-left' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
18
+ top: ${({
19
+ position,
20
+ theme
21
+ }) => position === 'top-left' || position === 'top-right' ? `${theme.styles.spacing.m}px` : undefined};
22
+ left: ${({
23
+ position,
24
+ theme
25
+ }) => position === 'top-left' || position === 'bottom-left' ? `${theme.styles.spacing.m}px` : undefined};
26
+ right: ${({
27
+ position,
28
+ theme
29
+ }) => position === 'top-right' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
30
+ `;
31
+ const StyledPageCounter = styled(PageCounter)`
32
+ z-index: 1000;
33
+ position: absolute;
34
+ bottom: ${({
35
+ position,
36
+ theme
37
+ }) => position === 'bottom-left' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
38
+ top: ${({
39
+ position,
40
+ theme
41
+ }) => position === 'top-left' || position === 'top-right' ? `${theme.styles.spacing.m}px` : undefined};
42
+ left: ${({
43
+ position,
44
+ theme
45
+ }) => position === 'top-left' || position === 'bottom-left' ? `${theme.styles.spacing.m}px` : undefined};
46
+ right: ${({
47
+ position,
48
+ theme
49
+ }) => position === 'top-right' || position === 'bottom-right' ? `${theme.styles.spacing.m}px` : undefined};
50
+ `;
51
+ const StyledContainer = styled(GestureHandlerRootView)`
52
+ aspect-ratio: ${({
53
+ aspectRatio
54
+ }) => aspectRatio ?? 4 / 3};
55
+ width: 100%;
56
+ `;
57
+ const StyledImage = styled(Image)`
58
+ width: ${({
59
+ imageWidth
60
+ }) => imageWidth ? `${imageWidth}px` : '100%'};
61
+ height: ${({
62
+ imageHeight
63
+ }) => imageHeight ? `${imageHeight}px` : '100%'};
64
+ aspect-ratio: ${({
65
+ imageAspectRatio
66
+ }) => imageAspectRatio ? imageAspectRatio : 4 / 3};
67
+ `;
68
+ const StyledPinchToZoom = styled(PinchToZoom)`
69
+ z-index: 1000;
70
+ `;
71
+ const BaseListImageSlider = /*#__PURE__*/forwardRef(function BaseListImageSlider({
72
+ data,
73
+ style,
74
+ imageWidth,
75
+ imageHeight,
76
+ imageAspectRatio,
77
+ onItemPress,
78
+ maxPreviewItems,
79
+ showPageCounter = true,
80
+ pageCounterPosition = 'bottom-left',
81
+ renderPageCounter,
82
+ TopRightComponent,
83
+ TopLeftComponent,
84
+ BottomRightComponent,
85
+ BottomLeftComponent,
86
+ indexOverride,
87
+ onViewableItemChange,
88
+ enablePinchToZoom = false,
89
+ onPinchToZoomTranslationChange,
90
+ onPinchToZoomRequestClose
91
+ }, ref) {
92
+ const listRef = useRef(null);
93
+ const [currentItem, setCurrentItem] = useState(0);
94
+ const slicedData = useMemo(() => maxPreviewItems !== undefined ? (data === null || data === void 0 ? void 0 : data.slice(0, maxPreviewItems)) ?? [] : data ?? [], [data, maxPreviewItems]);
95
+ useEffect(() => {
96
+ var _listRef$current;
97
+ setCurrentItem(indexOverride ?? 0);
98
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollToIndex({
99
+ index: indexOverride ?? 0,
100
+ animated: false
101
+ });
102
+ }, [indexOverride, slicedData]);
103
+ const keyExtractor = useCallback(item => item.key, []);
104
+ const renderItem = useCallback(({
105
+ item,
106
+ index
107
+ }) => {
108
+ return /*#__PURE__*/React.createElement(Pressable, {
109
+ onPress: () => onItemPress === null || onItemPress === void 0 ? void 0 : onItemPress(item, index)
110
+ }, /*#__PURE__*/React.createElement(StyledImage, {
111
+ transition: 200,
112
+ placeholder: item.placeholder,
113
+ placeholderContentFit: 'cover',
114
+ imageWidth: imageWidth,
115
+ imageHeight: imageHeight,
116
+ imageAspectRatio: imageAspectRatio,
117
+ recyclingKey: item.key,
118
+ source: item.source,
119
+ contentFit: 'cover',
120
+ contentPosition: 'center'
121
+ }));
122
+ }, [imageAspectRatio, imageHeight, imageWidth, onItemPress]);
123
+ const onViewableItemsChanged = useCallback(({
124
+ viewableItems
125
+ }) => {
126
+ var _viewableItems$;
127
+ const newIndex = (_viewableItems$ = viewableItems[0]) === null || _viewableItems$ === void 0 ? void 0 : _viewableItems$.index;
128
+ if (newIndex !== undefined && newIndex !== null) {
129
+ setCurrentItem(newIndex);
130
+ onViewableItemChange === null || onViewableItemChange === void 0 || onViewableItemChange(newIndex);
131
+ }
132
+ }, [onViewableItemChange]);
133
+ const [scrollEnabled, setScrollEnabled] = useState(true);
134
+ const onScaleChange = useCallback(() => {
135
+ setScrollEnabled(false);
136
+ }, []);
137
+ const onScaleReset = useCallback(() => {
138
+ setScrollEnabled(true);
139
+ }, []);
140
+ const list = /*#__PURE__*/React.createElement(FlashList, {
141
+ renderScrollComponent: ScrollView,
142
+ scrollEnabled: scrollEnabled,
143
+ disableScrollViewPanResponder: enablePinchToZoom ? !scrollEnabled : false,
144
+ ref: mergeRefs(ref, listRef),
145
+ initialScrollIndex: indexOverride ?? currentItem ?? 0,
146
+ onViewableItemsChanged: onViewableItemsChanged,
147
+ viewabilityConfig: {
148
+ itemVisiblePercentThreshold: 55
149
+ },
150
+ decelerationRate: 'fast',
151
+ pagingEnabled: true,
152
+ showsHorizontalScrollIndicator: false,
153
+ showsVerticalScrollIndicator: false,
154
+ horizontal: true,
155
+ keyExtractor: keyExtractor,
156
+ renderItem: renderItem,
157
+ data: slicedData,
158
+ estimatedItemSize: imageWidth ?? (imageHeight ? imageHeight * (imageAspectRatio ?? 4 / 3) : 350)
159
+ });
160
+ return /*#__PURE__*/React.createElement(StyledContainer, {
161
+ aspectRatio: imageAspectRatio,
162
+ style: style
163
+ }, enablePinchToZoom ? /*#__PURE__*/React.createElement(StyledPinchToZoom, {
164
+ onRequestClose: onPinchToZoomRequestClose,
165
+ onTranslationChange: onPinchToZoomTranslationChange,
166
+ onScaleChange: onScaleChange,
167
+ onScaleReset: onScaleReset,
168
+ maximumZoomScale: 5,
169
+ minimumZoomScale: 1
170
+ }, list) : list, showPageCounter ? renderPageCounter ? renderPageCounter(currentItem + 1, slicedData.length) : /*#__PURE__*/React.createElement(StyledPageCounter, {
171
+ position: pageCounterPosition,
172
+ totalPages: slicedData.length,
173
+ currentPage: currentItem + 1
174
+ }) : null, TopRightComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
175
+ position: 'top-right'
176
+ }, renderProp(TopRightComponent)) : null, TopLeftComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
177
+ position: 'top-left'
178
+ }, renderProp(TopLeftComponent)) : null, BottomRightComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
179
+ position: 'bottom-right'
180
+ }, renderProp(BottomRightComponent)) : null, BottomLeftComponent ? /*#__PURE__*/React.createElement(StyledAbsoluteComponentContainer, {
181
+ position: 'bottom-left'
182
+ }, renderProp(BottomLeftComponent)) : null);
183
+ });
184
+ export default BaseListImageSlider;
185
+ //# sourceMappingURL=BaseSimpleImageSlider.js.map
@@ -0,0 +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","theme","styles","spacing","m","undefined","StyledPageCounter","StyledContainer","aspectRatio","StyledImage","imageWidth","imageHeight","imageAspectRatio","StyledPinchToZoom","BaseListImageSlider","data","style","onItemPress","maxPreviewItems","showPageCounter","pageCounterPosition","renderPageCounter","TopRightComponent","TopLeftComponent","BottomRightComponent","BottomLeftComponent","indexOverride","onViewableItemChange","enablePinchToZoom","onPinchToZoomTranslationChange","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","onRequestClose","onTranslationChange","maximumZoomScale","minimumZoomScale","length","totalPages","currentPage"],"sourceRoot":"../../src","sources":["BaseSimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}