react-native-gesture-image-viewer 2.0.0-beta.3 → 2.0.0-beta.5

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 (45) hide show
  1. package/README.md +43 -19
  2. package/lib/module/GestureTrigger.js +82 -0
  3. package/lib/module/GestureTrigger.js.map +1 -0
  4. package/lib/module/GestureViewer.js +14 -8
  5. package/lib/module/GestureViewer.js.map +1 -1
  6. package/lib/module/GestureViewerManager.js +5 -5
  7. package/lib/module/GestureViewerManager.js.map +1 -1
  8. package/lib/module/GestureViewerRegistry.js +11 -0
  9. package/lib/module/GestureViewerRegistry.js.map +1 -1
  10. package/lib/module/index.js +2 -0
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/useGestureViewer.js +140 -71
  13. package/lib/module/useGestureViewer.js.map +1 -1
  14. package/lib/module/useGestureViewerController.js +17 -66
  15. package/lib/module/useGestureViewerController.js.map +1 -1
  16. package/lib/module/useGestureViewerState.js +78 -0
  17. package/lib/module/useGestureViewerState.js.map +1 -0
  18. package/lib/typescript/src/GestureTrigger.d.ts +55 -0
  19. package/lib/typescript/src/GestureTrigger.d.ts.map +1 -0
  20. package/lib/typescript/src/GestureViewer.d.ts +2 -2
  21. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  22. package/lib/typescript/src/GestureViewerManager.d.ts +5 -8
  23. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  24. package/lib/typescript/src/GestureViewerRegistry.d.ts +5 -0
  25. package/lib/typescript/src/GestureViewerRegistry.d.ts.map +1 -1
  26. package/lib/typescript/src/index.d.ts +4 -1
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/lib/typescript/src/types.d.ts +116 -58
  29. package/lib/typescript/src/types.d.ts.map +1 -1
  30. package/lib/typescript/src/useGestureViewer.d.ts +9 -8
  31. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  32. package/lib/typescript/src/useGestureViewerController.d.ts +10 -21
  33. package/lib/typescript/src/useGestureViewerController.d.ts.map +1 -1
  34. package/lib/typescript/src/useGestureViewerState.d.ts +35 -0
  35. package/lib/typescript/src/useGestureViewerState.d.ts.map +1 -0
  36. package/package.json +1 -1
  37. package/src/GestureTrigger.tsx +86 -0
  38. package/src/GestureViewer.tsx +15 -9
  39. package/src/GestureViewerManager.ts +9 -9
  40. package/src/GestureViewerRegistry.ts +16 -0
  41. package/src/index.tsx +4 -1
  42. package/src/types.ts +116 -60
  43. package/src/useGestureViewer.ts +180 -77
  44. package/src/useGestureViewerController.ts +19 -76
  45. package/src/useGestureViewerState.ts +85 -0
package/README.md CHANGED
@@ -37,22 +37,36 @@ Full documentation is available at: <https://react-native-gesture-image-viewer.p
37
37
  ### Examples & Demo
38
38
 
39
39
  - [📁 Example Project](/example/) - Real implementation code with various use cases
