react-native-gesture-image-viewer 1.3.0 → 1.4.1

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 CHANGED
@@ -229,7 +229,8 @@ function App() {
229
229
  totalCount,
230
230
  zoomIn,
231
231
  zoomOut,
232
- resetZoom
232
+ resetZoom,
233
+ rotate
233
234
  } = useGestureViewerController();
234
235
 
235
236
  return (
@@ -242,7 +243,15 @@ function App() {
242
243
  <View>
243
244
  <Feather.Button name="zoom-in" onPress={() => zoomIn(0.25)} />
244
245
  <Feather.Button name="zoom-out" onPress={() => zoomOut(0.25)} />
245
- <Feather.Button name="refresh-cw" onPress={() => resetZoom()} />
246
+ <Feather.Button
247
+ name="refresh-cw"
248
+ onPress={() => {
249
+ rotate(0);
250
+ resetZoom();
251
+ }}
252
+ />
253
+ <Feather.Button name="rotate-cw" onPress={() => rotate(90)} />
254
+ <Feather.Button name="rotate-ccw" onPress={() => rotate(90, false)} />
246
255
  </View>
247
256
  {/* Navigation Controls */}
248
257
  <View>
@@ -268,6 +277,7 @@ function App() {
268
277
  | `zoomIn` | Zoom in by the specified multiplier. | `(multiplier?: number) => void` | `0.25` |
269
278
  | `zoomOut` | Zoom out by the specified multiplier. | `(multiplier?: number) => void` | `0.25` |
270
279
  | `resetZoom` | Reset zoom to the specified scale. | `(scale?: number) => void` | `1` |
280
+ | `rotate` | Rotate by the specified angle. | `(angle?: number, clockwise?: boolean) => void` | `90, true` |
271
281
 
272
282
  ### Parameters
273
283
 
@@ -283,6 +293,13 @@ function App() {
283
293
  - **scale**: The scale value to reset to
284
294
  - Example: `resetZoom(1.5)` → Reset to 1.5x scale
285
295
 
296
+ #### `rotate(angle?, clockwise?)`
297
+ - **angle**: The angle to rotate (0, 90, 180, 270, 360)
298
+ - **clockwise**: The direction to rotate (true: clockwise, false: counter-clockwise)
299
+ - Example: `rotate(90)` → Rotate 90 degrees clockwise
300
+ - Example: `rotate(90, false)` → Rotate 90 degrees counter-clockwise
301
+ - Example: `rotate(0)` → Reset rotation
302
+
286
303
  ### Style Customization
287
304
 
288
305
  You can customize the styling of `GestureViewer`.
@@ -32,6 +32,7 @@ export function GestureViewer({
32
32
  const {
33
33
  listRef,
34
34
  isZoomed,
35
+ isRotated,
35
36
  dismissGesture,
36
37
  zoomGesture,
37
38
  onMomentumScrollEnd,
@@ -76,7 +77,7 @@ export function GestureViewer({
76
77
  }, [id]);
77
78
  const commonProps = useMemo(() => ({
78
79
  horizontal: true,
79
- scrollEnabled: !isZoomed,
80
+ scrollEnabled: !isZoomed && !isRotated,
80
81
  showsHorizontalScrollIndicator: false,
81
82
  onMomentumScrollEnd: onMomentumScrollEnd,
82
83
  ...(useSnap ? {
@@ -88,7 +89,7 @@ export function GestureViewer({
88
89
  }),
89
90
  scrollEventThrottle: 16,
90
91
  removeClippedSubviews: true
91
- }), [width, itemSpacing, isZoomed, onMomentumScrollEnd, useSnap]);
92
+ }), [width, itemSpacing, isZoomed, isRotated, onMomentumScrollEnd, useSnap]);
92
93
  const listComponent = /*#__PURE__*/_jsx(GestureHandlerRootView, {
93
94
  children: /*#__PURE__*/_jsx(GestureDetector, {
94
95
  gesture: gesture,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","props","Component","screenWidth","listRef","isZoomed","dismissGesture","zoomGesture","onMomentumScrollEnd","animatedStyle","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","getItemLayout","_","length","offset","keyExtractor","gesture","Race","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","listComponent","styles","container","background","content","OS","dataSet","ref","map","initialScrollIndex","windowSize","maxToRenderPerBatch","estimatedItemSize","create","flex","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","props","Component","screenWidth","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","animatedStyle","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","getItemLayout","_","length","offset","keyExtractor","gesture","Race","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","listComponent","styles","container","background","content","OS","dataSet","ref","map","initialScrollIndex","windowSize","maxToRenderPerBatch","estimatedItemSize","create","flex","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ class GestureViewerManager {
14
14
  listRef = null;
15
15
  enableSwipeGesture = true;
16
16
  listeners = new Set();
17
+ rotation = null;
17
18
  notifyListeners() {
18
19
  const state = this.getState();
19
20
  this.listeners.forEach(listener => listener(state));
@@ -27,7 +28,7 @@ class GestureViewerManager {
27
28
  getState() {
28
29
  return {
29
30
  currentIndex: this.currentIndex,
30
- dataLength: this.dataLength
31
+ totalCount: this.dataLength
31
32
  };
32
33
  }
33
34
  setWidth(width) {
@@ -59,12 +60,26 @@ class GestureViewerManager {
59
60
  notifyStateChange() {
60
61
  this.notifyListeners();
61
62
  }
62
-
63
- /**
64
- * @param multiplier - The multiplier to zoom in.
65
- * @range 0.01 - 1
66
- * @default 0.25
67
- */
63
+ setRotation(rotation) {
64
+ this.rotation = rotation;
65
+ }
66
+ rotate = (angle = 90, clockwise = true) => {
67
+ const MAX_ANGLE = 360;
68
+ if (!this.rotation || angle < 0 || angle > MAX_ANGLE || angle !== 0 && this.rotation.value % angle !== 0 && angle !== 360) {
69
+ return;
70
+ }
71
+ if (angle === 0) {
72
+ const nextAngle = Math.floor(this.rotation.value / MAX_ANGLE) * MAX_ANGLE;
73
+ this.rotation.value = withTiming(clockwise ? nextAngle : nextAngle - MAX_ANGLE);
74
+ return;
75
+ }
76
+ if (angle === 360) {
77
+ this.rotation.value = withTiming(clockwise ? this.rotation.value + MAX_ANGLE : this.rotation.value - MAX_ANGLE);
78
+ return;
79
+ }
80
+ const nextAngle = clockwise ? this.rotation.value + angle : this.rotation.value - angle;
81
+ this.rotation.value = withTiming(nextAngle);
82
+ };
68
83
  zoomIn = (multiplier = 0.25) => {
69
84
  if (!this.scale || !this.translateX || !this.translateY || multiplier < 0.01 || multiplier > 1) {
70
85
  return;
@@ -85,12 +100,6 @@ class GestureViewerManager {
85
100
  this.translateX.value = withTiming(translateX);
86
101
  this.translateY.value = withTiming(translateY);
87
102
  };
88
-
89
- /**
90
- * @param multiplier - The multiplier to zoom out.
91
- * @range 0.01 - 1
92
- * @default 0.25
93
- */
94
103
  zoomOut = (multiplier = 0.25) => {
95
104
  if (!this.scale || !this.translateX || !this.translateY || multiplier < 0.01 || multiplier > 1) {
96
105
  return;
@@ -116,11 +125,6 @@ class GestureViewerManager {
116
125
  this.translateX.value = withTiming(translateX);
117
126
  this.translateY.value = withTiming(translateY);
118
127
  };
119
-
120
- /**
121
- * @param scale - The scale to reset to.
122
- * @default 1
123
- */
124
128
  resetZoom = (scale = 1) => {
125
129
  if (!this.scale || !this.translateX || !this.translateY || scale <= 0 || scale > this.maxZoomScale) {
126
130
  return;
@@ -167,6 +171,7 @@ class GestureViewerManager {
167
171
  this.scale = null;
168
172
  this.translateX = null;
169
173
  this.translateY = null;
174
+ this.rotation = null;
170
175
  }
171
176
  }
172
177
  export default GestureViewerManager;
@@ -1 +1 @@
1
- {"version":3,"names":["withTiming","createBoundsConstraint","GestureViewerManager","currentIndex","dataLength","width","height","scale","translateX","translateY","maxZoomScale","listRef","enableSwipeGesture","listeners","Set","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableSwipeGesture","enabled","setCurrentIndex","index","setZoomSharedValues","notifyStateChange","zoomIn","multiplier","nextScale","Math","min","value","zoomOut","max","resetZoom","goToIndex","scrollToIndex","animated","scrollTo","x","goToPrevious","goToNext","cleanUp","clear"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["withTiming","createBoundsConstraint","GestureViewerManager","currentIndex","dataLength","width","height","scale","translateX","translateY","maxZoomScale","listRef","enableSwipeGesture","listeners","Set","rotation","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","totalCount","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableSwipeGesture","enabled","setCurrentIndex","index","setZoomSharedValues","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","value","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","scrollToIndex","animated","scrollTo","x","goToPrevious","goToNext","cleanUp","clear"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,7 @@ export const useGestureViewer = ({
33
33
  } = useWindowDimensions();
34
34
  const width = useSnap ? customWidth || screenWidth : screenWidth;
35
35
  const [isZoomed, setIsZoomed] = useState(false);
36
+ const [isRotated, setIsRotated] = useState(false);
36
37
  const [currentIndex, setCurrentIndex] = useState(initialIndex);
37
38
  const [manager, setManager] = useState(null);
38
39
  const unsubscribeRef = useRef(null);
@@ -43,6 +44,7 @@ export const useGestureViewer = ({
43
44
  const translateX = useSharedValue(0);
44
45
  const scale = useSharedValue(1);
45
46
  const backdropOpacity = useSharedValue(1);
47
+ const rotation = useSharedValue(0);
46
48
  const listRef = useRef(null);
47
49
  const dataLength = data?.length || 0;
48
50
  const constrainTranslation = useMemo(() => createBoundsConstraint({
@@ -52,6 +54,9 @@ export const useGestureViewer = ({
52
54
  useAnimatedReaction(() => scale.value, currentScale => {
53
55
  runOnJS(setIsZoomed)(currentScale > 1);
54
56
  });
57
+ useAnimatedReaction(() => rotation.value, currentRotation => {
58
+ runOnJS(setIsRotated)(currentRotation % 360 !== 0);
59
+ });
55
60
  useEffect(() => {
56
61
  const handleManagerChange = manager => {
57
62
  unsubscribeRef.current?.();
@@ -82,8 +87,9 @@ export const useGestureViewer = ({
82
87
  manager.setWidth(width + itemSpacing);
83
88
  manager.setHeight(screenHeight);
84
89
  manager.setZoomSharedValues(scale, translateX, translateY, maxZoomScale);
90
+ manager.setRotation(rotation);
85
91
  manager.notifyStateChange();
86
- }, [dataLength, enableSwipeGesture, initialIndex, manager, width, itemSpacing, maxZoomScale, scale, screenHeight, translateX, translateY]);
92
+ }, [dataLength, enableSwipeGesture, initialIndex, manager, width, itemSpacing, maxZoomScale, scale, screenHeight, translateX, translateY, rotation]);
87
93
  useEffect(() => {
88
94
  if (!manager || !listRef.current) {
89
95
  return;
@@ -99,6 +105,7 @@ export const useGestureViewer = ({
99
105
  scale.value = 1;
100
106
  backdropOpacity.value = 1;
101
107
  startScale.value = 1;
108
+ rotation.value = 0;
102
109
  if (initialIndex <= 0 || !listRef.current) {
103
110
  return;
104
111
  }
@@ -118,7 +125,7 @@ export const useGestureViewer = ({
118
125
  return () => {
119
126
  runAfterInteractions?.cancel();
120
127
  };
121
- }, [initialIndex, translateY, backdropOpacity, translateX, scale, startScale, width, itemSpacing]);
128
+ }, [initialIndex, translateY, backdropOpacity, translateX, scale, startScale, width, itemSpacing, rotation]);
122
129
  const onMomentumScrollEnd = useCallback(event => {
123
130
  if (!enableSwipeGesture) {
124
131
  return;
@@ -137,8 +144,9 @@ export const useGestureViewer = ({
137
144
  initialTranslateY.value = withTiming(0);
138
145
  startScale.value = withTiming(1);
139
146
  scale.value = withTiming(1);
147
+ rotation.value = 0;
140
148
  }
141
- }, [manager, currentIndex, dataLength, width, itemSpacing, enableSwipeGesture, translateX, translateY, scale, initialTranslateX, initialTranslateY, startScale]);
149
+ }, [manager, currentIndex, dataLength, width, itemSpacing, enableSwipeGesture, translateX, translateY, scale, initialTranslateX, initialTranslateY, startScale, rotation]);
142
150
  const dismissGesture = useMemo(() => {
143
151
  return Gesture.Pan().minDistance(10).averageTouches(true).activeCursor('grabbing').activeOffsetY([-10, 10]).failOffsetX([-10, 10]).enabled(!isZoomed).onUpdate(event => {
144
152
  translateY.value = event.translationY / resistance;
@@ -288,6 +296,8 @@ export const useGestureViewer = ({
288
296
  translateX: translateX.value
289
297
  }, {
290
298
  scale: scale.value
299
+ }, {
300
+ rotate: `${rotation.value}deg`
291
301
  }]
292
302
  };
293
303
  });
@@ -308,6 +318,7 @@ export const useGestureViewer = ({
308
318
  translateY,
309
319
  listRef,
310
320
  isZoomed,
321
+ isRotated,
311
322
  dismissGesture,
312
323
  zoomGesture,
313
324
  onMomentumScrollEnd,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","listRef","dataLength","length","constrainTranslation","value","currentScale","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","setHeight","setZoomSharedValues","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","x","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","Math","round","dismissGesture","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","duration","easing","bezier","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","y","zoomGesture","Race","Exclusive","animatedStyle","transform","backdropStyle","opacity"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","useSnap","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","listRef","dataLength","length","constrainTranslation","value","currentScale","currentRotation","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","setHeight","setZoomSharedValues","setRotation","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","x","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","Math","round","dismissGesture","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","duration","easing","bezier","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","y","zoomGesture","Race","Exclusive","animatedStyle","transform","rotate","backdropStyle","opacity"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -2,10 +2,62 @@
2
2
 
3
3
  import { useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { registry } from "./GestureViewerRegistry.js";
5
+ /**
6
+ * Hook to control the gesture viewer programmatically.
7
+ *
8
+ * @param id - Viewer instance identifier (default: 'default')
9
+ * @returns Methods and state for controlling the viewer
10
+ *
11
+ * **Available methods:**
12
+ * - `goToIndex(index: number)` - Navigate to specific index (0 to totalCount-1)
13
+ * - `goToPrevious()` - Navigate to previous item
14
+ * - `goToNext()` - Navigate to next item
15
+ * - `zoomIn(multiplier?: number)` - Zoom in (default: 0.25)
16
+ * - `zoomOut(multiplier?: number)` - Zoom out (default: 0.25)
17
+ * - `resetZoom(scale?: number)` - Reset zoom level (default: 1.0)
18
+ * - `rotate(angle?: 0|90|180|270|360, clockwise?: boolean)` - Rotate content (default: 90° clockwise)
19
+ *
20
+ * **Available state:**
21
+ * - `currentIndex: number` - Current active index (read-only)
22
+ * - `totalCount: number` - Total number of items (read-only)
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * const { goToIndex, goToNext, goToPrevious, zoomIn, zoomOut, resetZoom, rotate, currentIndex, totalCount } = useGestureViewerController();
27
+ *
28
+ * // Navigate to specific index
29
+ * goToIndex(2);
30
+ *
31
+ * // Go to next image
32
+ * goToNext();
33
+ *
34
+ * // Zoom in by 25%
35
+ * zoomIn();
36
+ *
37
+ * // Zoom out by 50%
38
+ * zoomOut(0.5);
39
+ *
40
+ * // Reset to original size
41
+ * resetZoom();
42
+ *
43
+ * // Rotate 90 degrees clockwise
44
+ * rotate();
45
+ *
46
+ * // Rotate 180 degrees
47
+ * rotate(180);
48
+ *
49
+ * // Check current state
50
+ * console.log(`Image ${currentIndex + 1} of ${totalCount}`);
51
+ *
52
+ * // Check navigation availability
53
+ * const canGoNext = currentIndex < totalCount - 1;
54
+ * const canGoPrevious = currentIndex > 0;
55
+ * ```
56
+ */
5
57
  export const useGestureViewerController = (id = 'default') => {
6
58
  const [state, setState] = useState({
7
59
  currentIndex: 0,
8
- dataLength: 0
60
+ totalCount: 0
9
61
  });
10
62
  const [manager, setManager] = useState(null);
11
63
  const unsubscribeRef = useRef(null);
@@ -21,7 +73,7 @@ export const useGestureViewerController = (id = 'default') => {
21
73
  }
22
74
  setState({
23
75
  currentIndex: 0,
24
- dataLength: 0
76
+ totalCount: 0
25
77
  });
26
78
  };
27
79
  const unsubscribeFromRegistry = registry.subscribeToManager(id, handleManagerChange);
@@ -38,8 +90,8 @@ export const useGestureViewerController = (id = 'default') => {
38
90
  zoomIn: manager?.zoomIn || noopFunction,
39
91
  zoomOut: manager?.zoomOut || noopFunction,
40
92
  resetZoom: manager?.resetZoom || noopFunction,
41
- currentIndex: state.currentIndex,
42
- totalCount: state.dataLength
93
+ rotate: manager?.rotate || noopFunction,
94
+ ...state
43
95
  };
44
96
  };
45
97
  //# sourceMappingURL=useGestureViewerController.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","useState","registry","useGestureViewerController","id","state","setState","currentIndex","dataLength","manager","setManager","unsubscribeRef","handleManagerChange","newManager","current","getState","subscribe","unsubscribeFromRegistry","subscribeToManager","noopFunction","goToIndex","goToPrevious","goToNext","zoomIn","zoomOut","resetZoom","totalCount"],"sourceRoot":"../../src","sources":["useGestureViewerController.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAG5D,SAASC,QAAQ,QAAQ,4BAAyB;AAElD,OAAO,MAAMC,0BAA0B,GAAGA,CAACC,EAAE,GAAG,SAAS,KAAK;EAC5D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGL,QAAQ,CAA4B;IAC5DM,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGT,QAAQ,CAA8B,IAAI,CAAC;EACzE,MAAMU,cAAc,GAAGX,MAAM,CAAsB,IAAI,CAAC;EAExDF,SAAS,CAAC,MAAM;IACd,MAAMc,mBAAmB,GAAIC,UAAuC,IAAK;MACvEF,cAAc,CAACG,OAAO,GAAG,CAAC;MAC1BH,cAAc,CAACG,OAAO,GAAG,IAAI;MAE7BJ,UAAU,CAACG,UAAU,CAAC;MAEtB,IAAIA,UAAU,EAAE;QACdP,QAAQ,CAACO,UAAU,CAACE,QAAQ,CAAC,CAAC,CAAC;QAC/BJ,cAAc,CAACG,OAAO,GAAGD,UAAU,CAACG,SAAS,CAACV,QAAQ,CAAC;QACvD;MACF;MAEAA,QAAQ,CAAC;QAAEC,YAAY,EAAE,CAAC;QAAEC,UAAU,EAAE;MAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAMS,uBAAuB,GAAGf,QAAQ,CAACgB,kBAAkB,CAACd,EAAE,EAAEQ,mBAAmB,CAAC;IAEpF,OAAO,MAAM;MACXK,uBAAuB,CAAC,CAAC;MACzBN,cAAc,CAACG,OAAO,GAAG,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACV,EAAE,CAAC,CAAC;EAER,MAAMe,YAAY,GAAGpB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;EAEhD,OAAO;IACLqB,SAAS,EAAEX,OAAO,EAAEW,SAAS,IAAID,YAAY;IAC7CE,YAAY,EAAEZ,OAAO,EAAEY,YAAY,IAAIF,YAAY;IACnDG,QAAQ,EAAEb,OAAO,EAAEa,QAAQ,IAAIH,YAAY;IAC3CI,MAAM,EAAEd,OAAO,EAAEc,MAAM,IAAIJ,YAAY;IACvCK,OAAO,EAAEf,OAAO,EAAEe,OAAO,IAAIL,YAAY;IACzCM,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAIN,YAAY;IAC7CZ,YAAY,EAAEF,KAAK,CAACE,YAAY;IAChCmB,UAAU,EAAErB,KAAK,CAACG;EACpB,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","useState","registry","useGestureViewerController","id","state","setState","currentIndex","totalCount","manager","setManager","unsubscribeRef","handleManagerChange","newManager","current","getState","subscribe","unsubscribeFromRegistry","subscribeToManager","noopFunction","goToIndex","goToPrevious","goToNext","zoomIn","zoomOut","resetZoom","rotate"],"sourceRoot":"../../src","sources":["useGestureViewerController.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAE5D,SAASC,QAAQ,QAAQ,4BAAyB;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAGA,CAACC,EAAE,GAAG,SAAS,KAA8B;EACrF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGL,QAAQ,CAA+B;IAC/DM,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGT,QAAQ,CAA8B,IAAI,CAAC;EACzE,MAAMU,cAAc,GAAGX,MAAM,CAAsB,IAAI,CAAC;EAExDF,SAAS,CAAC,MAAM;IACd,MAAMc,mBAAmB,GAAIC,UAAuC,IAAK;MACvEF,cAAc,CAACG,OAAO,GAAG,CAAC;MAC1BH,cAAc,CAACG,OAAO,GAAG,IAAI;MAE7BJ,UAAU,CAACG,UAAU,CAAC;MAEtB,IAAIA,UAAU,EAAE;QACdP,QAAQ,CAACO,UAAU,CAACE,QAAQ,CAAC,CAAC,CAAC;QAC/BJ,cAAc,CAACG,OAAO,GAAGD,UAAU,CAACG,SAAS,CAACV,QAAQ,CAAC;QACvD;MACF;MAEAA,QAAQ,CAAC;QAAEC,YAAY,EAAE,CAAC;QAAEC,UAAU,EAAE;MAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAMS,uBAAuB,GAAGf,QAAQ,CAACgB,kBAAkB,CAACd,EAAE,EAAEQ,mBAAmB,CAAC;IAEpF,OAAO,MAAM;MACXK,uBAAuB,CAAC,CAAC;MACzBN,cAAc,CAACG,OAAO,GAAG,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACV,EAAE,CAAC,CAAC;EAER,MAAMe,YAAY,GAAGpB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;EAEhD,OAAO;IACLqB,SAAS,EAAEX,OAAO,EAAEW,SAAS,IAAID,YAAY;IAC7CE,YAAY,EAAEZ,OAAO,EAAEY,YAAY,IAAIF,YAAY;IACnDG,QAAQ,EAAEb,OAAO,EAAEa,QAAQ,IAAIH,YAAY;IAC3CI,MAAM,EAAEd,OAAO,EAAEc,MAAM,IAAIJ,YAAY;IACvCK,OAAO,EAAEf,OAAO,EAAEe,OAAO,IAAIL,YAAY;IACzCM,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAIN,YAAY;IAC7CO,MAAM,EAAEjB,OAAO,EAAEiB,MAAM,IAAIP,YAAY;IACvC,GAAGd;EACL,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAyE,MAAM,cAAc,CAAC;AAIpH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAC3D,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,OAAe,EACf,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,2CA+H3B"}
1
+ {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAyE,MAAM,cAAc,CAAC;AAIpH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAC3D,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,OAAe,EACf,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,2CAuI3B"}
@@ -1,8 +1,5 @@
1
1
  import { type SharedValue } from 'react-native-reanimated';
2
- export type GestureViewerManagerState = {
3
- currentIndex: number;
4
- dataLength: number;
5
- };
2
+ import type { GestureViewerControllerState } from './types';
6
3
  declare class GestureViewerManager {
7
4
  private currentIndex;
8
5
  private dataLength;
@@ -15,11 +12,12 @@ declare class GestureViewerManager {
15
12
  private listRef;
16
13
  private enableSwipeGesture;
17
14
  private listeners;
15
+ private rotation;
18
16
  private notifyListeners;
19
- subscribe(listener: (state: GestureViewerManagerState) => void): () => void;
17
+ subscribe(listener: (state: GestureViewerControllerState) => void): () => void;
20
18
  getState(): {
21
19
  currentIndex: number;
22
- dataLength: number;
20
+ totalCount: number;
23
21
  };
24
22
  setWidth(width: number): void;
25
23
  setHeight(height: number): void;
@@ -29,22 +27,10 @@ declare class GestureViewerManager {
29
27
  setCurrentIndex(index: number): void;
30
28
  setZoomSharedValues(scale: SharedValue<number>, translateX: SharedValue<number>, translateY: SharedValue<number>, maxZoomScale: number): void;
31
29
  notifyStateChange(): void;
32
- /**
33
- * @param multiplier - The multiplier to zoom in.
34
- * @range 0.01 - 1
35
- * @default 0.25
36
- */
30
+ setRotation(rotation: SharedValue<number>): void;
31
+ rotate: (angle?: 0 | 90 | 180 | 270 | 360, clockwise?: boolean) => void;
37
32
  zoomIn: (multiplier?: number) => void;
38
- /**
39
- * @param multiplier - The multiplier to zoom out.
40
- * @range 0.01 - 1
41
- * @default 0.25
42
- */
43
33
  zoomOut: (multiplier?: number) => void;
44
- /**
45
- * @param scale - The scale to reset to.
46
- * @default 1
47
- */
48
34
  resetZoom: (scale?: number) => void;
49
35
  goToIndex: (index: number) => void;
50
36
  goToPrevious: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAGvE,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,cAAM,oBAAoB;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,SAAS,CAAyD;IAE1E,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI;IAQ9D,QAAQ;;;;IAOR,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,mBAAmB,CACjB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,MAAM;IAQtB,iBAAiB;IAIjB;;;;OAIG;IACH,MAAM,GAAI,mBAAiB,UAoBzB;IAEF;;;;OAIG;IACH,OAAO,GAAI,mBAAiB,UA0B1B;IAEF;;;OAGG;IACH,SAAS,GAAI,cAAS,UAQpB;IAEF,SAAS,GAAI,OAAO,MAAM,UAcxB;IAEF,YAAY,aAIV;IAEF,QAAQ,aAIN;IAEF,OAAO;CAYR;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAG5D,cAAM,oBAAoB;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,SAAS,CAA4D;IAC7E,OAAO,CAAC,QAAQ,CAAoC;IAEpD,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI;IAQjE,QAAQ;;;;IAOR,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,mBAAmB,CACjB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,MAAM;IAQtB,iBAAiB;IAIjB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;IAIzC,MAAM,GAAI,QAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAQ,EAAE,mBAAgB,UA2B9D;IAEF,MAAM,GAAI,mBAAiB,UAoBzB;IAEF,OAAO,GAAI,mBAAiB,UA0B1B;IAEF,SAAS,GAAI,cAAS,UAQpB;IAEF,SAAS,GAAI,OAAO,MAAM,UAcxB;IAEF,YAAY,aAIV;IAEF,QAAQ,aAIN;IAEF,OAAO;CAaR;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { GestureViewer } from './GestureViewer';
2
- export type { GestureViewerProps } from './types';
2
+ export type { GestureViewerController, GestureViewerProps } from './types';
3
3
  export { useGestureViewerController } from './useGestureViewerController';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}