react-native-gesture-handler 3.0.0-beta.4 → 3.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 (162) hide show
  1. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +12 -4
  2. package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +6 -2
  3. package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +21 -0
  4. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +113 -49
  5. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerDetectorView.kt +75 -98
  6. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +7 -10
  7. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +64 -2
  8. package/apple/RNGestureHandler.mm +50 -27
  9. package/apple/RNGestureHandlerButton.h +4 -2
  10. package/apple/RNGestureHandlerButton.mm +106 -27
  11. package/apple/RNGestureHandlerButtonComponentView.mm +17 -2
  12. package/apple/RNGestureHandlerDetector.mm +99 -75
  13. package/apple/RNGestureHandlerModule.mm +11 -14
  14. package/apple/RNGestureHandlerRegistry.h +14 -0
  15. package/apple/RNGestureHandlerRegistry.m +56 -0
  16. package/lib/module/RNGestureHandlerModule.web.js +5 -1
  17. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  18. package/lib/module/components/GestureButtons.js +16 -5
  19. package/lib/module/components/GestureButtons.js.map +1 -1
  20. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  21. package/lib/module/components/GestureHandlerButton.web.js +63 -23
  22. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  23. package/lib/module/components/Pressable/Pressable.js +1 -0
  24. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  25. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  26. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +38 -5
  27. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -1
  28. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +1 -2
  29. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  30. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -47
  31. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  32. package/lib/module/handlers/gestures/reanimatedWrapper.js +14 -2
  33. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  34. package/lib/module/mocks/module.js +3 -2
  35. package/lib/module/mocks/module.js.map +1 -1
  36. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  37. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +28 -13
  38. package/lib/module/v3/NativeProxy.js +5 -3
  39. package/lib/module/v3/NativeProxy.js.map +1 -1
  40. package/lib/module/v3/NativeProxy.web.js +2 -2
  41. package/lib/module/v3/NativeProxy.web.js.map +1 -1
  42. package/lib/module/v3/components/GestureButtons.js +8 -3
  43. package/lib/module/v3/components/GestureButtons.js.map +1 -1
  44. package/lib/module/v3/components/Touchable/Touchable.js +53 -4
  45. package/lib/module/v3/components/Touchable/Touchable.js.map +1 -1
  46. package/lib/module/v3/detectors/HostGestureDetector.web.js +178 -59
  47. package/lib/module/v3/detectors/HostGestureDetector.web.js.map +1 -1
  48. package/lib/module/v3/detectors/NativeDetector.js +3 -2
  49. package/lib/module/v3/detectors/NativeDetector.js.map +1 -1
  50. package/lib/module/v3/detectors/VirtualDetector/InterceptingGestureDetector.js +3 -4
  51. package/lib/module/v3/detectors/VirtualDetector/InterceptingGestureDetector.js.map +1 -1
  52. package/lib/module/v3/detectors/VirtualDetector/VirtualDetector.js +2 -2
  53. package/lib/module/v3/detectors/VirtualDetector/VirtualDetector.js.map +1 -1
  54. package/lib/module/v3/detectors/useGestureRelationsUpdater.js +23 -0
  55. package/lib/module/v3/detectors/useGestureRelationsUpdater.js.map +1 -0
  56. package/lib/module/v3/detectors/utils.js +10 -8
  57. package/lib/module/v3/detectors/utils.js.map +1 -1
  58. package/lib/module/v3/hooks/useGesture.js +3 -18
  59. package/lib/module/v3/hooks/useGesture.js.map +1 -1
  60. package/lib/module/v3/hooks/utils/configUtils.js +1 -3
  61. package/lib/module/v3/hooks/utils/configUtils.js.map +1 -1
  62. package/lib/module/v3/hooks/utils/eventHandlersUtils.js +31 -29
  63. package/lib/module/v3/hooks/utils/eventHandlersUtils.js.map +1 -1
  64. package/lib/module/v3/hooks/utils/reanimatedUtils.js +8 -2
  65. package/lib/module/v3/hooks/utils/reanimatedUtils.js.map +1 -1
  66. package/lib/module/web/tools/NodeManager.js +44 -0
  67. package/lib/module/web/tools/NodeManager.js.map +1 -1
  68. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  69. package/lib/typescript/RNGestureHandlerModule.web.d.ts.map +1 -1
  70. package/lib/typescript/components/GestureButtons.d.ts +14 -6
  71. package/lib/typescript/components/GestureButtons.d.ts.map +1 -1
  72. package/lib/typescript/components/GestureHandlerButton.d.ts +62 -8
  73. package/lib/typescript/components/GestureHandlerButton.d.ts.map +1 -1
  74. package/lib/typescript/components/GestureHandlerButton.web.d.ts +10 -3
  75. package/lib/typescript/components/GestureHandlerButton.web.d.ts.map +1 -1
  76. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  77. package/lib/typescript/components/Pressable/PressableProps.d.ts +1 -1
  78. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
  79. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +16 -14
  80. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts.map +1 -1
  81. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +2 -1
  82. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -1
  83. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts +30 -34
  84. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -1
  85. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts.map +1 -1
  86. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
  87. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts.map +1 -1
  88. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts.map +1 -1
  89. package/lib/typescript/mocks/module.d.ts +1 -1
  90. package/lib/typescript/mocks/module.d.ts.map +1 -1
  91. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +2 -2
  92. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts.map +1 -1
  93. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +19 -11
  94. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts.map +1 -1
  95. package/lib/typescript/v3/NativeProxy.d.ts +1 -1
  96. package/lib/typescript/v3/NativeProxy.d.ts.map +1 -1
  97. package/lib/typescript/v3/NativeProxy.web.d.ts +1 -1
  98. package/lib/typescript/v3/NativeProxy.web.d.ts.map +1 -1
  99. package/lib/typescript/v3/components/GestureButtons.d.ts +1 -38
  100. package/lib/typescript/v3/components/GestureButtons.d.ts.map +1 -1
  101. package/lib/typescript/v3/components/GestureButtonsProps.d.ts +1 -1
  102. package/lib/typescript/v3/components/GestureButtonsProps.d.ts.map +1 -1
  103. package/lib/typescript/v3/components/Touchable/Touchable.d.ts.map +1 -1
  104. package/lib/typescript/v3/components/Touchable/TouchableProps.d.ts +39 -1
  105. package/lib/typescript/v3/components/Touchable/TouchableProps.d.ts.map +1 -1
  106. package/lib/typescript/v3/detectors/HostGestureDetector.web.d.ts.map +1 -1
  107. package/lib/typescript/v3/detectors/NativeDetector.d.ts.map +1 -1
  108. package/lib/typescript/v3/detectors/VirtualDetector/InterceptingGestureDetector.d.ts.map +1 -1
  109. package/lib/typescript/v3/detectors/useGestureRelationsUpdater.d.ts +3 -0
  110. package/lib/typescript/v3/detectors/useGestureRelationsUpdater.d.ts.map +1 -0
  111. package/lib/typescript/v3/detectors/utils.d.ts +3 -3
  112. package/lib/typescript/v3/detectors/utils.d.ts.map +1 -1
  113. package/lib/typescript/v3/hooks/useGesture.d.ts.map +1 -1
  114. package/lib/typescript/v3/hooks/utils/configUtils.d.ts.map +1 -1
  115. package/lib/typescript/v3/hooks/utils/eventHandlersUtils.d.ts.map +1 -1
  116. package/lib/typescript/v3/hooks/utils/reanimatedUtils.d.ts +1 -0
  117. package/lib/typescript/v3/hooks/utils/reanimatedUtils.d.ts.map +1 -1
  118. package/lib/typescript/web/tools/NodeManager.d.ts +7 -0
  119. package/lib/typescript/web/tools/NodeManager.d.ts.map +1 -1
  120. package/package.json +3 -3
  121. package/src/RNGestureHandlerModule.web.ts +5 -1
  122. package/src/components/GestureButtons.tsx +23 -7
  123. package/src/components/GestureHandlerButton.tsx +70 -8
  124. package/src/components/GestureHandlerButton.web.tsx +97 -29
  125. package/src/components/Pressable/Pressable.tsx +1 -0
  126. package/src/components/Pressable/PressableProps.tsx +2 -1
  127. package/src/components/ReanimatedDrawerLayout.tsx +27 -23
  128. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +51 -5
  129. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +31 -39
  130. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +1 -2
  131. package/src/handlers/gestures/GestureDetector/utils.ts +0 -52
  132. package/src/handlers/gestures/reanimatedWrapper.ts +20 -2
  133. package/src/mocks/module.tsx +4 -2
  134. package/src/specs/NativeRNGestureHandlerModule.ts +2 -4
  135. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +28 -13
  136. package/src/v3/NativeProxy.ts +9 -7
  137. package/src/v3/NativeProxy.web.ts +2 -2
  138. package/src/v3/components/GestureButtons.tsx +13 -5
  139. package/src/v3/components/GestureButtonsProps.ts +1 -0
  140. package/src/v3/components/Touchable/Touchable.tsx +65 -4
  141. package/src/v3/components/Touchable/TouchableProps.ts +49 -1
  142. package/src/v3/detectors/HostGestureDetector.web.tsx +265 -108
  143. package/src/v3/detectors/NativeDetector.tsx +3 -2
  144. package/src/v3/detectors/VirtualDetector/InterceptingGestureDetector.tsx +3 -4
  145. package/src/v3/detectors/VirtualDetector/VirtualDetector.tsx +2 -2
  146. package/src/v3/detectors/useGestureRelationsUpdater.ts +30 -0
  147. package/src/v3/detectors/utils.ts +28 -12
  148. package/src/v3/hooks/useGesture.ts +4 -14
  149. package/src/v3/hooks/utils/configUtils.ts +2 -3
  150. package/src/v3/hooks/utils/eventHandlersUtils.ts +43 -32
  151. package/src/v3/hooks/utils/reanimatedUtils.ts +10 -10
  152. package/src/web/tools/NodeManager.ts +57 -0
  153. package/lib/module/RNRenderer.js +0 -6
  154. package/lib/module/RNRenderer.js.map +0 -1
  155. package/lib/module/RNRenderer.web.js +0 -6
  156. package/lib/module/RNRenderer.web.js.map +0 -1
  157. package/lib/typescript/RNRenderer.d.ts +0 -2
  158. package/lib/typescript/RNRenderer.d.ts.map +0 -1
  159. package/lib/typescript/RNRenderer.web.d.ts +0 -4
  160. package/lib/typescript/RNRenderer.web.d.ts.map +0 -1
  161. package/src/RNRenderer.ts +0 -3
  162. package/src/RNRenderer.web.ts +0 -3