40
- - [🤖 Expo Go](https://snack.expo.dev/@harang/react-native-gesture-image-viewer) - Try it instantly on Snack Expo
40
+ - [🤖 Expo Go](https://snack.expo.dev/@harang/react-native-gesture-image-viewer-v2) - Try it instantly on Expo Snack
41
41
 
42
42
  ### Basic Usage
43
43
 
44
- `react-native-gesture-image-viewer` is a library focused purely on gesture interactions for complete customization.
44
+ `react-native-gesture-image-viewer` is a library focused purely on gesture interactions for complete customization.
45
45
 
46
46
  ```tsx
47
47
  import { useCallback, useState } from 'react';
48
- import { ScrollView, Image, Modal, View, Text, Button } from 'react-native';
49
- import { GestureViewer, useGestureViewerController, useGestureViewerEvent } from 'react-native-gesture-image-viewer';
48
+ import { ScrollView, Image, Modal, View, Text, Button, Pressable } from 'react-native';
49
+ import {
50
+ GestureViewer,
51
+ GestureTrigger,
52
+ useGestureViewerController,
53
+ useGestureViewerEvent,
54
+ useGestureViewerState,
55
+ } from 'react-native-gesture-image-viewer';
50
56
 
51
57
  function App() {
52
58
  const images = [...];
53
59
  const [visible, setVisible] = useState(false);
60
+ const [selectedIndex, setSelectedIndex] = useState(0);
54
61
 
55
- const { goToIndex, goToPrevious, goToNext, currentIndex, totalCount } = useGestureViewerController();
62
+ const { goToIndex, goToPrevious, goToNext } = useGestureViewerController();
63
+
64
+ const { currentIndex, totalCount } = useGestureViewerState();
65
+
66
+ const openModal = (index: number) => {
67
+ setSelectedIndex(index);
68
+ setVisible(true);
69
+ };
56
70
 
57
71
  const renderImage = useCallback((imageUrl: string) => {
58
72
  return <Image source={{ uri: imageUrl }} style={{ width: '100%', height: '100%' }} resizeMode="contain" />;
@@ -63,20 +77,30 @@ function App() {
63
77
  });
64
78
 
65
79
  return (
66
- <Modal visible={visible} onRequestClose={() => setVisible(false)}>
67
- <GestureViewer
68
- data={images}
69
- renderItem={renderImage}
70
- ListComponent={ScrollView}
71
- onDismiss={() => setVisible(false)}
72
- />
73
- <View>
74
- <Button title="<" onPress={goToPrevious} />
75
- <Button title="Jump to index 2" onPress={() => goToIndex(2)} />
76
- <Button title=">" onPress={goToNext} />
77
- <Text>{`${currentIndex + 1} / ${totalCount}`}</Text>
78
- </View>
79
- </Modal>
80
+ <View>
81
+ {images.map((uri, index) => (
82
+ <GestureTrigger key={uri} onPress={() => openModal(index)}>
83
+ <Pressable>
84
+ <Image source={{ uri }} />
85
+ </Pressable>
86
+ </GestureTrigger>
87
+ ))}
88
+ <Modal transparent visible={visible}>
89
+ <GestureViewer
90
+ data={images}
91
+ initialIndex={selectedIndex}
92
+ renderItem={renderImage}
93
+ ListComponent={ScrollView}
94
+ onDismiss={() => setVisible(false)}
95
+ />
96
+ <View>
97
+ <Button title="Prev" onPress={goToPrevious} />
98
+ <Button title="Jump to index 2" onPress={() => goToIndex(2)} />
99
+ <Button title="Next" onPress={goToNext} />
100
+ <Text>{`${currentIndex + 1} / ${totalCount}`}</Text>
101
+ </View>
102
+ </Modal>
103
+ </View>
80
104
  );
81
105
  }
82
106
  ```
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ import { Children, cloneElement, isValidElement, useMemo, useRef } from 'react';
4
+ import { View } from 'react-native';
5
+ import { registry } from "./GestureViewerRegistry.js";
6
+
7
+ /**
8
+ * Minimal contract for a pressable child's props.
9
+ * The child must optionally accept an `onPress` handler.
10
+ */
11
+
12
+ /**
13
+ * Props for `GestureTrigger`.
14
+ *
15
+ * @typeParam T - The child's props type. Must include an optional `onPress` handler.
16
+ *
17
+ * @property id - Optional identifier to associate this trigger with a `GestureViewer`.
18
+ * @property children - A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`).
19
+ * @property onPress - Optional handler invoked after the child's own `onPress`.
20
+ */
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ /**
23
+ * Wraps a pressable child element and registers its native view as a trigger for `GestureViewer`.
24
+ *
25
+ * @remark
26
+ * Behavior on press:
27
+ * - Registers the child's native node to the internal registry under the given `id`.
28
+ * - Invokes the child's own `onPress` first (if provided).
29
+ * - Invokes the `onPress` passed to `GestureTrigger` next (if provided).
30
+ *
31
+ * Type parameters:
32
+ * - `T` — The child's props type. Must include an optional `onPress` handler, ensuring the child is pressable.
33
+ *
34
+ * Props:
35
+ * - `id` — Optional identifier to associate this trigger with a `GestureViewer`. Defaults to `"default"`.
36
+ * - `children` — A single React element whose props include `onPress` (e.g., `Pressable`, `Touchable*`, custom button).
37
+ * - `onPress` — Optional handler invoked after the child's `onPress`. Receives the same arguments as the child's handler.
38
+ *
39
+ * Notes:
40
+ * - If neither the child nor this component provides `onPress`, a dev warning is logged and nothing happens on press.
41
+ * - Only a single child is allowed; wrap lists using `React.Children.map` when needed.
42
+ *
43
+ * Example:
44
+ * ```tsx
45
+ * <GestureTrigger id="gallery" onPress={() => openModal(index)}>
46
+ * <Pressable style={styles.thumb}>
47
+ * <Image source={{ uri }} style={styles.thumbImage} />
48
+ * </Pressable>
49
+ * </GestureTrigger>
50
+ * ```
51
+ */
52
+ export function GestureTrigger({
53
+ id = 'default',
54
+ children,
55
+ onPress
56
+ }) {
57
+ const ref = useRef(null);
58
+ const wrapped = useMemo(() => {
59
+ const child = Children.only(children);
60
+ if (! /*#__PURE__*/isValidElement(child)) {
61
+ return children;
62
+ }
63
+ const originalOnPress = child.props?.onPress;
64
+ const handlePress = (...args) => {
65
+ registry.setTriggerNode(id, ref.current);
66
+ originalOnPress?.(...args);
67
+ onPress?.(...args);
68
+ if (__DEV__ && !originalOnPress && !onPress) {
69
+ console.warn('[GestureTrigger] No onPress found on child or props. Nothing will happen on press.');
70
+ }
71
+ };
72
+ return /*#__PURE__*/cloneElement(child, {
73
+ ...child.props,
74
+ onPress: handlePress
75
+ });
76
+ }, [id, onPress, children]);
77
+ return /*#__PURE__*/_jsx(View, {
78
+ ref: ref,
79
+ children: wrapped
80
+ });
81
+ }
82
+ //# sourceMappingURL=GestureTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","cloneElement","isValidElement","useMemo","useRef","View","registry","jsx","_jsx","GestureTrigger","id","children","onPress","ref","wrapped","child","only","originalOnPress","props","handlePress","args","setTriggerNode","current","__DEV__","console","warn"],"sourceRoot":"../../src","sources":["GestureTrigger.tsx"],"mappings":";;AACA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC/E,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,QAAQ,QAAQ,4BAAyB;;AAElD;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,SAAAC,GAAA,IAAAC,IAAA;AAeA;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,SAASC,cAAcA,CAAwB;EAAEC,EAAE,GAAG,SAAS;EAAEC,QAAQ;EAAEC;AAAgC,CAAC,EAAE;EACnH,MAAMC,GAAG,GAAGT,MAAM,CAAO,IAAI,CAAC;EAE9B,MAAMU,OAAO,GAAGX,OAAO,CAAC,MAAM;IAC5B,MAAMY,KAAK,GAAGf,QAAQ,CAACgB,IAAI,CAACL,QAAQ,CAAC;IAErC,IAAI,eAACT,cAAc,CAACa,KAAK,CAAC,EAAE;MAC1B,OAAOJ,QAAQ;IACjB;IAEA,MAAMM,eAAe,GAAGF,KAAK,CAACG,KAAK,EAAEN,OAAO;IAE5C,MAAMO,WAAW,GAAGA,CAAC,GAAGC,IAAe,KAAK;MAC1Cd,QAAQ,CAACe,cAAc,CAACX,EAAE,EAAEG,GAAG,CAACS,OAAO,CAAC;MACxCL,eAAe,GAAG,GAAGG,IAAI,CAAC;MAC1BR,OAAO,GAAG,GAAGQ,IAAI,CAAC;MAElB,IAAIG,OAAO,IAAI,CAACN,eAAe,IAAI,CAACL,OAAO,EAAE;QAC3CY,OAAO,CAACC,IAAI,CAAC,oFAAoF,CAAC;MACpG;IACF,CAAC;IAED,oBAAOxB,YAAY,CAACc,KAAK,EAAE;MACzB,GAAGA,KAAK,CAACG,KAAK;MACdN,OAAO,EAAEO;IACX,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,EAAE,EAAEE,OAAO,EAAED,QAAQ,CAAC,CAAC;EAE3B,oBAAOH,IAAA,CAACH,IAAI;IAACQ,GAAG,EAAEA,GAAI;IAAAF,QAAA,EAAEG;EAAO,CAAO,CAAC;AACzC","ignoreList":[]}
@@ -21,17 +21,16 @@ export function GestureViewer({
21
21
  containerStyle,
22
22
  initialIndex = 0,
23
23
  itemSpacing = 0,
24
- useSnap = false,
24
+ enableSnapMode = false,
25
25
  enableLoop = false,
26
26
  ...props
27
27
  }) {
28
28
  const Component = ListComponent;
29
29
  const dataRef = useRef(data);
30
- dataRef.current = data;
31
30
  const {
32
31
  width: screenWidth
33
32
  } = useWindowDimensions();
34
- const width = useSnap ? customWidth || screenWidth : screenWidth;
33
+ const width = enableSnapMode ? customWidth || screenWidth : screenWidth;
35
34
  const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
36
35
  const isScrollView = isScrollViewLike(Component);
37
36
  const {
@@ -43,14 +42,15 @@ export function GestureViewer({
43
42
  onMomentumScrollEnd,
44
43
  onScrollBeginDrag,
45
44
  animatedStyle,
46
- backdropStyle
45
+ backdropStyle,
46
+ handleDismiss
47
47
  } = useGestureViewer({
48
48
  id,
49
49
  data,
50
50
  width,
51
51
  initialIndex,
52
52
  itemSpacing,
53
- useSnap,
53
+ enableSnapMode,
54
54
  enableLoop,
55
55
  ...props
56
56
  });
@@ -83,6 +83,9 @@ export function GestureViewer({
83
83
  const gesture = useMemo(() => {
84
84
  return Gesture.Race(dismissGesture, zoomGesture);
85
85
  }, [zoomGesture, dismissGesture]);
86
+ useEffect(() => {
87
+ dataRef.current = data;
88
+ }, [data]);
86
89
  useEffect(() => {
87
90
  registry.createManager(id);
88
91
  return () => registry.deleteManager(id);
@@ -93,7 +96,7 @@ export function GestureViewer({
93
96
  showsHorizontalScrollIndicator: false,
94
97
  onMomentumScrollEnd: onMomentumScrollEnd,
95
98
  onScrollBeginDrag,
96
- ...(useSnap ? {
99
+ ...(enableSnapMode ? {
97
100
  snapToInterval: width + itemSpacing,
98
101
  snapToAlignment: 'center',
99
102
  decelerationRate: 'fast'
@@ -102,7 +105,10 @@ export function GestureViewer({
102
105
  }),
103
106
  scrollEventThrottle: 16,
104
107
  removeClippedSubviews: true
105
- }), [width, itemSpacing, isZoomed, isRotated, onMomentumScrollEnd, onScrollBeginDrag, useSnap]);
108
+ }), [width, itemSpacing, isZoomed, isRotated, onMomentumScrollEnd, onScrollBeginDrag, enableSnapMode]);
109
+ const control = useMemo(() => ({
110
+ dismiss: handleDismiss
111
+ }), [handleDismiss]);
106
112
  const listComponent = /*#__PURE__*/_jsx(GestureHandlerRootView, {
107
113
  children: /*#__PURE__*/_jsx(GestureDetector, {
108
114
  gesture: gesture,
@@ -151,7 +157,7 @@ export function GestureViewer({
151
157
  })
152
158
  })
153
159
  });
154
- return renderContainer ? renderContainer(listComponent) : listComponent;
160
+ return renderContainer ? renderContainer(listComponent, control) : listComponent;
155
161
  }
156
162
  const styles = StyleSheet.create({
157
163
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","enableLoop","props","Component","dataRef","current","screenWidth","loopData","isScrollView","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","onScrollBeginDrag","animatedStyle","keyExtractor","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","undefined","getItemLayout","_","length","offset","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","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","enableSnapMode","enableLoop","props","Component","dataRef","screenWidth","loopData","isScrollView","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","onScrollBeginDrag","animatedStyle","handleDismiss","keyExtractor","item","index","style","height","justifyContent","alignItems","marginHorizontal","children","undefined","getItemLayout","_","length","offset","gesture","Race","current","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","control","dismiss","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":[]}
@@ -8,7 +8,7 @@ class GestureViewerManager {
8
8
  width = 0;
9
9
  height = 0;
10
10
  maxZoomScale = 2;
11
- enableSwipeGesture = true;
11
+ enableHorizontalSwipe = true;
12
12
  enableLoop = false;
13
13
  listRef = null;
14
14
  scale = null;
@@ -82,8 +82,8 @@ class GestureViewerManager {
82
82
  setDataLength(length) {
83
83
  this.dataLength = length;
84
84
  }
85
- setEnableSwipeGesture(enabled) {
86
- this.enableSwipeGesture = enabled;
85
+ setEnableHorizontalSwipe(enabled) {
86
+ this.enableHorizontalSwipe = enabled;
87
87
  }
88
88
  setCurrentIndex(index) {
89
89
  if (index !== this.currentIndex) {
@@ -173,7 +173,7 @@ class GestureViewerManager {
173
173
  this.translateY.value = withTiming(0);
174
174
  };
175
175
  goToIndex = index => {
176
- if (!this.enableSwipeGesture || !this.listRef) {
176
+ if (!this.enableHorizontalSwipe || !this.listRef) {
177
177
  return;
178
178
  }
179
179
  this.loopCallback = null;
@@ -233,7 +233,7 @@ class GestureViewerManager {
233
233
  this.loopCallback = null;
234
234
  this.listeners.clear();
235
235
  this.listRef = null;
236
- this.enableSwipeGesture = true;
236
+ this.enableHorizontalSwipe = true;
237
237
  this.currentIndex = 0;
238
238
  this.dataLength = 0;
239
239
  this.maxZoomScale = 2;
@@ -1 +1 @@
1
- {"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","enableSwipeGesture","enableLoop","listRef","scale","rotation","translateX","translateY","loopCallback","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","totalCount","setEnableLoop","enabled","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableSwipeGesture","setCurrentIndex","index","setZoomSharedValues","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","value","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","enableHorizontalSwipe","enableLoop","listRef","scale","rotation","translateX","translateY","loopCallback","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","totalCount","setEnableLoop","enabled","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableHorizontalSwipe","setCurrentIndex","index","setZoomSharedValues","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","value","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import GestureViewerManager from "./GestureViewerManager.js";
4
4
  class GestureViewerRegistry {
5
5
  managers = new Map();
6
6
  subscribers = new Map();
7
+ triggers = new Map();
7
8
  subscribeToManager(id, callback) {
8
9
  if (!this.subscribers.has(id)) {
9
10
  this.subscribers.set(id, new Set());
@@ -37,6 +38,7 @@ class GestureViewerRegistry {
37
38
  manager.cleanUp();
38
39
  this.managers.delete(id);
39
40
  this.notifySubscribers(id, null);
41
+ this.triggers.delete(id);
40
42
  }
41
43
  }
42
44
  notifySubscribers(id, manager) {
@@ -45,6 +47,15 @@ class GestureViewerRegistry {
45
47
  [...listeners].forEach(callback => callback(manager));
46
48
  }
47
49
  }
50
+ setTriggerNode(id, node) {
51
+ this.triggers.set(id, node);
52
+ }
53
+ getTriggerNode(id) {
54
+ return this.triggers.get(id) ?? null;
55
+ }
56
+ clearTriggerNode(id) {
57
+ this.triggers.delete(id);
58
+ }
48
59
  }
49
60
  export const registry = new GestureViewerRegistry();
50
61
  //# sourceMappingURL=GestureViewerRegistry.js.map
@@ -1 +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
+ {"version":3,"names":["GestureViewerManager","GestureViewerRegistry","managers","Map","subscribers","triggers","subscribeToManager","id","callback","has","set","Set","get","add","manager","delete","size","createManager","notifySubscribers","getManager","deleteManager","cleanUp","listeners","forEach","setTriggerNode","node","getTriggerNode","clearTriggerNode","registry"],"sourceRoot":"../../src","sources":["GestureViewerRegistry.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ export { GestureTrigger } from "./GestureTrigger.js";
3
4
  export { GestureViewer } from "./GestureViewer.js";
4
5
  export { useGestureViewerController } from "./useGestureViewerController.js";
5
6
  export { useGestureViewerEvent } from "./useGestureViewerEvent.js";
7
+ export { useGestureViewerState } from "./useGestureViewerState.js";
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GestureViewer","useGestureViewerController","useGestureViewerEvent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAS/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["GestureTrigger","GestureViewer","useGestureViewerController","useGestureViewerEvent","useGestureViewerState"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AACA,SAASA,cAAc,QAAQ,qBAAkB;AACjD,SAASC,aAAa,QAAQ,oBAAiB;AAS/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}