react-native-gesture-image-viewer 0.5.4 → 1.0.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.
Files changed (40) hide show
  1. package/README.md +30 -30
  2. package/lib/module/{GestureImageViewer.js → GestureViewer.js} +8 -8
  3. package/lib/module/GestureViewer.js.map +1 -0
  4. package/lib/module/{ImageViewerManager.js → GestureViewerManager.js} +3 -3
  5. package/lib/module/GestureViewerManager.js.map +1 -0
  6. package/lib/module/{ImageViewerRegistry.js → GestureViewerRegistry.js} +5 -5
  7. package/lib/module/GestureViewerRegistry.js.map +1 -0
  8. package/lib/module/index.js +2 -2
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/{useGestureImageViewer.js → useGestureViewer.js} +3 -3
  11. package/lib/module/useGestureViewer.js.map +1 -0
  12. package/lib/module/{useImageViewerController.js → useGestureViewerController.js} +3 -3
  13. package/lib/module/useGestureViewerController.js.map +1 -0
  14. package/lib/typescript/src/GestureViewer.d.ts +4 -0
  15. package/lib/typescript/src/GestureViewer.d.ts.map +1 -0
  16. package/lib/typescript/src/{ImageViewerManager.d.ts → GestureViewerManager.d.ts} +5 -5
  17. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -0
  18. package/lib/typescript/src/GestureViewerRegistry.d.ts +13 -0
  19. package/lib/typescript/src/GestureViewerRegistry.d.ts.map +1 -0
  20. package/lib/typescript/src/index.d.ts +3 -3
  21. package/lib/typescript/src/index.d.ts.map +1 -1
  22. package/lib/typescript/src/types.d.ts +90 -2
  23. package/lib/typescript/src/types.d.ts.map +1 -1
  24. package/lib/typescript/src/{useGestureImageViewer.d.ts → useGestureViewer.d.ts} +4 -4
  25. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -0
  26. package/lib/typescript/src/{useImageViewerController.d.ts → useGestureViewerController.d.ts} +2 -2
  27. package/lib/typescript/src/useGestureViewerController.d.ts.map +1 -0
  28. package/package.json +1 -1
  29. package/lib/module/GestureImageViewer.js.map +0 -1
  30. package/lib/module/ImageViewerManager.js.map +0 -1
  31. package/lib/module/ImageViewerRegistry.js.map +0 -1
  32. package/lib/module/useGestureImageViewer.js.map +0 -1
  33. package/lib/module/useImageViewerController.js.map +0 -1
  34. package/lib/typescript/src/GestureImageViewer.d.ts +0 -4
  35. package/lib/typescript/src/GestureImageViewer.d.ts.map +0 -1
  36. package/lib/typescript/src/ImageViewerManager.d.ts.map +0 -1
  37. package/lib/typescript/src/ImageViewerRegistry.d.ts +0 -13
  38. package/lib/typescript/src/ImageViewerRegistry.d.ts.map +0 -1
  39. package/lib/typescript/src/useGestureImageViewer.d.ts.map +0 -1
  40. package/lib/typescript/src/useImageViewerController.d.ts.map +0 -1
package/README.md CHANGED
@@ -15,7 +15,7 @@ Existing libraries often have limited customization options or performance issue
15
15
  - ✅ **Full Customization** - Complete control over components, styles, and behaviors
16
16
  - ✅ **External Control API** - Programmatic control from buttons or other components
17
17
  - ✅ **Multi-Instance Management** - ID-based independent management of multiple viewers