@@ -5,9 +5,124 @@ import { View } from 'react-native';
5
5
  import { ActionType } from '../../ActionType';
6
6
  import RNGestureHandlerModule from '../../RNGestureHandlerModule.web';
7
7
  import { tagMessage } from '../../utils';
8
+ import NodeManager from '../../web/tools/NodeManager';
8
9
  import { useNativeGestureRole } from './useNativeGestureRole';
10
+
11
+ // Bundles all per-instance state passed to the standalone helpers below. Holding everything in
12
+ // one stable object keeps the helpers pure (no closures over component-render-scoped values),
13
+ // which means the useEffects don't need them in their deps lists.
9
14
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const EMPTY_HANDLERS = new Set();
15
+ // Invoked from `NodeManager.observeHandler` once the handler is known to exist. Branches on
16
+ // handler kind + actionType to pick the right binding flow. May be called multiple times for
17
+ // the same tag (handler re-registration), so each branch must be idempotent.
18
+ function attachReadyHandler(refs, tag, actionType, virtualViewTag) {
19
+ const handler = RNGestureHandlerModule.getGestureHandlerNode(tag);
20
+ if (actionType === ActionType.NATIVE_DETECTOR && handler.shouldAttachGestureToChildView()) {
21
+ refs.nativeHandlers.add(tag);
22
+ if (refs.viewRef.current != null && refs.viewRef.current.childElementCount > 0) {
23
+ tryAttachNativeHandlersToChildView(refs);
24
+ }
25
+ return;
26
+ }
27
+ if (actionType === ActionType.VIRTUAL_DETECTOR) {
28
+ const child = virtualViewTag != null ? refs.virtualChildren.get(virtualViewTag) : undefined;
29
+ if (child == null || child.viewRef.current == null) {
30
+ return;
31
+ }
32
+ if (!refs.attachedHandlers.has(tag)) {
33
+ RNGestureHandlerModule.attachGestureHandler(tag, child.viewRef.current, actionType, refs.propsRef);
34
+ refs.attachedHandlers.add(tag);
35
+ }
36
+ RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
37
+ userSelect: child.userSelect,
38
+ touchAction: child.touchAction,
39
+ enableContextMenu: child.enableContextMenu
40
+ });
41
+ return;
42
+ }
43
+ if (refs.viewRef.current == null) {
44
+ return;
45
+ }
46
+ if (!refs.attachedHandlers.has(tag)) {
47
+ RNGestureHandlerModule.attachGestureHandler(tag, refs.viewRef.current, actionType, refs.propsRef);
48
+ refs.attachedHandlers.add(tag);
49
+ }
50
+ RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
51
+ userSelect: refs.propsRef.current.userSelect,
52
+ touchAction: refs.propsRef.current.touchAction,
53
+ enableContextMenu: refs.propsRef.current.enableContextMenu
54
+ });
55
+ }
56
+ function tryAttachNativeHandlersToChildView(refs) {
57
+ if (refs.nativeHandlers.size === 0) {
58
+ return;
59
+ }
60
+ const view = refs.viewRef.current;
61
+ if (view == null) {
62
+ return;
63
+ }
64
+ if (view.childElementCount > 1) {
65
+ throw new Error(tagMessage('Cannot have more than one child view when native gesture handlers are attached to the detector'));
66
+ }
67
+ const target = view.firstElementChild;
68
+ if (target == null) {
69
+ return;
70
+ }
71
+ for (const tag of refs.nativeHandlers) {
72
+ // A tag may be in `nativeHandlers` from an earlier ready callback but the underlying
73
+ // handler may have been dropped since. Skip — a re-registration fires the observation again.
74
+ if (!NodeManager.hasHandler(tag)) {
75
+ continue;
76
+ }
77
+ if (refs.attachedHandlers.has(tag)) {
78
+ continue;
79
+ }
80
+ RNGestureHandlerModule.attachGestureHandler(tag, target, ActionType.NATIVE_DETECTOR, refs.propsRef);
81
+ refs.attachedHandlers.add(tag);
82
+ RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
83
+ userSelect: refs.propsRef.current.userSelect,
84
+ touchAction: refs.propsRef.current.touchAction,
85
+ enableContextMenu: refs.propsRef.current.enableContextMenu
86
+ });
87
+ }
88
+ }
89
+
90
+ // Reconcile `subscribedSet` against `currentTags`: observe new tags, cancel observation and
91
+ // detach for tags no longer present. The ready callback set up here is responsible for actually
92
+ // binding the handler once it exists.
93
+ function syncSubscriptions(refs, currentTags, subscribedSet, actionType, virtualViewTag) {
94
+ const toUnsubscribe = new Set(subscribedSet);
95
+ for (const tag of currentTags) {
96
+ toUnsubscribe.delete(tag);
97
+ if (subscribedSet.has(tag)) {
98
+ continue;
99
+ }
100
+ NodeManager.observeHandler(tag, refs.owner, () => {
101
+ attachReadyHandler(refs, tag, actionType, virtualViewTag);
102
+ });
103
+ subscribedSet.add(tag);
104
+ }
105
+ for (const tag of toUnsubscribe) {
106
+ NodeManager.cancelObservation(tag, refs.owner);
107
+ if (refs.attachedHandlers.has(tag)) {
108
+ RNGestureHandlerModule.detachGestureHandler(tag);
109
+ refs.attachedHandlers.delete(tag);
110
+ }
111
+ subscribedSet.delete(tag);
112
+ refs.nativeHandlers.delete(tag);
113
+ }
114
+ }
115
+ function teardown(refs) {
116
+ NodeManager.cancelAllObservationsForOwner(refs.owner);
117
+ for (const tag of refs.attachedHandlers) {
118
+ RNGestureHandlerModule.detachGestureHandler(tag);
119
+ }
120
+ refs.attachedHandlers.clear();
121
+ refs.subscribedHandlers.clear();
122
+ refs.nativeHandlers.clear();
123
+ refs.subscribedVirtualHandlers.clear();
124
+ refs.virtualChildren.clear();
125
+ }
11
126
  const HostGestureDetector = props => {
12
127
  const {
13
128
  handlerTags,
@@ -16,42 +131,36 @@ const HostGestureDetector = props => {
16
131
  const handlerTagsSet = useMemo(() => new Set(handlerTags), [...handlerTags]);
17
132
  const viewRef = useRef(null);
18
133
  const propsRef = useRef(props);
19
- const attachedHandlers = useRef(new Set());
20
- const attachedNativeHandlers = useRef(new Set());
21
- const attachedVirtualHandlers = useRef(new Map());
22
- const detachHandlers = (currentHandlerTags, attachedHandlerTags) => {
23
- const oldHandlerTags = attachedHandlerTags.difference(currentHandlerTags);
24
- oldHandlerTags.forEach(tag => {
25
- RNGestureHandlerModule.detachGestureHandler(tag);
26
- attachedHandlerTags.delete(tag);
27
- });
28
- };
29
- const attachHandlers = (viewRef, propsRef, currentHandlerTags, attachedHandlerTags, actionType) => {
30
- const newHandlerTags = currentHandlerTags.difference(attachedHandlerTags);
31
- newHandlerTags.forEach(tag => {
32
- if (RNGestureHandlerModule.getGestureHandlerNode(tag).shouldAttachGestureToChildView() && actionType === ActionType.NATIVE_DETECTOR) {
33
- if (viewRef.current.childElementCount > 1) {
34
- throw new Error(tagMessage('Cannot have more than one child view when native gesture handlers are attached to the detector'));
35
- }
36
- RNGestureHandlerModule.attachGestureHandler(tag, viewRef.current.firstChild, actionType, propsRef);
37
- attachedNativeHandlers.current.add(tag);
38
- } else {
39
- RNGestureHandlerModule.attachGestureHandler(tag, viewRef.current, actionType, propsRef);
40
- }
41
- attachedHandlerTags.add(tag);
42
- RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
43
- userSelect: props.userSelect,
44
- touchAction: props.touchAction,
45
- enableContextMenu: props.enableContextMenu
46
- });
47
- });
48
- };
134
+
135
+ // Stable per-instance state
136
+ const refsRef = useRef(null);
137
+ if (refsRef.current === null) {
138
+ refsRef.current = {
139
+ owner: {},
140
+ viewRef,
141
+ propsRef,
142
+ subscribedHandlers: new Set(),
143
+ attachedHandlers: new Set(),
144
+ nativeHandlers: new Set(),
145
+ subscribedVirtualHandlers: new Map(),
146
+ virtualChildren: new Map()
147
+ };
148
+ }
149
+ const refs = refsRef.current;
49
150
  useNativeGestureRole(viewRef, children);
151
+
152
+ // Keep propsRef in sync and re-apply detector-level DOM props to top-level attached handlers
153
+ // when they change. Virtual children get their own (potentially different) DOM props applied
154
+ // in the virtualChildren effect below, so we only touch top-level subscribers here.
50
155
  useEffect(() => {
51
156
  const shouldUpdateDOMProps = propsRef.current.userSelect !== props.userSelect || propsRef.current.touchAction !== props.touchAction || propsRef.current.enableContextMenu !== props.enableContextMenu;
52
157
  propsRef.current = props;
53
158
  if (shouldUpdateDOMProps) {
54
- for (const tag of attachedHandlers.current) {
159
+ // attachedHandlers subscribedHandlers subscribedVirtualHandlers, we want to ignore the
160
+ // handlers attached by the virtual detectors not to overwrite their DOM props.
161
+ const claimedByVirtual = Array.from(refs.subscribedVirtualHandlers.values()).reduce((acc, current) => acc.union(current), new Set());
162
+ const handlersToUpdate = refs.subscribedHandlers.intersection(refs.attachedHandlers).difference(claimedByVirtual);
163
+ for (const tag of handlersToUpdate) {
55
164
  RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
56
165
  userSelect: props.userSelect,
57
166
  touchAction: props.touchAction,
@@ -59,46 +168,56 @@ const HostGestureDetector = props => {
59
168
  });
60
169
  }
61
170
  }
62
- }, [props]);
171
+ }, [props, refs]);
63
172
  useEffect(() => {
64
- detachHandlers(handlerTagsSet, attachedHandlers.current);
65
- attachHandlers(viewRef, propsRef, handlerTagsSet, attachedHandlers.current, ActionType.NATIVE_DETECTOR);
66
- return () => {
67
- detachHandlers(EMPTY_HANDLERS, attachedHandlers.current);
68
- attachedVirtualHandlers?.current.forEach(childHandlerTags => {
69
- detachHandlers(EMPTY_HANDLERS, childHandlerTags);
70
- });
71
- };
72
- }, [handlerTagsSet, viewRef]);
173
+ syncSubscriptions(refs, handlerTagsSet, refs.subscribedHandlers, ActionType.NATIVE_DETECTOR);
174
+ }, [handlerTagsSet, refs]);
73
175
  useEffect(() => {
74
- const virtualChildrenToDetach = new Set(attachedVirtualHandlers.current.keys());
176
+ // Refresh the snapshot used by the ready callback so re-fires read current child props.
177
+ refs.virtualChildren.clear();
75
178
  props.virtualChildren?.forEach(child => {
76
- virtualChildrenToDetach.delete(child.viewTag);
179
+ refs.virtualChildren.set(child.viewTag, child);
77
180
  });
78
- virtualChildrenToDetach.forEach(tag => {
79
- detachHandlers(EMPTY_HANDLERS, attachedVirtualHandlers.current.get(tag));
181
+ const virtualChildrenToDetach = new Set(refs.subscribedVirtualHandlers.keys());
182
+ props.virtualChildren?.forEach(child => {
183
+ virtualChildrenToDetach.delete(child.viewTag);
80
184
  });
185
+ for (const viewTag of virtualChildrenToDetach) {
186
+ const tags = refs.subscribedVirtualHandlers.get(viewTag);
187
+ if (tags != null) {
188
+ syncSubscriptions(refs, [], tags, ActionType.VIRTUAL_DETECTOR, viewTag);
189
+ }
190
+ refs.subscribedVirtualHandlers.delete(viewTag);
191
+ }
81
192
  props.virtualChildren?.forEach(child => {
82
193
  if (child.viewRef.current == null) {
83
194
  // We must check whether viewRef is not null as otherwise we get an error when intercepting gesture detector
84
195
  // switches its component based on whether animated/reanimated events should run.
85
196
  return;
86
197
  }
87
- if (!attachedVirtualHandlers.current.has(child.viewTag)) {
88
- attachedVirtualHandlers.current.set(child.viewTag, new Set());
198
+ let subs = refs.subscribedVirtualHandlers.get(child.viewTag);
199
+ if (subs == null) {
200
+ subs = new Set();
201
+ refs.subscribedVirtualHandlers.set(child.viewTag, subs);
202
+ }
203
+ syncSubscriptions(refs, child.handlerTags, subs, ActionType.VIRTUAL_DETECTOR, child.viewTag);
204
+ // Re-apply per-child DOM props on every run. Already-attached tags need this when only
205
+ // the child's props change; tags attached via a sync-fired observer already had it
206
+ // applied in `attachReadyHandler`, so this is a no-op for them.
207
+ for (const tag of subs) {
208
+ if (refs.attachedHandlers.has(tag)) {
209
+ RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
210
+ userSelect: child.userSelect,
211
+ touchAction: child.touchAction,
212
+ enableContextMenu: child.enableContextMenu
213
+ });
214
+ }
89
215
  }
90
- const currentHandlerTags = new Set(child.handlerTags);
91
- detachHandlers(currentHandlerTags, attachedVirtualHandlers.current.get(child.viewTag));
92
- attachHandlers(child.viewRef, propsRef, currentHandlerTags, attachedVirtualHandlers.current.get(child.viewTag), ActionType.VIRTUAL_DETECTOR);
93
- currentHandlerTags.forEach(tag => {
94
- RNGestureHandlerModule.updateGestureHandlerConfig(tag, {
95
- userSelect: child.userSelect,
96
- touchAction: child.touchAction,
97
- enableContextMenu: child.enableContextMenu
98
- });
99
- });
100
216
  });
101
- }, [props.virtualChildren]);
217
+ }, [props.virtualChildren, refs]);
218
+ useEffect(() => {
219
+ return () => teardown(refs);
220
+ }, [refs]);
102
221
  return /*#__PURE__*/_jsx(View, {
103
222
  style: {
104
223
  display: 'contents'
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","View","ActionType","RNGestureHandlerModule","tagMessage","useNativeGestureRole","jsx","_jsx","EMPTY_HANDLERS","Set","HostGestureDetector","props","handlerTags","children","handlerTagsSet","viewRef","propsRef","attachedHandlers","attachedNativeHandlers","attachedVirtualHandlers","Map","detachHandlers","currentHandlerTags","attachedHandlerTags","oldHandlerTags","difference","forEach","tag","detachGestureHandler","delete","attachHandlers","actionType","newHandlerTags","getGestureHandlerNode","shouldAttachGestureToChildView","NATIVE_DETECTOR","current","childElementCount","Error","attachGestureHandler","firstChild","add","updateGestureHandlerConfig","userSelect","touchAction","enableContextMenu","shouldUpdateDOMProps","childHandlerTags","virtualChildrenToDetach","keys","virtualChildren","child","viewTag","get","has","set","VIRTUAL_DETECTOR","style","display","ref"],"sourceRoot":"../../../../src","sources":["v3/detectors/HostGestureDetector.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","View","ActionType","RNGestureHandlerModule","tagMessage","NodeManager","useNativeGestureRole","jsx","_jsx","attachReadyHandler","refs","tag","actionType","virtualViewTag","handler","getGestureHandlerNode","NATIVE_DETECTOR","shouldAttachGestureToChildView","nativeHandlers","add","viewRef","current","childElementCount","tryAttachNativeHandlersToChildView","VIRTUAL_DETECTOR","child","virtualChildren","get","undefined","attachedHandlers","has","attachGestureHandler","propsRef","updateGestureHandlerConfig","userSelect","touchAction","enableContextMenu","size","view","Error","target","firstElementChild","hasHandler","syncSubscriptions","currentTags","subscribedSet","toUnsubscribe","Set","delete","observeHandler","owner","cancelObservation","detachGestureHandler","teardown","cancelAllObservationsForOwner","clear","subscribedHandlers","subscribedVirtualHandlers","HostGestureDetector","props","handlerTags","children","handlerTagsSet","refsRef","Map","shouldUpdateDOMProps","claimedByVirtual","Array","from","values","reduce","acc","union","handlersToUpdate","intersection","difference","forEach","set","viewTag","virtualChildrenToDetach","keys","tags","subs","style","display","ref"],"sourceRoot":"../../../../src","sources":["v3/detectors/HostGestureDetector.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,8 @@ import { isComposedGesture } from '../hooks/utils/relationUtils';
6
6
  import { AnimatedNativeDetector, nativeDetectorStyles } from './common';
7
7
  import HostGestureDetector from './HostGestureDetector';
8
8
  import { ReanimatedNativeDetector } from './ReanimatedNativeDetector';
9
- import { configureRelations, ensureNativeDetectorComponent } from './utils';
9
+ import { useGestureRelationsUpdater } from './useGestureRelationsUpdater';
10
+ import { ensureNativeDetectorComponent } from './utils';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  export function NativeDetector({
12
13
  gesture,
@@ -17,7 +18,7 @@ export function NativeDetector({
17
18
  }) {
18
19
  const NativeDetectorComponent = gesture.config.dispatchesAnimatedEvents ? AnimatedNativeDetector : gesture.config.shouldUseReanimatedDetector ? ReanimatedNativeDetector : HostGestureDetector;
19
20
  ensureNativeDetectorComponent(NativeDetectorComponent);
20
- configureRelations(gesture);
21
+ useGestureRelationsUpdater(gesture);
21
22
  const handlerTags = useMemo(() => {
22
23
  return isComposedGesture(gesture) ? gesture.handlerTags : [gesture.handlerTag];
23
24
  }, [gesture]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Platform","isComposedGesture","AnimatedNativeDetector","nativeDetectorStyles","HostGestureDetector","ReanimatedNativeDetector","configureRelations","ensureNativeDetectorComponent","jsx","_jsx","NativeDetector","gesture","children","touchAction","userSelect","enableContextMenu","NativeDetectorComponent","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","handlerTags","handlerTag","reanimatedHandlers","OS","onGestureHandlerReanimatedEvent","detectorCallbacks","reanimatedEventHandler","onGestureHandlerReanimatedStateChange","onGestureHandlerReanimatedTouchEvent","pointerEvents","onGestureHandlerStateChange","jsEventHandler","onGestureHandlerEvent","onGestureHandlerTouchEvent","onGestureHandlerAnimatedEvent","animatedEventHandler","moduleId","globalThis","_RNGH_MODULE_ID","style","detector"],"sourceRoot":"../../../../src","sources":["v3/detectors/NativeDetector.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,SAASC,sBAAsB,EAAEC,oBAAoB,QAAQ,UAAU;AACvE,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,kBAAkB,EAAEC,6BAA6B,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5E,OAAO,SAASC,cAAcA,CAI5B;EACAC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC;AACgE,CAAC,EAAE;EACnE,MAAMC,uBAAuB,GAAGL,OAAO,CAACM,MAAM,CAACC,wBAAwB,GACnEhB,sBAAsB,GACtBS,OAAO,CAACM,MAAM,CAACE,2BAA2B,GACxCd,wBAAwB,GACxBD,mBAAmB;EAEzBG,6BAA6B,CAACS,uBAAuB,CAAC;EACtDV,kBAAkB,CAACK,OAAO,CAAC;EAE3B,MAAMS,WAAW,GAAGrB,OAAO,CAAC,MAAM;IAChC,OAAOE,iBAAiB,CAACU,OAAO,CAAC,GAC7BA,OAAO,CAACS,WAAW,GACnB,CAACT,OAAO,CAACU,UAAU,CAAC;EAC1B,CAAC,EAAE,CAACV,OAAO,CAAC,CAAC;;EAEb;EACA;EACA;EACA;EACA;EACA;EACA,MAAMW,kBAAkB,GACtBtB,QAAQ,CAACuB,EAAE,KAAK,KAAK,GACjB;IACEC,+BAA+B,EAC7Bb,OAAO,CAACc,iBAAiB,CAACC,sBAAsB;IAClDC,qCAAqC,EACnChB,OAAO,CAACc,iBAAiB,CAACC,sBAAsB;IAClDE,oCAAoC,EAClCjB,OAAO,CAACc,iBAAiB,CAACC;EAC9B,CAAC,GACD;IACEF,+BAA+B,EAC7Bb,OAAO,CAACc,iBAAiB,CAACC;EAC9B,CAAC;EAEP,oBACEjB,IAAA,CAACO,uBAAuB;IACtBH,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,iBAAiB,EAAEA,iBAAkB;IACrCc,aAAa,EAAE;IACf;IAAA;IACAC,2BAA2B,EAAEnB,OAAO,CAACc,iBAAiB,CAACM;IACvD;IAAA;IACAC,qBAAqB,EAAErB,OAAO,CAACc,iBAAiB,CAACM;IACjD;IAAA;IACAE,0BAA0B,EAAEtB,OAAO,CAACc,iBAAiB,CAACM;IACtD;IAAA;IACAJ,qCAAqC,EACnCL,kBAAkB,CAACK;IAErB;IAAA;IACAH,+BAA+B,EAC7BF,kBAAkB,CAACE;IAErB;IAAA;IACAI,oCAAoC,EAClCN,kBAAkB,CAACM;IAErB;IAAA;IACAM,6BAA6B,EAC3BvB,OAAO,CAACc,iBAAiB,CAACU,oBAC3B;IACDC,QAAQ,EAAEC,UAAU,CAACC,eAAgB;IACrClB,WAAW,EAAEA,WAAY;IACzBmB,KAAK,EAAEpC,oBAAoB,CAACqC,QAAS;IAAA5B,QAAA,EACpCA;EAAQ,CACc,CAAC;AAE9B","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Platform","isComposedGesture","AnimatedNativeDetector","nativeDetectorStyles","HostGestureDetector","ReanimatedNativeDetector","useGestureRelationsUpdater","ensureNativeDetectorComponent","jsx","_jsx","NativeDetector","gesture","children","touchAction","userSelect","enableContextMenu","NativeDetectorComponent","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","handlerTags","handlerTag","reanimatedHandlers","OS","onGestureHandlerReanimatedEvent","detectorCallbacks","reanimatedEventHandler","onGestureHandlerReanimatedStateChange","onGestureHandlerReanimatedTouchEvent","pointerEvents","onGestureHandlerStateChange","jsEventHandler","onGestureHandlerEvent","onGestureHandlerTouchEvent","onGestureHandlerAnimatedEvent","animatedEventHandler","moduleId","globalThis","_RNGH_MODULE_ID","style","detector"],"sourceRoot":"../../../../src","sources":["v3/detectors/NativeDetector.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,SAASC,sBAAsB,EAAEC,oBAAoB,QAAQ,UAAU;AACvE,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,0BAA0B,QAAQ,8BAA8B;AACzE,SAASC,6BAA6B,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,SAASC,cAAcA,CAI5B;EACAC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC;AACgE,CAAC,EAAE;EACnE,MAAMC,uBAAuB,GAAGL,OAAO,CAACM,MAAM,CAACC,wBAAwB,GACnEhB,sBAAsB,GACtBS,OAAO,CAACM,MAAM,CAACE,2BAA2B,GACxCd,wBAAwB,GACxBD,mBAAmB;EAEzBG,6BAA6B,CAACS,uBAAuB,CAAC;EACtDV,0BAA0B,CAACK,OAAO,CAAC;EAEnC,MAAMS,WAAW,GAAGrB,OAAO,CAAC,MAAM;IAChC,OAAOE,iBAAiB,CAACU,OAAO,CAAC,GAC7BA,OAAO,CAACS,WAAW,GACnB,CAACT,OAAO,CAACU,UAAU,CAAC;EAC1B,CAAC,EAAE,CAACV,OAAO,CAAC,CAAC;;EAEb;EACA;EACA;EACA;EACA;EACA;EACA,MAAMW,kBAAkB,GACtBtB,QAAQ,CAACuB,EAAE,KAAK,KAAK,GACjB;IACEC,+BAA+B,EAC7Bb,OAAO,CAACc,iBAAiB,CAACC,sBAAsB;IAClDC,qCAAqC,EACnChB,OAAO,CAACc,iBAAiB,CAACC,sBAAsB;IAClDE,oCAAoC,EAClCjB,OAAO,CAACc,iBAAiB,CAACC;EAC9B,CAAC,GACD;IACEF,+BAA+B,EAC7Bb,OAAO,CAACc,iBAAiB,CAACC;EAC9B,CAAC;EAEP,oBACEjB,IAAA,CAACO,uBAAuB;IACtBH,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,iBAAiB,EAAEA,iBAAkB;IACrCc,aAAa,EAAE;IACf;IAAA;IACAC,2BAA2B,EAAEnB,OAAO,CAACc,iBAAiB,CAACM;IACvD;IAAA;IACAC,qBAAqB,EAAErB,OAAO,CAACc,iBAAiB,CAACM;IACjD;IAAA;IACAE,0BAA0B,EAAEtB,OAAO,CAACc,iBAAiB,CAACM;IACtD;IAAA;IACAJ,qCAAqC,EACnCL,kBAAkB,CAACK;IAErB;IAAA;IACAH,+BAA+B,EAC7BF,kBAAkB,CAACE;IAErB;IAAA;IACAI,oCAAoC,EAClCN,kBAAkB,CAACM;IAErB;IAAA;IACAM,6BAA6B,EAC3BvB,OAAO,CAACc,iBAAiB,CAACU,oBAC3B;IACDC,QAAQ,EAAEC,UAAU,CAACC,eAAgB;IACrClB,WAAW,EAAEA,WAAY;IACzBmB,KAAK,EAAEpC,oBAAoB,CAACqC,QAAS;IAAA5B,QAAA,EACpCA;EAAQ,CACc,CAAC;AAE9B","ignoreList":[]}
@@ -9,7 +9,8 @@ import { AnimatedNativeDetector, nativeDetectorStyles } from '../common';
9
9
  import HostGestureDetector from '../HostGestureDetector';
10
10
  import { ReanimatedNativeDetector } from '../ReanimatedNativeDetector';
11
11
  import { useEnsureGestureHandlerRootView } from '../useEnsureGestureHandlerRootView';
12
- import { configureRelations, ensureNativeDetectorComponent } from '../utils';
12
+ import { useGestureRelationsUpdater } from '../useGestureRelationsUpdater';
13
+ import { ensureNativeDetectorComponent } from '../utils';
13
14
  import { InterceptingDetectorContext, InterceptingDetectorMode } from './useInterceptingDetectorContext';
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
15
16
  export function InterceptingGestureDetector({
@@ -104,9 +105,7 @@ export function InterceptingGestureDetector({
104
105
  const reanimatedEvents = useMemo(() => getHandlers('reanimatedEventHandler'), [getHandlers]);
105
106
  const reanimatedEventHandler = Reanimated?.useComposedEventHandler(reanimatedEvents);
106
107
  ensureNativeDetectorComponent(NativeDetectorComponent);
107
- if (gesture) {
108
- configureRelations(gesture);
109
- }
108
+ useGestureRelationsUpdater(gesture);
110
109
  const handlerTags = useMemo(() => {
111
110
  if (gesture) {
112
111
  return isComposedGesture(gesture) ? gesture.handlerTags : [gesture.handlerTag];
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Platform","Reanimated","tagMessage","isComposedGesture","AnimatedNativeDetector","nativeDetectorStyles","HostGestureDetector","ReanimatedNativeDetector","useEnsureGestureHandlerRootView","configureRelations","ensureNativeDetectorComponent","InterceptingDetectorContext","InterceptingDetectorMode","jsx","_jsx","InterceptingGestureDetector","gesture","children","touchAction","userSelect","enableContextMenu","virtualChildren","setVirtualChildren","Set","strippedVirtualChildren","OS","Array","from","map","child","viewTag","handlerTags","viewRef","mode","setMode","config","shouldUseReanimatedDetector","REANIMATED","dispatchesAnimatedEvents","ANIMATED","DEFAULT","NativeDetectorComponent","register","prev","newSet","add","unregister","delete","contextValue","newMode","Error","createGestureEventHandler","key","e","detectorCallbacks","forEach","method","methods","getHandlers","handlers","push","handler","reanimatedEvents","reanimatedEventHandler","useComposedEventHandler","handlerTag","reanimatedHandlers","onGestureHandlerReanimatedEvent","onGestureHandlerReanimatedStateChange","onGestureHandlerReanimatedTouchEvent","jsEventHandler","value","pointerEvents","onGestureHandlerStateChange","onGestureHandlerEvent","onGestureHandlerTouchEvent","onGestureHandlerAnimatedEvent","animatedEventHandler","undefined","style","detector","moduleId","globalThis","_RNGH_MODULE_ID"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/InterceptingGestureDetector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Platform","Reanimated","tagMessage","isComposedGesture","AnimatedNativeDetector","nativeDetectorStyles","HostGestureDetector","ReanimatedNativeDetector","useEnsureGestureHandlerRootView","useGestureRelationsUpdater","ensureNativeDetectorComponent","InterceptingDetectorContext","InterceptingDetectorMode","jsx","_jsx","InterceptingGestureDetector","gesture","children","touchAction","userSelect","enableContextMenu","virtualChildren","setVirtualChildren","Set","strippedVirtualChildren","OS","Array","from","map","child","viewTag","handlerTags","viewRef","mode","setMode","config","shouldUseReanimatedDetector","REANIMATED","dispatchesAnimatedEvents","ANIMATED","DEFAULT","NativeDetectorComponent","register","prev","newSet","add","unregister","delete","contextValue","newMode","Error","createGestureEventHandler","key","e","detectorCallbacks","forEach","method","methods","getHandlers","handlers","push","handler","reanimatedEvents","reanimatedEventHandler","useComposedEventHandler","handlerTag","reanimatedHandlers","onGestureHandlerReanimatedEvent","onGestureHandlerReanimatedStateChange","onGestureHandlerReanimatedTouchEvent","jsEventHandler","value","pointerEvents","onGestureHandlerStateChange","onGestureHandlerEvent","onGestureHandlerTouchEvent","onGestureHandlerAnimatedEvent","animatedEventHandler","undefined","style","detector","moduleId","globalThis","_RNGH_MODULE_ID"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/InterceptingGestureDetector.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACxE,SAASC,QAAQ,QAAQ,cAAc;AAMvC,SAASC,UAAU,QAAQ,8CAA8C;AACzE,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,iBAAiB,QAAQ,iCAAiC;AAOnE,SAASC,sBAAsB,EAAEC,oBAAoB,QAAQ,WAAW;AACxE,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,SAASC,+BAA+B,QAAQ,oCAAoC;AACpF,SAASC,0BAA0B,QAAQ,+BAA+B;AAC1E,SAASC,6BAA6B,QAAQ,UAAU;AAExD,SACEC,2BAA2B,EAC3BC,wBAAwB,QACnB,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAW1C,OAAO,SAASC,2BAA2BA,CAIzC;EACAC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC;AAKF,CAAC,EAAE;EACDZ,+BAA+B,CAAC,CAAC;EAEjC,MAAM,CAACa,eAAe,EAAEC,kBAAkB,CAAC,GAAGvB,QAAQ,CACpD,MAAM,IAAIwB,GAAG,CAAC,CAChB,CAAC;EACD,MAAMC,uBAAkD,GAAG1B,OAAO,CAChE,MACEE,QAAQ,CAACyB,EAAE,KAAK,KAAK,GACjBC,KAAK,CAACC,IAAI,CAACN,eAAe,CAAC,CAACO,GAAG,CAAEC,KAAK,KAAM;IAC1CC,OAAO,EAAED,KAAK,CAACC,OAAO;IACtBC,WAAW,EAAEF,KAAK,CAACE,WAAW;IAC9BC,OAAO,EAAEH,KAAK,CAACG,OAAO;IACtBb,UAAU,EAAEU,KAAK,CAACV,UAAU;IAC5BD,WAAW,EAAEW,KAAK,CAACX,WAAW;IAC9BE,iBAAiB,EAAES,KAAK,CAACT;EAC3B,CAAC,CAAC,CAAC,GACHM,KAAK,CAACC,IAAI,CAACN,eAAe,CAAC,CAACO,GAAG,CAAEC,KAAK,KAAM;IAC1CC,OAAO,EAAED,KAAK,CAACC,OAAO;IACtBC,WAAW,EAAEF,KAAK,CAACE;EACrB,CAAC,CAAC,CAAC,EACT,CAACV,eAAe,CAClB,CAAC;EACD,MAAM,CAACY,IAAI,EAAEC,OAAO,CAAC,GAAGnC,QAAQ,CAC9BiB,OAAO,EAAEmB,MAAM,CAACC,2BAA2B,GACvCxB,wBAAwB,CAACyB,UAAU,GACnCrB,OAAO,EAAEmB,MAAM,CAACG,wBAAwB,GACtC1B,wBAAwB,CAAC2B,QAAQ,GACjC3B,wBAAwB,CAAC4B,OACjC,CAAC;EAED,MAAMJ,2BAA2B,GAC/BH,IAAI,KAAKrB,wBAAwB,CAACyB,UAAU;EAC9C,MAAMC,wBAAwB,GAAGL,IAAI,KAAKrB,wBAAwB,CAAC2B,QAAQ;EAE3E,MAAME,uBAAuB,GAAGH,wBAAwB,GACpDlC,sBAAsB,GACtBgC,2BAA2B,GACzB7B,wBAAwB,GACxBD,mBAAmB;EAEzB,MAAMoC,QAAQ,GAAG9C,WAAW,CAAEiC,KAAmB,IAAK;IACpDP,kBAAkB,CAAEqB,IAAI,IAAK;MAC3B,MAAMC,MAAM,GAAG,IAAIrB,GAAG,CAACoB,IAAI,CAAC;MAC5BC,MAAM,CAACC,GAAG,CAAChB,KAAK,CAAC;MACjB,OAAOe,MAAM;IACf,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,UAAU,GAAGlD,WAAW,CAAEiC,KAAmB,IAAK;IACtDP,kBAAkB,CAAEqB,IAAI,IAAK;MAC3B,MAAMC,MAAM,GAAG,IAAIrB,GAAG,CAACoB,IAAI,CAAC;MAC5BC,MAAM,CAACG,MAAM,CAAClB,KAAK,CAAC;MACpB,OAAOe,MAAM;IACf,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,YAA8C,GAAGlD,OAAO,CAC5D,OAAO;IACLmC,IAAI;IACJC,OAAO,EAAGe,OAAiC,IAAK;MAC9C,IACGA,OAAO,KAAKrC,wBAAwB,CAACyB,UAAU,IAC9CJ,IAAI,KAAKrB,wBAAwB,CAAC2B,QAAQ,IAC3CU,OAAO,KAAKrC,wBAAwB,CAAC2B,QAAQ,IAC5CN,IAAI,KAAKrB,wBAAwB,CAACyB,UAAW,EAC/C;QACA,MAAM,IAAIa,KAAK,CACbhD,UAAU,CACR,mFACF,CACF,CAAC;MACH;MAEAgC,OAAO,CAACe,OAAO,CAAC;IAClB,CAAC;IACDP,QAAQ;IACRI;EACF,CAAC,CAAC,EACF,CAACb,IAAI,EAAES,QAAQ,EAAEI,UAAU,CAC7B,CAAC;EAEDjD,SAAS,CAAC,MAAM;IACd,IAAImB,OAAO,EAAEmB,MAAM,EAAEG,wBAAwB,EAAE;MAC7CU,YAAY,CAACd,OAAO,CAACtB,wBAAwB,CAAC2B,QAAQ,CAAC;IACzD,CAAC,MAAM,IAAIvB,OAAO,EAAEmB,MAAM,EAAEC,2BAA2B,EAAE;MACvDY,YAAY,CAACd,OAAO,CAACtB,wBAAwB,CAACyB,UAAU,CAAC;IAC3D;EACF,CAAC,EAAE,CACDW,YAAY,EACZhC,OAAO,EAAEmB,MAAM,EAAEG,wBAAwB,EACzCtB,OAAO,EAAEmB,MAAM,EAAEC,2BAA2B,CAC7C,CAAC;;EAEF;EACA,IAAI,CAACK,uBAAuB,EAAE;IAC5B,MAAM,IAAIS,KAAK,CACbhD,UAAU,CACR,8FACF,CACF,CAAC;EACH;EAEA,MAAMiD,yBAAyB,GAAGvD,WAAW,CAC1CwD,GAAgE,IAAK;IACpE,OACEC,CAGC,IACE;MACH,IAAI,OAAOrC,OAAO,EAAEsC,iBAAiB,CAACF,GAAG,CAAC,KAAK,UAAU,EAAE;QACzD;QACApC,OAAO,CAACsC,iBAAiB,CAACF,GAAG,CAAC,CAACC,CAAC,CAAC;MACnC;MAEAhC,eAAe,CAACkC,OAAO,CAAE1B,KAAK,IAAK;QACjC,MAAM2B,MAAM,GAAG3B,KAAK,CAAC4B,OAAO,CAACL,GAAG,CAAC;QACjC,IAAI,OAAOI,MAAM,KAAK,UAAU,EAAE;UAChC;UACAA,MAAM,CAACH,CAAC,CAAC;QACX;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EACD,CAACrC,OAAO,EAAEK,eAAe,CAC3B,CAAC;EAED,MAAMqC,WAAW,GAAG9D,WAAW,CAC5BwD,GAA8C,IAAK;IAClD,MAAMO,QAKM,GAAG,EAAE;IAEjB,IAAI3C,OAAO,EAAEsC,iBAAiB,CAACF,GAAG,CAAC,EAAE;MACnCO,QAAQ,CAACC,IAAI,CACX5C,OAAO,CAACsC,iBAAiB,CAACF,GAAG,CAG/B,CAAC;IACH;IAEA/B,eAAe,CAACkC,OAAO,CAAE1B,KAAK,IAAK;MACjC,MAAMgC,OAAO,GAAGhC,KAAK,CAAC4B,OAAO,CAACL,GAAG,CAAC;MAClC,IAAIS,OAAO,EAAE;QACXF,QAAQ,CAACC,IAAI,CACXC,OAMF,CAAC;MACH;IACF,CAAC,CAAC;IAEF,OAAOF,QAAQ;EACjB,CAAC,EACD,CAACtC,eAAe,EAAEL,OAAO,EAAEsC,iBAAiB,CAC9C,CAAC;EAED,MAAMQ,gBAAgB,GAAGhE,OAAO,CAC9B,MAAM4D,WAAW,CAAC,wBAAwB,CAAC,EAC3C,CAACA,WAAW,CACd,CAAC;EACD,MAAMK,sBAAsB,GAC1B9D,UAAU,EAAE+D,uBAAuB,CAACF,gBAAgB,CAAC;EAEvDpD,6BAA6B,CAAC+B,uBAAuB,CAAC;EAEtDhC,0BAA0B,CAACO,OAAO,CAAC;EAEnC,MAAMe,WAAW,GAAGjC,OAAO,CAAC,MAAM;IAChC,IAAIkB,OAAO,EAAE;MACX,OAAOb,iBAAiB,CAACa,OAAO,CAAC,GAC7BA,OAAO,CAACe,WAAW,GACnB,CAACf,OAAO,CAACiD,UAAU,CAAC;IAC1B;IACA,OAAO,EAAE;EACX,CAAC,EAAE,CAACjD,OAAO,CAAC,CAAC;;EAEb;EACA;EACA;EACA;EACA;EACA;EACA,MAAMkD,kBAAkB,GACtBlE,QAAQ,CAACyB,EAAE,KAAK,KAAK,GACjB;IACE0C,+BAA+B,EAAEJ,sBAAsB;IACvDK,qCAAqC,EAAEL,sBAAsB;IAC7DM,oCAAoC,EAAEN;EACxC,CAAC,GACD;IACEI,+BAA+B,EAAEJ;EACnC,CAAC;EAEP,MAAMO,cAAc,GAAGxE,OAAO,CAC5B,MAAMqD,yBAAyB,CAAC,gBAAgB,CAAC,EACjD,CAACA,yBAAyB,CAC5B,CAAC;EAED,oBACErC,IAAA,CAACH,2BAA2B;IAAC4D,KAAK,EAAEvB,YAAa;IAAA/B,QAAA,eAC/CH,IAAA,CAAC2B,uBAAuB;MACtBvB,WAAW,EAAEA,WAAY;MACzBC,UAAU,EAAEA,UAAW;MACvBC,iBAAiB,EAAEA,iBAAkB;MACrCoD,aAAa,EAAE;MACf;MAAA;MACAC,2BAA2B,EAAEH;MAC7B;MAAA;MACAI,qBAAqB,EAAEJ;MACvB;MAAA;MACAK,0BAA0B,EAAEL;MAC5B;MAAA;MACAM,6BAA6B,EAC3B5D,OAAO,EAAEsC,iBAAiB,CAACuB;MAE7B;MAAA;MACAT,qCAAqC,EACnChC,2BAA2B,GACvB8B,kBAAkB,CAACE,qCAAqC,GACxDU;MAEN;MAAA;MACAX,+BAA+B,EAC7B/B,2BAA2B,GACvB8B,kBAAkB,CAACC,+BAA+B,GAClDW;MAEN;MAAA;MACAT,oCAAoC,EAClCjC,2BAA2B,GACvB8B,kBAAkB,CAACG,oCAAoC,GACvDS,SACL;MACD/C,WAAW,EAAEA,WAAY;MACzBgD,KAAK,EAAE1E,oBAAoB,CAAC2E,QAAS;MACrC3D,eAAe,EAAEG,uBAAwB;MACzCyD,QAAQ,EAAEC,UAAU,CAACC,eAAgB;MAAAlE,QAAA,EACpCA;IAAQ,CACc;EAAC,CACC,CAAC;AAElC","ignoreList":[]}
@@ -5,8 +5,8 @@ import { findNodeHandle, Platform } from 'react-native';
5
5
  import { Wrap } from '../../../handlers/gestures/GestureDetector/Wrap';
6
6
  import { tagMessage } from '../../../utils';
7
7
  import { isComposedGesture } from '../../hooks/utils/relationUtils';
8
+ import { useGestureRelationsUpdater } from '../useGestureRelationsUpdater';
8
9
  import { useNativeGestureRole } from '../useNativeGestureRole';
9
- import { configureRelations } from '../utils';
10
10
  import { InterceptingDetectorMode, useInterceptingDetectorContext } from './useInterceptingDetectorContext';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  function useRequiredInterceptingDetectorContext() {
@@ -66,7 +66,7 @@ export function VirtualDetector(props) {
66
66
  unregister(virtualChild);
67
67
  };
68
68
  }, [viewTag, props.gesture, props.userSelect, props.touchAction, props.enableContextMenu, register, unregister, setMode]);
69
- configureRelations(props.gesture);
69
+ useGestureRelationsUpdater(props.gesture);
70
70
  return /*#__PURE__*/_jsx(Wrap, {
71
71
  ref: handleRef,
72
72
  children: props.children
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","findNodeHandle","Platform","Wrap","tagMessage","isComposedGesture","useNativeGestureRole","configureRelations","InterceptingDetectorMode","useInterceptingDetectorContext","jsx","_jsx","useRequiredInterceptingDetectorContext","context","Error","VirtualDetector","props","register","unregister","setMode","viewRef","viewTag","setViewTag","handleRef","node","current","tag","OS","children","handlerTags","gesture","handlerTag","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","REANIMATED","virtualChild","methods","detectorCallbacks","undefined","userSelect","touchAction","enableContextMenu","ref"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/VirtualDetector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","findNodeHandle","Platform","Wrap","tagMessage","isComposedGesture","useGestureRelationsUpdater","useNativeGestureRole","InterceptingDetectorMode","useInterceptingDetectorContext","jsx","_jsx","useRequiredInterceptingDetectorContext","context","Error","VirtualDetector","props","register","unregister","setMode","viewRef","viewTag","setViewTag","handleRef","node","current","tag","OS","children","handlerTags","gesture","handlerTag","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","REANIMATED","virtualChild","methods","detectorCallbacks","undefined","userSelect","touchAction","enableContextMenu","ref"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/VirtualDetector.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useMemo } from 'react';
4
+ import { NativeProxy } from '../NativeProxy';
5
+ import { configureRelations } from './utils';
6
+ export function useGestureRelationsUpdater(gesture) {
7
+ const relations = useMemo(() => gesture ? configureRelations(gesture) : null, [gesture]);
8
+ useEffect(() => {
9
+ if (!relations) {
10
+ return;
11
+ }
12
+
13
+ // React runs effects bottom-up, we need to ensure that relations are applied after all effects
14
+ // in the tree have run, so we defer to the next frame.
15
+ const frame = requestAnimationFrame(() => {
16
+ relations.forEach((rel, handlerTag) => {
17
+ NativeProxy.configureRelations(handlerTag, rel);
18
+ });
19
+ });
20
+ return () => cancelAnimationFrame(frame);
21
+ }, [relations]);
22
+ }
23
+ //# sourceMappingURL=useGestureRelationsUpdater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useMemo","NativeProxy","configureRelations","useGestureRelationsUpdater","gesture","relations","frame","requestAnimationFrame","forEach","rel","handlerTag","cancelAnimationFrame"],"sourceRoot":"../../../../src","sources":["v3/detectors/useGestureRelationsUpdater.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAE1C,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,SAASC,kBAAkB,QAAQ,SAAS;AAE5C,OAAO,SAASC,0BAA0BA,CACxCC,OAAwC,EACxC;EACA,MAAMC,SAAS,GAAGL,OAAO,CACvB,MAAOI,OAAO,GAAGF,kBAAkB,CAACE,OAAO,CAAC,GAAG,IAAK,EACpD,CAACA,OAAO,CACV,CAAC;EAEDL,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,SAAS,EAAE;MACd;IACF;;IAEA;IACA;IACA,MAAMC,KAAK,GAAGC,qBAAqB,CAAC,MAAM;MACxCF,SAAS,CAACG,OAAO,CAAC,CAACC,GAAG,EAAEC,UAAU,KAAK;QACrCT,WAAW,CAACC,kBAAkB,CAACQ,UAAU,EAAED,GAAG,CAAC;MACjD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAME,oBAAoB,CAACL,KAAK,CAAC;EAC1C,CAAC,EAAE,CAACD,SAAS,CAAC,CAAC;AACjB","ignoreList":[]}
@@ -8,18 +8,18 @@
8
8
 
9
9
  import { tagMessage } from '../../utils';
10
10
  import { isComposedGesture, prepareRelations } from '../hooks/utils/relationUtils';
11
- import { NativeProxy } from '../NativeProxy';
12
11
  import { ComposedGestureName } from '../types';
13
12
 
14
13
  // The tree consists of ComposedGestures and NativeGestures. NativeGestures are always leaf nodes.
15
- export const traverseAndConfigureRelations = (node, simultaneousHandlers, waitFor = []) => {
14
+ export const traverseAndConfigureRelations = (node, relationsByTag, simultaneousHandlers, waitFor = []) => {
16
15
  // If we are in the leaf node, we want to fill gesture relations arrays with current
17
- // waitFor and simultaneousHandlers. We also want to configure relations on the native side.
16
+ // waitFor and simultaneousHandlers. We also want to record the resulting relations for
17
+ // this handler so the caller can push them to the native side.
18
18
  if (!isComposedGesture(node)) {
19
19
  node.gestureRelations = prepareRelations(node.config, node.handlerTag);
20
20
  node.gestureRelations.simultaneousHandlers.push(...simultaneousHandlers);
21
21
  node.gestureRelations.waitFor.push(...waitFor);
22
- NativeProxy.configureRelations(node.handlerTag, {
22
+ relationsByTag.set(node.handlerTag, {
23
23
  waitFor: node.gestureRelations.waitFor,
24
24
  simultaneousHandlers: node.gestureRelations.simultaneousHandlers,
25
25
  blocksHandlers: node.gestureRelations.blocksHandlers
@@ -54,7 +54,7 @@ export const traverseAndConfigureRelations = (node, simultaneousHandlers, waitFo
54
54
  const length = waitFor.length;
55
55
 
56
56
  // We traverse the child, passing the current `waitFor` and `simultaneousHandlers`.
57
- traverseAndConfigureRelations(child, simultaneousHandlers, waitFor);
57
+ traverseAndConfigureRelations(child, relationsByTag, simultaneousHandlers, waitFor);
58
58
 
59
59
  // After traversing the child, we need to update `waitFor` and `simultaneousHandlers`
60
60
 
@@ -89,7 +89,7 @@ export const traverseAndConfigureRelations = (node, simultaneousHandlers, waitFo
89
89
  else {
90
90
  // We don't want to mark gesture as simultaneous with itself, so we remove its tag from the set.
91
91
  const hasRemovedTag = simultaneousHandlers.delete(child.handlerTag);
92
- traverseAndConfigureRelations(child, simultaneousHandlers, waitFor);
92
+ traverseAndConfigureRelations(child, relationsByTag, simultaneousHandlers, waitFor);
93
93
  if (hasRemovedTag) {
94
94
  simultaneousHandlers.add(child.handlerTag);
95
95
  }
@@ -102,6 +102,7 @@ export const traverseAndConfigureRelations = (node, simultaneousHandlers, waitFo
102
102
  });
103
103
  };
104
104
  export function configureRelations(gesture) {
105
+ const relationsByTag = new Map();
105
106
  if (isComposedGesture(gesture)) {
106
107
  const simultaneousHandlers = new Set(gesture.externalSimultaneousHandlers);
107
108
 
@@ -109,10 +110,11 @@ export function configureRelations(gesture) {
109
110
  if (gesture.type === ComposedGestureName.Simultaneous) {
110
111
  gesture.handlerTags.forEach(handlerTag => simultaneousHandlers.add(handlerTag));
111
112
  }
112
- traverseAndConfigureRelations(gesture, simultaneousHandlers);
113
+ traverseAndConfigureRelations(gesture, relationsByTag, simultaneousHandlers);
113
114
  } else {
114
- NativeProxy.configureRelations(gesture.handlerTag, gesture.gestureRelations);
115
+ relationsByTag.set(gesture.handlerTag, gesture.gestureRelations);
115
116
  }
117
+ return relationsByTag;
116
118
  }
117
119
  export function ensureNativeDetectorComponent(NativeDetectorComponent) {
118
120
  if (!NativeDetectorComponent) {
@@ -1 +1 @@
1
- {"version":3,"names":["tagMessage","isComposedGesture","prepareRelations","NativeProxy","ComposedGestureName","traverseAndConfigureRelations","node","simultaneousHandlers","waitFor","gestureRelations","config","handlerTag","push","configureRelations","blocksHandlers","gestures","forEach","child","type","Simultaneous","handlerTags","add","delete","length","Exclusive","hasRemovedTag","gesture","Set","externalSimultaneousHandlers","ensureNativeDetectorComponent","NativeDetectorComponent","Error","EMPTY_SET"],"sourceRoot":"../../../../src","sources":["v3/detectors/utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["tagMessage","isComposedGesture","prepareRelations","ComposedGestureName","traverseAndConfigureRelations","node","relationsByTag","simultaneousHandlers","waitFor","gestureRelations","config","handlerTag","push","set","blocksHandlers","gestures","forEach","child","type","Simultaneous","handlerTags","add","delete","length","Exclusive","hasRemovedTag","configureRelations","gesture","Map","Set","externalSimultaneousHandlers","ensureNativeDetectorComponent","NativeDetectorComponent","Error","EMPTY_SET"],"sourceRoot":"../../../../src","sources":["v3/detectors/utils.ts"],"mappings":"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","ignoreList":[]}