18
- - ✅ **Flexible Integration** - Use with FlatList, FlashList, Expo Image, FastImage, and more
18
+ - ✅ **Flexible Integration** - Use with Modal, [React Native Modal](https://www.npmjs.com/package/react-native-modal), ScrollView, FlatList, [FlashList](https://www.npmjs.com/package/@shopify/flash-list), [Expo Image](https://www.npmjs.com/package/expo-image), [FastImage](https://github.com/DylanVann/react-native-fast-image), and more
19
19
  - ✅ **Full TypeScript Support** - Enhanced developer experience with smart type inference
20
20
  - ✅ **Cross-Platform** - iOS, Android, and Web support
21
21
  - ✅ **Easy-to-Use API** - Intuitive and simple implementation without complex setup
@@ -115,7 +115,7 @@ You can create a viewer using any `Modal` of your choice as shown below:
115
115
 
116
116
  ```tsx
117
117
  import { Image, Modal } from 'react-native';
118
- import { GestureImageViewer } from 'react-native-gesture-image-viewer';
118
+ import { GestureViewer } from 'react-native-gesture-image-viewer';
119
119
 
120
120
  function App() {
121
121
  const images = [...];
@@ -128,9 +128,9 @@ function App() {
128
128
 
129
129
  return (
130
130
  <Modal visible={visible} onRequestClose={() => setVisible(false)}>
131
- <GestureImageViewer
131
+ <GestureViewer
132
132
  data={images}
133
- renderImage={renderImage}
133
+ renderItem={renderImage}
134
134
  onDismiss={() => setVisible(false)}
135
135
  />
136
136
  </Modal>
@@ -145,9 +145,9 @@ function App() {
145
145
  ```tsx
146
146
  function App() {
147
147
  return (
148
- <GestureImageViewer
148
+ <GestureViewer
149
149
  data={images}
150
- renderImage={renderImage}
150
+ renderItem={renderImage}
151
151
  enableDismissGesture
152
152
  enableSwipeGesture
153
153
  enableZoomGesture
@@ -180,7 +180,7 @@ import { FlashList } from '@shopify/flash-list';
180
180
 
181
181
  function App() {
182
182
  return (
183
- <GestureImageViewer
183
+ <GestureViewer
184
184
  data={images}
185
185
  ListComponent={FlashList}
186
186
  listProps={{
@@ -196,7 +196,7 @@ function App() {
196
196
  You can inject various types of content components like `expo-image`, `FastImage`, etc., through the `renderImage` prop to use gestures.
197
197
 
198
198
  ```tsx
199
- import { GestureImageViewer } from 'react-native-gesture-image-viewer';
199
+ import { GestureViewer } from 'react-native-gesture-image-viewer';
200
200
  import { Image } from 'expo-image';
201
201
 
202
202
  function App() {
@@ -205,9 +205,9 @@ function App() {
205
205
  }, []);
206
206
 
207
207
  return (
208
- <GestureImageViewer
208
+ <GestureViewer
209
209
  data={images}
210
- renderImage={renderImage}
210
+ renderItem={renderImage}
211
211
  />
212
212
  );
213
213
  }
@@ -218,16 +218,16 @@ function App() {
218
218
  `react-native-gesture-image-viewer` provides powerful hooks for programmatic control from buttons or other components.
219
219
 
220
220
  ```tsx
221
- import { GestureImageViewer, useImageViewerController } from 'react-native-gesture-image-viewer';
221
+ import { GestureViewer, useGestureViewerController } from 'react-native-gesture-image-viewer';
222
222
 
223
223
  function App() {
224
- const { goToIndex, goToPrevious, goToNext, currentIndex, totalCount } = useImageViewerController();
224
+ const { goToIndex, goToPrevious, goToNext, currentIndex, totalCount } = useGestureViewerController();
225
225
 
226
226
  return (
227
227
  <View>
228
- <GestureImageViewer
228
+ <GestureViewer
229
229
  data={images}
230
- renderImage={renderImage}
230
+ renderItem={renderImage}
231
231
  />
232
232
  <View
233
233
  style={{
@@ -251,14 +251,14 @@ function App() {
251
251
 
252
252
  ### Style Customization
253
253
 
254
- You can customize the styling of `GestureImageViewer`.
254
+ You can customize the styling of `GestureViewer`.
255
255
 
256
256
  ```tsx
257
- import { GestureImageViewer } from 'react-native-gesture-image-viewer';
257
+ import { GestureViewer } from 'react-native-gesture-image-viewer';
258
258
 
259
259
  function App() {
260
260
  return (
261
- <GestureImageViewer
261
+ <GestureViewer
262
262
  animateBackdrop={false}
263
263
  width={400}
264
264
  itemSpacing={20}
@@ -277,36 +277,36 @@ function App() {
277
277
  |`itemSpacing`|Specifies the spacing between list items.|`0`|
278
278
  |`containerStyle`|Allows custom styling of the container that wraps the list component.|`flex: 1`|
279
279
  |`backdropStyle`|Allows customization of the viewer's background style.|`backgroundColor: black; StyleSheet.absoluteFill;`|
280
- |`renderContainer`|Allows custom wrapper component around `<GestureImageViewer />`.||
280
+ |`renderContainer`|Allows custom wrapper component around `<GestureViewer />`.||
281
281
 
282
282
  ### Multi-Instance Management
283
283
 
284
- When you want to efficiently manage multiple `GestureImageViewer` instances, you can use the `id` prop to use multiple `GestureImageViewer` components.
285
- `GestureImageViewer` automatically removes instances from memory when components are unmounted, so no manual memory management is required.
284
+ When you want to efficiently manage multiple `GestureViewer` instances, you can use the `id` prop to use multiple `GestureViewer` components.
285
+ `GestureViewer` automatically removes instances from memory when components are unmounted, so no manual memory management is required.
286
286
 
287
287
  > The default `id` value is `default`.
288
288
 
289
289
  ```tsx
290
- import { GestureImageViewer, useImageViewerController } from 'react-native-gesture-image-viewer';
290
+ import { GestureViewer, useGestureViewerController } from 'react-native-gesture-image-viewer';
291
291
 
292
292
  const firstViewerId = 'firstViewerId';
293
293
  const secondViewerId = 'secondViewerId';
294
294
 
295
295
  function App() {
296
- const { currentIndex: firstCurrentIndex, totalCount: firstTotalCount } = useImageViewerController(firstViewerId);
297
- const { currentIndex: secondCurrentIndex, totalCount: secondTotalCount } = useImageViewerController(secondViewerId);
296
+ const { currentIndex: firstCurrentIndex, totalCount: firstTotalCount } = useGestureViewerController(firstViewerId);
297
+ const { currentIndex: secondCurrentIndex, totalCount: secondTotalCount } = useGestureViewerController(secondViewerId);
298
298
 
299
299
  return (
300
300
  <View>
301
- <GestureImageViewer
301
+ <GestureViewer
302
302
  id={firstViewerId}
303
303
  data={images}
304
- renderImage={renderImage}
304
+ renderItem={renderImage}
305
305
  />
306
- <GestureImageViewer
306
+ <GestureViewer
307
307
  id={secondViewerId}
308
308
  data={images}
309
- renderImage={renderImage}
309
+ renderItem={renderImage}
310
310
  />
311
311
  </View>
312
312
  );
@@ -319,13 +319,13 @@ function App() {
319
319
  The `onIndexChange` callback function is called when the `index` value changes.
320
320
 
321
321
  ```tsx
322
- import { GestureImageViewer } from 'react-native-gesture-image-viewer';
322
+ import { GestureViewer } from 'react-native-gesture-image-viewer';
323
323
 
324
324
  function App() {
325
325
  const [currentIndex, setCurrentIndex] = useState(0);
326
326
 
327
327
  return (
328
- <GestureImageViewer
328
+ <GestureViewer
329
329
  onIndexChange={setCurrentIndex}
330
330
  />
331
331
  );
@@ -346,7 +346,7 @@ Controls the maximum zoom scale multiplier.
346
346
 
347
347
  ## Performance Optimization Tips
348
348
 
349
- - Wrap the `renderImage` function with `useCallback` to prevent unnecessary re-renders.
349
+ - Wrap the `renderItem` function with `useCallback` to prevent unnecessary re-renders.
350
350
  - For large images, we recommend using `FastImage` or `expo-image`.
351
351
  - For handling many images, we recommend using `FlashList`.
352
352
  - Test on actual devices (performance may be limited in simulators).
@@ -4,15 +4,15 @@ import { useCallback, useEffect, useMemo } from 'react';
4
4
  import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import Animated from 'react-native-reanimated';
7
- import { registry } from "./ImageViewerRegistry.js";
8
- import { useGestureImageViewer } from "./useGestureImageViewer.js";
7
+ import { registry } from "./GestureViewerRegistry.js";
8
+ import { useGestureViewer } from "./useGestureViewer.js";
9
9
  import { isFlashListLike, isFlatListLike, isScrollViewLike } from "./utils.js";
10
10
  import WebPagingFixStyle from "./WebPagingFixStyle.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- export function GestureImageViewer({
12
+ export function GestureViewer({
13
13
  id = 'default',
14
14
  data,
15
- renderImage,
15
+ renderItem: renderItemProp,
16
16
  renderContainer,
17
17
  ListComponent,
18
18
  width: customWidth,
@@ -36,7 +36,7 @@ export function GestureImageViewer({
36
36
  onMomentumScrollEnd,
37
37
  animatedStyle,
38
38
  backdropStyle
39
- } = useGestureImageViewer({
39
+ } = useGestureViewer({
40
40
  id,
41
41
  data,
42
42
  width,
@@ -56,9 +56,9 @@ export function GestureImageViewer({
56
56
  alignItems: 'center',
57
57
  marginHorizontal: itemSpacing / 2
58
58
  }],
59
- children: renderImage(item, index)
59
+ children: renderItemProp(item, index)
60
60
  }, typeof item === 'string' ? item : index);
61
- }, [width, itemSpacing, renderImage]);
61
+ }, [width, itemSpacing, renderItemProp]);
62
62
  const getItemLayout = useCallback((_, index) => ({
63
63
  length: width + itemSpacing,
64
64
  offset: (width + itemSpacing) * index,
@@ -154,4 +154,4 @@ const styles = StyleSheet.create({
154
154
  backgroundColor: 'black'
155
155
  }
156
156
  });
157
- //# sourceMappingURL=GestureImageViewer.js.map
157
+ //# sourceMappingURL=GestureViewer.js.map
@@ -0,0 +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","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","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,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- class ImageViewerManager {
3
+ class GestureViewerManager {
4
4
  currentIndex = 0;
5
5
  dataLength = 0;
6
6
  width = 0;
@@ -85,5 +85,5 @@ class ImageViewerManager {
85
85
  this.dataLength = 0;
86
86
  }
87
87
  }
88
- export default ImageViewerManager;
89
- //# sourceMappingURL=ImageViewerManager.js.map
88
+ export default GestureViewerManager;
89
+ //# sourceMappingURL=GestureViewerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GestureViewerManager","currentIndex","dataLength","width","listRef","enableSwipeGesture","listeners","Set","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","setWidth","setListRef","ref","setDataLength","length","setEnableSwipeGesture","enabled","setCurrentIndex","index","notifyStateChange","goToIndex","scrollToIndex","animated","scrollTo","x","goToPrevious","goToNext","cleanUp","clear"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import ImageViewerManager from "./ImageViewerManager.js";
4
- class ImageViewerRegistry {
3
+ import GestureViewerManager from "./GestureViewerManager.js";
4
+ class GestureViewerRegistry {
5
5
  managers = new Map();
6
6
  subscribers = new Map();
7
7
  subscribeToManager(id, callback) {
@@ -23,7 +23,7 @@ class ImageViewerRegistry {
23
23
  if (this.managers.has(id)) {
24
24
  return this.managers.get(id) || null;
25
25
  }
26
- const manager = new ImageViewerManager();
26
+ const manager = new GestureViewerManager();
27
27
  this.managers.set(id, manager);
28
28
  this.notifySubscribers(id, manager);
29
29
  return manager;
@@ -46,5 +46,5 @@ class ImageViewerRegistry {
46
46
  }
47
47
  }
48
48
  }
49
- export const registry = new ImageViewerRegistry();
50
- //# sourceMappingURL=ImageViewerRegistry.js.map
49
+ export const registry = new GestureViewerRegistry();
50
+ //# sourceMappingURL=GestureViewerRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GestureViewerManager","GestureViewerRegistry","managers","Map","subscribers","subscribeToManager","id","callback","has","set","Set","get","add","manager","delete","size","createManager","notifySubscribers","getManager","deleteManager","cleanUp","listeners","forEach","registry"],"sourceRoot":"../../src","sources":["GestureViewerRegistry.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,2BAAwB;AAEzD,MAAMC,qBAAqB,CAAC;EAClBC,QAAQ,GAAG,IAAIC,GAAG,CAA+B,CAAC;EAClDC,WAAW,GAAG,IAAID,GAAG,CAA8D,CAAC;EAE5FE,kBAAkBA,CAACC,EAAU,EAAEC,QAAwD,EAAE;IACvF,IAAI,CAAC,IAAI,CAACH,WAAW,CAACI,GAAG,CAACF,EAAE,CAAC,EAAE;MAC7B,IAAI,CAACF,WAAW,CAACK,GAAG,CAACH,EAAE,EAAE,IAAII,GAAG,CAAC,CAAC,CAAC;IACrC;IAEA,IAAI,CAACN,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC,EAAEM,GAAG,CAACL,QAAQ,CAAC;IAEvC,MAAMM,OAAO,GAAG,IAAI,CAACX,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;IAE7CC,QAAQ,CAACM,OAAO,CAAC;IAEjB,OAAO,MAAM;MACX,MAAMT,WAAW,GAAG,IAAI,CAACA,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC;MAE5CF,WAAW,EAAEU,MAAM,CAACP,QAAQ,CAAC;MAE7B,IAAIH,WAAW,IAAIA,WAAW,CAACW,IAAI,KAAK,CAAC,EAAE;QACzC,IAAI,CAACX,WAAW,CAACU,MAAM,CAACR,EAAE,CAAC;MAC7B;IACF,CAAC;EACH;EAEAU,aAAaA,CAACV,EAAU,EAA+B;IACrD,IAAI,IAAI,CAACJ,QAAQ,CAACM,GAAG,CAACF,EAAE,CAAC,EAAE;MACzB,OAAO,IAAI,CAACJ,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;IACtC;IAEA,MAAMO,OAAO,GAAG,IAAIb,oBAAoB,CAAC,CAAC;IAC1C,IAAI,CAACE,QAAQ,CAACO,GAAG,CAACH,EAAE,EAAEO,OAAO,CAAC;IAE9B,IAAI,CAACI,iBAAiB,CAACX,EAAE,EAAEO,OAAO,CAAC;IAEnC,OAAOA,OAAO;EAChB;EAEAK,UAAUA,CAACZ,EAAU,EAA+B;IAClD,OAAO,IAAI,CAACJ,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;EACtC;EAEAa,aAAaA,CAACb,EAAU,EAAE;IACxB,MAAMO,OAAO,GAAG,IAAI,CAACX,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC;IAErC,IAAIO,OAAO,EAAE;MACXA,OAAO,CAACO,OAAO,CAAC,CAAC;MACjB,IAAI,CAAClB,QAAQ,CAACY,MAAM,CAACR,EAAE,CAAC;MAExB,IAAI,CAACW,iBAAiB,CAACX,EAAE,EAAE,IAAI,CAAC;IAClC;EACF;EAEAW,iBAAiBA,CAACX,EAAU,EAAEO,OAAoC,EAAE;IAClE,MAAMQ,SAAS,GAAG,IAAI,CAACjB,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC;IAE1C,IAAIe,SAAS,EAAE;MACb,CAAC,GAAGA,SAAS,CAAC,CAACC,OAAO,CAAEf,QAAQ,IAAKA,QAAQ,CAACM,OAAO,CAAC,CAAC;IACzD;EACF;AACF;AAEA,OAAO,MAAMU,QAAQ,GAAG,IAAItB,qBAAqB,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- export { GestureImageViewer } from "./GestureImageViewer.js";
4
- export { useImageViewerController } from "./useImageViewerController.js";
3
+ export { GestureViewer } from "./GestureViewer.js";
4
+ export { useGestureViewerController } from "./useGestureViewerController.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GestureImageViewer","useImageViewerController"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,yBAAsB;AAEzD,SAASC,wBAAwB,QAAQ,+BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["GestureViewer","useGestureViewerController"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAE/C,SAASC,0BAA0B,QAAQ,iCAA8B","ignoreList":[]}
@@ -4,8 +4,8 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { InteractionManager, useWindowDimensions } from 'react-native';
5
5
  import { Gesture } from 'react-native-gesture-handler';
6
6
  import { Easing, interpolate, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
7
- import { registry } from "./ImageViewerRegistry.js";
8
- export const useGestureImageViewer = ({
7
+ import { registry } from "./GestureViewerRegistry.js";
8
+ export const useGestureViewer = ({
9
9
  data,
10
10
  initialIndex = 0,
11
11
  onIndexChange,
@@ -240,4 +240,4 @@ export const useGestureImageViewer = ({
240
240
  backdropStyle
241
241
  };
242
242
  };
243
- //# sourceMappingURL=useGestureImageViewer.js.map
243
+ //# sourceMappingURL=useGestureViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","listRef","dataLength","length","value","currentScale","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","x","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","Math","round","dismissGesture","Pan","minDistance","averageTouches","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","duration","easing","bezier","zoomPanGesture","maxTranslateX","maxTranslateY","max","min","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Simultaneous","animatedStyle","transform","backdropStyle","opacity"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { useEffect, useMemo, useRef, useState } from 'react';
4
- import { registry } from "./ImageViewerRegistry.js";
5
- export const useImageViewerController = (id = 'default') => {
4
+ import { registry } from "./GestureViewerRegistry.js";
5
+ export const useGestureViewerController = (id = 'default') => {
6
6
  const [state, setState] = useState({
7
7
  currentIndex: 0,
8
8
  dataLength: 0
@@ -39,4 +39,4 @@ export const useImageViewerController = (id = 'default') => {
39
39
  totalCount: state.dataLength
40
40
  };
41
41
  };
42
- //# sourceMappingURL=useImageViewerController.js.map
42
+ //# sourceMappingURL=useGestureViewerController.js.map
@@ -0,0 +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","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;IAC3CZ,YAAY,EAAEF,KAAK,CAACE,YAAY;IAChCgB,UAAU,EAAElB,KAAK,CAACG;EACpB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { type FlatList } from 'react-native';
2
+ import type { GestureViewerProps } from './types';
3
+ export declare function GestureViewer<T = any, LC = typeof FlatList>({ id, data, renderItem: renderItemProp, renderContainer, ListComponent, width: customWidth, listProps, backdropStyle: backdropStyleProps, containerStyle, initialIndex, itemSpacing, ...props }: GestureViewerProps<T, LC>): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=GestureViewer.d.ts.map
@@ -0,0 +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,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,2CAyH3B"}
@@ -1,8 +1,8 @@
1
- export type ImageViewerManagerState = {
1
+ export type GestureViewerManagerState = {
2
2
  currentIndex: number;
3
3
  dataLength: number;
4
4
  };
5
- declare class ImageViewerManager {
5
+ declare class GestureViewerManager {
6
6
  private currentIndex;
7
7
  private dataLength;
8
8
  private width;
@@ -10,7 +10,7 @@ declare class ImageViewerManager {
10
10
  private enableSwipeGesture;
11
11
  private listeners;
12
12
  private notifyListeners;
13
- subscribe(listener: (state: ImageViewerManagerState) => void): () => void;
13
+ subscribe(listener: (state: GestureViewerManagerState) => void): () => void;
14
14
  getState(): {
15
15
  currentIndex: number;
16
16
  dataLength: number;
@@ -26,5 +26,5 @@ declare class ImageViewerManager {
26
26
  goToNext: () => void;
27
27
  cleanUp(): void;
28
28
  }
29
- export default ImageViewerManager;
30
- //# sourceMappingURL=ImageViewerManager.d.ts.map
29
+ export default GestureViewerManager;
30
+ //# sourceMappingURL=GestureViewerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureViewerManager.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerManager.ts"],"names":[],"mappings":"AAAA,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,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,SAAS,CAAyD;IAO1E,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI;IAQ9D,QAAQ;;;;IAOR,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,iBAAiB;IAIjB,SAAS,GAAI,OAAO,MAAM,UAcxB;IAEF,YAAY,aAIV;IAEF,QAAQ,aAIN;IAEF,OAAO;CAOR;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import GestureViewerManager from './GestureViewerManager';
2
+ declare class GestureViewerRegistry {
3
+ private managers;
4
+ private subscribers;
5
+ subscribeToManager(id: string, callback: (manager: GestureViewerManager | null) => void): () => void;
6
+ createManager(id: string): GestureViewerManager | null;
7
+ getManager(id: string): GestureViewerManager | null;
8
+ deleteManager(id: string): void;
9
+ notifySubscribers(id: string, manager: GestureViewerManager | null): void;
10
+ }
11
+ export declare const registry: GestureViewerRegistry;
12
+ export {};
13
+ //# sourceMappingURL=GestureViewerRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureViewerRegistry.d.ts","sourceRoot":"","sources":["../../../src/GestureViewerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,cAAM,qBAAqB;IACzB,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,WAAW,CAA0E;IAE7F,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI;IAsBvF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAatD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAInD,aAAa,CAAC,EAAE,EAAE,MAAM;IAWxB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;CAOnE;AAED,eAAO,MAAM,QAAQ,uBAA8B,CAAC"}
@@ -1,4 +1,4 @@
1
- export { GestureImageViewer } from './GestureImageViewer';
2
- export type { GestureImageViewerProps } from './types';
3
- export { useImageViewerController } from './useImageViewerController';
1
+ export { GestureViewer } from './GestureViewer';
2
+ export type { GestureViewerProps } from './types';
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,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,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,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -5,28 +5,116 @@ export type FlatListComponent = typeof RNFlatList | typeof GHFlatList;
5
5
  export type ScrollViewComponent = typeof RNScrollView | typeof GHScrollView;
6
6
  type GetComponentProps<T> = T extends React.ComponentType<infer P> ? P : never;
7
7
  type ConditionalListProps<LC> = LC extends FlatListComponent ? React.ComponentProps<LC> : LC extends ScrollViewComponent ? React.ComponentProps<LC> : GetComponentProps<LC>;
8
- export interface GestureImageViewerProps<T = any, LC = typeof RNFlatList> {
8
+ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
9
+ /**
10
+ * When you want to efficiently manage multiple `GestureViewer` instances, you can use the `id` prop to use multiple `GestureViewer` components.
11
+ * @remark `GestureViewer` automatically removes instances from memory when components are unmounted, so no manual memory management is required.
12
+ * @default 'default'
13
+ */
9
14
  id?: string;
15
+ /**
16
+ * The data to display in the `GestureViewer`.
17
+ */
10
18
  data: T[];
19
+ /**
20
+ * The index of the item to display in the `GestureViewer` when the component is mounted.
21
+ * @default 0
22
+ */
11
23
  initialIndex?: number;
24
+ /**
25
+ * A callback function that is called when the index of the item changes.
26
+ */
12
27
  onIndexChange?: (index: number) => void;
28
+ /**
29
+ * A callback function that is called when the `GestureViewer` is dismissed.
30
+ */
13
31
  onDismiss?: () => void;
14
- renderImage: (item: T, index: number) => React.ReactElement;
32
+ /**
33
+ * A callback function that is called to render the item.
34
+ */
35
+ renderItem: (item: T, index: number) => React.ReactElement;
36
+ /**
37
+ * A callback function that is called to render the container.
38
+ */
15
39
  renderContainer?: (children: React.ReactElement) => React.ReactElement;
40
+ /**
41
+ * Support for any list component like `ScrollView`, `FlatList`, `FlashList` through the `ListComponent` prop.
42
+ */
16
43
  ListComponent: LC;
44
+ /**
45
+ * The width of the `GestureViewer`.
46
+ * @remark If you don't set this prop, the width of the `GestureViewer` will be the same as the width of the screen.
47
+ * @default screen width
48
+ */
17
49
  width?: number;
50
+ /**
51
+ * `dismissThreshold` controls when `onDismiss` is called by applying a threshold value during vertical gestures.
52
+ * @default 80
53
+ */
18
54
  dismissThreshold?: number;
55
+ /**
56
+ * Calls `onDismiss` function when swiping down.
57
+ * @remark Useful for closing modals with downward swipe gestures.
58
+ * @default true
59
+ */
19
60
  enableDismissGesture?: boolean;
61
+ /**
62
+ * Controls left/right swipe gestures.
63
+ * @remark When `false`, horizontal gestures are disabled.
64
+ * @default true
65
+ */
20
66
  enableSwipeGesture?: boolean;
67
+ /**
68
+ * `resistance` controls the range of vertical movement by applying resistance during vertical gestures.
69
+ * @default 2
70
+ */
21
71
  resistance?: number;
72
+ /**
73
+ * The props to pass to the list component.
74
+ * @remark The `listProps` provides **type inference based on the selected list component**, ensuring accurate autocompletion and type safety in your IDE.
75
+ */
22
76
  listProps?: Partial<ConditionalListProps<LC>>;
77
+ /**
78
+ * The style of the backdrop.
79
+ */
23
80
  backdropStyle?: StyleProp<ViewStyle>;
81
+ /**
82
+ * The style of the container.
83
+ */
24
84
  containerStyle?: StyleProp<ViewStyle>;
85
+ /**
86
+ * By default, the background `opacity` gradually decreases from 1 to 0 during downward swipe gestures.
87
+ * @remark When `false`, this animation is disabled.
88
+ * @default true
89
+ */
25
90
  animateBackdrop?: boolean;
91
+ /**
92
+ * Only works when zoom is active, allows moving item position when zoomed.
93
+ * @remark When `false`, gesture movement is disabled during zoom.
94
+ * @default true
95
+ */
26
96
  enableZoomPanGesture?: boolean;
97
+ /**
98
+ * Controls two-finger pinch gestures.
99
+ * @remark When `false`, two-finger zoom gestures are disabled.
100
+ * @default true
101
+ */
27
102
  enableZoomGesture?: boolean;
103
+ /**
104
+ * Controls double-tap zoom gestures.
105
+ * @remark When `false`, double-tap zoom gestures are disabled.
106
+ * @default true
107
+ */
28
108
  enableDoubleTapGesture?: boolean;
109
+ /**
110
+ * The maximum zoom scale.
111
+ * @default 2
112
+ */
29
113
  maxZoomScale?: number;
114
+ /**
115
+ * The spacing between items.
116
+ * @default 0
117
+ */
30
118
  itemSpacing?: number;
31
119
  }
32
120
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7G,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvG,MAAM,MAAM,iBAAiB,GAAG,OAAO,UAAU,GAAG,OAAO,UAAU,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,OAAO,YAAY,GAAG,OAAO,YAAY,CAAC;AAE5E,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,KAAK,oBAAoB,CAAC,EAAE,IAAI,EAAE,SAAS,iBAAiB,GACxD,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GACxB,EAAE,SAAS,mBAAmB,GAC5B,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,UAAU;IACtE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAC5D,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;IACvE,aAAa,EAAE,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7G,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvG,MAAM,MAAM,iBAAiB,GAAG,OAAO,UAAU,GAAG,OAAO,UAAU,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,OAAO,YAAY,GAAG,OAAO,YAAY,CAAC;AAE5E,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,KAAK,oBAAoB,CAAC,EAAE,IAAI,EAAE,SAAS,iBAAiB,GACxD,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GACxB,EAAE,SAAS,mBAAmB,GAC5B,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,UAAU;IACjE;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAC3D;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;IACvE;;OAEG;IACH,aAAa,EAAE,EAAE,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -1,7 +1,7 @@
1
1
  import { type NativeScrollEvent, type NativeSyntheticEvent } from 'react-native';
2
- import type { GestureImageViewerProps } from './types';
3
- type UseGestureImageViewerProps<T = any> = Omit<GestureImageViewerProps<T>, 'renderImage' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle'>;
4
- export declare const useGestureImageViewer: <T = any>({ data, initialIndex, onIndexChange, onDismiss, width: customWidth, dismissThreshold, resistance, animateBackdrop, enableDismissGesture, enableSwipeGesture, enableZoomGesture, enableDoubleTapGesture, enableZoomPanGesture, maxZoomScale, itemSpacing, id, }: UseGestureImageViewerProps<T>) => {
2
+ import type { GestureViewerProps } from './types';
3
+ type UseGestureViewerProps<T = any> = Omit<GestureViewerProps<T>, 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle'>;
4
+ export declare const useGestureViewer: <T = any>({ data, initialIndex, onIndexChange, onDismiss, width: customWidth, dismissThreshold, resistance, animateBackdrop, enableDismissGesture, enableSwipeGesture, enableZoomGesture, enableDoubleTapGesture, enableZoomPanGesture, maxZoomScale, itemSpacing, id, }: UseGestureViewerProps<T>) => {
5
5
  currentIndex: number;
6
6
  dataLength: number;
7
7
  translateY: import("react-native-reanimated").SharedValue<number>;
@@ -30,4 +30,4 @@ export declare const useGestureImageViewer: <T = any>({ data, initialIndex, onIn
30
30
  };
31
31
  };
32
32
  export {};
33
- //# sourceMappingURL=useGestureImageViewer.d.ts.map
33
+ //# sourceMappingURL=useGestureViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,KAAK,qBAAqB,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACxC,kBAAkB,CAAC,CAAC,CAAC,EACrB,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CACtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,gQAmBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;iCAgHf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;CA2LlD,CAAC"}
@@ -1,8 +1,8 @@
1
- export declare const useImageViewerController: (id?: string) => {
1
+ export declare const useGestureViewerController: (id?: string) => {
2
2
  goToIndex: (index: number) => void;
3
3
  goToPrevious: () => void;
4
4
  goToNext: () => void;
5
5
  currentIndex: number;
6
6
  totalCount: number;
7
7
  };
8
- //# sourceMappingURL=useImageViewerController.d.ts.map
8
+ //# sourceMappingURL=useGestureViewerController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGestureViewerController.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerController.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,GAAI,WAAc;;;;;;CA0CxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-image-viewer",
3
- "version": "0.5.4",
3
+ "version": "1.0.1",
4
4
  "description": "🖼️ A highly customizable and easy-to-use React Native image viewer with gesture support and external controls",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureImageViewer","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureImageViewer","id","data","renderImage","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","props","Component","screenWidth","listRef","isZoomed","dismissGesture","zoomGesture","onMomentumScrollEnd","animatedStyle","renderItem","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","getItemLayout","_","length","offset","keyExtractor","gesture","Race","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","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":["GestureImageViewer.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ImageViewerManager","currentIndex","dataLength","width","listRef","enableSwipeGesture","listeners","Set","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","setWidth","setListRef","ref","setDataLength","length","setEnableSwipeGesture","enabled","setCurrentIndex","index","notifyStateChange","goToIndex","scrollToIndex","animated","scrollTo","x","goToPrevious","goToNext","cleanUp","clear"],"sourceRoot":"../../src","sources":["ImageViewerManager.ts"],"mappings":";;AAKA,MAAMA,kBAAkB,CAAC;EACfC,YAAY,GAAG,CAAC;EAChBC,UAAU,GAAG,CAAC;EACdC,KAAK,GAAG,CAAC;EACTC,OAAO,GAAe,IAAI;EAC1BC,kBAAkB,GAAG,IAAI;EACzBC,SAAS,GAAG,IAAIC,GAAG,CAA2C,CAAC;;EAEvE;EACA;EACA;EACA;;EAEQC,eAAeA,CAAA,EAAG;IACxB,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;IAE7B,IAAI,CAACJ,SAAS,CAACK,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,KAAK,CAAC,CAAC;EACvD;EAEAI,SAASA,CAACD,QAAkD,EAAE;IAC5D,IAAI,CAACN,SAAS,CAACQ,GAAG,CAACF,QAAQ,CAAC;IAE5B,OAAO,MAAM;MACX,IAAI,CAACN,SAAS,CAACS,MAAM,CAACH,QAAQ,CAAC;IACjC,CAAC;EACH;EAEAF,QAAQA,CAAA,EAAG;IACT,OAAO;MACLT,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC;EACH;EAEAc,QAAQA,CAACb,KAAa,EAAE;IACtB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEAc,UAAUA,CAACC,GAAQ,EAAE;IACnB,IAAI,CAACd,OAAO,GAAGc,GAAG;EACpB;EAEAC,aAAaA,CAACC,MAAc,EAAE;IAC5B,IAAI,CAAClB,UAAU,GAAGkB,MAAM;EAC1B;EAEAC,qBAAqBA,CAACC,OAAgB,EAAE;IACtC,IAAI,CAACjB,kBAAkB,GAAGiB,OAAO;EACnC;EAEAC,eAAeA,CAACC,KAAa,EAAE;IAC7B,IAAIA,KAAK,KAAK,IAAI,CAACvB,YAAY,EAAE;MAC/B,IAAI,CAACA,YAAY,GAAGuB,KAAK;IAC3B;EACF;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACjB,eAAe,CAAC,CAAC;EACxB;EAEAkB,SAAS,GAAIF,KAAa,IAAK;IAC7B,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACtB,UAAU,IAAI,CAAC,IAAI,CAACG,kBAAkB,IAAI,CAAC,IAAI,CAACD,OAAO,EAAE;MACtF;IACF;IAEA,IAAI,CAACH,YAAY,GAAGuB,KAAK;IAEzB,IAAI,IAAI,CAACpB,OAAO,CAACuB,aAAa,EAAE;MAC9B,IAAI,CAACvB,OAAO,CAACuB,aAAa,CAAC;QAAEH,KAAK;QAAEI,QAAQ,EAAE;MAAK,CAAC,CAAC;IACvD,CAAC,MAAM,IAAI,IAAI,CAACxB,OAAO,CAACyB,QAAQ,EAAE;MAChC,IAAI,CAACzB,OAAO,CAACyB,QAAQ,CAAC;QAAEC,CAAC,EAAEN,KAAK,GAAG,IAAI,CAACrB,KAAK;QAAEyB,QAAQ,EAAE;MAAK,CAAC,CAAC;IAClE;IAEA,IAAI,CAACpB,eAAe,CAAC,CAAC;EACxB,CAAC;EAEDuB,YAAY,GAAGA,CAAA,KAAM;IACnB,IAAI,IAAI,CAAC9B,YAAY,GAAG,CAAC,EAAE;MACzB,IAAI,CAACyB,SAAS,CAAC,IAAI,CAACzB,YAAY,GAAG,CAAC,CAAC;IACvC;EACF,CAAC;EAED+B,QAAQ,GAAGA,CAAA,KAAM;IACf,IAAI,IAAI,CAAC/B,YAAY,GAAG,IAAI,CAACC,UAAU,GAAG,CAAC,EAAE;MAC3C,IAAI,CAACwB,SAAS,CAAC,IAAI,CAACzB,YAAY,GAAG,CAAC,CAAC;IACvC;EACF,CAAC;EAEDgC,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC3B,SAAS,CAAC4B,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC9B,OAAO,GAAG,IAAI;IACnB,IAAI,CAACC,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACJ,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,UAAU,GAAG,CAAC;EACrB;AACF;AAEA,eAAeF,kBAAkB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ImageViewerManager","ImageViewerRegistry","managers","Map","subscribers","subscribeToManager","id","callback","has","set","Set","get","add","manager","delete","size","createManager","notifySubscribers","getManager","deleteManager","cleanUp","listeners","forEach","registry"],"sourceRoot":"../../src","sources":["ImageViewerRegistry.ts"],"mappings":";;AAAA,OAAOA,kBAAkB,MAAM,yBAAsB;AAErD,MAAMC,mBAAmB,CAAC;EAChBC,QAAQ,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAChDC,WAAW,GAAG,IAAID,GAAG,CAA4D,CAAC;EAE1FE,kBAAkBA,CAACC,EAAU,EAAEC,QAAsD,EAAE;IACrF,IAAI,CAAC,IAAI,CAACH,WAAW,CAACI,GAAG,CAACF,EAAE,CAAC,EAAE;MAC7B,IAAI,CAACF,WAAW,CAACK,GAAG,CAACH,EAAE,EAAE,IAAII,GAAG,CAAC,CAAC,CAAC;IACrC;IAEA,IAAI,CAACN,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC,EAAEM,GAAG,CAACL,QAAQ,CAAC;IAEvC,MAAMM,OAAO,GAAG,IAAI,CAACX,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;IAE7CC,QAAQ,CAACM,OAAO,CAAC;IAEjB,OAAO,MAAM;MACX,MAAMT,WAAW,GAAG,IAAI,CAACA,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC;MAE5CF,WAAW,EAAEU,MAAM,CAACP,QAAQ,CAAC;MAE7B,IAAIH,WAAW,IAAIA,WAAW,CAACW,IAAI,KAAK,CAAC,EAAE;QACzC,IAAI,CAACX,WAAW,CAACU,MAAM,CAACR,EAAE,CAAC;MAC7B;IACF,CAAC;EACH;EAEAU,aAAaA,CAACV,EAAU,EAA6B;IACnD,IAAI,IAAI,CAACJ,QAAQ,CAACM,GAAG,CAACF,EAAE,CAAC,EAAE;MACzB,OAAO,IAAI,CAACJ,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;IACtC;IAEA,MAAMO,OAAO,GAAG,IAAIb,kBAAkB,CAAC,CAAC;IACxC,IAAI,CAACE,QAAQ,CAACO,GAAG,CAACH,EAAE,EAAEO,OAAO,CAAC;IAE9B,IAAI,CAACI,iBAAiB,CAACX,EAAE,EAAEO,OAAO,CAAC;IAEnC,OAAOA,OAAO;EAChB;EAEAK,UAAUA,CAACZ,EAAU,EAA6B;IAChD,OAAO,IAAI,CAACJ,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC,IAAI,IAAI;EACtC;EAEAa,aAAaA,CAACb,EAAU,EAAE;IACxB,MAAMO,OAAO,GAAG,IAAI,CAACX,QAAQ,CAACS,GAAG,CAACL,EAAE,CAAC;IAErC,IAAIO,OAAO,EAAE;MACXA,OAAO,CAACO,OAAO,CAAC,CAAC;MACjB,IAAI,CAAClB,QAAQ,CAACY,MAAM,CAACR,EAAE,CAAC;MAExB,IAAI,CAACW,iBAAiB,CAACX,EAAE,EAAE,IAAI,CAAC;IAClC;EACF;EAEAW,iBAAiBA,CAACX,EAAU,EAAEO,OAAkC,EAAE;IAChE,MAAMQ,SAAS,GAAG,IAAI,CAACjB,WAAW,CAACO,GAAG,CAACL,EAAE,CAAC;IAE1C,IAAIe,SAAS,EAAE;MACb,CAAC,GAAGA,SAAS,CAAC,CAACC,OAAO,CAAEf,QAAQ,IAAKA,QAAQ,CAACM,OAAO,CAAC,CAAC;IACzD;EACF;AACF;AAEA,OAAO,MAAMU,QAAQ,GAAG,IAAItB,mBAAmB,CAAC,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","useGestureImageViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","maxZoomScale","itemSpacing","id","screenWidth","height","screenHeight","isZoomed","setIsZoomed","currentIndex","setCurrentIndex","manager","setManager","unsubscribeRef","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","listRef","dataLength","length","value","currentScale","handleManagerChange","current","getState","subscribe","state","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setWidth","notifyStateChange","setListRef","runAfterInteractions","scrollToIndex","index","animated","scrollTo","x","cancel","onMomentumScrollEnd","event","contentOffset","nativeEvent","newIndex","Math","round","dismissGesture","Pan","minDistance","averageTouches","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","duration","easing","bezier","zoomPanGesture","maxTranslateX","maxTranslateY","max","min","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Simultaneous","animatedStyle","transform","backdropStyle","opacity"],"sourceRoot":"../../src","sources":["useGestureImageViewer.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","useState","registry","useImageViewerController","id","state","setState","currentIndex","dataLength","manager","setManager","unsubscribeRef","handleManagerChange","newManager","current","getState","subscribe","unsubscribeFromRegistry","subscribeToManager","noopFunction","goToIndex","goToPrevious","goToNext","totalCount"],"sourceRoot":"../../src","sources":["useImageViewerController.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAG5D,SAASC,QAAQ,QAAQ,0BAAuB;AAEhD,OAAO,MAAMC,wBAAwB,GAAGA,CAACC,EAAE,GAAG,SAAS,KAAK;EAC1D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGL,QAAQ,CAA0B;IAC1DM,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGT,QAAQ,CAA4B,IAAI,CAAC;EACvE,MAAMU,cAAc,GAAGX,MAAM,CAAsB,IAAI,CAAC;EAExDF,SAAS,CAAC,MAAM;IACd,MAAMc,mBAAmB,GAAIC,UAAqC,IAAK;MACrEF,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;IAC3CZ,YAAY,EAAEF,KAAK,CAACE,YAAY;IAChCgB,UAAU,EAAElB,KAAK,CAACG;EACpB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import { type FlatList } from 'react-native';
2
- import type { GestureImageViewerProps } from './types';
3
- export declare function GestureImageViewer<T = any, LC = typeof FlatList>({ id, data, renderImage, renderContainer, ListComponent, width: customWidth, listProps, backdropStyle: backdropStyleProps, containerStyle, initialIndex, itemSpacing, ...props }: GestureImageViewerProps<T, LC>): import("react/jsx-runtime").JSX.Element;
4
- //# sourceMappingURL=GestureImageViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GestureImageViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureImageViewer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAyE,MAAM,cAAc,CAAC;AAIpH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAKvD,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAChE,EAAc,EACd,IAAI,EACJ,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,2CAyHhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageViewerManager.d.ts","sourceRoot":"","sources":["../../../src/ImageViewerManager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,cAAM,kBAAkB;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,SAAS,CAAuD;IAOxE,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI;IAQ5D,QAAQ;;;;IAOR,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,UAAU,CAAC,GAAG,EAAE,GAAG;IAInB,aAAa,CAAC,MAAM,EAAE,MAAM;IAI5B,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,iBAAiB;IAIjB,SAAS,GAAI,OAAO,MAAM,UAcxB;IAEF,YAAY,aAIV;IAEF,QAAQ,aAIN;IAEF,OAAO;CAOR;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,13 +0,0 @@
1
- import ImageViewerManager from './ImageViewerManager';
2
- declare class ImageViewerRegistry {
3
- private managers;
4
- private subscribers;
5
- subscribeToManager(id: string, callback: (manager: ImageViewerManager | null) => void): () => void;
6
- createManager(id: string): ImageViewerManager | null;
7
- getManager(id: string): ImageViewerManager | null;
8
- deleteManager(id: string): void;
9
- notifySubscribers(id: string, manager: ImageViewerManager | null): void;
10
- }
11
- export declare const registry: ImageViewerRegistry;
12
- export {};
13
- //# sourceMappingURL=ImageViewerRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageViewerRegistry.d.ts","sourceRoot":"","sources":["../../../src/ImageViewerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,cAAM,mBAAmB;IACvB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,WAAW,CAAwE;IAE3F,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI;IAsBrF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAapD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAIjD,aAAa,CAAC,EAAE,EAAE,MAAM;IAWxB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;CAOjE;AAED,eAAO,MAAM,QAAQ,qBAA4B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGestureImageViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureImageViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,KAAK,0BAA0B,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAC7C,uBAAuB,CAAC,CAAC,CAAC,EAC1B,aAAa,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CACvG,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,GAAG,GAAG,EAAE,gQAmB5C,0BAA0B,CAAC,CAAC,CAAC;;;;;;;;iCAgHpB,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;CA2LlD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useImageViewerController.d.ts","sourceRoot":"","sources":["../../../src/useImageViewerController.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,GAAI,WAAc;;;;;;CA0CtD,CAAC"}